platform/chrome: Move cros-ec transport drivers to drivers/platform.
[linux-2.6-block.git] / drivers / platform / chrome / Kconfig
CommitLineData
ab043105
OJ
1#
2# Platform support for Chrome OS hardware (Chromebooks and Chromeboxes)
3#
4
5menuconfig CHROME_PLATFORMS
6 bool "Platform support for Chrome hardware"
23ecee32 7 depends on X86 || ARM || ARM64 || COMPILE_TEST
ab043105
OJ
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"
e7c256fb 19 depends on I2C && DMI && X86
ab043105
OJ
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
9742e127
OJ
27config CHROMEOS_PSTORE
28 tristate "Chrome OS pstore support"
e7c256fb 29 depends on X86
9742e127
OJ
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
b418f741
GG
41config CHROMEOS_TBMC
42 tristate "ChromeOS Tablet Switch Controller"
43 depends on ACPI
485aa74a 44 depends on INPUT
b418f741
GG
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
ea01a31b
TE
52config CROS_EC_CTL
53 tristate
54
d00a8741
EBS
55config CROS_EC_I2C
56 tristate "ChromeOS Embedded Controller (I2C)"
57 depends on MFD_CROS_EC && I2C
58
59 help
60 If you say Y here, you get support for talking to the ChromeOS
61 EC through an I2C bus. This uses a simple byte-level protocol with
62 a checksum. Failing accesses will be retried three times to
63 improve reliability.
64
65config CROS_EC_SPI
66 tristate "ChromeOS Embedded Controller (SPI)"
67 depends on MFD_CROS_EC && SPI
68
69 ---help---
70 If you say Y here, you get support for talking to the ChromeOS EC
71 through a SPI bus, using a byte-level protocol. Since the EC's
72 response time cannot be guaranteed, we support ignoring
73 'pre-amble' bytes before the response actually starts.
74
ec2f33ab
BR
75config CROS_EC_LPC
76 tristate "ChromeOS Embedded Controller (LPC)"
12278dc7 77 depends on MFD_CROS_EC && ACPI && (X86 || COMPILE_TEST)
ec2f33ab
BR
78 help
79 If you say Y here, you get support for talking to the ChromeOS EC
80 over an LPC bus. This uses a simple byte-level protocol with a
81 checksum. This is used for userspace access only. The kernel
82 typically has its own communication methods.
83
84 To compile this driver as a module, choose M here: the
85 module will be called cros_ec_lpc.
86
8d4a3dc4
SN
87config CROS_EC_LPC_MEC
88 bool "ChromeOS Embedded Controller LPC Microchip EC (MEC) variant"
89 depends on CROS_EC_LPC
90 default n
91 help
92 If you say Y here, a variant LPC protocol for the Microchip EC
93 will be used. Note that this variant is not backward compatible
94 with non-Microchip ECs.
95
96 If you have a ChromeOS Embedded Controller Microchip EC variant
97 choose Y here.
98
062476f2
JMC
99config CROS_EC_PROTO
100 bool
101 help
102 ChromeOS EC communication protocol helpers.
103
492ef782
SQ
104config CROS_KBD_LED_BACKLIGHT
105 tristate "Backlight LED support for Chrome OS keyboards"
106 depends on LEDS_CLASS && ACPI
107 help
108 This option enables support for the keyboard backlight LEDs on
109 select Chrome OS systems.
110
111 To compile this driver as a module, choose M here: the
112 module will be called cros_kbd_led_backlight.
113
ab043105 114endif # CHROMEOS_PLATFORMS