# Copyright 2019 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} drallion"

# Enable unibuild
USE="${USE} unibuild"

# Bring in the diagnostics package
USE="${USE} diagnostics"

# Enable fwupd
USE="${USE} fwupd"

# Enable modemfwd for updating modem firmware
USE="${USE} modemfwd"

# Enable building kernel support for the EC
USE="${USE} wilco_ec"

# ISH firmware in filesystem and enable sensor support
USE="${USE} cros_ish touchview"

# Load GuC/HuC Binaries
USE="${USE} builtin_fw_guc_g9"
USE="${USE} builtin_fw_huc_g9"

# Enable Display port DPCD driver
USE="${USE} drm_dp_aux_chardev"

# Enable keyboard backlight support
USE="${USE} has_keyboard_backlight"

# Set the keyboard as a wake source only for clamshell modes
# and let the OS inhibit key presses while in tablet mode
USE="${USE} keyboard_convertible_no_side_buttons"

#Include the wacom firmware updating tool
INPUT_DEVICES="wacom"

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

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

# Include the elan_i2chid firmware updating tool
INPUT_DEVICES="${INPUT_DEVICES} elan_i2chid"

# Use power button to confirm physical presence
USE="${USE} physical_presence_power"
