# Copyright 2017 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2

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

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

# WiFi driver firmware
LINUX_FIRMWARE="${LINUX_FIRMWARE} iwlwifi-7265 iwlwifi-7265D"

# BT driver firmware
LINUX_FIRMWARE="${LINUX_FIRMWARE} ibt-hw"

# QCA Wifi and BT
LINUX_FIRMWARE="${LINUX_FIRMWARE} ath10k_qca6174a-5 qca6174a-5-bt"

# DSP firmware
LINUX_FIRMWARE="${LINUX_FIRMWARE} fw_sst"

# Include prebuilt (&signed) CR50 FW
USE="${USE} cr50_onboard"

# Building EC
USE="${USE} cros_ec"

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

# Use ext4 crypto
USE="${USE} direncryption"

# Enable DPTF
USE="${USE} dptf"

# Enable iwlwifi remove/rescan PCI reliability workaround.
USE="${USE} iwlwifi_rescan"

# Enable TPM2
USE="${USE} -tpm tpm2"

# VMs are supported by all APL models
USE="${USE} kvm_host crosvm-gpu virtio_gpu"
