Commit | Line | Data |
---|---|---|
4ab6174e SG |
1 | ChromeOS Embedded Controller |
2 | ||
3 | Google's ChromeOS EC is a Cortex-M device which talks to the AP and | |
4 | implements various function such as keyboard and battery charging. | |
5 | ||
6 | The EC can be connect through various means (I2C, SPI, LPC) and the | |
9ca18397 | 7 | compatible string used depends on the interface. Each connection method has |
4ab6174e SG |
8 | its own driver which connects to the top level interface-agnostic EC driver. |
9 | Other Linux driver (such as cros-ec-keyb for the matrix keyboard) connect to | |
10 | the top-level driver. | |
11 | ||
12 | Required properties (I2C): | |
13 | - compatible: "google,cros-ec-i2c" | |
14 | - reg: I2C slave address | |
15 | ||
16 | Required properties (SPI): | |
17 | - compatible: "google,cros-ec-spi" | |
18 | - reg: SPI chip select | |
19 | ||
20 | Required properties (LPC): | |
21 | - compatible: "google,cros-ec-lpc" | |
22 | - reg: List of (IO address, size) pairs defining the interface uses | |
23 | ||
24 | ||
25 | Example for I2C: | |
26 | ||
27 | i2c@12CA0000 { | |
28 | cros-ec@1e { | |
29 | reg = <0x1e>; | |
30 | compatible = "google,cros-ec-i2c"; | |
31 | interrupts = <14 0>; | |
32 | interrupt-parent = <&wakeup_eint>; | |
33 | wakeup-source; | |
34 | }; | |
35 | ||
36 | ||
37 | Example for SPI: | |
38 | ||
39 | spi@131b0000 { | |
40 | ec@0 { | |
41 | compatible = "google,cros-ec-spi"; | |
42 | reg = <0x0>; | |
43 | interrupts = <14 0>; | |
44 | interrupt-parent = <&wakeup_eint>; | |
45 | wakeup-source; | |
46 | spi-max-frequency = <5000000>; | |
47 | controller-data { | |
48 | cs-gpio = <&gpf0 3 4 3 0>; | |
49 | samsung,spi-cs; | |
50 | samsung,spi-feedback-delay = <2>; | |
51 | }; | |
52 | }; | |
53 | }; | |
54 | ||
55 | ||
56 | Example for LPC is not supplied as it is not yet implemented. |