# 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.
USE=""
LINUX_FIRMWARE=""

LINUX_FIRMWARE="${LINUX_FIRMWARE} iwlwifi-7260 ibt-hw fw_sst"

USE="${USE} touchview"
USE="${USE} direncryption"

# Allow consumer kiosk.
# NOTE: Deprecating feature. New board should NOT have it.
USE="${USE} allow_consumer_kiosk"

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

# Avoid inhibiting the keyboard (which reports events from side buttons).
USE="${USE} keyboard_includes_side_buttons"

# Disable touchpad wakeup since it can't be turned off dynamically when the
# system is converted to tablet mode while it's suspended.
USE="${USE} -touchpad_wakeup"

# Declare TPM model.
USE="${USE} tpm_slb9655"

# Disable unibuild on this legacy board. This is only for existing (as of Jan 2019)
# boards as all new boards must be unibuild enabled moving forward. Do not copy this
# to new boards as it will be rejected. See
# https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-config/README.md
# for further details about chromeos-config, which is the required entry point for
# unified builds.
USE="${USE} -unibuild"

# Uncomment this line to activate the serial port.
#TTY_CONSOLE="ttyS0"

# Enable background blur.
USE="${USE} background_blur"
