1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- ChromeOS Embedded Controller
- Google's ChromeOS EC is a Cortex-M device which talks to the AP and
- implements various function such as keyboard and battery charging.
- The EC can be connect through various means (I2C, SPI, LPC) and the
- compatible string used depends on the interface. Each connection method has
- its own driver which connects to the top level interface-agnostic EC driver.
- Other Linux driver (such as cros-ec-keyb for the matrix keyboard) connect to
- the top-level driver.
- Required properties (I2C):
- - compatible: "google,cros-ec-i2c"
- - reg: I2C slave address
- Required properties (SPI):
- - compatible: "google,cros-ec-spi"
- - reg: SPI chip select
- Required properties (LPC):
- - compatible: "google,cros-ec-lpc"
- - reg: List of (IO address, size) pairs defining the interface uses
- Example for I2C:
- i2c@12CA0000 {
- cros-ec@1e {
- reg = <0x1e>;
- compatible = "google,cros-ec-i2c";
- interrupts = <14 0>;
- interrupt-parent = <&wakeup_eint>;
- wakeup-source;
- };
- Example for SPI:
- spi@131b0000 {
- ec@0 {
- compatible = "google,cros-ec-spi";
- reg = <0x0>;
- interrupts = <14 0>;
- interrupt-parent = <&wakeup_eint>;
- wakeup-source;
- spi-max-frequency = <5000000>;
- controller-data {
- cs-gpio = <&gpf0 3 4 3 0>;
- samsung,spi-cs;
- samsung,spi-feedback-delay = <2>;
- };
- };
- };
- Example for LPC is not supplied as it is not yet implemented.
|