aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2013-02-25 17:08:37 -0500
committerSamuel Ortiz <sameo@linux.intel.com>2013-04-05 05:20:13 -0400
commit4ab6174e8cdb007cf500e484bdf454b8d14d524a (patch)
tree765eb600ad56a1f3271ad23aac795d91a35bd181 /Documentation/devicetree/bindings
parentdeaf39efbc0829f26ae0b8fbe5de820588982f72 (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.txt56
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 @@
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.