summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/net/dsa/ksz.txt
blob: e7db7268fd0fd6502d81e2d6014b041895292236 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
Microchip KSZ Series Ethernet switches
==================================

Required properties:

- compatible: For external switch chips, compatible string must be exactly one
  of the following:
  - "microchip,ksz9477"
  - "microchip,ksz9897"
  - "microchip,ksz9896"
  - "microchip,ksz9567"
  - "microchip,ksz8565"
  - "microchip,ksz9893"
  - "microchip,ksz9563"

Optional properties:

- reset-gpios		: Should be a gpio specifier for a reset line

See Documentation/devicetree/bindings/net/dsa/dsa.txt for a list of additional
required and optional properties.

Examples:

Ethernet switch connected via SPI to the host, CPU port wired to eth0:

	eth0: ethernet@10001000 {
		fixed-link {
			speed = <1000>;
			full-duplex;
		};
	};

	spi1: spi@f8008000 {
		pinctrl-0 = <&pinctrl_spi_ksz>;
		cs-gpios = <&pioC 25 0>;
		id = <1>;

		ksz9477: ksz9477@0 {
			compatible = "microchip,ksz9477";
			reg = <0>;

			spi-max-frequency = <44000000>;
			spi-cpha;
			spi-cpol;

			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				port@0 {
					reg = <0>;
					label = "lan1";
				};
				port@1 {
					reg = <1>;
					label = "lan2";
				};
				port@2 {
					reg = <2>;
					label = "lan3";
				};
				port@3 {
					reg = <3>;
					label = "lan4";
				};
				port@4 {
					reg = <4>;
					label = "lan5";
				};
				port@5 {
					reg = <5>;
					label = "cpu";
					ethernet = <&eth0>;
					fixed-link {
						speed = <1000>;
						full-duplex;
					};
				};
			};
		};
		ksz8565: ksz8565@0 {
			compatible = "microchip,ksz8565";
			reg = <0>;

			spi-max-frequency = <44000000>;
			spi-cpha;
			spi-cpol;

			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				port@0 {
					reg = <0>;
					label = "lan1";
				};
				port@1 {
					reg = <1>;
					label = "lan2";
				};
				port@2 {
					reg = <2>;
					label = "lan3";
				};
				port@3 {
					reg = <3>;
					label = "lan4";
				};
				port@6 {
					reg = <6>;
					label = "cpu";
					ethernet = <&eth0>;
					fixed-link {
						speed = <1000>;
						full-duplex;
					};
				};
			};
		};
	};