1 ## SPDX-License-Identifier: GPL-2.0-only
3 config EC_GOOGLE_CHROMEEC
5 select EC_SUPPORTS_DPTF_TEVT
11 config EC_GOOGLE_CHROMEEC_ACPI_MEMMAP
12 depends on EC_GOOGLE_CHROMEEC_LPC
15 When defined, ACPI accesses EC memmap data on ports 66h/62h. When
16 not defined, the memmap data is instead accessed on 900h-9ffh via
19 config EC_GOOGLE_CHROMEEC_ACPI_USB_PORT_POWER
22 Expose methods for enabling and disabling port power on individual USB
25 config EC_GOOGLE_CHROMEEC_BOARDID
28 Provides common routine for reading boardid from Chrome EC.
30 config EC_GOOGLE_CHROMEEC_I2C
34 Google's Chrome EC via I2C bus.
36 config EC_GOOGLE_CHROMEEC_I2C_BUS
37 depends on EC_GOOGLE_CHROMEEC_I2C
38 hex "I2C bus for Google's Chrome EC"
40 config EC_GOOGLE_CHROMEEC_I2C_CHIP
41 depends on EC_GOOGLE_CHROMEEC_I2C
45 config EC_GOOGLE_CHROMEEC_I2C_PROTO3
46 depends on EC_GOOGLE_CHROMEEC_I2C
50 Use only proto3 for i2c EC communication.
52 config EC_GOOGLE_CHROMEEC_ESPI
53 depends on ARCH_X86 # Needs Plug-and-play.
55 select EC_GOOGLE_CHROMEEC_LPC
57 Google Chrome EC via eSPI bus.
59 The EC communication code is the same between eSPI and LPC, so
60 this option simply enables the LPC EC code. The eSPI device
61 still needs to correctly configure the bus transactions.
63 config EC_GOOGLE_CHROMEEC_LPC
64 depends on ARCH_X86 # Needs Plug-and-play.
67 Google Chrome EC via LPC bus.
69 config EC_GOOGLE_CHROMEEC_MEC
70 depends on EC_GOOGLE_CHROMEEC_LPC
72 select EC_GOOGLE_COMMON_MEC
74 Microchip EC variant for LPC register access.
76 config EC_GOOGLE_CHROMEEC_PD
79 Indicates that Google's Chrome USB PD chip is present.
81 config EC_GOOGLE_CHROMEEC_SPI
84 Google's Chrome EC via SPI bus.
86 config EC_GOOGLE_CHROMEEC_SPI_BUS
87 depends on EC_GOOGLE_CHROMEEC_SPI
90 config EC_GOOGLE_CHROMEEC_SPI_WAKEUP_DELAY_US
91 depends on EC_GOOGLE_CHROMEEC_SPI
95 Force delay after asserting /CS to allow EC to wakeup.
97 config EC_GOOGLE_CHROMEEC_SPI_CHIP
98 depends on EC_GOOGLE_CHROMEEC_SPI
102 config EC_GOOGLE_CHROMEEC_SKUID
105 Provides common routine for reporting the skuid to ChromeOS.
107 config EC_GOOGLE_CHROMEEC_RTC
108 bool "Enable ChromeOS EC RTC"
110 Enable support for the real-time clock on the ChromeOS EC. This
111 uses the EC_CMD_RTC_GET_VALUE command to read the current time.
113 config EC_GOOGLE_CHROMEEC_FIRMWARE_EXTERNAL
114 bool "Include an external EC firmware binary"
116 Include a precompiled EC firmware binary in the image.
118 config EC_GOOGLE_CHROMEEC_FIRMWARE_FILE
119 string "Chrome EC firmware path and filename"
120 depends on EC_GOOGLE_CHROMEEC_FIRMWARE_EXTERNAL
122 The path and filename of the EC firmware file to use.
124 config EC_GOOGLE_CHROMEEC_PD_FIRMWARE_EXTERNAL
125 bool "Include an external PD firmware binary"
126 depends on EC_GOOGLE_CHROMEEC_PD
128 Include a precompiled PD firmware binary in the image.
130 config EC_GOOGLE_CHROMEEC_PD_FIRMWARE_FILE
131 string "Chrome EC firmware path and filename for PD"
132 depends on EC_GOOGLE_CHROMEEC_PD_FIRMWARE_EXTERNAL
134 The path and filename of the PD firmware file to use.
136 config EC_GOOGLE_CHROMEEC_SWITCHES
140 Enable support for ChromeOS mode switches provided by the ChromeOS
143 config EC_GOOGLE_CHROMEEC_INCLUDE_SSFC_IN_FW_CONFIG
144 depends on FW_CONFIG_SOURCE_CHROMEEC_CBI
147 Fetch Second Source Factory Cache from CBI EEPROM and add it in the most significant
148 32 bits of firmware configuration.
150 config EC_GOOGLE_CHROMEEC_AUTO_FAN_CTRL
151 bool "Enable automatic fan control"
153 Put the fan in auto mode at boot.
155 config EC_GOOGLE_CHROMEEC_READ_BATTERY_LONG_STRING
156 depends on TPM_GOOGLE
160 The Chrome EC currently supports two ways to read battery strings on
163 * Read up to 8 bytes from EC shared memory BMFG, BMOD, ...
164 * Send a EC_CMD_BATTERY_GET_STATIC host command and read longer strings as a response.
166 Select this config to support readout of longer battery strings.
170 endif # EC_GOOGLE_CHROMEEC
172 source "src/ec/google/chromeec/*/Kconfig"