1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3 * Common part of the device tree for the Kontron KSwitch D10 MMT
4 */
5
6 /dts-v1/;
7 #include "lan966x.dtsi"
8 #include "dt-bindings/phy/phy-lan966x-serdes.h"
9
10 / {
11 aliases {
12 serial0 = &usart0;
13 };
14
15 chosen {
16 stdout-path = "serial0:115200n8";
17 };
18
19 gpio-restart {
20 compatible = "gpio-restart";
21 gpios = <&gpio 56 GPIO_ACTIVE_LOW>;
22 priority = <200>;
23 };
24 };
25
26 &flx0 {
27 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
28 status = "okay";
29
30 usart0: serial@200 {
31 pinctrl-0 = <&usart0_pins>;
32 pinctrl-names = "default";
33 status = "okay";
34 };
35 };
36
37 &flx3 {
38 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
39 status = "okay";
40
41 spi3: spi@400 {
42 pinctrl-0 = <&fc3_b_pins>;
43 pinctrl-names = "default";
44 status = "okay";
45 cs-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
46 };
47 };
48
49 &gpio {
50 fc3_b_pins: fc3-b-pins {
51 /* SCK, MISO, MOSI */
52 pins = "GPIO_51", "GPIO_52", "GPIO_53";
53 function = "fc3_b";
54 };
55
56 miim_c_pins: miim-c-pins {
57 /* MDC, MDIO */
58 pins = "GPIO_59", "GPIO_60";
59 function = "miim_c";
60 };
61
62 sgpio_a_pins: sgpio-a-pins {
63 /* SCK, D0, D1 */
64 pins = "GPIO_32", "GPIO_33", "GPIO_34";
65 function = "sgpio_a";
66 };
67
68 sgpio_b_pins: sgpio-b-pins {
69 /* LD */
70 pins = "GPIO_64";
71 function = "sgpio_b";
72 };
73
74 usart0_pins: usart0-pins {
75 /* RXD, TXD */
76 pins = "GPIO_25", "GPIO_26";
77 function = "fc0_b";
78 };
79
80 usbs_a_pins: usbs-a-pins {
81 /* VBUS_DET */
82 pins = "GPIO_66";
83 function = "gpio";
84 };
85 };
86
87 &mdio0 {
88 pinctrl-0 = <&miim_c_pins>;
89 pinctrl-names = "default";
90 reset-gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
91 clock-frequency = <2500000>;
92 status = "okay";
93
94 phy4: ethernet-phy@5 {
95 reg = <5>;
96 coma-mode-gpios = <&gpio 37 GPIO_OPEN_DRAIN>;
97 };
98
99 phy5: ethernet-phy@6 {
100 reg = <6>;
101 coma-mode-gpios = <&gpio 37 GPIO_OPEN_DRAIN>;
102 };
103
104 phy6: ethernet-phy@7 {
105 reg = <7>;
106 coma-mode-gpios = <&gpio 37 GPIO_OPEN_DRAIN>;
107 };
108
109 phy7: ethernet-phy@8 {
110 reg = <8>;
111 coma-mode-gpios = <&gpio 37 GPIO_OPEN_DRAIN>;
112 };
113 };
114
115 &mdio1 {
116 status = "okay";
117 };
118
119 &phy0 {
120 status = "okay";
121 };
122
123 &phy1 {
124 status = "okay";
125 };
126
127 &port0 {
128 phys = <&serdes 0 CU(0)>;
129 phy-handle = <&phy0>;
130 phy-mode = "gmii";
131 status = "okay";
132 };
133
134 &port1 {
135 phys = <&serdes 1 CU(1)>;
136 phy-handle = <&phy1>;
137 phy-mode = "gmii";
138 status = "okay";
139 };
140
141 &port4 {
142 phys = <&serdes 4 SERDES6G(2)>;
143 phy-handle = <&phy4>;
144 phy-mode = "qsgmii";
145 status = "okay";
146 };
147
148 &port5 {
149 phys = <&serdes 5 SERDES6G(2)>;
150 phy-handle = <&phy5>;
151 phy-mode = "qsgmii";
152 status = "okay";
153 };
154
155 &port6 {
156 phys = <&serdes 6 SERDES6G(2)>;
157 phy-handle = <&phy6>;
158 phy-mode = "qsgmii";
159 status = "okay";
160 };
161
162 &port7 {
163 phys = <&serdes 7 SERDES6G(2)>;
164 phy-handle = <&phy7>;
165 phy-mode = "qsgmii";
166 status = "okay";
167 };
168
169 &serdes {
170 status = "okay";
171 };
172
173 &sgpio {
174 pinctrl-0 = <&sgpio_a_pins>, <&sgpio_b_pins>;
175 pinctrl-names = "default";
176 bus-frequency = <8000000>;
177 /* arbitrary range because all GPIOs are in software mode */
178 microchip,sgpio-port-ranges = <0 11>;
179 status = "okay";
180
181 sgpio_in: gpio@0 {
182 ngpios = <128>;
183 };
184
185 sgpio_out: gpio@1 {
186 ngpios = <128>;
187 };
188 };
189
190 &switch {
191 status = "okay";
192 };
193
194 &udc {
195 pinctrl-0 = <&usbs_a_pins>;
196 pinctrl-names = "default";
197 atmel,vbus-gpio = <&gpio 66 GPIO_ACTIVE_HIGH>;
198 status = "okay";
199 };
200
201 &watchdog {
202 status = "okay";
203 };
Cache object: a885918f03d9bde63d3cac2f85db5715
|