soc/intel/ptl: Update ME specification version to 21
[coreboot.git] / src / ec / google / chromeec / Kconfig
blobf0418ff16ec680d07442967bcd0058d37e9533c6
1 ## SPDX-License-Identifier: GPL-2.0-only
3 config EC_GOOGLE_CHROMEEC
4         bool
5         select EC_SUPPORTS_DPTF_TEVT
6         help
7           Google's Chrome EC
9 if EC_GOOGLE_CHROMEEC
11 config EC_GOOGLE_CHROMEEC_ACPI_MEMMAP
12         depends on EC_GOOGLE_CHROMEEC_LPC
13         def_bool n
14         help
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
17           the LPC bus.
19 config EC_GOOGLE_CHROMEEC_ACPI_USB_PORT_POWER
20         def_bool n
21         help
22           Expose methods for enabling and disabling port power on individual USB
23           ports through the EC.
25 config EC_GOOGLE_CHROMEEC_BOARDID
26         def_bool n
27         help
28           Provides common routine for reading boardid from Chrome EC.
30 config EC_GOOGLE_CHROMEEC_I2C
31         bool
32         default n
33         help
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
42         hex
43         default 0x1e
45 config EC_GOOGLE_CHROMEEC_I2C_PROTO3
46         depends on EC_GOOGLE_CHROMEEC_I2C
47         bool
48         default n
49         help
50           Use only proto3 for i2c EC communication.
52 config EC_GOOGLE_CHROMEEC_ESPI
53         depends on ARCH_X86  # Needs Plug-and-play.
54         def_bool n
55         select EC_GOOGLE_CHROMEEC_LPC
56         help
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.
65         def_bool n
66         help
67           Google Chrome EC via LPC bus.
69 config EC_GOOGLE_CHROMEEC_MEC
70         depends on EC_GOOGLE_CHROMEEC_LPC
71         def_bool n
72         select EC_GOOGLE_COMMON_MEC
73         help
74           Microchip EC variant for LPC register access.
76 config EC_GOOGLE_CHROMEEC_PD
77         def_bool n
78         help
79           Indicates that Google's Chrome USB PD chip is present.
81 config EC_GOOGLE_CHROMEEC_SPI
82         def_bool n
83         help
84           Google's Chrome EC via SPI bus.
86 config EC_GOOGLE_CHROMEEC_SPI_BUS
87         depends on EC_GOOGLE_CHROMEEC_SPI
88         hex
90 config EC_GOOGLE_CHROMEEC_SPI_WAKEUP_DELAY_US
91         depends on EC_GOOGLE_CHROMEEC_SPI
92         int
93         default 0
94         help
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
99         hex
100         default 0x0
102 config EC_GOOGLE_CHROMEEC_SKUID
103         def_bool n
104         help
105           Provides common routine for reporting the skuid to ChromeOS.
107 config EC_GOOGLE_CHROMEEC_RTC
108         bool "Enable ChromeOS EC RTC"
109         help
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"
115         help
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
121         help
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
127         help
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
133         help
134           The path and filename of the PD firmware file to use.
136 config EC_GOOGLE_CHROMEEC_SWITCHES
137         depends on VBOOT
138         bool
139         help
140           Enable support for ChromeOS mode switches provided by the ChromeOS
141           EC.
143 config EC_GOOGLE_CHROMEEC_INCLUDE_SSFC_IN_FW_CONFIG
144         depends on FW_CONFIG_SOURCE_CHROMEEC_CBI
145         bool
146         help
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"
152         help
153           Put the fan in auto mode at boot.
155 config EC_GOOGLE_CHROMEEC_READ_BATTERY_LONG_STRING
156         depends on TPM_GOOGLE
157         bool
158         default y
159         help
160           The Chrome EC currently supports two ways to read battery strings on
161           ACPI platforms:
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.
168           If unsure, say N.
170 endif # EC_GOOGLE_CHROMEEC
172 source "src/ec/google/chromeec/*/Kconfig"