# 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=""

# Use Intel HrP2 WiFi firmware.
LINUX_FIRMWARE="${LINUX_FIRMWARE} iwlwifi-Qu-c0 iwlwifi-QuZ"

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

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

# Build kernel with serial driver
USE="${USE} pcserial"
USE="${USE} tty_console_ttyS0"

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

# Disable AC ACPI driver
USE="${USE} -acpi_ac"

# Enable VMs
#USE="${USE} kvm_host crosvm-gpu virtio_gpu"

# Enable serial console
TTY_CONSOLE="ttyS0"

# Enable NVMe utility
USE="${USE} nvme"

# Allow Chrome to use Tablet mode
USE="${USE} touchview"
