xref: /linux/drivers/platform/chrome/Kconfig (revision d00a8741fd8fab2dc82f1c44d4111a337d505e60)
1ab043105SOlof Johansson#
2ab043105SOlof Johansson# Platform support for Chrome OS hardware (Chromebooks and Chromeboxes)
3ab043105SOlof Johansson#
4ab043105SOlof Johansson
5ab043105SOlof Johanssonmenuconfig CHROME_PLATFORMS
6ab043105SOlof Johansson	bool "Platform support for Chrome hardware"
723ecee32SThierry Reding	depends on X86 || ARM || ARM64 || COMPILE_TEST
8ab043105SOlof Johansson	---help---
9ab043105SOlof Johansson	  Say Y here to get to see options for platform support for
10ab043105SOlof Johansson	  various Chromebooks and Chromeboxes. This option alone does
11ab043105SOlof Johansson	  not add any kernel code.
12ab043105SOlof Johansson
13ab043105SOlof Johansson	  If you say N, all options in this submenu will be skipped and disabled.
14ab043105SOlof Johansson
15ab043105SOlof Johanssonif CHROME_PLATFORMS
16ab043105SOlof Johansson
17ab043105SOlof Johanssonconfig CHROMEOS_LAPTOP
18ab043105SOlof Johansson	tristate "Chrome OS Laptop"
19e7c256fbSBill Richardson	depends on I2C && DMI && X86
20ab043105SOlof Johansson	---help---
21ab043105SOlof Johansson	  This driver instantiates i2c and smbus devices such as
22ab043105SOlof Johansson	  light sensors and touchpads.
23ab043105SOlof Johansson
24ab043105SOlof Johansson	  If you have a supported Chromebook, choose Y or M here.
25ab043105SOlof Johansson	  The module will be called chromeos_laptop.
26ab043105SOlof Johansson
279742e127SOlof Johanssonconfig CHROMEOS_PSTORE
289742e127SOlof Johansson	tristate "Chrome OS pstore support"
29e7c256fbSBill Richardson	depends on X86
309742e127SOlof Johansson	---help---
319742e127SOlof Johansson	  This module instantiates the persistent storage on x86 ChromeOS
329742e127SOlof Johansson	  devices. It can be used to store away console logs and crash
339742e127SOlof Johansson	  information across reboots.
349742e127SOlof Johansson
359742e127SOlof Johansson	  The range of memory used is 0xf00000-0x1000000, traditionally
369742e127SOlof Johansson	  the memory used to back VGA controller memory.
379742e127SOlof Johansson
389742e127SOlof Johansson	  If you have a supported Chromebook, choose Y or M here.
399742e127SOlof Johansson	  The module will be called chromeos_pstore.
409742e127SOlof Johansson
41b418f741SGwendal Grignouconfig CHROMEOS_TBMC
42b418f741SGwendal Grignou	tristate "ChromeOS Tablet Switch Controller"
43b418f741SGwendal Grignou	depends on ACPI
44485aa74aSArnd Bergmann	depends on INPUT
45b418f741SGwendal Grignou	help
46b418f741SGwendal Grignou	  This option adds a driver for the tablet switch on
47b418f741SGwendal Grignou	  select Chrome OS systems.
48b418f741SGwendal Grignou
49b418f741SGwendal Grignou	  To compile this driver as a module, choose M here: the
50b418f741SGwendal Grignou	  module will be called chromeos_tbmc.
51b418f741SGwendal Grignou
52ea01a31bSThierry Escandeconfig CROS_EC_CTL
53ea01a31bSThierry Escande        tristate
54ea01a31bSThierry Escande
55*d00a8741SEnric Balletbo i Serraconfig CROS_EC_I2C
56*d00a8741SEnric Balletbo i Serra	tristate "ChromeOS Embedded Controller (I2C)"
57*d00a8741SEnric Balletbo i Serra	depends on MFD_CROS_EC && I2C
58*d00a8741SEnric Balletbo i Serra
59*d00a8741SEnric Balletbo i Serra	help
60*d00a8741SEnric Balletbo i Serra	  If you say Y here, you get support for talking to the ChromeOS
61*d00a8741SEnric Balletbo i Serra	  EC through an I2C bus. This uses a simple byte-level protocol with
62*d00a8741SEnric Balletbo i Serra	  a checksum. Failing accesses will be retried three times to
63*d00a8741SEnric Balletbo i Serra	  improve reliability.
64*d00a8741SEnric Balletbo i Serra
65*d00a8741SEnric Balletbo i Serraconfig CROS_EC_SPI
66*d00a8741SEnric Balletbo i Serra	tristate "ChromeOS Embedded Controller (SPI)"
67*d00a8741SEnric Balletbo i Serra	depends on MFD_CROS_EC && SPI
68*d00a8741SEnric Balletbo i Serra
69*d00a8741SEnric Balletbo i Serra	---help---
70*d00a8741SEnric Balletbo i Serra	  If you say Y here, you get support for talking to the ChromeOS EC
71*d00a8741SEnric Balletbo i Serra	  through a SPI bus, using a byte-level protocol. Since the EC's
72*d00a8741SEnric Balletbo i Serra	  response time cannot be guaranteed, we support ignoring
73*d00a8741SEnric Balletbo i Serra	  'pre-amble' bytes before the response actually starts.
74*d00a8741SEnric Balletbo i Serra
75ec2f33abSBill Richardsonconfig CROS_EC_LPC
76ec2f33abSBill Richardson        tristate "ChromeOS Embedded Controller (LPC)"
7712278dc7SGwendal Grignou        depends on MFD_CROS_EC && ACPI && (X86 || COMPILE_TEST)
78ec2f33abSBill Richardson        help
79ec2f33abSBill Richardson          If you say Y here, you get support for talking to the ChromeOS EC
80ec2f33abSBill Richardson          over an LPC bus. This uses a simple byte-level protocol with a
81ec2f33abSBill Richardson          checksum. This is used for userspace access only. The kernel
82ec2f33abSBill Richardson          typically has its own communication methods.
83ec2f33abSBill Richardson
84ec2f33abSBill Richardson          To compile this driver as a module, choose M here: the
85ec2f33abSBill Richardson          module will be called cros_ec_lpc.
86ec2f33abSBill Richardson
878d4a3dc4SShawn Nematbakhshconfig CROS_EC_LPC_MEC
888d4a3dc4SShawn Nematbakhsh	bool "ChromeOS Embedded Controller LPC Microchip EC (MEC) variant"
898d4a3dc4SShawn Nematbakhsh	depends on CROS_EC_LPC
908d4a3dc4SShawn Nematbakhsh	default n
918d4a3dc4SShawn Nematbakhsh	help
928d4a3dc4SShawn Nematbakhsh	  If you say Y here, a variant LPC protocol for the Microchip EC
938d4a3dc4SShawn Nematbakhsh	  will be used. Note that this variant is not backward compatible
948d4a3dc4SShawn Nematbakhsh	  with non-Microchip ECs.
958d4a3dc4SShawn Nematbakhsh
968d4a3dc4SShawn Nematbakhsh	  If you have a ChromeOS Embedded Controller Microchip EC variant
978d4a3dc4SShawn Nematbakhsh	  choose Y here.
988d4a3dc4SShawn Nematbakhsh
99062476f2SJavier Martinez Canillasconfig CROS_EC_PROTO
100062476f2SJavier Martinez Canillas        bool
101062476f2SJavier Martinez Canillas        help
102062476f2SJavier Martinez Canillas          ChromeOS EC communication protocol helpers.
103062476f2SJavier Martinez Canillas
104492ef782SSimon Queconfig CROS_KBD_LED_BACKLIGHT
105492ef782SSimon Que	tristate "Backlight LED support for Chrome OS keyboards"
106492ef782SSimon Que	depends on LEDS_CLASS && ACPI
107492ef782SSimon Que	help
108492ef782SSimon Que	  This option enables support for the keyboard backlight LEDs on
109492ef782SSimon Que	  select Chrome OS systems.
110492ef782SSimon Que
111492ef782SSimon Que	  To compile this driver as a module, choose M here: the
112492ef782SSimon Que	  module will be called cros_kbd_led_backlight.
113492ef782SSimon Que
114ab043105SOlof Johanssonendif # CHROMEOS_PLATFORMS
115