xref: /openbmc/linux/Documentation/devicetree/bindings/i2c/google,cros-ec-i2c-tunnel.yaml (revision 57904291176fa16a981cefca5cbe1a0b50196792)
11acd4577SRicardo Cañuelo# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
21acd4577SRicardo Cañuelo%YAML 1.2
31acd4577SRicardo Cañuelo---
41acd4577SRicardo Cañuelo
51acd4577SRicardo Cañuelo$id: http://devicetree.org/schemas/i2c/google,cros-ec-i2c-tunnel.yaml#
61acd4577SRicardo Cañuelo$schema: http://devicetree.org/meta-schemas/core.yaml#
71acd4577SRicardo Cañuelo
81acd4577SRicardo Cañuelotitle: I2C bus that tunnels through the ChromeOS EC (cros-ec)
91acd4577SRicardo Cañuelo
101acd4577SRicardo Cañuelomaintainers:
111acd4577SRicardo Cañuelo  - Doug Anderson <dianders@chromium.org>
121acd4577SRicardo Cañuelo  - Benson Leung <bleung@chromium.org>
131acd4577SRicardo Cañuelo
141acd4577SRicardo Cañuelodescription: |
151acd4577SRicardo Cañuelo  On some ChromeOS board designs we've got a connection to the EC
161acd4577SRicardo Cañuelo  (embedded controller) but no direct connection to some devices on the
171acd4577SRicardo Cañuelo  other side of the EC (like a battery and PMIC).  To get access to
181acd4577SRicardo Cañuelo  those devices we need to tunnel our i2c commands through the EC.
191acd4577SRicardo Cañuelo
201acd4577SRicardo Cañuelo  The node for this device should be under a cros-ec node like
211acd4577SRicardo Cañuelo  google,cros-ec-spi or google,cros-ec-i2c.
221acd4577SRicardo Cañuelo
231acd4577SRicardo CañueloallOf:
24*211deb3eSKrzysztof Kozlowski  - $ref: /schemas/i2c/i2c-controller.yaml#
251acd4577SRicardo Cañuelo
261acd4577SRicardo Cañueloproperties:
271acd4577SRicardo Cañuelo  compatible:
281acd4577SRicardo Cañuelo    const: google,cros-ec-i2c-tunnel
291acd4577SRicardo Cañuelo
301acd4577SRicardo Cañuelo  google,remote-bus:
311acd4577SRicardo Cañuelo    description: The EC bus we'd like to talk to.
321acd4577SRicardo Cañuelo    $ref: /schemas/types.yaml#/definitions/uint32
331acd4577SRicardo Cañuelo
341acd4577SRicardo Cañuelorequired:
351acd4577SRicardo Cañuelo  - compatible
361acd4577SRicardo Cañuelo  - google,remote-bus
371acd4577SRicardo Cañuelo
381acd4577SRicardo CañuelounevaluatedProperties: false
391acd4577SRicardo Cañuelo
401acd4577SRicardo Cañueloexamples:
411acd4577SRicardo Cañuelo  - |
4220a72af1SRob Herring    spi {
431acd4577SRicardo Cañuelo        #address-cells = <1>;
441acd4577SRicardo Cañuelo        #size-cells = <0>;
451acd4577SRicardo Cañuelo
461acd4577SRicardo Cañuelo        cros-ec@0 {
471acd4577SRicardo Cañuelo            compatible = "google,cros-ec-spi";
481acd4577SRicardo Cañuelo            reg = <0>;
491acd4577SRicardo Cañuelo            spi-max-frequency = <5000000>;
507a2f3682SStephen Boyd            interrupts = <99 0>;
511acd4577SRicardo Cañuelo
521acd4577SRicardo Cañuelo            i2c-tunnel {
531acd4577SRicardo Cañuelo                compatible = "google,cros-ec-i2c-tunnel";
541acd4577SRicardo Cañuelo                #address-cells = <1>;
551acd4577SRicardo Cañuelo                #size-cells = <0>;
561acd4577SRicardo Cañuelo
571acd4577SRicardo Cañuelo                google,remote-bus = <0>;
581acd4577SRicardo Cañuelo
591acd4577SRicardo Cañuelo                battery: sbs-battery@b {
601acd4577SRicardo Cañuelo                    compatible = "sbs,sbs-battery";
611acd4577SRicardo Cañuelo                    reg = <0xb>;
621acd4577SRicardo Cañuelo                    sbs,poll-retry-count = <1>;
631acd4577SRicardo Cañuelo                };
641acd4577SRicardo Cañuelo            };
651acd4577SRicardo Cañuelo        };
661acd4577SRicardo Cañuelo    };
67