linux/Documentation/devicetree/bindings/mfd/cros-ec.txt
<<
>>
Prefs
   1ChromeOS Embedded Controller
   2
   3Google's ChromeOS EC is a Cortex-M device which talks to the AP and
   4implements various function such as keyboard and battery charging.
   5
   6The EC can be connect through various means (I2C, SPI, LPC) and the
   7compatible string used depends on the inteface. Each connection method has
   8its own driver which connects to the top level interface-agnostic EC driver.
   9Other Linux driver (such as cros-ec-keyb for the matrix keyboard) connect to
  10the top-level driver.
  11
  12Required properties (I2C):
  13- compatible: "google,cros-ec-i2c"
  14- reg: I2C slave address
  15
  16Required properties (SPI):
  17- compatible: "google,cros-ec-spi"
  18- reg: SPI chip select
  19
  20Required properties (LPC):
  21- compatible: "google,cros-ec-lpc"
  22- reg: List of (IO address, size) pairs defining the interface uses
  23
  24
  25Example for I2C:
  26
  27i2c@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
  37Example for SPI:
  38
  39spi@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
  56Example for LPC is not supplied as it is not yet implemented.
  57