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