diff options
author | Simon Glass <sjg@chromium.org> | 2013-02-25 17:08:37 -0500 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2013-04-05 05:20:13 -0400 |
commit | 4ab6174e8cdb007cf500e484bdf454b8d14d524a (patch) | |
tree | 765eb600ad56a1f3271ad23aac795d91a35bd181 /Documentation/devicetree/bindings | |
parent | deaf39efbc0829f26ae0b8fbe5de820588982f72 (diff) |
mfd: Add ChromeOS EC implementation
This is the base EC implementation, which provides a high level
interface to the EC for use by the rest of the kernel. The actual
communcations is dealt with by a separate protocol driver which
registers itself with this interface.
Interrupts are passed on through a notifier.
A simple message structure is used to pass messages to the
protocol driver.
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Che-Liang Chiou <clchiou@chromium.org>
Signed-off-by: Jonathan Kliegman <kliegs@chromium.org>
Signed-off-by: Luigi Semenzato <semenzato@chromium.org>
Signed-off-by: Olof Johansson <olofj@chromium.org>
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'Documentation/devicetree/bindings')
-rw-r--r-- | Documentation/devicetree/bindings/mfd/cros-ec.txt | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/mfd/cros-ec.txt b/Documentation/devicetree/bindings/mfd/cros-ec.txt new file mode 100644 index 000000000000..e0e59c58a1f9 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/cros-ec.txt | |||
@@ -0,0 +1,56 @@ | |||
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 inteface. 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. | ||