xref: /linux/drivers/platform/chrome/Kconfig (revision f79e4d5f92a129a1159c973735007d4ddc8541f3)
1#
2# Platform support for Chrome OS hardware (Chromebooks and Chromeboxes)
3#
4
5menuconfig 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
15if CHROME_PLATFORMS
16
17config 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
27config 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
41config 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
52config CROS_EC_CTL
53        tristate
54
55config CROS_EC_LPC
56        tristate "ChromeOS Embedded Controller (LPC)"
57        depends on MFD_CROS_EC && ACPI && (X86 || COMPILE_TEST)
58        help
59          If you say Y here, you get support for talking to the ChromeOS EC
60          over an LPC bus. This uses a simple byte-level protocol with a
61          checksum. This is used for userspace access only. The kernel
62          typically has its own communication methods.
63
64          To compile this driver as a module, choose M here: the
65          module will be called cros_ec_lpc.
66
67config CROS_EC_LPC_MEC
68	bool "ChromeOS Embedded Controller LPC Microchip EC (MEC) variant"
69	depends on CROS_EC_LPC
70	default n
71	help
72	  If you say Y here, a variant LPC protocol for the Microchip EC
73	  will be used. Note that this variant is not backward compatible
74	  with non-Microchip ECs.
75
76	  If you have a ChromeOS Embedded Controller Microchip EC variant
77	  choose Y here.
78
79config CROS_EC_PROTO
80        bool
81        help
82          ChromeOS EC communication protocol helpers.
83
84config CROS_KBD_LED_BACKLIGHT
85	tristate "Backlight LED support for Chrome OS keyboards"
86	depends on LEDS_CLASS && ACPI
87	help
88	  This option enables support for the keyboard backlight LEDs on
89	  select Chrome OS systems.
90
91	  To compile this driver as a module, choose M here: the
92	  module will be called cros_kbd_led_backlight.
93
94endif # CHROMEOS_PLATFORMS
95