# Copyright 2017 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.
INPUT_DEVICES=""
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"

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

# QCA Wifi and BT
LINUX_FIRMWARE="${LINUX_FIRMWARE} ath10k_qca6174 qca-bt"

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

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

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

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

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