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_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 75config CROS_EC_LPC 76 tristate "ChromeOS Embedded Controller (LPC)" 77 depends on MFD_CROS_EC && ACPI && (X86 || COMPILE_TEST) 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 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 99config CROS_EC_PROTO 100 bool 101 help 102 ChromeOS EC communication protocol helpers. 103 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 114endif # CHROMEOS_PLATFORMS 115