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