Merge commit '81fd23e2b3ccf71c807e671444e8accaba98ca53' of https://git.pengutronix...
[linux-2.6-microblaze.git] / arch / arm / boot / dts / qcom-ipq8064-rb3011.dts
1 // SPDX-License-Identifier: GPL-2.0
2 #include "qcom-ipq8064.dtsi"
3 #include <dt-bindings/input/input.h>
4
5 / {
6         model = "MikroTik RB3011UiAS-RM";
7         compatible = "mikrotik,rb3011";
8
9         aliases {
10                 serial0 = &gsbi7_serial;
11                 ethernet0 = &gmac0;
12                 ethernet1 = &gmac3;
13                 mdio-gpio0 = &mdio0;
14                 mdio-gpio1 = &mdio1;
15         };
16
17         chosen {
18                 bootargs = "loglevel=8 console=ttyMSM0,115200";
19                 stdout-path = "serial0:115200n8";
20         };
21
22         memory@0 {
23                 reg = <0x42000000 0x3e000000>;
24                 device_type = "memory";
25         };
26
27         mdio0: mdio@0 {
28                 status = "okay";
29                 compatible = "virtual,mdio-gpio";
30                 gpios = <&qcom_pinmux 1 GPIO_ACTIVE_HIGH>,
31                         <&qcom_pinmux 0 GPIO_ACTIVE_HIGH>;
32                 #address-cells = <1>;
33                 #size-cells = <0>;
34
35                 pinctrl-0 = <&mdio0_pins>;
36                 pinctrl-names = "default";
37
38                 switch0: switch@10 {
39                         compatible = "qca,qca8337";
40                         #address-cells = <1>;
41                         #size-cells = <0>;
42
43                         dsa,member = <0 0>;
44
45                         pinctrl-0 = <&sw0_reset_pin>;
46                         pinctrl-names = "default";
47
48                         reset-gpios = <&qcom_pinmux 16 GPIO_ACTIVE_LOW>;
49                         reg = <0x10>;
50
51                         ports {
52                                 #address-cells = <1>;
53                                 #size-cells = <0>;
54
55                                 switch0cpu: port@0 {
56                                         reg = <0>;
57                                         label = "cpu";
58                                         ethernet = <&gmac0>;
59                                         phy-mode = "rgmii-id";
60                                         fixed-link {
61                                                 speed = <1000>;
62                                                 full-duplex;
63                                         };
64                                 };
65
66                                 port@1 {
67                                         reg = <1>;
68                                         label = "sw1";
69                                 };
70
71                                 port@2 {
72                                         reg = <2>;
73                                         label = "sw2";
74                                 };
75
76                                 port@3 {
77                                         reg = <3>;
78                                         label = "sw3";
79                                 };
80
81                                 port@4 {
82                                         reg = <4>;
83                                         label = "sw4";
84                                 };
85
86                                 port@5 {
87                                         reg = <5>;
88                                         label = "sw5";
89                                 };
90                         };
91                 };
92         };
93
94         mdio1: mdio@1 {
95                 status = "okay";
96                 compatible = "virtual,mdio-gpio";
97                 gpios = <&qcom_pinmux 11 GPIO_ACTIVE_HIGH>,
98                         <&qcom_pinmux 10 GPIO_ACTIVE_HIGH>;
99                 #address-cells = <1>;
100                 #size-cells = <0>;
101
102                 pinctrl-0 = <&mdio1_pins>;
103                 pinctrl-names = "default";
104
105                 switch1: switch@14 {
106                         compatible = "qca,qca8337";
107                         #address-cells = <1>;
108                         #size-cells = <0>;
109
110                         dsa,member = <1 0>;
111
112                         pinctrl-0 = <&sw1_reset_pin>;
113                         pinctrl-names = "default";
114
115                         reset-gpios = <&qcom_pinmux 17 GPIO_ACTIVE_LOW>;
116                         reg = <0x10>;
117
118                         ports {
119                                 #address-cells = <1>;
120                                 #size-cells = <0>;
121
122                                 switch1cpu: port@0 {
123                                         reg = <0>;
124                                         label = "cpu";
125                                         ethernet = <&gmac3>;
126                                         phy-mode = "sgmii";
127                                         fixed-link {
128                                                 speed = <1000>;
129                                                 full-duplex;
130                                         };
131                                 };
132
133                                 port@1 {
134                                         reg = <1>;
135                                         label = "sw6";
136                                 };
137
138                                 port@2 {
139                                         reg = <2>;
140                                         label = "sw7";
141                                 };
142
143                                 port@3 {
144                                         reg = <3>;
145                                         label = "sw8";
146                                 };
147
148                                 port@4 {
149                                         reg = <4>;
150                                         label = "sw9";
151                                 };
152
153                                 port@5 {
154                                         reg = <5>;
155                                         label = "sw10";
156                                 };
157                         };
158                 };
159         };
160
161         soc {
162                 gsbi5: gsbi@1a200000 {
163                         qcom,mode = <GSBI_PROT_SPI>;
164                         status = "okay";
165
166                         spi4: spi@1a280000 {
167                                 status = "okay";
168                                 spi-max-frequency = <50000000>;
169
170                                 pinctrl-0 = <&spi_pins>;
171                                 pinctrl-names = "default";
172
173                                 cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
174
175                                 norflash: s25fl016k@0 {
176                                         compatible = "jedec,spi-nor";
177                                         #address-cells = <1>;
178                                         #size-cells = <1>;
179                                         spi-max-frequency = <50000000>;
180                                         reg = <0>;
181
182                                         partition@0 {
183                                                 label = "RouterBoot";
184                                                 reg = <0x0 0x40000>;
185                                         };
186                                 };
187                         };
188                 };
189
190                 gpio_keys {
191                         compatible = "gpio-keys";
192                         pinctrl-0 = <&buttons_pins>;
193                         pinctrl-names = "default";
194
195                         button@1 {
196                                 label = "reset";
197                                 linux,code = <KEY_RESTART>;
198                                 gpios = <&qcom_pinmux 66 GPIO_ACTIVE_LOW>;
199                                 linux,input-type = <1>;
200                                 debounce-interval = <60>;
201                         };
202                 };
203
204                 leds {
205                         compatible = "gpio-leds";
206                         pinctrl-0 = <&leds_pins>;
207                         pinctrl-names = "default";
208
209                         led@7 {
210                                 label = "rb3011:green:user";
211                                 gpios = <&qcom_pinmux 33 GPIO_ACTIVE_HIGH>;
212                                 default-state = "off";
213                         };
214                 };
215
216         };
217 };
218
219 &adm_dma {
220         status = "okay";
221 };
222
223 &gmac0 {
224         status = "okay";
225
226         phy-mode = "rgmii";
227         qcom,id = <0>;
228         phy-handle = <&switch0cpu>;
229
230         fixed-link {
231                 speed = <1000>;
232                 full-duplex;
233         };
234 };
235
236 &gmac3 {
237         status = "okay";
238
239         phy-mode = "sgmii";
240         qcom,id = <3>;
241         phy-handle = <&switch1cpu>;
242
243         fixed-link {
244                 speed = <1000>;
245                 full-duplex;
246         };
247 };
248
249 &gsbi7 {
250         status = "okay";
251         qcom,mode = <GSBI_PROT_I2C_UART>;
252 };
253
254 &gsbi7_serial {
255         status = "okay";
256 };
257
258 &hs_phy_1 {
259         status = "okay";
260 };
261
262 &nand {
263         status = "okay";
264
265         nandcs@0 {
266                 compatible = "qcom,nandcs";
267                 reg = <0>;
268
269                 nand-ecc-strength = <4>;
270                 nand-bus-width = <8>;
271                 nand-ecc-step-size = <512>;
272
273                 partitions {
274                         compatible = "fixed-partitions";
275                         #address-cells = <1>;
276                         #size-cells = <1>;
277
278                         boot@0 {
279                                 label = "RouterBoard NAND 1 Boot";
280                                 reg = <0x0000000 0x0800000>;
281                         };
282
283                         main@800000 {
284                                 label = "RouterBoard NAND 1 Main";
285                                 reg = <0x0800000 0x7800000>;
286                         };
287                 };
288         };
289 };
290
291 &qcom_pinmux {
292         buttons_pins: buttons_pins {
293                 mux {
294                         pins = "gpio66";
295                         drive-strength = <16>;
296                         bias-disable;
297                 };
298         };
299
300         leds_pins: leds_pins {
301                 mux {
302                         pins = "gpio33";
303                         drive-strength = <16>;
304                         bias-disable;
305                 };
306         };
307
308         mdio0_pins: mdio0_pins {
309                 mux {
310                         pins = "gpio0", "gpio1";
311                         function = "gpio";
312                         drive-strength = <8>;
313                         bias-disable;
314                 };
315         };
316
317         mdio1_pins: mdio1_pins {
318                 mux {
319                         pins = "gpio10", "gpio11";
320                         function = "gpio";
321                         drive-strength = <8>;
322                         bias-disable;
323                 };
324         };
325
326         sw0_reset_pin: sw0_reset_pin {
327                 mux {
328                         pins = "gpio16";
329                         drive-strength = <16>;
330                         function = "gpio";
331                         bias-disable;
332                         input-disable;
333                 };
334         };
335
336         sw1_reset_pin: sw1_reset_pin {
337                 mux {
338                         pins = "gpio17";
339                         drive-strength = <16>;
340                         function = "gpio";
341                         bias-disable;
342                         input-disable;
343                 };
344         };
345
346         usb1_pwr_en_pins: usb1_pwr_en_pins {
347                 mux {
348                         pins = "gpio4";
349                         function = "gpio";
350                         drive-strength = <16>;
351                         bias-disable;
352                         output-high;
353                 };
354         };
355 };
356
357 &ss_phy_1 {
358         status = "okay";
359 };
360
361 &usb3_1 {
362         pinctrl-0 = <&usb1_pwr_en_pins>;
363         pinctrl-names = "default";
364
365         status = "okay";
366 };