comment "Dedede"

config BOARD_GOOGLE_BOTEN
	bool "->  Boten (Lenovo 500e Chromebook Gen 3)"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
	select BASEBOARD_DEDEDE_LAPTOP
	select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR

config BOARD_GOOGLE_DEDEDE
	bool "->  Dedede"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
	select BASEBOARD_DEDEDE_LAPTOP
	select BOARD_ROMSIZE_KB_32768

config BOARD_GOOGLE_DRAWCIA
	bool "->  Drawcia"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
	select BASEBOARD_DEDEDE_LAPTOP
	select DRIVERS_GENERIC_MAX98357A
	select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR
	select DRIVERS_INTEL_MIPI_CAMERA
	select SOC_INTEL_COMMON_BLOCK_IPU
	help
	  The Drawcia board supports the following devices:
	  - HP Chromebook x360 11 G4 EE (Drawcia)
	  - HP Chromebook 11 G9 EE (Drawlat)
	  - HP Chromebook 14 G7 (Drawman)

config BOARD_GOOGLE_HABOKI
	bool "->  HABOKI"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_TPM2
	select BASEBOARD_DEDEDE_LAPTOP
	select DRIVERS_GENERIC_MAX98357A
	select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR
	select DRIVERS_INTEL_MIPI_CAMERA
	select SOC_INTEL_COMMON_BLOCK_IPU

config BOARD_GOOGLE_MADOO
	bool "->  Madoo"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
	select BASEBOARD_DEDEDE_LAPTOP
	select DRIVERS_GENERIC_MAX98357A
	select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR

config BOARD_GOOGLE_WADDLEDOO
	bool "->  Waddledoo"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
	select BASEBOARD_DEDEDE_LAPTOP
	select BOARD_ROMSIZE_KB_32768
	select DRIVERS_GENERIC_MAX98357A
	select DRIVERS_I2C_DA7219
	select DRIVERS_INTEL_MIPI_CAMERA
	select SOC_INTEL_COMMON_BLOCK_IPU

config BOARD_GOOGLE_WADDLEDEE
	bool "->  Waddledee"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
	select BASEBOARD_DEDEDE_LAPTOP
	select BOARD_ROMSIZE_KB_32768

config BOARD_GOOGLE_LALALA
	bool "->  Lalala"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_TPM2
	select BASEBOARD_DEDEDE_LAPTOP
	select DRIVERS_INTEL_MIPI_CAMERA
	select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR
	select SOC_INTEL_COMMON_BLOCK_IPU

config BOARD_GOOGLE_MAGOLOR
	bool "->  Magolor"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
	select BASEBOARD_DEDEDE_LAPTOP
	select DRIVERS_I2C_DA7219
	select DRIVERS_INTEL_MIPI_CAMERA
	select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR
	select SOC_INTEL_COMMON_BLOCK_IPU

config BOARD_GOOGLE_METAKNIGHT
	bool "->  Metaknight"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
	select BASEBOARD_DEDEDE_LAPTOP

config BOARD_GOOGLE_LANTIS
	bool "->  Lantis"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
	select BASEBOARD_DEDEDE_LAPTOP
	select DRIVERS_GENERIC_MAX98357A

config BOARD_GOOGLE_GALTIC
	bool "->  Galtic"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
	select BASEBOARD_DEDEDE_LAPTOP
	select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR

config BOARD_GOOGLE_SASUKE
	bool "->  Sasuke (Samsung Galaxy Chromebook Go)"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
	select BASEBOARD_DEDEDE_LAPTOP
	select DRIVERS_GENERIC_MAX98357A
	select DRIVERS_I2C_DA7219
	select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR

config BOARD_GOOGLE_STORO
	bool "->  Storo (Asus Chromebook CR1100)"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
	select BASEBOARD_DEDEDE_LAPTOP
	select DRIVERS_INTEL_MIPI_CAMERA
	select SOC_INTEL_COMMON_BLOCK_IPU
	select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR

config BOARD_GOOGLE_SASUKETTE
	bool "->  Sasukette"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
	select BASEBOARD_DEDEDE_LAPTOP
	select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR

config BOARD_GOOGLE_KRACKO
	bool "->  Kracko"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
	select BASEBOARD_DEDEDE_LAPTOP
	select DRIVERS_GENERIC_MAX98357A
	select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR

config BOARD_GOOGLE_BLIPPER
	bool "->  Blipper"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
	select BASEBOARD_DEDEDE_LAPTOP

config BOARD_GOOGLE_CRET
	bool "->  Cret"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
	select BASEBOARD_DEDEDE_LAPTOP
	select DRIVERS_GENERIC_MAX98357A
	select DRIVERS_I2C_DA7219
	select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR

config BOARD_GOOGLE_PIRIKA
	bool "->  Pirika"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
	select BASEBOARD_DEDEDE_LAPTOP

config BOARD_GOOGLE_CAPPY2
	bool "->  Cappy2"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_TPM2
	select BASEBOARD_DEDEDE_LAPTOP

config BOARD_GOOGLE_BUGZZY
	bool "->  Bugzzy"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
	select BASEBOARD_DEDEDE_LAPTOP
	select DRIVERS_GENERIC_MAX98357A
	select DRIVERS_I2C_DA7219
	select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR

config BOARD_GOOGLE_CORORI
	bool "->  Corori"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_TPM2
	select BASEBOARD_DEDEDE_LAPTOP
	select DRIVERS_GENERIC_MAX98357A

config BOARD_GOOGLE_DRIBLEE
	bool "->  Driblee"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_TPM2
	select BASEBOARD_DEDEDE_LAPTOP
	select DRIVERS_GENERIC_MAX98357A

config BOARD_GOOGLE_GOOEY
	bool "->  Gooey"
	select BOARD_GOOGLE_BASEBOARD_DEDEDE_TPM2
	select BASEBOARD_DEDEDE_LAPTOP
	select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR
