#
# 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)"
	select n
	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
