config EC_GOOGLE_CHROMEEC
	bool
	help
	  Google's Chrome EC

config EC_GOOGLE_CHROMEEC_ACPI_MEMMAP
	depends on EC_GOOGLE_CHROMEEC_LPC
	def_bool n
	help
	  When defined, ACPI accesses EC memmap data on ports 66h/62h. When
	  not defined, the memmap data is instead accessed on 900h-9ffh via
	  the LPC bus.

config EC_GOOGLE_CHROMEEC_I2C
	depends on EC_GOOGLE_CHROMEEC
	bool
	default n
	help
	  Google's Chrome EC via I2C bus.

config EC_GOOGLE_CHROMEEC_I2C_BUS
	depends on EC_GOOGLE_CHROMEEC_I2C
	hex "I2C bus for Google's Chrome EC"

config EC_GOOGLE_CHROMEEC_I2C_CHIP
	depends on EC_GOOGLE_CHROMEEC_I2C
	hex
	default 0x1e

config EC_GOOGLE_CHROMEEC_I2C_PROTO3
	depends on EC_GOOGLE_CHROMEEC_I2C
	bool
	default n
	help
	  Use only proto3 for i2c EC communication.

config EC_GOOGLE_CHROMEEC_LPC
	depends on EC_GOOGLE_CHROMEEC && ARCH_X86  # Needs Plug-and-play.
	def_bool y
	help
	  Google Chrome EC via LPC bus.

config EC_GOOGLE_CHROMEEC_MEC
	depends on EC_GOOGLE_CHROMEEC_LPC
	def_bool n
	help
	  Microchip EC variant for LPC register access.

config EC_GOOGLE_CHROMEEC_PD
	depends on EC_GOOGLE_CHROMEEC
	def_bool n
	help
	  Indicates that Google's Chrome USB PD chip is present.

config EC_GOOGLE_CHROMEEC_SPI
	depends on EC_GOOGLE_CHROMEEC
	def_bool n
	help
	  Google's Chrome EC via SPI bus.

config EC_GOOGLE_CHROMEEC_SPI_BUS
	depends on EC_GOOGLE_CHROMEEC_SPI
	hex "SPI bus for Google's Chrome EC"

config EC_GOOGLE_CHROMEEC_SPI_WAKEUP_DELAY_US
	depends on EC_GOOGLE_CHROMEEC_SPI
	int
	default 0
	help
	  Force delay after asserting /CS to allow EC to wakeup.

config EC_GOOGLE_CHROMEEC_SPI_CHIP
	depends on EC_GOOGLE_CHROMEEC_SPI
	hex
	default 0
