devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] dt-bindings: Add bindings for mdio mux consumers
@ 2019-02-21 12:59 Pankaj Bansal
  2019-02-21 13:45 ` Andrew Lunn
  0 siblings, 1 reply; 3+ messages in thread
From: Pankaj Bansal @ 2019-02-21 12:59 UTC (permalink / raw)
  To: Leo Li, Peter Rosin, Andrew Lunn, Florian Fainelli,
	Heiner Kallweit, Rob Herring, Mark Rutland
  Cc: devicetree@vger.kernel.org, netdev@vger.kernel.org, Pankaj Bansal

When we use the bindings defined in Documentation/devicetree/bindings/mux
to define mdio mux in producer and consumer terms, it results in two
devices. one is mux producer and other is mux consumer.

Add the bindings needed for Mdio mux consumer devices.

Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com>
---
 .../devicetree/bindings/net/mdio-mux.txt     | 73 ++++++++++++++++++
 1 file changed, 73 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/mdio-mux.txt b/Documentation/devicetree/bindings/net/mdio-mux.txt
index f58571f36570..bd198d1c6f10 100644
--- a/Documentation/devicetree/bindings/net/mdio-mux.txt
+++ b/Documentation/devicetree/bindings/net/mdio-mux.txt
@@ -18,8 +18,16 @@ Required properties for child nodes:
 - #size-cells = <0>;
 - reg : The sub-bus number.
 
+Required properties when Mdio mux node is consumer of a separate mux producer
+node.
+- compatible : should be "mmio-mux"
+- mux-controls : mux controller node to use for operating the mux
+- mdio-parent-bus : phandle to the parent MDIO bus.
+for more information please refer Documentation/devicetree/bindings/mux/
+
 
 Example :
+The mux Producer and consumer nodes are same.
 
 	/* The parent MDIO bus. */
 	smi1: mdio@1180000001900 {
@@ -127,3 +135,68 @@ Example :
 			};
 		};
 	};
+
+Example 2:
+In below example the Mux producer and consumer are separate nodes.
+
+&i2c0 {
+        fpga@66 { // fpga connected to i2c
+                compatible = "fsl,lx2160aqds-fpga", "fsl,fpga-qixis-i2c",
+                             "simple-mfd";
+                reg = <0x66>;
+
+                mux: mux-controller { // Mux Producer
+                        compatible = "reg-mux";
+                        #mux-control-cells = <1>;
+                        mux-reg-masks = <0x54 0xf8>, /* 0: reg 0x54, bits 7:3 */
+                                        <0x54 0x07>; /* 1: reg 0x54, bits 2:0 */
+                };
+        };
+};
+
+mdio-mux-1 { // Mux consumer
+        compatible = "mdio-mux";
+        mux-controls = <&mux 0>;
+        mdio-parent-bus = <&emdio1>;
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        mdio@0 {
+                reg = <0x0>;
+                #address-cells = <1>;
+                #size-cells = <0>;
+        };
+
+        mdio@40 {
+                reg = <0x40>;
+                #address-cells = <1>;
+                #size-cells = <0>;
+        };
+
+        ..
+        ..
+};
+
+mdio-mux-2 { // Mux consumer
+        compatible = "mdio-mux";
+        mux-controls = <&mux 1>;
+        mdio-parent-bus = <&emdio2>;
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        mdio@0 {
+                reg = <0x0>;
+                #address-cells = <1>;
+                #size-cells = <0>;
+        };
+
+        mdio@1 {
+                reg = <0x1>;
+                #address-cells = <1>;
+                #size-cells = <0>;
+        };
+
+        ..
+        ..
+};
+
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-02-21 14:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-21 12:59 [PATCH] dt-bindings: Add bindings for mdio mux consumers Pankaj Bansal
2019-02-21 13:45 ` Andrew Lunn
2019-02-21 14:10   ` Pankaj Bansal

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).