[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160729212559.GA11341@rob-hp-laptop>
Date: Fri, 29 Jul 2016 16:25:59 -0500
From: Rob Herring <robh@...nel.org>
To: Peter Rosin <peda@...ntia.se>
Cc: linux-kernel@...r.kernel.org, Wolfram Sang <wsa@...-dreams.de>,
Mark Rutland <mark.rutland@....com>,
Guenter Roeck <linux@...ck-us.net>,
"David S. Miller" <davem@...emloft.net>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Kalle Valo <kvalo@...eaurora.org>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Emil Velikov <emil.l.velikov@...il.com>,
linux-i2c@...r.kernel.org, devicetree@...r.kernel.org,
Crestez Dan Leonard <leonard.crestez@...el.com>
Subject: Re: [PATCH 3/7] dt-bindings: i2c: add support for 'i2c-gate' subnode
On Wed, Jul 27, 2016 at 10:43:26AM +0200, Peter Rosin wrote:
> Handle i2c gates similarly to how i2c arbitrators are handled.
> This gets rid of a pointless 'reg' property for i2c gates.
>
> I.e. this new and more compact style
>
> some-gate {
> i2c-gate {
> #address-cells = <1>;
> #size-cells = <0>;
>
> some-i2c-device@50 {
> reg = <0x50>;
> };
> };
> };
>
> instead of the old
>
> some-gate {
> #address-cells = <1>;
> #size-cells = <0>;
>
> i2c@0 {
> reg = <0>;
>
> #address-cells = <1>;
> #size-cells = <0>;
>
> some-i2c-device@50 {
> reg = <0x50>;
> };
> };
> };
>
> Signed-off-by: Peter Rosin <peda@...ntia.se>
> ---
> Documentation/devicetree/bindings/i2c/i2c-gate.txt | 35 ++++++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 36 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/i2c/i2c-gate.txt
>
> diff --git a/Documentation/devicetree/bindings/i2c/i2c-gate.txt b/Documentation/devicetree/bindings/i2c/i2c-gate.txt
> new file mode 100644
> index 000000000000..78f17892dfc6
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/i2c/i2c-gate.txt
> @@ -0,0 +1,35 @@
> +Common i2c gate properties.
Perhaps define what a gate is.
> +
> +- 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@0c {
> + compatible = "ak,ak8975";
> + reg = <0x0c>;
> + };
> + };
> + };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 543052305a09..0e6cc071c480 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -5525,6 +5525,7 @@ F: Documentation/i2c/i2c-topology
> F: Documentation/i2c/muxes/
> F: Documentation/devicetree/bindings/i2c/i2c-mux*
> F: Documentation/devicetree/bindings/i2c/i2c-arb*
> +F: Documentation/devicetree/bindings/i2c/i2c-gate*
> F: drivers/i2c/i2c-mux.c
> F: drivers/i2c/muxes/
> F: include/linux/i2c-mux.h
> --
> 2.1.4
>
Powered by blists - more mailing lists