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

USE="${USE} kevin"
USE="${USE} pointer_events"
USE="${USE} passive_event_listeners"
USE="${USE} edge_touch_filtering"
USE="${USE} internal_stylus"

# override the baseboard in this one exception (combo of TPM2 + cr50)
USE="${USE} -cr50_onboard"
USE="${USE} tpm -tpm2"

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

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

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

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

# All firmwares to build from the EC code base
EC_FIRMWARE="kevin"

INPUT_DEVICES="wacom"

# The device had ARC M in version 60 and will get ARC N in 61. This flag is
# used to decide the default behavior for data migration, when no policy was set
# by admin.
USE="${USE} arc_transition_m_to_n"

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