Doug Anderson | 9d230c9 | 2014-04-30 10:44:09 -0700 | [diff] [blame] | 1 | I2C bus that tunnels through the ChromeOS EC (cros-ec) |
| 2 | ====================================================== |
| 3 | On some ChromeOS board designs we've got a connection to the EC (embedded |
| 4 | controller) but no direct connection to some devices on the other side of |
| 5 | the EC (like a battery and PMIC). To get access to those devices we need |
| 6 | to tunnel our i2c commands through the EC. |
| 7 | |
| 8 | The node for this device should be under a cros-ec node like google,cros-ec-spi |
| 9 | or google,cros-ec-i2c. |
| 10 | |
| 11 | |
| 12 | Required properties: |
| 13 | - compatible: google,cros-ec-i2c-tunnel |
| 14 | - google,remote-bus: The EC bus we'd like to talk to. |
| 15 | |
| 16 | Optional child nodes: |
| 17 | - One node per I2C device connected to the tunnelled I2C bus. |
| 18 | |
| 19 | |
| 20 | Example: |
| 21 | cros-ec@0 { |
| 22 | compatible = "google,cros-ec-spi"; |
| 23 | |
| 24 | ... |
| 25 | |
| 26 | i2c-tunnel { |
| 27 | compatible = "google,cros-ec-i2c-tunnel"; |
| 28 | #address-cells = <1>; |
| 29 | #size-cells = <0>; |
| 30 | |
| 31 | google,remote-bus = <0>; |
| 32 | |
| 33 | battery: sbs-battery@b { |
| 34 | compatible = "sbs,sbs-battery"; |
| 35 | reg = <0xb>; |
| 36 | sbs,poll-retry-count = <1>; |
| 37 | }; |
| 38 | }; |
| 39 | } |