xref: /linux/drivers/platform/chrome/Kconfig (revision 7b3d4f44abf0e7a1ba762c8a9c99a8b39ee0c8b1)
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
52d00a8741SEnric Balletbo i Serraconfig CROS_EC_I2C
53d00a8741SEnric Balletbo i Serra	tristate "ChromeOS Embedded Controller (I2C)"
54d00a8741SEnric Balletbo i Serra	depends on MFD_CROS_EC && I2C
55d00a8741SEnric Balletbo i Serra
56d00a8741SEnric Balletbo i Serra	help
57d00a8741SEnric Balletbo i Serra	  If you say Y here, you get support for talking to the ChromeOS
58d00a8741SEnric Balletbo i Serra	  EC through an I2C bus. This uses a simple byte-level protocol with
59d00a8741SEnric Balletbo i Serra	  a checksum. Failing accesses will be retried three times to
60d00a8741SEnric Balletbo i Serra	  improve reliability.
61d00a8741SEnric Balletbo i Serra
62d00a8741SEnric Balletbo i Serraconfig CROS_EC_SPI
63d00a8741SEnric Balletbo i Serra	tristate "ChromeOS Embedded Controller (SPI)"
64d00a8741SEnric Balletbo i Serra	depends on MFD_CROS_EC && SPI
65d00a8741SEnric Balletbo i Serra
66d00a8741SEnric Balletbo i Serra	---help---
67d00a8741SEnric Balletbo i Serra	  If you say Y here, you get support for talking to the ChromeOS EC
68d00a8741SEnric Balletbo i Serra	  through a SPI bus, using a byte-level protocol. Since the EC's
69d00a8741SEnric Balletbo i Serra	  response time cannot be guaranteed, we support ignoring
70d00a8741SEnric Balletbo i Serra	  'pre-amble' bytes before the response actually starts.
71d00a8741SEnric Balletbo i Serra
72ec2f33abSBill Richardsonconfig CROS_EC_LPC
73ec2f33abSBill Richardson        tristate "ChromeOS Embedded Controller (LPC)"
7412278dc7SGwendal Grignou        depends on MFD_CROS_EC && ACPI && (X86 || COMPILE_TEST)
75ec2f33abSBill Richardson        help
76ec2f33abSBill Richardson          If you say Y here, you get support for talking to the ChromeOS EC
77ec2f33abSBill Richardson          over an LPC bus. This uses a simple byte-level protocol with a
78ec2f33abSBill Richardson          checksum. This is used for userspace access only. The kernel
79ec2f33abSBill Richardson          typically has its own communication methods.
80ec2f33abSBill Richardson
81ec2f33abSBill Richardson          To compile this driver as a module, choose M here: the
82ec2f33abSBill Richardson          module will be called cros_ec_lpc.
83ec2f33abSBill Richardson
848d4a3dc4SShawn Nematbakhshconfig CROS_EC_LPC_MEC
858d4a3dc4SShawn Nematbakhsh	bool "ChromeOS Embedded Controller LPC Microchip EC (MEC) variant"
868d4a3dc4SShawn Nematbakhsh	depends on CROS_EC_LPC
878d4a3dc4SShawn Nematbakhsh	default n
888d4a3dc4SShawn Nematbakhsh	help
898d4a3dc4SShawn Nematbakhsh	  If you say Y here, a variant LPC protocol for the Microchip EC
908d4a3dc4SShawn Nematbakhsh	  will be used. Note that this variant is not backward compatible
918d4a3dc4SShawn Nematbakhsh	  with non-Microchip ECs.
928d4a3dc4SShawn Nematbakhsh
938d4a3dc4SShawn Nematbakhsh	  If you have a ChromeOS Embedded Controller Microchip EC variant
948d4a3dc4SShawn Nematbakhsh	  choose Y here.
958d4a3dc4SShawn Nematbakhsh
96062476f2SJavier Martinez Canillasconfig CROS_EC_PROTO
97062476f2SJavier Martinez Canillas        bool
98062476f2SJavier Martinez Canillas        help
99062476f2SJavier Martinez Canillas          ChromeOS EC communication protocol helpers.
100062476f2SJavier Martinez Canillas
101492ef782SSimon Queconfig CROS_KBD_LED_BACKLIGHT
102492ef782SSimon Que	tristate "Backlight LED support for Chrome OS keyboards"
103492ef782SSimon Que	depends on LEDS_CLASS && ACPI
104492ef782SSimon Que	help
105492ef782SSimon Que	  This option enables support for the keyboard backlight LEDs on
106492ef782SSimon Que	  select Chrome OS systems.
107492ef782SSimon Que
108492ef782SSimon Que	  To compile this driver as a module, choose M here: the
109492ef782SSimon Que	  module will be called cros_kbd_led_backlight.
110492ef782SSimon Que
111ecf8a6cdSEnric Balletbo i Serraconfig CROS_EC_LIGHTBAR
112ecf8a6cdSEnric Balletbo i Serra	tristate "Chromebook Pixel's lightbar support"
113ecf8a6cdSEnric Balletbo i Serra	depends on MFD_CROS_EC_CHARDEV
114ecf8a6cdSEnric Balletbo i Serra	default MFD_CROS_EC_CHARDEV
115ecf8a6cdSEnric Balletbo i Serra	help
116ecf8a6cdSEnric Balletbo i Serra	  This option exposes the Chromebook Pixel's lightbar to
117ecf8a6cdSEnric Balletbo i Serra	  userspace.
118ecf8a6cdSEnric Balletbo i Serra
119ecf8a6cdSEnric Balletbo i Serra	  To compile this driver as a module, choose M here: the
120ecf8a6cdSEnric Balletbo i Serra	  module will be called cros_ec_lightbar.
121ecf8a6cdSEnric Balletbo i Serra
122acb9900fSEnric Balletbo i Serraconfig CROS_EC_VBC
123acb9900fSEnric Balletbo i Serra	tristate "ChromeOS EC vboot context support"
124acb9900fSEnric Balletbo i Serra	depends on MFD_CROS_EC_CHARDEV && OF
125acb9900fSEnric Balletbo i Serra	default MFD_CROS_EC_CHARDEV
126acb9900fSEnric Balletbo i Serra	help
127acb9900fSEnric Balletbo i Serra	  This option exposes the ChromeOS EC vboot context nvram to
128acb9900fSEnric Balletbo i Serra	  userspace.
129acb9900fSEnric Balletbo i Serra
130acb9900fSEnric Balletbo i Serra	  To compile this driver as a module, choose M here: the
131acb9900fSEnric Balletbo i Serra	  module will be called cros_ec_vbc.
132acb9900fSEnric Balletbo i Serra
1336fce0a2cSEnric Balletbo i Serraconfig CROS_EC_DEBUGFS
1346fce0a2cSEnric Balletbo i Serra	tristate "Export ChromeOS EC internals in DebugFS"
1356fce0a2cSEnric Balletbo i Serra	depends on MFD_CROS_EC_CHARDEV && DEBUG_FS
1366fce0a2cSEnric Balletbo i Serra	default MFD_CROS_EC_CHARDEV
1376fce0a2cSEnric Balletbo i Serra	help
1386fce0a2cSEnric Balletbo i Serra	  This option exposes the ChromeOS EC device internals to
1396fce0a2cSEnric Balletbo i Serra	  userspace.
1406fce0a2cSEnric Balletbo i Serra
1416fce0a2cSEnric Balletbo i Serra	  To compile this driver as a module, choose M here: the
1426fce0a2cSEnric Balletbo i Serra	  module will be called cros_ec_debugfs.
1436fce0a2cSEnric Balletbo i Serra
1446fd7f2bbSEnric Balletbo i Serraconfig CROS_EC_SYSFS
1456fd7f2bbSEnric Balletbo i Serra	tristate "ChromeOS EC control and information through sysfs"
1466fd7f2bbSEnric Balletbo i Serra	depends on MFD_CROS_EC_CHARDEV && SYSFS
1476fd7f2bbSEnric Balletbo i Serra	default MFD_CROS_EC_CHARDEV
1486fd7f2bbSEnric Balletbo i Serra	help
1496fd7f2bbSEnric Balletbo i Serra	  This option exposes some sysfs attributes to control and get
1506fd7f2bbSEnric Balletbo i Serra	  information from ChromeOS EC.
1516fd7f2bbSEnric Balletbo i Serra
1526fd7f2bbSEnric Balletbo i Serra	  To compile this driver as a module, choose M here: the
1536fd7f2bbSEnric Balletbo i Serra	  module will be called cros_ec_sysfs.
1546fd7f2bbSEnric Balletbo i Serra
155*7b3d4f44SNick Crewssource "drivers/platform/chrome/wilco_ec/Kconfig"
156*7b3d4f44SNick Crews
157ab043105SOlof Johanssonendif # CHROMEOS_PLATFORMS
158