# Copyright 2015 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.

CHROMEOS_KERNEL_SPLITCONFIG="chromeos-intel-pineview"
CHROMEOS_KERNEL_ARCH="x86_64"
LINUX_FIRMWARE="iwlwifi-7260 ibt-hw fw_sst"

USE="${USE} heli"
USE="${USE} dptf kernel-4_4"
USE="${USE} direncryption"

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

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

# TODO(bhthompson): change to -march=slm when supported by CrOS GCC
MARCH_TUNE="-march=corei7"
