162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/i2c/i2c-gate.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Common i2c gate properties
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Peter Rosin <peda@axentia.se>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  An i2c gate is useful to e.g. reduce the digital noise for RF tuners connected
1462306a36Sopenharmony_ci  to the i2c bus. Gates are similar to arbitrators in that you need to perform
1562306a36Sopenharmony_ci  some kind of operation to access the i2c bus past the arbitrator/gate, but
1662306a36Sopenharmony_ci  there are no competing masters to consider for gates and therefore there is
1762306a36Sopenharmony_ci  no arbitration happening for gates.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciallOf:
2062306a36Sopenharmony_ci  - $ref: /schemas/i2c/i2c-controller.yaml
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciproperties:
2362306a36Sopenharmony_ci  $nodename:
2462306a36Sopenharmony_ci    const: i2c-gate
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ciadditionalProperties: true
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciexamples:
2962306a36Sopenharmony_ci  - |
3062306a36Sopenharmony_ci    i2c-gate {
3162306a36Sopenharmony_ci        #address-cells = <1>;
3262306a36Sopenharmony_ci        #size-cells = <0>;
3362306a36Sopenharmony_ci        ak8975@c {
3462306a36Sopenharmony_ci            compatible = "asahi-kasei,ak8975";
3562306a36Sopenharmony_ci            reg = <0x0c>;
3662306a36Sopenharmony_ci        };
3762306a36Sopenharmony_ci    };
3862306a36Sopenharmony_ci...
39