xref: /freebsd-src/sys/contrib/device-tree/Bindings/net/mdio-mux-multiplexer.yaml (revision 5956d97f4b3204318ceb6aa9c77bd0bc6ea87a41)
1*5956d97fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2*5956d97fSEmmanuel Vadot%YAML 1.2
3*5956d97fSEmmanuel Vadot---
4*5956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/net/mdio-mux-multiplexer.yaml#
5*5956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*5956d97fSEmmanuel Vadot
7*5956d97fSEmmanuel Vadottitle: Properties for an MDIO bus multiplexer consumer device
8*5956d97fSEmmanuel Vadot
9*5956d97fSEmmanuel Vadotmaintainers:
10*5956d97fSEmmanuel Vadot  - Andrew Lunn <andrew@lunn.ch>
11*5956d97fSEmmanuel Vadot
12*5956d97fSEmmanuel Vadotdescription: |+
13*5956d97fSEmmanuel Vadot  This is a special case of MDIO mux when MDIO mux is defined as a consumer
14*5956d97fSEmmanuel Vadot  of a mux producer device. The mux producer can be of any type like mmio mux
15*5956d97fSEmmanuel Vadot  producer, gpio mux producer or generic register based mux producer.
16*5956d97fSEmmanuel Vadot
17*5956d97fSEmmanuel Vadot
18*5956d97fSEmmanuel VadotallOf:
19*5956d97fSEmmanuel Vadot  - $ref: /schemas/net/mdio-mux.yaml#
20*5956d97fSEmmanuel Vadot
21*5956d97fSEmmanuel Vadotproperties:
22*5956d97fSEmmanuel Vadot  compatible:
23*5956d97fSEmmanuel Vadot    const: mdio-mux-multiplexer
24*5956d97fSEmmanuel Vadot
25*5956d97fSEmmanuel Vadot  mux-controls:
26*5956d97fSEmmanuel Vadot    maxItems: 1
27*5956d97fSEmmanuel Vadot
28*5956d97fSEmmanuel Vadotrequired:
29*5956d97fSEmmanuel Vadot  - compatible
30*5956d97fSEmmanuel Vadot  - mux-controls
31*5956d97fSEmmanuel Vadot
32*5956d97fSEmmanuel VadotunevaluatedProperties: false
33*5956d97fSEmmanuel Vadot
34*5956d97fSEmmanuel Vadotexamples:
35*5956d97fSEmmanuel Vadot  - |
36*5956d97fSEmmanuel Vadot    mux: mux-controller { // Mux Producer
37*5956d97fSEmmanuel Vadot        compatible = "reg-mux";
38*5956d97fSEmmanuel Vadot        #mux-control-cells = <1>;
39*5956d97fSEmmanuel Vadot        mux-reg-masks = <0x54 0xf8>, /* 0: reg 0x54, bits 7:3 */
40*5956d97fSEmmanuel Vadot                        <0x54 0x07>; /* 1: reg 0x54, bits 2:0 */
41*5956d97fSEmmanuel Vadot    };
42*5956d97fSEmmanuel Vadot
43*5956d97fSEmmanuel Vadot    mdio-mux-1 { // Mux consumer
44*5956d97fSEmmanuel Vadot        compatible = "mdio-mux-multiplexer";
45*5956d97fSEmmanuel Vadot        mux-controls = <&mux 0>;
46*5956d97fSEmmanuel Vadot        mdio-parent-bus = <&emdio1>;
47*5956d97fSEmmanuel Vadot        #address-cells = <1>;
48*5956d97fSEmmanuel Vadot        #size-cells = <0>;
49*5956d97fSEmmanuel Vadot
50*5956d97fSEmmanuel Vadot        mdio@0 {
51*5956d97fSEmmanuel Vadot            reg = <0x0>;
52*5956d97fSEmmanuel Vadot            #address-cells = <1>;
53*5956d97fSEmmanuel Vadot            #size-cells = <0>;
54*5956d97fSEmmanuel Vadot        };
55*5956d97fSEmmanuel Vadot
56*5956d97fSEmmanuel Vadot        mdio@8 {
57*5956d97fSEmmanuel Vadot            reg = <0x8>;
58*5956d97fSEmmanuel Vadot            #address-cells = <1>;
59*5956d97fSEmmanuel Vadot            #size-cells = <0>;
60*5956d97fSEmmanuel Vadot        };
61*5956d97fSEmmanuel Vadot    };
62*5956d97fSEmmanuel Vadot
63*5956d97fSEmmanuel Vadot    mdio-mux-2 { // Mux consumer
64*5956d97fSEmmanuel Vadot        compatible = "mdio-mux-multiplexer";
65*5956d97fSEmmanuel Vadot        mux-controls = <&mux 1>;
66*5956d97fSEmmanuel Vadot        mdio-parent-bus = <&emdio2>;
67*5956d97fSEmmanuel Vadot        #address-cells = <1>;
68*5956d97fSEmmanuel Vadot        #size-cells = <0>;
69*5956d97fSEmmanuel Vadot
70*5956d97fSEmmanuel Vadot        mdio@0 {
71*5956d97fSEmmanuel Vadot            reg = <0x0>;
72*5956d97fSEmmanuel Vadot            #address-cells = <1>;
73*5956d97fSEmmanuel Vadot            #size-cells = <0>;
74*5956d97fSEmmanuel Vadot        };
75*5956d97fSEmmanuel Vadot
76*5956d97fSEmmanuel Vadot        mdio@1 {
77*5956d97fSEmmanuel Vadot            reg = <0x1>;
78*5956d97fSEmmanuel Vadot            #address-cells = <1>;
79*5956d97fSEmmanuel Vadot            #size-cells = <0>;
80*5956d97fSEmmanuel Vadot        };
81*5956d97fSEmmanuel Vadot    };
82*5956d97fSEmmanuel Vadot...
83