# Copyright 2018 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2

# Initial value just for style purposes.
LINUX_FIRMWARE=""
USE=""

USE="${USE} atlas"

# Uncomment these lines to activate the serial port.
# Enable kernel serial drivers
# USE="${USE} pcserial"
# Declare set of enabled consoles
# TTY_CONSOLE="ttyS0"

# Enable Ambient Light Sensor
USE="${USE} als"

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

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

# Enable sensor support and calibration (light sensor)
USE="${USE} touchview"

# Building EC
USE="${USE} cros_ec"

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

# All firmware to build from the EC code base.
EC_FIRMWARE="atlas"

# iwlwifi firmware and ibt_9260 firmware for ThunderPeak2/1216 chip.
LINUX_FIRMWARE="${LINUX_FIRMWARE} iwlwifi-9260 ibt_9260"

# Enable CPU zero-copy for Chrome camera stack.
USE="${USE} video_capture_use_gpu_memory_buffer"
