Merge tag 'timers-urgent-2020-12-27' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / microchip / sparx5_pcb134_board.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2020 Microchip Technology Inc. and its subsidiaries.
4  */
5
6 /dts-v1/;
7 #include "sparx5_pcb_common.dtsi"
8
9 /{
10         aliases {
11             i2c0   = &i2c0;
12             i2c100 = &i2c100;
13             i2c101 = &i2c101;
14             i2c102 = &i2c102;
15             i2c103 = &i2c103;
16             i2c104 = &i2c104;
17             i2c105 = &i2c105;
18             i2c106 = &i2c106;
19             i2c107 = &i2c107;
20             i2c108 = &i2c108;
21             i2c109 = &i2c109;
22             i2c110 = &i2c110;
23             i2c111 = &i2c111;
24             i2c112 = &i2c112;
25             i2c113 = &i2c113;
26             i2c114 = &i2c114;
27             i2c115 = &i2c115;
28             i2c116 = &i2c116;
29             i2c117 = &i2c117;
30             i2c118 = &i2c118;
31             i2c119 = &i2c119;
32         };
33
34         gpio-restart {
35                 compatible = "gpio-restart";
36                 gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
37                 priority = <200>;
38         };
39
40         leds {
41                 compatible = "gpio-leds";
42                 led@0 {
43                         label = "twr0:green";
44                         gpios = <&sgpio_out0 8 0 GPIO_ACTIVE_LOW>;
45                 };
46                 led@1 {
47                         label = "twr0:yellow";
48                         gpios = <&sgpio_out0 8 1 GPIO_ACTIVE_LOW>;
49                 };
50                 led@2 {
51                         label = "twr1:green";
52                         gpios = <&sgpio_out0 9 0 GPIO_ACTIVE_LOW>;
53                 };
54                 led@3 {
55                         label = "twr1:yellow";
56                         gpios = <&sgpio_out0 9 1 GPIO_ACTIVE_LOW>;
57                 };
58                 led@4 {
59                         label = "twr2:green";
60                         gpios = <&sgpio_out0 10 0 GPIO_ACTIVE_LOW>;
61                 };
62                 led@5 {
63                         label = "twr2:yellow";
64                         gpios = <&sgpio_out0 10 1 GPIO_ACTIVE_LOW>;
65                 };
66                 led@6 {
67                         label = "twr3:green";
68                         gpios = <&sgpio_out0 11 0 GPIO_ACTIVE_LOW>;
69                 };
70                 led@7 {
71                         label = "twr3:yellow";
72                         gpios = <&sgpio_out0 11 1 GPIO_ACTIVE_LOW>;
73                 };
74                 led@8 {
75                         label = "eth12:green";
76                         gpios = <&sgpio_out0 12 0 GPIO_ACTIVE_HIGH>;
77                         default-state = "off";
78                 };
79                 led@9 {
80                         label = "eth12:yellow";
81                         gpios = <&sgpio_out0 12 1 GPIO_ACTIVE_HIGH>;
82                         default-state = "off";
83                 };
84                 led@10 {
85                         label = "eth13:green";
86                         gpios = <&sgpio_out0 13 0 GPIO_ACTIVE_HIGH>;
87                         default-state = "off";
88                 };
89                 led@11 {
90                         label = "eth13:yellow";
91                         gpios = <&sgpio_out0 13 1 GPIO_ACTIVE_HIGH>;
92                         default-state = "off";
93                 };
94                 led@12 {
95                         label = "eth14:green";
96                         gpios = <&sgpio_out0 14 0 GPIO_ACTIVE_HIGH>;
97                         default-state = "off";
98                 };
99                 led@13 {
100                         label = "eth14:yellow";
101                         gpios = <&sgpio_out0 14 1 GPIO_ACTIVE_HIGH>;
102                         default-state = "off";
103                 };
104                 led@14 {
105                         label = "eth15:green";
106                         gpios = <&sgpio_out0 15 0 GPIO_ACTIVE_HIGH>;
107                         default-state = "off";
108                 };
109                 led@15 {
110                         label = "eth15:yellow";
111                         gpios = <&sgpio_out0 15 1 GPIO_ACTIVE_HIGH>;
112                         default-state = "off";
113                 };
114                 led@16 {
115                         label = "eth48:green";
116                         gpios = <&sgpio_out1 16 0 GPIO_ACTIVE_HIGH>;
117                         default-state = "off";
118                 };
119                 led@17 {
120                         label = "eth48:yellow";
121                         gpios = <&sgpio_out1 16 1 GPIO_ACTIVE_HIGH>;
122                         default-state = "off";
123                 };
124                 led@18 {
125                         label = "eth49:green";
126                         gpios = <&sgpio_out1 17 0 GPIO_ACTIVE_HIGH>;
127                         default-state = "off";
128                 };
129                 led@19 {
130                         label = "eth49:yellow";
131                         gpios = <&sgpio_out1 17 1 GPIO_ACTIVE_HIGH>;
132                         default-state = "off";
133                 };
134                 led@20 {
135                         label = "eth50:green";
136                         gpios = <&sgpio_out1 18 0 GPIO_ACTIVE_HIGH>;
137                         default-state = "off";
138                 };
139                 led@21 {
140                         label = "eth50:yellow";
141                         gpios = <&sgpio_out1 18 1 GPIO_ACTIVE_HIGH>;
142                         default-state = "off";
143                 };
144                 led@22 {
145                         label = "eth51:green";
146                         gpios = <&sgpio_out1 19 0 GPIO_ACTIVE_HIGH>;
147                         default-state = "off";
148                 };
149                 led@23 {
150                         label = "eth51:yellow";
151                         gpios = <&sgpio_out1 19 1 GPIO_ACTIVE_HIGH>;
152                         default-state = "off";
153                 };
154                 led@24 {
155                         label = "eth52:green";
156                         gpios = <&sgpio_out1 20 0 GPIO_ACTIVE_HIGH>;
157                         default-state = "off";
158                 };
159                 led@25 {
160                         label = "eth52:yellow";
161                         gpios = <&sgpio_out1 20 1 GPIO_ACTIVE_HIGH>;
162                         default-state = "off";
163                 };
164                 led@26 {
165                         label = "eth53:green";
166                         gpios = <&sgpio_out1 21 0 GPIO_ACTIVE_HIGH>;
167                         default-state = "off";
168                 };
169                 led@27 {
170                         label = "eth53:yellow";
171                         gpios = <&sgpio_out1 21 1 GPIO_ACTIVE_HIGH>;
172                         default-state = "off";
173                 };
174                 led@28 {
175                         label = "eth54:green";
176                         gpios = <&sgpio_out1 22 0 GPIO_ACTIVE_HIGH>;
177                         default-state = "off";
178                 };
179                 led@29 {
180                         label = "eth54:yellow";
181                         gpios = <&sgpio_out1 22 1 GPIO_ACTIVE_HIGH>;
182                         default-state = "off";
183                 };
184                 led@30 {
185                         label = "eth55:green";
186                         gpios = <&sgpio_out1 23 0 GPIO_ACTIVE_HIGH>;
187                         default-state = "off";
188                 };
189                 led@31 {
190                         label = "eth55:yellow";
191                         gpios = <&sgpio_out1 23 1 GPIO_ACTIVE_HIGH>;
192                         default-state = "off";
193                 };
194                 led@32 {
195                         label = "eth56:green";
196                         gpios = <&sgpio_out1 24 0 GPIO_ACTIVE_HIGH>;
197                         default-state = "off";
198                 };
199                 led@33 {
200                         label = "eth56:yellow";
201                         gpios = <&sgpio_out1 24 1 GPIO_ACTIVE_HIGH>;
202                         default-state = "off";
203                 };
204                 led@34 {
205                         label = "eth57:green";
206                         gpios = <&sgpio_out1 25 0 GPIO_ACTIVE_HIGH>;
207                         default-state = "off";
208                 };
209                 led@35 {
210                         label = "eth57:yellow";
211                         gpios = <&sgpio_out1 25 1 GPIO_ACTIVE_HIGH>;
212                         default-state = "off";
213                 };
214                 led@36 {
215                         label = "eth58:green";
216                         gpios = <&sgpio_out1 26 0 GPIO_ACTIVE_HIGH>;
217                         default-state = "off";
218                 };
219                 led@37 {
220                         label = "eth58:yellow";
221                         gpios = <&sgpio_out1 26 1 GPIO_ACTIVE_HIGH>;
222                         default-state = "off";
223                 };
224                 led@38 {
225                         label = "eth59:green";
226                         gpios = <&sgpio_out1 27 0 GPIO_ACTIVE_HIGH>;
227                         default-state = "off";
228                 };
229                 led@39 {
230                         label = "eth59:yellow";
231                         gpios = <&sgpio_out1 27 1 GPIO_ACTIVE_HIGH>;
232                         default-state = "off";
233                 };
234                 led@40 {
235                         label = "eth60:green";
236                         gpios = <&sgpio_out1 28 0 GPIO_ACTIVE_HIGH>;
237                         default-state = "off";
238                 };
239                 led@41 {
240                         label = "eth60:yellow";
241                         gpios = <&sgpio_out1 28 1 GPIO_ACTIVE_HIGH>;
242                         default-state = "off";
243                 };
244                 led@42 {
245                         label = "eth61:green";
246                         gpios = <&sgpio_out1 29 0 GPIO_ACTIVE_HIGH>;
247                         default-state = "off";
248                 };
249                 led@43 {
250                         label = "eth61:yellow";
251                         gpios = <&sgpio_out1 29 1 GPIO_ACTIVE_HIGH>;
252                         default-state = "off";
253                 };
254                 led@44 {
255                         label = "eth62:green";
256                         gpios = <&sgpio_out1 30 0 GPIO_ACTIVE_HIGH>;
257                         default-state = "off";
258                 };
259                 led@45 {
260                         label = "eth62:yellow";
261                         gpios = <&sgpio_out1 30 1 GPIO_ACTIVE_HIGH>;
262                         default-state = "off";
263                 };
264                 led@46 {
265                         label = "eth63:green";
266                         gpios = <&sgpio_out1 31 0 GPIO_ACTIVE_HIGH>;
267                         default-state = "off";
268                 };
269                 led@47 {
270                         label = "eth63:yellow";
271                         gpios = <&sgpio_out1 31 1 GPIO_ACTIVE_HIGH>;
272                         default-state = "off";
273                 };
274         };
275 };
276
277 &sgpio0 {
278         status = "okay";
279         microchip,sgpio-port-ranges = <8 15>;
280         gpio@0 {
281                 ngpios = <64>;
282         };
283         gpio@1 {
284                 ngpios = <64>;
285         };
286 };
287
288 &sgpio1 {
289         status = "okay";
290         microchip,sgpio-port-ranges = <24 31>;
291         gpio@0 {
292                 ngpios = <64>;
293         };
294         gpio@1 {
295                 ngpios = <64>;
296         };
297 };
298
299 &spi0 {
300         status = "okay";
301         spi@0 {
302                 compatible = "spi-mux";
303                 mux-controls = <&mux>;
304                 #address-cells = <1>;
305                 #size-cells = <0>;
306                 reg = <0>;      /* CS0 */
307                 spi-flash@9 {
308                         compatible = "jedec,spi-nor";
309                         spi-max-frequency = <8000000>;
310                         reg = <0x9>;    /* SPI */
311                 };
312         };
313 };
314
315 &spi0 {
316         status = "okay";
317         spi@0 {
318                 compatible = "spi-mux";
319                 mux-controls = <&mux>;
320                 #address-cells = <1>;
321                 #size-cells = <0>;
322                 reg = <0>;      /* CS0 */
323                 spi-flash@9 {
324                         compatible = "jedec,spi-nor";
325                         spi-max-frequency = <8000000>;
326                         reg = <0x9>;    /* SPI */
327                 };
328         };
329 };
330
331 &gpio {
332         i2cmux_pins_i: i2cmux-pins-i {
333                pins = "GPIO_16", "GPIO_17", "GPIO_18", "GPIO_19",
334                       "GPIO_20", "GPIO_22", "GPIO_36", "GPIO_35",
335                       "GPIO_50", "GPIO_51", "GPIO_56", "GPIO_57";
336                 function = "twi_scl_m";
337                 output-low;
338         };
339         i2cmux_0: i2cmux-0 {
340                 pins = "GPIO_16";
341                 function = "twi_scl_m";
342                 output-high;
343         };
344         i2cmux_1: i2cmux-1 {
345                 pins = "GPIO_17";
346                 function = "twi_scl_m";
347                 output-high;
348         };
349         i2cmux_2: i2cmux-2 {
350                 pins = "GPIO_18";
351                 function = "twi_scl_m";
352                 output-high;
353         };
354         i2cmux_3: i2cmux-3 {
355                 pins = "GPIO_19";
356                 function = "twi_scl_m";
357                 output-high;
358         };
359         i2cmux_4: i2cmux-4 {
360                 pins = "GPIO_20";
361                 function = "twi_scl_m";
362                 output-high;
363         };
364         i2cmux_5: i2cmux-5 {
365                 pins = "GPIO_22";
366                 function = "twi_scl_m";
367                 output-high;
368         };
369         i2cmux_6: i2cmux-6 {
370                 pins = "GPIO_36";
371                 function = "twi_scl_m";
372                 output-high;
373         };
374         i2cmux_7: i2cmux-7 {
375                 pins = "GPIO_35";
376                 function = "twi_scl_m";
377                 output-high;
378         };
379         i2cmux_8: i2cmux-8 {
380                 pins = "GPIO_50";
381                 function = "twi_scl_m";
382                 output-high;
383         };
384         i2cmux_9: i2cmux-9 {
385                 pins = "GPIO_51";
386                 function = "twi_scl_m";
387                 output-high;
388         };
389         i2cmux_10: i2cmux-10 {
390                 pins = "GPIO_56";
391                 function = "twi_scl_m";
392                 output-high;
393         };
394         i2cmux_11: i2cmux-11 {
395                 pins = "GPIO_57";
396                 function = "twi_scl_m";
397                 output-high;
398         };
399 };
400
401 &axi {
402         i2c0_imux: i2c0-imux@0 {
403                 compatible = "i2c-mux-pinctrl";
404                 #address-cells = <1>;
405                 #size-cells = <0>;
406                 i2c-parent = <&i2c0>;
407         };
408         i2c0_emux: i2c0-emux@0 {
409                 compatible = "i2c-mux-gpio";
410                 #address-cells = <1>;
411                 #size-cells = <0>;
412                 i2c-parent = <&i2c0>;
413         };
414 };
415
416 &i2c0_imux {
417         pinctrl-names =
418                 "i2c100", "i2c101", "i2c102", "i2c103",
419                 "i2c104", "i2c105", "i2c106", "i2c107",
420                 "i2c108", "i2c109", "i2c110", "i2c111", "idle";
421         pinctrl-0 = <&i2cmux_0>;
422         pinctrl-1 = <&i2cmux_1>;
423         pinctrl-2 = <&i2cmux_2>;
424         pinctrl-3 = <&i2cmux_3>;
425         pinctrl-4 = <&i2cmux_4>;
426         pinctrl-5 = <&i2cmux_5>;
427         pinctrl-6 = <&i2cmux_6>;
428         pinctrl-7 = <&i2cmux_7>;
429         pinctrl-8 = <&i2cmux_8>;
430         pinctrl-9 = <&i2cmux_9>;
431         pinctrl-10 = <&i2cmux_10>;
432         pinctrl-11 = <&i2cmux_11>;
433         pinctrl-12 = <&i2cmux_pins_i>;
434         i2c100: i2c_sfp1 {
435                 reg = <0x0>;
436                 #address-cells = <1>;
437                 #size-cells = <0>;
438         };
439         i2c101: i2c_sfp2 {
440                 reg = <0x1>;
441                 #address-cells = <1>;
442                 #size-cells = <0>;
443         };
444         i2c102: i2c_sfp3 {
445                 reg = <0x2>;
446                 #address-cells = <1>;
447                 #size-cells = <0>;
448         };
449         i2c103: i2c_sfp4 {
450                 reg = <0x3>;
451                 #address-cells = <1>;
452                 #size-cells = <0>;
453         };
454         i2c104: i2c_sfp5 {
455                 reg = <0x4>;
456                 #address-cells = <1>;
457                 #size-cells = <0>;
458         };
459         i2c105: i2c_sfp6 {
460                 reg = <0x5>;
461                 #address-cells = <1>;
462                 #size-cells = <0>;
463         };
464         i2c106: i2c_sfp7 {
465                 reg = <0x6>;
466                 #address-cells = <1>;
467                 #size-cells = <0>;
468         };
469         i2c107: i2c_sfp8 {
470                 reg = <0x7>;
471                 #address-cells = <1>;
472                 #size-cells = <0>;
473         };
474         i2c108: i2c_sfp9 {
475                 reg = <0x8>;
476                 #address-cells = <1>;
477                 #size-cells = <0>;
478         };
479         i2c109: i2c_sfp10 {
480                 reg = <0x9>;
481                 #address-cells = <1>;
482                 #size-cells = <0>;
483         };
484         i2c110: i2c_sfp11 {
485                 reg = <0xa>;
486                 #address-cells = <1>;
487                 #size-cells = <0>;
488         };
489         i2c111: i2c_sfp12 {
490                 reg = <0xb>;
491                 #address-cells = <1>;
492                 #size-cells = <0>;
493         };
494 };
495
496 &i2c0_emux {
497         mux-gpios = <&gpio 55 GPIO_ACTIVE_HIGH
498                      &gpio 60 GPIO_ACTIVE_HIGH
499                      &gpio 61 GPIO_ACTIVE_HIGH
500                      &gpio 54 GPIO_ACTIVE_HIGH>;
501         idle-state = <0x8>;
502         i2c112: i2c_sfp13 {
503                 reg = <0x0>;
504                 #address-cells = <1>;
505                 #size-cells = <0>;
506         };
507         i2c113: i2c_sfp14 {
508                 reg = <0x1>;
509                 #address-cells = <1>;
510                 #size-cells = <0>;
511         };
512         i2c114: i2c_sfp15 {
513                 reg = <0x2>;
514                 #address-cells = <1>;
515                 #size-cells = <0>;
516         };
517         i2c115: i2c_sfp16 {
518                 reg = <0x3>;
519                 #address-cells = <1>;
520                 #size-cells = <0>;
521         };
522         i2c116: i2c_sfp17 {
523                 reg = <0x4>;
524                 #address-cells = <1>;
525                 #size-cells = <0>;
526         };
527         i2c117: i2c_sfp18 {
528                 reg = <0x5>;
529                 #address-cells = <1>;
530                 #size-cells = <0>;
531         };
532         i2c118: i2c_sfp19 {
533                 reg = <0x6>;
534                 #address-cells = <1>;
535                 #size-cells = <0>;
536         };
537         i2c119: i2c_sfp20 {
538                 reg = <0x7>;
539                 #address-cells = <1>;
540                 #size-cells = <0>;
541         };
542 };