xref: /freebsd-src/sys/contrib/device-tree/Bindings/net/brcm,mdio-mux-iproc.txt (revision 5956d97f4b3204318ceb6aa9c77bd0bc6ea87a41)
1c66ec88fSEmmanuel VadotProperties for an MDIO bus multiplexer found in Broadcom iProc based SoCs.
2c66ec88fSEmmanuel Vadot
3c66ec88fSEmmanuel VadotThis MDIO bus multiplexer defines buses that could be internal as well as
4c66ec88fSEmmanuel Vadotexternal to SoCs and could accept MDIO transaction compatible to C-22 or
5c66ec88fSEmmanuel VadotC-45 Clause. When child bus is selected, one needs to select these two
6c66ec88fSEmmanuel Vadotproperties as well to generate desired MDIO transaction on appropriate bus.
7c66ec88fSEmmanuel Vadot
8c66ec88fSEmmanuel VadotRequired properties in addition to the generic multiplexer properties:
9c66ec88fSEmmanuel Vadot
10c66ec88fSEmmanuel VadotMDIO multiplexer node:
11c66ec88fSEmmanuel Vadot- compatible: brcm,mdio-mux-iproc.
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel VadotEvery non-ethernet PHY requires a compatible so that it could be probed based
14c66ec88fSEmmanuel Vadoton this compatible string.
15c66ec88fSEmmanuel Vadot
16c66ec88fSEmmanuel VadotOptional properties:
17c66ec88fSEmmanuel Vadot- clocks: phandle of the core clock which drives the mdio block.
18c66ec88fSEmmanuel Vadot
19c66ec88fSEmmanuel VadotAdditional information regarding generic multiplexer properties can be found
20*5956d97fSEmmanuel Vadotat- Documentation/devicetree/bindings/net/mdio-mux.yaml
21c66ec88fSEmmanuel Vadot
22c66ec88fSEmmanuel Vadot
23c66ec88fSEmmanuel Vadotfor example:
24c66ec88fSEmmanuel Vadot		mdio_mux_iproc: mdio-mux@66020000 {
25c66ec88fSEmmanuel Vadot			compatible = "brcm,mdio-mux-iproc";
26c66ec88fSEmmanuel Vadot			reg = <0x66020000 0x250>;
27c66ec88fSEmmanuel Vadot			#address-cells = <1>;
28c66ec88fSEmmanuel Vadot			#size-cells = <0>;
29c66ec88fSEmmanuel Vadot
30c66ec88fSEmmanuel Vadot			mdio@0 {
31c66ec88fSEmmanuel Vadot				reg = <0x0>;
32c66ec88fSEmmanuel Vadot				#address-cells = <1>;
33c66ec88fSEmmanuel Vadot				#size-cells = <0>;
34c66ec88fSEmmanuel Vadot
35c66ec88fSEmmanuel Vadot				pci_phy0: pci-phy@0 {
36c66ec88fSEmmanuel Vadot					compatible = "brcm,ns2-pcie-phy";
37c66ec88fSEmmanuel Vadot					reg = <0x0>;
38c66ec88fSEmmanuel Vadot					#phy-cells = <0>;
39c66ec88fSEmmanuel Vadot				};
40c66ec88fSEmmanuel Vadot			};
41c66ec88fSEmmanuel Vadot
42c66ec88fSEmmanuel Vadot			mdio@7 {
43c66ec88fSEmmanuel Vadot				reg = <0x7>;
44c66ec88fSEmmanuel Vadot				#address-cells = <1>;
45c66ec88fSEmmanuel Vadot				#size-cells = <0>;
46c66ec88fSEmmanuel Vadot
47c66ec88fSEmmanuel Vadot				pci_phy1: pci-phy@0 {
48c66ec88fSEmmanuel Vadot					compatible = "brcm,ns2-pcie-phy";
49c66ec88fSEmmanuel Vadot					reg = <0x0>;
50c66ec88fSEmmanuel Vadot					#phy-cells = <0>;
51c66ec88fSEmmanuel Vadot				};
52c66ec88fSEmmanuel Vadot			};
53c66ec88fSEmmanuel Vadot			mdio@10 {
54c66ec88fSEmmanuel Vadot				reg = <0x10>;
55c66ec88fSEmmanuel Vadot				#address-cells = <1>;
56c66ec88fSEmmanuel Vadot				#size-cells = <0>;
57c66ec88fSEmmanuel Vadot
58c66ec88fSEmmanuel Vadot				gphy0: eth-phy@10 {
59c66ec88fSEmmanuel Vadot					reg = <0x10>;
60c66ec88fSEmmanuel Vadot				};
61c66ec88fSEmmanuel Vadot			};
62c66ec88fSEmmanuel Vadot		};
63