#
# Copyright (C) 2015, Bin Meng <bmeng.cn@gmail.com>
#
# SPDX-License-Identifier:	GPL-2.0+
#

if VENDOR_GOOGLE

choice
	prompt "Mainboard model"
	optional

config TARGET_CHROMEBOOK_LINK
	bool "Chromebook link"
	help
	  This is the Chromebook Pixel released in 2013. It uses an Intel
	  i5 Ivybridge which is a die-shrink of Sandybridge, with 4GB of
	  SDRAM. It has a Panther Point platform controller hub, PCIe
	  WiFi and Bluetooth. It also includes a 720p webcam, USB SD
	  reader, microphone and speakers, display port and 32GB SATA
	  solid state drive. There is a Chrome OS EC connected on LPC,
	  and it provides a 2560x1700 high resolution touch-enabled LCD
	  display.

config TARGET_CHROMEBOOK_LINK64
	bool "Chromebook link 64-bit"
	help
	  This is the Chromebook Pixel released in 2013. With this config
	  U-Boot is built as a 64-bit binary. This allows testing while this
	  feature is being completed.

config TARGET_CHROMEBOX_PANTHER
	bool "Chromebox panther (not available)"
	help
	  Note: At present this must be used with coreboot. See README.x86
	  for instructions.

	  This is the Asus Chromebox CN60 released in 2014. It uses an Intel
	  Haswell Celeron 2955U Dual Core CPU with 2GB of SDRAM. It has a
	  Lynx Point platform controller hub, PCIe WiFi and Bluetooth. It also
	  includes a USB SD reader, four USB3 ports, display port and HDMI
	  video output and a 16GB SATA solid state drive. There is no Chrome
	  OS EC on this model.

config TARGET_CHROMEBOOK_SAMUS
	bool "Chromebook samus"
	help
	  This is the Chromebook Pixel released in 2015. It uses an Intel
	  Broadwell U Core i5 or Core i7 CPU with either 8GB or 16GB of
	  LPDDR3 SDRAM. It has PCIe WiFi and Bluetooth. It also includes a
	  720p webcam, USB SD reader, microphone and speakers, 2 USB 3 Type
	  C ports which can support charging and up to a 4K external display.
	  There is a solid state drive, either 32GB or 64GB. There is a
	  Chrome OS EC connected on LPC, and it provides a 2560x1700 high
	  resolution touch-enabled LCD display.

endchoice

source "board/google/chromebook_link/Kconfig"
source "board/google/chromebox_panther/Kconfig"
source "board/google/chromebook_samus/Kconfig"

endif
