Merge tag 'linux-kselftest-kunit-fixes-5.11-rc3' of git://git.kernel.org/pub/scm...
[linux/fpc-iii.git] / Documentation / devicetree / bindings / net / mdio-mux-multiplexer.txt
blob534e38058fe0b620e26566828eb46264de27e281
1 Properties for an MDIO bus multiplexer consumer device
3 This is a special case of MDIO mux  when MDIO mux is defined as a consumer
4 of a mux producer device. The mux producer can be of any type like mmio mux
5 producer, gpio mux producer or generic register based mux producer.
7 Required properties in addition to the MDIO Bus multiplexer properties:
9 - compatible : should be "mmio-mux-multiplexer"
10 - mux-controls : mux controller node to use for operating the mux
11 - mdio-parent-bus : phandle to the parent MDIO bus.
13 each child node of mdio bus multiplexer consumer device represent a mdio
14 bus.
16 for more information please refer
17 Documentation/devicetree/bindings/mux/mux-controller.txt
18 and Documentation/devicetree/bindings/net/mdio-mux.txt
20 Example:
21 In below example the Mux producer and consumer are separate nodes.
23 &i2c0 {
24         fpga@66 { // fpga connected to i2c
25                 compatible = "fsl,lx2160aqds-fpga", "fsl,fpga-qixis-i2c",
26                              "simple-mfd";
27                 reg = <0x66>;
29                 mux: mux-controller { // Mux Producer
30                         compatible = "reg-mux";
31                         #mux-control-cells = <1>;
32                         mux-reg-masks = <0x54 0xf8>, /* 0: reg 0x54, bits 7:3 */
33                                         <0x54 0x07>; /* 1: reg 0x54, bits 2:0 */
34                 };
35         };
38 mdio-mux-1 { // Mux consumer
39         compatible = "mdio-mux-multiplexer";
40         mux-controls = <&mux 0>;
41         mdio-parent-bus = <&emdio1>;
42         #address-cells = <1>;
43         #size-cells = <0>;
45         mdio@0 {
46                 reg = <0x0>;
47                 #address-cells = <1>;
48                 #size-cells = <0>;
49         };
51         mdio@8 {
52                 reg = <0x8>;
53                 #address-cells = <1>;
54                 #size-cells = <0>;
55         };
57         ..
58         ..
61 mdio-mux-2 { // Mux consumer
62         compatible = "mdio-mux-multiplexer";
63         mux-controls = <&mux 1>;
64         mdio-parent-bus = <&emdio2>;
65         #address-cells = <1>;
66         #size-cells = <0>;
68         mdio@0 {
69                 reg = <0x0>;
70                 #address-cells = <1>;
71                 #size-cells = <0>;
72         };
74         mdio@1 {
75                 reg = <0x1>;
76                 #address-cells = <1>;
77                 #size-cells = <0>;
78         };
80         ..
81         ..