162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci$id: http://devicetree.org/schemas/i2c/google,cros-ec-i2c-tunnel.yaml# 662306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 762306a36Sopenharmony_ci 862306a36Sopenharmony_cititle: I2C bus that tunnels through the ChromeOS EC (cros-ec) 962306a36Sopenharmony_ci 1062306a36Sopenharmony_cimaintainers: 1162306a36Sopenharmony_ci - Doug Anderson <dianders@chromium.org> 1262306a36Sopenharmony_ci - Benson Leung <bleung@chromium.org> 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_cidescription: | 1562306a36Sopenharmony_ci On some ChromeOS board designs we've got a connection to the EC 1662306a36Sopenharmony_ci (embedded controller) but no direct connection to some devices on the 1762306a36Sopenharmony_ci other side of the EC (like a battery and PMIC). To get access to 1862306a36Sopenharmony_ci those devices we need to tunnel our i2c commands through the EC. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci The node for this device should be under a cros-ec node like 2162306a36Sopenharmony_ci google,cros-ec-spi or google,cros-ec-i2c. 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ciallOf: 2462306a36Sopenharmony_ci - $ref: i2c-controller.yaml# 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ciproperties: 2762306a36Sopenharmony_ci compatible: 2862306a36Sopenharmony_ci const: google,cros-ec-i2c-tunnel 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci google,remote-bus: 3162306a36Sopenharmony_ci description: The EC bus we'd like to talk to. 3262306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_cirequired: 3562306a36Sopenharmony_ci - compatible 3662306a36Sopenharmony_ci - google,remote-bus 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ciunevaluatedProperties: false 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ciexamples: 4162306a36Sopenharmony_ci - | 4262306a36Sopenharmony_ci spi { 4362306a36Sopenharmony_ci #address-cells = <1>; 4462306a36Sopenharmony_ci #size-cells = <0>; 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci cros-ec@0 { 4762306a36Sopenharmony_ci compatible = "google,cros-ec-spi"; 4862306a36Sopenharmony_ci reg = <0>; 4962306a36Sopenharmony_ci spi-max-frequency = <5000000>; 5062306a36Sopenharmony_ci interrupts = <99 0>; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci i2c-tunnel { 5362306a36Sopenharmony_ci compatible = "google,cros-ec-i2c-tunnel"; 5462306a36Sopenharmony_ci #address-cells = <1>; 5562306a36Sopenharmony_ci #size-cells = <0>; 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci google,remote-bus = <0>; 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci battery: sbs-battery@b { 6062306a36Sopenharmony_ci compatible = "sbs,sbs-battery"; 6162306a36Sopenharmony_ci reg = <0xb>; 6262306a36Sopenharmony_ci sbs,poll-retry-count = <1>; 6362306a36Sopenharmony_ci }; 6462306a36Sopenharmony_ci }; 6562306a36Sopenharmony_ci }; 6662306a36Sopenharmony_ci }; 67