| ## SPDX-License-Identifier: GPL-2.0-only |
| |
| config EC_GOOGLE_CHROMEEC |
| bool |
| select EC_SUPPORTS_DPTF_TEVT |
| 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_ACPI_USB_PORT_POWER |
| depends on EC_GOOGLE_CHROMEEC |
| def_bool n |
| help |
| Expose methods for enabling and disabling port power on individual USB |
| ports through the EC. |
| |
| config EC_GOOGLE_CHROMEEC_BOARDID |
| depends on EC_GOOGLE_CHROMEEC |
| def_bool n |
| help |
| Provides common routine for reading boardid from Chrome EC. |
| |
| 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_ESPI |
| depends on EC_GOOGLE_CHROMEEC && ARCH_X86 # Needs Plug-and-play. |
| def_bool n |
| select EC_GOOGLE_CHROMEEC_LPC |
| help |
| Google Chrome EC via eSPI bus. |
| |
| The EC communication code is the same between eSPI and LPC, so |
| this option simply enables the LPC EC code. The eSPI device |
| still needs to correctly configure the bus transactions. |
| |
| config EC_GOOGLE_CHROMEEC_LPC |
| depends on EC_GOOGLE_CHROMEEC && ARCH_X86 # Needs Plug-and-play. |
| def_bool n |
| help |
| Google Chrome EC via LPC bus. |
| |
| config EC_GOOGLE_CHROMEEC_MEC |
| depends on EC_GOOGLE_CHROMEEC_LPC |
| def_bool n |
| select EC_GOOGLE_COMMON_MEC |
| 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 |
| |
| 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 0x0 |
| |
| config EC_GOOGLE_CHROMEEC_SKUID |
| def_bool n |
| help |
| Provides common routine for reporting the skuid to ChromeOS. |
| |
| config EC_GOOGLE_CHROMEEC_BOARDNAME |
| depends on EC_GOOGLE_CHROMEEC |
| string "Chrome EC board name for EC" |
| default "" |
| help |
| The board name used in the Chrome EC code base to build |
| the EC firmware. If set, the coreboot build with also |
| build the EC firmware and add it to the image. |
| |
| config EC_GOOGLE_CHROMEEC_PD_BOARDNAME |
| depends on EC_GOOGLE_CHROMEEC_PD |
| string "Chrome EC board name for PD" |
| default "" |
| help |
| The board name used in the Chrome EC code base to build |
| the PD firmware. If set, the coreboot build with also |
| build the EC firmware and add it to the image. |
| |
| config EC_GOOGLE_CHROMEEC_RTC |
| depends on EC_GOOGLE_CHROMEEC |
| bool "Enable ChromeOS EC RTC" |
| help |
| Enable support for the real-time clock on the ChromeOS EC. This |
| uses the EC_CMD_RTC_GET_VALUE command to read the current time. |
| |
| choice |
| prompt "Chrome EC firmware source" |
| depends on EC_GOOGLE_CHROMEEC |
| default EC_GOOGLE_CHROMEEC_FIRMWARE_BUILTIN if EC_GOOGLE_CHROMEEC_BOARDNAME != "" |
| default EC_GOOGLE_CHROMEEC_FIRMWARE_NONE |
| |
| config EC_GOOGLE_CHROMEEC_FIRMWARE_NONE |
| bool "No EC firmware is included" |
| help |
| Disable building and including any EC firmware in the image. |
| |
| config EC_GOOGLE_CHROMEEC_FIRMWARE_EXTERNAL |
| bool "External EC firmware is included" |
| help |
| Include EC firmware binary in the image from an external source. |
| It is expected to be built externally. |
| |
| config EC_GOOGLE_CHROMEEC_FIRMWARE_BUILTIN |
| bool "Builtin EC firmware is included" |
| help |
| Build and include EC firmware binary in the image. |
| |
| endchoice |
| |
| config EC_GOOGLE_CHROMEEC_FIRMWARE_FILE |
| string "Chrome EC firmware path and filename" |
| depends on EC_GOOGLE_CHROMEEC_FIRMWARE_EXTERNAL |
| help |
| The path and filename of the EC firmware file to use. |
| |
| choice |
| prompt "Chrome EC firmware source for PD" |
| depends on EC_GOOGLE_CHROMEEC_PD |
| default EC_GOOGLE_CHROMEEC_PD_FIRMWARE_BUILTIN if EC_GOOGLE_CHROMEEC_PD_BOARDNAME != "" |
| default EC_GOOGLE_CHROMEEC_PD_FIRMWARE_NONE |
| |
| config EC_GOOGLE_CHROMEEC_PD_FIRMWARE_NONE |
| bool "No PD firmware is included" |
| help |
| Disable building and including any PD firmware in the image. |
| |
| config EC_GOOGLE_CHROMEEC_PD_FIRMWARE_EXTERNAL |
| bool "External PD firmware is included" |
| help |
| Include PD firmware binary in the image from an external source. |
| It is expected to be built externally. |
| |
| config EC_GOOGLE_CHROMEEC_PD_FIRMWARE_BUILTIN |
| bool "Builtin PD firmware is included" |
| help |
| Build and include PD firmware binary in the image. |
| |
| endchoice |
| |
| config EC_GOOGLE_CHROMEEC_PD_FIRMWARE_FILE |
| string "Chrome EC firmware path and filename for PD" |
| depends on EC_GOOGLE_CHROMEEC_PD_FIRMWARE_EXTERNAL |
| help |
| The path and filename of the PD firmware file to use. |
| |
| config EC_GOOGLE_CHROMEEC_SWITCHES |
| depends on EC_GOOGLE_CHROMEEC && VBOOT |
| bool |
| help |
| Enable support for ChromeOS mode switches provided by the ChromeOS |
| EC. |
| |
| config EC_GOOGLE_CHROMEEC_INCLUDE_SSFC_IN_FW_CONFIG |
| depends on FW_CONFIG_SOURCE_CHROMEEC_CBI |
| bool |
| help |
| Fetch Second Source Factory Cache from CBI EEPROM and add it in the most significant |
| 32 bits of firmware configuration. |
| |
| config EC_GOOGLE_CHROMEEC_AUTO_FAN_CTRL |
| depends on EC_GOOGLE_CHROMEEC |
| bool "Enable automatic fan control" |
| help |
| Put the fan in auto mode at boot. |
| |
| source "src/ec/google/chromeec/*/Kconfig" |