## SPDX-License-Identifier: GPL-2.0-only

config BOARD_GOOGLE_BLUEY_COMMON
	def_bool n
	select BOARD_ROMSIZE_KB_65536
	select COMMON_CBFS_SPI_WRAPPER
	select MAINBOARD_HAS_CHROMEOS
	select SOC_QUALCOMM_X1P42100
	select SPI_FLASH
	select SPI_FLASH_FORCE_4_BYTE_ADDR_MODE
	select SPI_FLASH_WINBOND

config BOARD_GOOGLE_BASEBOARD_BLUEY
	def_bool n
	select BOARD_GOOGLE_BLUEY_COMMON

config BOARD_GOOGLE_BLUEY
	select BOARD_GOOGLE_BASEBOARD_BLUEY
	select MAINBOARD_HAS_FINGERPRINT_VIA_USB
	select MISSING_BOARD_RESET

config BOARD_GOOGLE_QUENBI
	select BOARD_GOOGLE_BASEBOARD_BLUEY
	select MAINBOARD_HAS_CHROME_EC
	select MAINBOARD_HAS_FINGERPRINT_VIA_SPI
	select MAINBOARD_HAS_GOOGLE_TPM

if BOARD_GOOGLE_BLUEY_COMMON

config MAINBOARD_DIR
	default "google/bluey"

config MAINBOARD_HAS_FINGERPRINT_VIA_SPI
	bool
	default n
	help
	  Enable this option if your mainboard's fingerprint reader
	  is connected via the SPI interface.

config MAINBOARD_HAS_FINGERPRINT_VIA_USB
	bool
	default n
	help
	  Enable this option if your mainboard's fingerprint reader
	  is connected via the USB interface.

config MAINBOARD_HAS_FINGERPRINT
	bool
	default y if MAINBOARD_HAS_FINGERPRINT_VIA_SPI || MAINBOARD_HAS_FINGERPRINT_VIA_USB
	help
	  Enable this option if your mainboard is equipped with an onboard
	  fingerprint reader. This could be connected via SPI or USB.

config MAINBOARD_HAS_SD_CONTROLLER
	bool
	default n
	help
	  Enable this option if your mainboard is equipped with SD card controller.

config MAINBOARD_HAS_GOOGLE_TPM
	bool
	default n
	select I2C_TPM
	select MAINBOARD_HAS_TPM2
	select TPM_GOOGLE_TI50
	help
	  Enable this option if your mainboard is equipped with Google TPM aka GSC.

config MAINBOARD_HAS_CHROME_EC
	bool
	default n
	select EC_GOOGLE_CHROMEEC
	select EC_GOOGLE_CHROMEEC_RTC
	select EC_GOOGLE_CHROMEEC_SPI
	select EC_GOOGLE_CHROMEEC_SWITCHES if VBOOT
	select RTC
	help
	  Enable this option if your mainboard is equipped with Chrome EC.

config MAINBOARD_VENDOR
	string
	default "Google"

config VBOOT
	select VBOOT_NO_BOARD_SUPPORT if BOARD_GOOGLE_BLUEY
	select VBOOT_VBNV_FLASH

##########################################################
#### Update below when adding a new derivative board. ####
##########################################################

config MAINBOARD_PART_NUMBER
	default "Bluey" if BOARD_GOOGLE_BLUEY
	default "Quenbi" if BOARD_GOOGLE_QUENBI

config DRIVER_TPM_I2C_BUS
	depends on I2C_TPM
	hex
	default 0xa if BOARD_GOOGLE_QUENBI
	default 0x10

config DRIVER_TPM_I2C_ADDR
	default 0x50

config EC_GOOGLE_CHROMEEC_SPI_BUS
	depends on EC_GOOGLE_CHROMEEC
	hex
	default 0xd if BOARD_GOOGLE_QUENBI
	default 0xb

config MAINBOARD_GPIO_PIN_FOR_GSC_AP_INTERRUPT
	depends on TPM_GOOGLE_TI50
	int
	default 91 if BOARD_GOOGLE_QUENBI
	default 34
	help
	  This option specifies the GPIO pin number on the mainboard that is
	  used for the interrupt line from the Google Security Chip (GSC) to the
	  Application Processor (AP).

endif # BOARD_GOOGLE_BLUEY_COMMON
