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