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

USE="${USE} ac_only -display_backlight legacy_keyboard"
USE="${USE} legacy_power_button monroe wireless34"

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

# Let the touchscreen wake the system when it's suspended.
USE="${USE} touchscreen_wakeup"

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