]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blob - drivers/platform/chrome/Kconfig
Merge tag 'powerpc-5.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
[mirror_ubuntu-hirsute-kernel.git] / drivers / platform / chrome / Kconfig
1 #
2 # Platform support for Chrome OS hardware (Chromebooks and Chromeboxes)
3 #
4
5 menuconfig CHROME_PLATFORMS
6 bool "Platform support for Chrome hardware"
7 depends on X86 || ARM || ARM64 || COMPILE_TEST
8 ---help---
9 Say Y here to get to see options for platform support for
10 various Chromebooks and Chromeboxes. This option alone does
11 not add any kernel code.
12
13 If you say N, all options in this submenu will be skipped and disabled.
14
15 if CHROME_PLATFORMS
16
17 config CHROMEOS_LAPTOP
18 tristate "Chrome OS Laptop"
19 depends on I2C && DMI && X86
20 ---help---
21 This driver instantiates i2c and smbus devices such as
22 light sensors and touchpads.
23
24 If you have a supported Chromebook, choose Y or M here.
25 The module will be called chromeos_laptop.
26
27 config CHROMEOS_PSTORE
28 tristate "Chrome OS pstore support"
29 depends on X86
30 ---help---
31 This module instantiates the persistent storage on x86 ChromeOS
32 devices. It can be used to store away console logs and crash
33 information across reboots.
34
35 The range of memory used is 0xf00000-0x1000000, traditionally
36 the memory used to back VGA controller memory.
37
38 If you have a supported Chromebook, choose Y or M here.
39 The module will be called chromeos_pstore.
40
41 config CHROMEOS_TBMC
42 tristate "ChromeOS Tablet Switch Controller"
43 depends on ACPI
44 depends on INPUT
45 help
46 This option adds a driver for the tablet switch on
47 select Chrome OS systems.
48
49 To compile this driver as a module, choose M here: the
50 module will be called chromeos_tbmc.
51
52 config CROS_EC_I2C
53 tristate "ChromeOS Embedded Controller (I2C)"
54 depends on MFD_CROS_EC && I2C
55
56 help
57 If you say Y here, you get support for talking to the ChromeOS
58 EC through an I2C bus. This uses a simple byte-level protocol with
59 a checksum. Failing accesses will be retried three times to
60 improve reliability.
61
62 config CROS_EC_RPMSG
63 tristate "ChromeOS Embedded Controller (rpmsg)"
64 depends on MFD_CROS_EC && RPMSG && OF
65 help
66 If you say Y here, you get support for talking to the ChromeOS EC
67 through rpmsg. This uses a simple byte-level protocol with a
68 checksum. Also since there's no addition EC-to-host interrupt, this
69 use a byte in message to distinguish host event from host command.
70
71 To compile this driver as a module, choose M here: the
72 module will be called cros_ec_rpmsg.
73
74 config CROS_EC_SPI
75 tristate "ChromeOS Embedded Controller (SPI)"
76 depends on MFD_CROS_EC && SPI
77
78 ---help---
79 If you say Y here, you get support for talking to the ChromeOS EC
80 through a SPI bus, using a byte-level protocol. Since the EC's
81 response time cannot be guaranteed, we support ignoring
82 'pre-amble' bytes before the response actually starts.
83
84 config CROS_EC_LPC
85 tristate "ChromeOS Embedded Controller (LPC)"
86 depends on MFD_CROS_EC && ACPI && (X86 || COMPILE_TEST)
87 help
88 If you say Y here, you get support for talking to the ChromeOS EC
89 over an LPC bus. This uses a simple byte-level protocol with a
90 checksum. This is used for userspace access only. The kernel
91 typically has its own communication methods.
92
93 To compile this driver as a module, choose M here: the
94 module will be called cros_ec_lpc.
95
96 config CROS_EC_LPC_MEC
97 bool "ChromeOS Embedded Controller LPC Microchip EC (MEC) variant"
98 depends on CROS_EC_LPC
99 default n
100 help
101 If you say Y here, a variant LPC protocol for the Microchip EC
102 will be used. Note that this variant is not backward compatible
103 with non-Microchip ECs.
104
105 If you have a ChromeOS Embedded Controller Microchip EC variant
106 choose Y here.
107
108 config CROS_EC_PROTO
109 bool
110 help
111 ChromeOS EC communication protocol helpers.
112
113 config CROS_KBD_LED_BACKLIGHT
114 tristate "Backlight LED support for Chrome OS keyboards"
115 depends on LEDS_CLASS && ACPI
116 help
117 This option enables support for the keyboard backlight LEDs on
118 select Chrome OS systems.
119
120 To compile this driver as a module, choose M here: the
121 module will be called cros_kbd_led_backlight.
122
123 config CROS_EC_LIGHTBAR
124 tristate "Chromebook Pixel's lightbar support"
125 depends on MFD_CROS_EC_CHARDEV
126 default MFD_CROS_EC_CHARDEV
127 help
128 This option exposes the Chromebook Pixel's lightbar to
129 userspace.
130
131 To compile this driver as a module, choose M here: the
132 module will be called cros_ec_lightbar.
133
134 config CROS_EC_VBC
135 tristate "ChromeOS EC vboot context support"
136 depends on MFD_CROS_EC_CHARDEV && OF
137 default MFD_CROS_EC_CHARDEV
138 help
139 This option exposes the ChromeOS EC vboot context nvram to
140 userspace.
141
142 To compile this driver as a module, choose M here: the
143 module will be called cros_ec_vbc.
144
145 config CROS_EC_DEBUGFS
146 tristate "Export ChromeOS EC internals in DebugFS"
147 depends on MFD_CROS_EC_CHARDEV && DEBUG_FS
148 default MFD_CROS_EC_CHARDEV
149 help
150 This option exposes the ChromeOS EC device internals to
151 userspace.
152
153 To compile this driver as a module, choose M here: the
154 module will be called cros_ec_debugfs.
155
156 config CROS_EC_SYSFS
157 tristate "ChromeOS EC control and information through sysfs"
158 depends on MFD_CROS_EC_CHARDEV && SYSFS
159 default MFD_CROS_EC_CHARDEV
160 help
161 This option exposes some sysfs attributes to control and get
162 information from ChromeOS EC.
163
164 To compile this driver as a module, choose M here: the
165 module will be called cros_ec_sysfs.
166
167 config CROS_USBPD_LOGGER
168 tristate "Logging driver for USB PD charger"
169 depends on CHARGER_CROS_USBPD
170 default y
171 select RTC_LIB
172 help
173 This option enables support for logging event data for the USB PD charger
174 available in the Embedded Controller on ChromeOS systems.
175
176 To compile this driver as a module, choose M here: the
177 module will be called cros_usbpd_logger.
178
179 source "drivers/platform/chrome/wilco_ec/Kconfig"
180
181 endif # CHROMEOS_PLATFORMS