xref: /freebsd/sys/contrib/device-tree/Bindings/net/dsa/ksz.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotMicrochip KSZ Series Ethernet switches
2*c66ec88fSEmmanuel Vadot==================================
3*c66ec88fSEmmanuel Vadot
4*c66ec88fSEmmanuel VadotRequired properties:
5*c66ec88fSEmmanuel Vadot
6*c66ec88fSEmmanuel Vadot- compatible: For external switch chips, compatible string must be exactly one
7*c66ec88fSEmmanuel Vadot  of the following:
8*c66ec88fSEmmanuel Vadot  - "microchip,ksz8765"
9*c66ec88fSEmmanuel Vadot  - "microchip,ksz8794"
10*c66ec88fSEmmanuel Vadot  - "microchip,ksz8795"
11*c66ec88fSEmmanuel Vadot  - "microchip,ksz9477"
12*c66ec88fSEmmanuel Vadot  - "microchip,ksz9897"
13*c66ec88fSEmmanuel Vadot  - "microchip,ksz9896"
14*c66ec88fSEmmanuel Vadot  - "microchip,ksz9567"
15*c66ec88fSEmmanuel Vadot  - "microchip,ksz8565"
16*c66ec88fSEmmanuel Vadot  - "microchip,ksz9893"
17*c66ec88fSEmmanuel Vadot  - "microchip,ksz9563"
18*c66ec88fSEmmanuel Vadot  - "microchip,ksz8563"
19*c66ec88fSEmmanuel Vadot
20*c66ec88fSEmmanuel VadotOptional properties:
21*c66ec88fSEmmanuel Vadot
22*c66ec88fSEmmanuel Vadot- reset-gpios		: Should be a gpio specifier for a reset line
23*c66ec88fSEmmanuel Vadot- microchip,synclko-125 : Set if the output SYNCLKO frequency should be set to
24*c66ec88fSEmmanuel Vadot			  125MHz instead of 25MHz.
25*c66ec88fSEmmanuel Vadot
26*c66ec88fSEmmanuel VadotSee Documentation/devicetree/bindings/net/dsa/dsa.txt for a list of additional
27*c66ec88fSEmmanuel Vadotrequired and optional properties.
28*c66ec88fSEmmanuel Vadot
29*c66ec88fSEmmanuel VadotExamples:
30*c66ec88fSEmmanuel Vadot
31*c66ec88fSEmmanuel VadotEthernet switch connected via SPI to the host, CPU port wired to eth0:
32*c66ec88fSEmmanuel Vadot
33*c66ec88fSEmmanuel Vadot	eth0: ethernet@10001000 {
34*c66ec88fSEmmanuel Vadot		fixed-link {
35*c66ec88fSEmmanuel Vadot			speed = <1000>;
36*c66ec88fSEmmanuel Vadot			full-duplex;
37*c66ec88fSEmmanuel Vadot		};
38*c66ec88fSEmmanuel Vadot	};
39*c66ec88fSEmmanuel Vadot
40*c66ec88fSEmmanuel Vadot	spi1: spi@f8008000 {
41*c66ec88fSEmmanuel Vadot		pinctrl-0 = <&pinctrl_spi_ksz>;
42*c66ec88fSEmmanuel Vadot		cs-gpios = <&pioC 25 0>;
43*c66ec88fSEmmanuel Vadot		id = <1>;
44*c66ec88fSEmmanuel Vadot
45*c66ec88fSEmmanuel Vadot		ksz9477: ksz9477@0 {
46*c66ec88fSEmmanuel Vadot			compatible = "microchip,ksz9477";
47*c66ec88fSEmmanuel Vadot			reg = <0>;
48*c66ec88fSEmmanuel Vadot
49*c66ec88fSEmmanuel Vadot			spi-max-frequency = <44000000>;
50*c66ec88fSEmmanuel Vadot			spi-cpha;
51*c66ec88fSEmmanuel Vadot			spi-cpol;
52*c66ec88fSEmmanuel Vadot
53*c66ec88fSEmmanuel Vadot			ports {
54*c66ec88fSEmmanuel Vadot				#address-cells = <1>;
55*c66ec88fSEmmanuel Vadot				#size-cells = <0>;
56*c66ec88fSEmmanuel Vadot				port@0 {
57*c66ec88fSEmmanuel Vadot					reg = <0>;
58*c66ec88fSEmmanuel Vadot					label = "lan1";
59*c66ec88fSEmmanuel Vadot				};
60*c66ec88fSEmmanuel Vadot				port@1 {
61*c66ec88fSEmmanuel Vadot					reg = <1>;
62*c66ec88fSEmmanuel Vadot					label = "lan2";
63*c66ec88fSEmmanuel Vadot				};
64*c66ec88fSEmmanuel Vadot				port@2 {
65*c66ec88fSEmmanuel Vadot					reg = <2>;
66*c66ec88fSEmmanuel Vadot					label = "lan3";
67*c66ec88fSEmmanuel Vadot				};
68*c66ec88fSEmmanuel Vadot				port@3 {
69*c66ec88fSEmmanuel Vadot					reg = <3>;
70*c66ec88fSEmmanuel Vadot					label = "lan4";
71*c66ec88fSEmmanuel Vadot				};
72*c66ec88fSEmmanuel Vadot				port@4 {
73*c66ec88fSEmmanuel Vadot					reg = <4>;
74*c66ec88fSEmmanuel Vadot					label = "lan5";
75*c66ec88fSEmmanuel Vadot				};
76*c66ec88fSEmmanuel Vadot				port@5 {
77*c66ec88fSEmmanuel Vadot					reg = <5>;
78*c66ec88fSEmmanuel Vadot					label = "cpu";
79*c66ec88fSEmmanuel Vadot					ethernet = <&eth0>;
80*c66ec88fSEmmanuel Vadot					fixed-link {
81*c66ec88fSEmmanuel Vadot						speed = <1000>;
82*c66ec88fSEmmanuel Vadot						full-duplex;
83*c66ec88fSEmmanuel Vadot					};
84*c66ec88fSEmmanuel Vadot				};
85*c66ec88fSEmmanuel Vadot			};
86*c66ec88fSEmmanuel Vadot		};
87*c66ec88fSEmmanuel Vadot		ksz8565: ksz8565@0 {
88*c66ec88fSEmmanuel Vadot			compatible = "microchip,ksz8565";
89*c66ec88fSEmmanuel Vadot			reg = <0>;
90*c66ec88fSEmmanuel Vadot
91*c66ec88fSEmmanuel Vadot			spi-max-frequency = <44000000>;
92*c66ec88fSEmmanuel Vadot			spi-cpha;
93*c66ec88fSEmmanuel Vadot			spi-cpol;
94*c66ec88fSEmmanuel Vadot
95*c66ec88fSEmmanuel Vadot			ports {
96*c66ec88fSEmmanuel Vadot				#address-cells = <1>;
97*c66ec88fSEmmanuel Vadot				#size-cells = <0>;
98*c66ec88fSEmmanuel Vadot				port@0 {
99*c66ec88fSEmmanuel Vadot					reg = <0>;
100*c66ec88fSEmmanuel Vadot					label = "lan1";
101*c66ec88fSEmmanuel Vadot				};
102*c66ec88fSEmmanuel Vadot				port@1 {
103*c66ec88fSEmmanuel Vadot					reg = <1>;
104*c66ec88fSEmmanuel Vadot					label = "lan2";
105*c66ec88fSEmmanuel Vadot				};
106*c66ec88fSEmmanuel Vadot				port@2 {
107*c66ec88fSEmmanuel Vadot					reg = <2>;
108*c66ec88fSEmmanuel Vadot					label = "lan3";
109*c66ec88fSEmmanuel Vadot				};
110*c66ec88fSEmmanuel Vadot				port@3 {
111*c66ec88fSEmmanuel Vadot					reg = <3>;
112*c66ec88fSEmmanuel Vadot					label = "lan4";
113*c66ec88fSEmmanuel Vadot				};
114*c66ec88fSEmmanuel Vadot				port@6 {
115*c66ec88fSEmmanuel Vadot					reg = <6>;
116*c66ec88fSEmmanuel Vadot					label = "cpu";
117*c66ec88fSEmmanuel Vadot					ethernet = <&eth0>;
118*c66ec88fSEmmanuel Vadot					fixed-link {
119*c66ec88fSEmmanuel Vadot						speed = <1000>;
120*c66ec88fSEmmanuel Vadot						full-duplex;
121*c66ec88fSEmmanuel Vadot					};
122*c66ec88fSEmmanuel Vadot				};
123*c66ec88fSEmmanuel Vadot			};
124*c66ec88fSEmmanuel Vadot		};
125*c66ec88fSEmmanuel Vadot	};
126