Kernel-4.18.0-80.el8_i2c-cros-ec-tunnel

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>;
        };
    };
}