# Copyright 2019 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Initial value just for style purposes.
LINUX_FIRMWARE=""
USE=""

# Intel HrP2 wifi firmware
LINUX_FIRMWARE="${LINUX_FIRMWARE} iwlwifi-QuZ"

# Use Intel BT driver
LINUX_FIRMWARE="${LINUX_FIRMWARE} ibt-hw ibt_ax201"

# Google USBPD peripheral firmwares
LINUX_FIRMWARE="${LINUX_FIRMWARE} cros-pd"

# Realtek Ethernet firmware
LINUX_FIRMWARE="${LINUX_FIRMWARE} rtl8168h-2"

# Add EC logging
USE="${USE} eclog"

# Uncomment these lines to activate the serial port.
# Build kernel with serial driver
#USE="${USE} pcserial"
#USE="${USE} tty_console_ttyS0"
# Enable serial console
#TTY_CONSOLE="ttyS0"
