1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/net/brcm,mdio-mux-iproc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: MDIO bus multiplexer found in Broadcom iProc based SoCs.
8
9maintainers:
10  - Florian Fainelli <[email protected]>
11
12description:
13  This MDIO bus multiplexer defines buses that could be internal as well as
14  external to SoCs and could accept MDIO transaction compatible to C-22 or
15  C-45 Clause. When child bus is selected, one needs to select these two
16  properties as well to generate desired MDIO transaction on appropriate bus.
17
18allOf:
19  - $ref: /schemas/net/mdio-mux.yaml#
20
21properties:
22  compatible:
23    const: brcm,mdio-mux-iproc
24
25  reg:
26    maxItems: 1
27
28  clocks:
29    maxItems: 1
30    description: core clock driving the MDIO block
31
32
33required:
34  - compatible
35  - reg
36
37unevaluatedProperties: false
38
39examples:
40  - |
41    mdio-mux@66020000 {
42        compatible = "brcm,mdio-mux-iproc";
43        reg = <0x66020000 0x250>;
44        #address-cells = <1>;
45        #size-cells = <0>;
46
47        mdio@0 {
48            reg = <0x0>;
49            #address-cells = <1>;
50            #size-cells = <0>;
51
52            pci-phy@0 {
53                compatible = "brcm,ns2-pcie-phy";
54                reg = <0x0>;
55                #phy-cells = <0>;
56            };
57        };
58
59        mdio@7 {
60            reg = <0x7>;
61            #address-cells = <1>;
62            #size-cells = <0>;
63
64            pci-phy@0 {
65                compatible = "brcm,ns2-pcie-phy";
66                reg = <0x0>;
67                #phy-cells = <0>;
68            };
69        };
70
71        mdio@10 {
72            reg = <0x10>;
73            #address-cells = <1>;
74            #size-cells = <0>;
75
76            eth-phy@10 {
77                reg = <0x10>;
78            };
79        };
80    };
81