]> Pileus Git - ~andy/linux/blob - Documentation/devicetree/bindings/mfd/cros-ec.txt
5f229c5f6da96c09d011fe5bec75eda2ab2ba56d
[~andy/linux] / Documentation / devicetree / bindings / mfd / cros-ec.txt
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
7 compatible string used depends on the interface. Each connection method has
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.