Commit 9c8421e2 authored by Jonathan Cameron's avatar Jonathan Cameron Committed by Rob Herring
Browse files

dt-bindings:i2c:i2c-gate: txt to yaml conversion



This file provides very little in the way of actual schema but
does provide a convenient intro to what an i2c-gate node actually
represents.

Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Peter Rosin <peda@axentia.se>
Cc: Wolfram Sang <wsa@the-dreams.de>
Link: https://lore.kernel.org/r/20201031181801.742585-2-jic23@kernel.org
Link: https://lore.kernel.org/r/20201128173343.390165-2-jic23@kernel.org


Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent e5dddbed
Loading
Loading
Loading
Loading
+0 −41
Original line number Diff line number Diff line
An i2c gate is useful to e.g. reduce the digital noise for RF tuners connected
to the i2c bus. Gates are similar to arbitrators in that you need to perform
some kind of operation to access the i2c bus past the arbitrator/gate, but
there are no competing masters to consider for gates and therefore there is
no arbitration happening for gates.

Common i2c gate properties.

- i2c-gate child node

Required properties for the i2c-gate child node:
- #address-cells = <1>;
- #size-cells = <0>;

Optional properties for i2c-gate child node:
- Child nodes conforming to i2c bus binding


Example :

	/*
	   An Invensense mpu9150 at address 0x68 featuring an on-chip Asahi
	   Kasei ak8975 compass behind a gate.
	 */

	mpu9150@68 {
		compatible = "invensense,mpu9150";
		reg = <0x68>;
		interrupt-parent = <&gpio1>;
		interrupts = <18 1>;

		i2c-gate {
			#address-cells = <1>;
			#size-cells = <0>;

			ax8975@c {
				compatible = "ak,ak8975";
				reg = <0x0c>;
			};
		};
	};
+39 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/i2c/i2c-gate.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Common i2c gate properties

maintainers:
  - Peter Rosin <peda@axentia.se>

description: |
  An i2c gate is useful to e.g. reduce the digital noise for RF tuners connected
  to the i2c bus. Gates are similar to arbitrators in that you need to perform
  some kind of operation to access the i2c bus past the arbitrator/gate, but
  there are no competing masters to consider for gates and therefore there is
  no arbitration happening for gates.

allOf:
  - $ref: /schemas/i2c/i2c-controller.yaml

properties:
  $nodename:
    const: i2c-gate

additionalProperties: true

examples:
  - |
    i2c-gate {
        #address-cells = <1>;
        #size-cells = <0>;
        ak8975@c {
            compatible = "ak,ak8975";
            reg = <0x0c>;
        };
    };
...