bcm27xx: switch to kernel v6.1
[openwrt/openwrt.git] / target / linux / bcm27xx / patches-5.15 / 950-0743-ARM-dts-Add-GPIO-line-names-for-downstream-RPis.patch
1 From c4276e76a720c00d5115bc38d9834480552bcdbe Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.com>
3 Date: Sun, 20 Feb 2022 16:27:11 +0000
4 Subject: [PATCH] ARM: dts: Add GPIO line names for downstream RPis
5
6 Largely copied from the upstream dts files, with a few additions and
7 tweaks.
8
9 See: https://github.com/raspberrypi/linux/issues/2760
10
11 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
12 ---
13 arch/arm/boot/dts/bcm2708-rpi-b-plus.dts | 66 +++++++++++++++++++
14 arch/arm/boot/dts/bcm2708-rpi-b-rev1.dts | 67 +++++++++++++++++++
15 arch/arm/boot/dts/bcm2708-rpi-b.dts | 66 +++++++++++++++++++
16 arch/arm/boot/dts/bcm2708-rpi-cm.dts | 65 ++++++++++++++++++
17 arch/arm/boot/dts/bcm2708-rpi-zero-w.dts | 67 +++++++++++++++++++
18 arch/arm/boot/dts/bcm2708-rpi-zero.dts | 65 ++++++++++++++++++
19 arch/arm/boot/dts/bcm2709-rpi-2-b.dts | 66 +++++++++++++++++++
20 arch/arm/boot/dts/bcm2710-rpi-2-b.dts | 66 +++++++++++++++++++
21 arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts | 76 ++++++++++++++++++++++
22 arch/arm/boot/dts/bcm2710-rpi-3-b.dts | 76 ++++++++++++++++++++++
23 arch/arm/boot/dts/bcm2710-rpi-cm3.dts | 72 ++++++++++++++++++++
24 arch/arm/boot/dts/bcm2710-rpi-zero-2-w.dts | 67 +++++++++++++++++++
25 12 files changed, 819 insertions(+)
26
27 --- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
28 +++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
29 @@ -12,6 +12,72 @@
30 };
31
32 &gpio {
33 + /*
34 + * Taken from Raspberry-Pi-B-Plus-V1.2-Schematics.pdf
35 + * RPI-BPLUS sheet 1
36 + *
37 + * Legend:
38 + * "NC" = not connected (no rail from the SoC)
39 + * "FOO" = GPIO line named "FOO" on the schematic
40 + * "FOO_N" = GPIO line named "FOO" on schematic, active low
41 + */
42 + gpio-line-names = "ID_SDA",
43 + "ID_SCL",
44 + "SDA1",
45 + "SCL1",
46 + "GPIO_GCLK",
47 + "GPIO5",
48 + "GPIO6",
49 + "SPI_CE1_N",
50 + "SPI_CE0_N",
51 + "SPI_MISO",
52 + "SPI_MOSI",
53 + "SPI_SCLK",
54 + "GPIO12",
55 + "GPIO13",
56 + /* Serial port */
57 + "TXD0",
58 + "RXD0",
59 + "GPIO16",
60 + "GPIO17",
61 + "GPIO18",
62 + "GPIO19",
63 + "GPIO20",
64 + "GPIO21",
65 + "GPIO22",
66 + "GPIO23",
67 + "GPIO24",
68 + "GPIO25",
69 + "GPIO26",
70 + "GPIO27",
71 + "SDA0",
72 + "SCL0",
73 + "NC", /* GPIO30 */
74 + "LAN_RUN", /* GPIO31 */
75 + "CAM_GPIO1", /* GPIO32 */
76 + "NC", /* GPIO33 */
77 + "NC", /* GPIO34 */
78 + "PWR_LOW_N", /* GPIO35 */
79 + "NC", /* GPIO36 */
80 + "NC", /* GPIO37 */
81 + "USB_LIMIT", /* GPIO38 */
82 + "NC", /* GPIO39 */
83 + "PWM0_OUT", /* GPIO40 */
84 + "CAM_GPIO0", /* GPIO41 */
85 + "NC", /* GPIO42 */
86 + "NC", /* GPIO43 */
87 + "ETH_CLK", /* GPIO44 */
88 + "PWM1_OUT", /* GPIO45 */
89 + "HDMI_HPD_N",
90 + "STATUS_LED",
91 + /* Used by SD Card */
92 + "SD_CLK_R",
93 + "SD_CMD_R",
94 + "SD_DATA0_R",
95 + "SD_DATA1_R",
96 + "SD_DATA2_R",
97 + "SD_DATA3_R";
98 +
99 spi0_pins: spi0_pins {
100 brcm,pins = <9 10 11>;
101 brcm,function = <4>; /* alt0 */
102 --- a/arch/arm/boot/dts/bcm2708-rpi-b-rev1.dts
103 +++ b/arch/arm/boot/dts/bcm2708-rpi-b-rev1.dts
104 @@ -11,6 +11,73 @@
105 };
106
107 &gpio {
108 + /*
109 + * Taken from Raspberry-Pi-Rev-1.0-Model-AB-Schematics.pdf
110 + * RPI00021 sheet 02
111 + *
112 + * Legend:
113 + * "NC" = not connected (no rail from the SoC)
114 + * "FOO" = GPIO line named "FOO" on the schematic
115 + * "FOO_N" = GPIO line named "FOO" on schematic, active low
116 + */
117 + gpio-line-names = "SDA0",
118 + "SCL0",
119 + "SDA1",
120 + "SCL1",
121 + "GPIO_GCLK",
122 + "CAM_GPIO1",
123 + "LAN_RUN",
124 + "SPI_CE1_N",
125 + "SPI_CE0_N",
126 + "SPI_MISO",
127 + "SPI_MOSI",
128 + "SPI_SCLK",
129 + "NC", /* GPIO12 */
130 + "NC", /* GPIO13 */
131 + /* Serial port */
132 + "TXD0",
133 + "RXD0",
134 + "STATUS_LED_N",
135 + "GPIO17",
136 + "GPIO18",
137 + "NC", /* GPIO19 */
138 + "NC", /* GPIO20 */
139 + "GPIO21",
140 + "GPIO22",
141 + "GPIO23",
142 + "GPIO24",
143 + "GPIO25",
144 + "NC", /* GPIO26 */
145 + "CAM_GPIO0",
146 + /* Binary number representing build/revision */
147 + "CONFIG0",
148 + "CONFIG1",
149 + "CONFIG2",
150 + "CONFIG3",
151 + "NC", /* GPIO32 */
152 + "NC", /* GPIO33 */
153 + "NC", /* GPIO34 */
154 + "NC", /* GPIO35 */
155 + "NC", /* GPIO36 */
156 + "NC", /* GPIO37 */
157 + "NC", /* GPIO38 */
158 + "NC", /* GPIO39 */
159 + "PWM0_OUT",
160 + "NC", /* GPIO41 */
161 + "NC", /* GPIO42 */
162 + "NC", /* GPIO43 */
163 + "NC", /* GPIO44 */
164 + "PWM1_OUT",
165 + "HDMI_HPD_P",
166 + "SD_CARD_DET",
167 + /* Used by SD Card */
168 + "SD_CLK_R",
169 + "SD_CMD_R",
170 + "SD_DATA0_R",
171 + "SD_DATA1_R",
172 + "SD_DATA2_R",
173 + "SD_DATA3_R";
174 +
175 spi0_pins: spi0_pins {
176 brcm,pins = <9 10 11>;
177 brcm,function = <4>; /* alt0 */
178 --- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
179 +++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
180 @@ -12,6 +12,72 @@
181 };
182
183 &gpio {
184 + /*
185 + * Taken from Raspberry-Pi-Rev-2.0-Model-AB-Schematics.pdf
186 + * RPI00022 sheet 02
187 + *
188 + * Legend:
189 + * "NC" = not connected (no rail from the SoC)
190 + * "FOO" = GPIO line named "FOO" on the schematic
191 + * "FOO_N" = GPIO line named "FOO" on schematic, active low
192 + */
193 + gpio-line-names = "SDA0",
194 + "SCL0",
195 + "SDA1",
196 + "SCL1",
197 + "GPIO_GCLK",
198 + "CAM_GPIO1",
199 + "LAN_RUN",
200 + "SPI_CE1_N",
201 + "SPI_CE0_N",
202 + "SPI_MISO",
203 + "SPI_MOSI",
204 + "SPI_SCLK",
205 + "NC", /* GPIO12 */
206 + "NC", /* GPIO13 */
207 + /* Serial port */
208 + "TXD0",
209 + "RXD0",
210 + "STATUS_LED_N",
211 + "GPIO17",
212 + "GPIO18",
213 + "NC", /* GPIO19 */
214 + "NC", /* GPIO20 */
215 + "CAM_GPIO0",
216 + "GPIO22",
217 + "GPIO23",
218 + "GPIO24",
219 + "GPIO25",
220 + "NC", /* GPIO26 */
221 + "GPIO27",
222 + "GPIO28",
223 + "GPIO29",
224 + "GPIO30",
225 + "GPIO31",
226 + "NC", /* GPIO32 */
227 + "NC", /* GPIO33 */
228 + "NC", /* GPIO34 */
229 + "NC", /* GPIO35 */
230 + "NC", /* GPIO36 */
231 + "NC", /* GPIO37 */
232 + "NC", /* GPIO38 */
233 + "NC", /* GPIO39 */
234 + "PWM0_OUT",
235 + "NC", /* GPIO41 */
236 + "NC", /* GPIO42 */
237 + "NC", /* GPIO43 */
238 + "NC", /* GPIO44 */
239 + "PWM1_OUT",
240 + "HDMI_HPD_P",
241 + "SD_CARD_DET",
242 + /* Used by SD Card */
243 + "SD_CLK_R",
244 + "SD_CMD_R",
245 + "SD_DATA0_R",
246 + "SD_DATA1_R",
247 + "SD_DATA2_R",
248 + "SD_DATA3_R";
249 +
250 spi0_pins: spi0_pins {
251 brcm,pins = <9 10 11>;
252 brcm,function = <4>; /* alt0 */
253 --- a/arch/arm/boot/dts/bcm2708-rpi-cm.dts
254 +++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dts
255 @@ -24,6 +24,71 @@ cam0_reg: &cam0_regulator {
256 };
257
258 &gpio {
259 + /*
260 + * This is based on the official GPU firmware DT blob.
261 + *
262 + * Legend:
263 + * "NC" = not connected (no rail from the SoC)
264 + * "FOO" = GPIO line named "FOO" on the schematic
265 + * "FOO_N" = GPIO line named "FOO" on schematic, active low
266 + */
267 + gpio-line-names = "GPIO0",
268 + "GPIO1",
269 + "GPIO2",
270 + "GPIO3",
271 + "GPIO4",
272 + "GPIO5",
273 + "GPIO6",
274 + "GPIO7",
275 + "GPIO8",
276 + "GPIO9",
277 + "GPIO10",
278 + "GPIO11",
279 + "GPIO12",
280 + "GPIO13",
281 + "GPIO14",
282 + "GPIO15",
283 + "GPIO16",
284 + "GPIO17",
285 + "GPIO18",
286 + "GPIO19",
287 + "GPIO20",
288 + "GPIO21",
289 + "GPIO22",
290 + "GPIO23",
291 + "GPIO24",
292 + "GPIO25",
293 + "GPIO26",
294 + "GPIO27",
295 + "GPIO28",
296 + "GPIO29",
297 + "GPIO30",
298 + "GPIO31",
299 + "GPIO32",
300 + "GPIO33",
301 + "GPIO34",
302 + "GPIO35",
303 + "GPIO36",
304 + "GPIO37",
305 + "GPIO38",
306 + "GPIO39",
307 + "GPIO40",
308 + "GPIO41",
309 + "GPIO42",
310 + "GPIO43",
311 + "GPIO44",
312 + "GPIO45",
313 + "HDMI_HPD_N",
314 + /* Also used as ACT LED */
315 + "EMMC_EN_N",
316 + /* Used by eMMC */
317 + "SD_CLK_R",
318 + "SD_CMD_R",
319 + "SD_DATA0_R",
320 + "SD_DATA1_R",
321 + "SD_DATA2_R",
322 + "SD_DATA3_R";
323 +
324 spi0_pins: spi0_pins {
325 brcm,pins = <9 10 11>;
326 brcm,function = <4>; /* alt0 */
327 --- a/arch/arm/boot/dts/bcm2708-rpi-zero-w.dts
328 +++ b/arch/arm/boot/dts/bcm2708-rpi-zero-w.dts
329 @@ -22,6 +22,73 @@
330 };
331
332 &gpio {
333 + /*
334 + * This is based on the official GPU firmware DT blob.
335 + *
336 + * Legend:
337 + * "NC" = not connected (no rail from the SoC)
338 + * "FOO" = GPIO line named "FOO" on the schematic
339 + * "FOO_N" = GPIO line named "FOO" on schematic, active low
340 + */
341 + gpio-line-names = "ID_SDA",
342 + "ID_SCL",
343 + "SDA1",
344 + "SCL1",
345 + "GPIO_GCLK",
346 + "GPIO5",
347 + "GPIO6",
348 + "SPI_CE1_N",
349 + "SPI_CE0_N",
350 + "SPI_MISO",
351 + "SPI_MOSI",
352 + "SPI_SCLK",
353 + "GPIO12",
354 + "GPIO13",
355 + /* Serial port */
356 + "TXD0",
357 + "RXD0",
358 + "GPIO16",
359 + "GPIO17",
360 + "GPIO18",
361 + "GPIO19",
362 + "GPIO20",
363 + "GPIO21",
364 + "GPIO22",
365 + "GPIO23",
366 + "GPIO24",
367 + "GPIO25",
368 + "GPIO26",
369 + "GPIO27",
370 + "SDA0",
371 + "SCL0",
372 + /* Used by BT module */
373 + "CTS0",
374 + "RTS0",
375 + "TXD0",
376 + "RXD0",
377 + /* Used by Wifi */
378 + "SD1_CLK",
379 + "SD1_CMD",
380 + "SD1_DATA0",
381 + "SD1_DATA1",
382 + "SD1_DATA2",
383 + "SD1_DATA3",
384 + "CAM_GPIO1", /* GPIO40 */
385 + "WL_ON", /* GPIO41 */
386 + "NC", /* GPIO42 */
387 + "WIFI_CLK", /* GPIO43 */
388 + "CAM_GPIO0", /* GPIO44 */
389 + "BT_ON", /* GPIO45 */
390 + "HDMI_HPD_N",
391 + "STATUS_LED_N",
392 + /* Used by SD Card */
393 + "SD_CLK_R",
394 + "SD_CMD_R",
395 + "SD_DATA0_R",
396 + "SD_DATA1_R",
397 + "SD_DATA2_R",
398 + "SD_DATA3_R";
399 +
400 spi0_pins: spi0_pins {
401 brcm,pins = <9 10 11>;
402 brcm,function = <4>; /* alt0 */
403 --- a/arch/arm/boot/dts/bcm2708-rpi-zero.dts
404 +++ b/arch/arm/boot/dts/bcm2708-rpi-zero.dts
405 @@ -15,6 +15,71 @@
406 };
407
408 &gpio {
409 + /*
410 + * This is based on the official GPU firmware DT blob.
411 + *
412 + * Legend:
413 + * "NC" = not connected (no rail from the SoC)
414 + * "FOO" = GPIO line named "FOO" on the schematic
415 + * "FOO_N" = GPIO line named "FOO" on schematic, active low
416 + */
417 + gpio-line-names = "ID_SDA",
418 + "ID_SCL",
419 + "SDA1",
420 + "SCL1",
421 + "GPIO_GCLK",
422 + "GPIO5",
423 + "GPIO6",
424 + "SPI_CE1_N",
425 + "SPI_CE0_N",
426 + "SPI_MISO",
427 + "SPI_MOSI",
428 + "SPI_SCLK",
429 + "GPIO12",
430 + "GPIO13",
431 + /* Serial port */
432 + "TXD0",
433 + "RXD0",
434 + "GPIO16",
435 + "GPIO17",
436 + "GPIO18",
437 + "GPIO19",
438 + "GPIO20",
439 + "GPIO21",
440 + "GPIO22",
441 + "GPIO23",
442 + "GPIO24",
443 + "GPIO25",
444 + "GPIO26",
445 + "GPIO27",
446 + "SDA0",
447 + "SCL0",
448 + "NC", /* GPIO30 */
449 + "NC", /* GPIO31 */
450 + "CAM_GPIO1", /* GPIO32 */
451 + "NC", /* GPIO33 */
452 + "NC", /* GPIO34 */
453 + "NC", /* GPIO35 */
454 + "NC", /* GPIO36 */
455 + "NC", /* GPIO37 */
456 + "NC", /* GPIO38 */
457 + "NC", /* GPIO39 */
458 + "NC", /* GPIO40 */
459 + "CAM_GPIO0", /* GPIO41 */
460 + "NC", /* GPIO42 */
461 + "NC", /* GPIO43 */
462 + "NC", /* GPIO44 */
463 + "NC", /* GPIO45 */
464 + "HDMI_HPD_N",
465 + "STATUS_LED_N",
466 + /* Used by SD Card */
467 + "SD_CLK_R",
468 + "SD_CMD_R",
469 + "SD_DATA0_R",
470 + "SD_DATA1_R",
471 + "SD_DATA2_R",
472 + "SD_DATA3_R";
473 +
474 spi0_pins: spi0_pins {
475 brcm,pins = <9 10 11>;
476 brcm,function = <4>; /* alt0 */
477 --- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
478 +++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
479 @@ -12,6 +12,72 @@
480 };
481
482 &gpio {
483 + /*
484 + * Taken from rpi_SCH_2b_1p2_reduced.pdf and
485 + * the official GPU firmware DT blob.
486 + *
487 + * Legend:
488 + * "NC" = not connected (no rail from the SoC)
489 + * "FOO" = GPIO line named "FOO" on the schematic
490 + * "FOO_N" = GPIO line named "FOO" on schematic, active low
491 + */
492 + gpio-line-names = "ID_SDA",
493 + "ID_SCL",
494 + "SDA1",
495 + "SCL1",
496 + "GPIO_GCLK",
497 + "GPIO5",
498 + "GPIO6",
499 + "SPI_CE1_N",
500 + "SPI_CE0_N",
501 + "SPI_MISO",
502 + "SPI_MOSI",
503 + "SPI_SCLK",
504 + "GPIO12",
505 + "GPIO13",
506 + /* Serial port */
507 + "TXD0",
508 + "RXD0",
509 + "GPIO16",
510 + "GPIO17",
511 + "GPIO18",
512 + "GPIO19",
513 + "GPIO20",
514 + "GPIO21",
515 + "GPIO22",
516 + "GPIO23",
517 + "GPIO24",
518 + "GPIO25",
519 + "GPIO26",
520 + "GPIO27",
521 + "SDA0",
522 + "SCL0",
523 + "NC", /* GPIO30 */
524 + "LAN_RUN",
525 + "CAM_GPIO1",
526 + "NC", /* GPIO33 */
527 + "NC", /* GPIO34 */
528 + "PWR_LOW_N",
529 + "NC", /* GPIO36 */
530 + "NC", /* GPIO37 */
531 + "USB_LIMIT",
532 + "NC", /* GPIO39 */
533 + "PWM0_OUT",
534 + "CAM_GPIO0",
535 + "SMPS_SCL",
536 + "SMPS_SDA",
537 + "ETH_CLK",
538 + "PWM1_OUT",
539 + "HDMI_HPD_N",
540 + "STATUS_LED",
541 + /* Used by SD Card */
542 + "SD_CLK_R",
543 + "SD_CMD_R",
544 + "SD_DATA0_R",
545 + "SD_DATA1_R",
546 + "SD_DATA2_R",
547 + "SD_DATA3_R";
548 +
549 spi0_pins: spi0_pins {
550 brcm,pins = <9 10 11>;
551 brcm,function = <4>; /* alt0 */
552 --- a/arch/arm/boot/dts/bcm2710-rpi-2-b.dts
553 +++ b/arch/arm/boot/dts/bcm2710-rpi-2-b.dts
554 @@ -12,6 +12,72 @@
555 };
556
557 &gpio {
558 + /*
559 + * Taken from rpi_SCH_2b_1p2_reduced.pdf and
560 + * the official GPU firmware DT blob.
561 + *
562 + * Legend:
563 + * "NC" = not connected (no rail from the SoC)
564 + * "FOO" = GPIO line named "FOO" on the schematic
565 + * "FOO_N" = GPIO line named "FOO" on schematic, active low
566 + */
567 + gpio-line-names = "ID_SDA",
568 + "ID_SCL",
569 + "SDA1",
570 + "SCL1",
571 + "GPIO_GCLK",
572 + "GPIO5",
573 + "GPIO6",
574 + "SPI_CE1_N",
575 + "SPI_CE0_N",
576 + "SPI_MISO",
577 + "SPI_MOSI",
578 + "SPI_SCLK",
579 + "GPIO12",
580 + "GPIO13",
581 + /* Serial port */
582 + "TXD0",
583 + "RXD0",
584 + "GPIO16",
585 + "GPIO17",
586 + "GPIO18",
587 + "GPIO19",
588 + "GPIO20",
589 + "GPIO21",
590 + "GPIO22",
591 + "GPIO23",
592 + "GPIO24",
593 + "GPIO25",
594 + "GPIO26",
595 + "GPIO27",
596 + "SDA0",
597 + "SCL0",
598 + "NC", /* GPIO30 */
599 + "LAN_RUN",
600 + "CAM_GPIO1",
601 + "NC", /* GPIO33 */
602 + "NC", /* GPIO34 */
603 + "PWR_LOW_N",
604 + "NC", /* GPIO36 */
605 + "NC", /* GPIO37 */
606 + "USB_LIMIT",
607 + "NC", /* GPIO39 */
608 + "PWM0_OUT",
609 + "CAM_GPIO0",
610 + "SMPS_SCL",
611 + "SMPS_SDA",
612 + "ETH_CLK",
613 + "PWM1_OUT",
614 + "HDMI_HPD_N",
615 + "STATUS_LED",
616 + /* Used by SD Card */
617 + "SD_CLK_R",
618 + "SD_CMD_R",
619 + "SD_DATA0_R",
620 + "SD_DATA1_R",
621 + "SD_DATA2_R",
622 + "SD_DATA3_R";
623 +
624 spi0_pins: spi0_pins {
625 brcm,pins = <9 10 11>;
626 brcm,function = <4>; /* alt0 */
627 --- a/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts
628 +++ b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts
629 @@ -23,6 +23,74 @@
630 };
631
632 &gpio {
633 + /*
634 + * Taken from rpi_SCH_3bplus_1p0_reduced.pdf and
635 + * the official GPU firmware DT blob.
636 + *
637 + * Legend:
638 + * "NC" = not connected (no rail from the SoC)
639 + * "FOO" = GPIO line named "FOO" on the schematic
640 + * "FOO_N" = GPIO line named "FOO" on schematic, active low
641 + */
642 + gpio-line-names = "ID_SDA",
643 + "ID_SCL",
644 + "SDA1",
645 + "SCL1",
646 + "GPIO_GCLK",
647 + "GPIO5",
648 + "GPIO6",
649 + "SPI_CE1_N",
650 + "SPI_CE0_N",
651 + "SPI_MISO",
652 + "SPI_MOSI",
653 + "SPI_SCLK",
654 + "GPIO12",
655 + "GPIO13",
656 + /* Serial port */
657 + "TXD1",
658 + "RXD1",
659 + "GPIO16",
660 + "GPIO17",
661 + "GPIO18",
662 + "GPIO19",
663 + "GPIO20",
664 + "GPIO21",
665 + "GPIO22",
666 + "GPIO23",
667 + "GPIO24",
668 + "GPIO25",
669 + "GPIO26",
670 + "GPIO27",
671 + "HDMI_HPD_N",
672 + "STATUS_LED_G",
673 + /* Used by BT module */
674 + "CTS0",
675 + "RTS0",
676 + "TXD0",
677 + "RXD0",
678 + /* Used by Wifi */
679 + "SD1_CLK",
680 + "SD1_CMD",
681 + "SD1_DATA0",
682 + "SD1_DATA1",
683 + "SD1_DATA2",
684 + "SD1_DATA3",
685 + "PWM0_OUT",
686 + "PWM1_OUT",
687 + "ETH_CLK",
688 + "WIFI_CLK",
689 + "SDA0",
690 + "SCL0",
691 + "SMPS_SCL",
692 + "SMPS_SDA",
693 + /* Used by SD Card */
694 + "SD_CLK_R",
695 + "SD_CMD_R",
696 + "SD_DATA0_R",
697 + "SD_DATA1_R",
698 + "SD_DATA2_R",
699 + "SD_DATA3_R";
700 +
701 spi0_pins: spi0_pins {
702 brcm,pins = <9 10 11>;
703 brcm,function = <4>; /* alt0 */
704 @@ -97,6 +165,14 @@
705 compatible = "raspberrypi,firmware-gpio";
706 gpio-controller;
707 #gpio-cells = <2>;
708 + gpio-line-names = "BT_ON",
709 + "WL_ON",
710 + "PWR_LED_R",
711 + "LAN_RUN",
712 + "NC",
713 + "CAM_GPIO0",
714 + "CAM_GPIO1",
715 + "NC";
716 status = "okay";
717 };
718 };
719 --- a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts
720 +++ b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts
721 @@ -23,6 +23,74 @@
722 };
723
724 &gpio {
725 + /*
726 + * Taken from rpi_SCH_3b_1p2_reduced.pdf and
727 + * the official GPU firmware DT blob.
728 + *
729 + * Legend:
730 + * "NC" = not connected (no rail from the SoC)
731 + * "FOO" = GPIO line named "FOO" on the schematic
732 + * "FOO_N" = GPIO line named "FOO" on schematic, active low
733 + */
734 + gpio-line-names = "ID_SDA",
735 + "ID_SCL",
736 + "SDA1",
737 + "SCL1",
738 + "GPIO_GCLK",
739 + "GPIO5",
740 + "GPIO6",
741 + "SPI_CE1_N",
742 + "SPI_CE0_N",
743 + "SPI_MISO",
744 + "SPI_MOSI",
745 + "SPI_SCLK",
746 + "GPIO12",
747 + "GPIO13",
748 + /* Serial port */
749 + "TXD1",
750 + "RXD1",
751 + "GPIO16",
752 + "GPIO17",
753 + "GPIO18",
754 + "GPIO19",
755 + "GPIO20",
756 + "GPIO21",
757 + "GPIO22",
758 + "GPIO23",
759 + "GPIO24",
760 + "GPIO25",
761 + "GPIO26",
762 + "GPIO27",
763 + "NC", /* GPIO 28 */
764 + "LAN_RUN_BOOT",
765 + /* Used by BT module */
766 + "CTS0",
767 + "RTS0",
768 + "TXD0",
769 + "RXD0",
770 + /* Used by Wifi */
771 + "SD1_CLK",
772 + "SD1_CMD",
773 + "SD1_DATA0",
774 + "SD1_DATA1",
775 + "SD1_DATA2",
776 + "SD1_DATA3",
777 + "PWM0_OUT",
778 + "PWM1_OUT",
779 + "ETH_CLK",
780 + "WIFI_CLK",
781 + "SDA0",
782 + "SCL0",
783 + "SMPS_SCL",
784 + "SMPS_SDA",
785 + /* Used by SD Card */
786 + "SD_CLK_R",
787 + "SD_CMD_R",
788 + "SD_DATA0_R",
789 + "SD_DATA1_R",
790 + "SD_DATA2_R",
791 + "SD_DATA3_R";
792 +
793 spi0_pins: spi0_pins {
794 brcm,pins = <9 10 11>;
795 brcm,function = <4>; /* alt0 */
796 @@ -108,6 +176,14 @@
797 compatible = "raspberrypi,firmware-gpio";
798 gpio-controller;
799 #gpio-cells = <2>;
800 + gpio-line-names = "BT_ON",
801 + "WL_ON",
802 + "STATUS_LED",
803 + "LAN_RUN",
804 + "HDMI_HPD_N",
805 + "CAM_GPIO0",
806 + "CAM_GPIO1",
807 + "PWR_LOW_N";
808 status = "okay";
809 };
810 };
811 --- a/arch/arm/boot/dts/bcm2710-rpi-cm3.dts
812 +++ b/arch/arm/boot/dts/bcm2710-rpi-cm3.dts
813 @@ -24,6 +24,70 @@ cam0_reg: &cam0_regulator {
814 };
815
816 &gpio {
817 + /*
818 + * This is based on the official GPU firmware DT blob.
819 + *
820 + * Legend:
821 + * "NC" = not connected (no rail from the SoC)
822 + * "FOO" = GPIO line named "FOO" on the schematic
823 + * "FOO_N" = GPIO line named "FOO" on schematic, active low
824 + */
825 + gpio-line-names = "GPIO0",
826 + "GPIO1",
827 + "GPIO2",
828 + "GPIO3",
829 + "GPIO4",
830 + "GPIO5",
831 + "GPIO6",
832 + "GPIO7",
833 + "GPIO8",
834 + "GPIO9",
835 + "GPIO10",
836 + "GPIO11",
837 + "GPIO12",
838 + "GPIO13",
839 + "GPIO14",
840 + "GPIO15",
841 + "GPIO16",
842 + "GPIO17",
843 + "GPIO18",
844 + "GPIO19",
845 + "GPIO20",
846 + "GPIO21",
847 + "GPIO22",
848 + "GPIO23",
849 + "GPIO24",
850 + "GPIO25",
851 + "GPIO26",
852 + "GPIO27",
853 + "GPIO28",
854 + "GPIO29",
855 + "GPIO30",
856 + "GPIO31",
857 + "GPIO32",
858 + "GPIO33",
859 + "GPIO34",
860 + "GPIO35",
861 + "GPIO36",
862 + "GPIO37",
863 + "GPIO38",
864 + "GPIO39",
865 + "GPIO40",
866 + "GPIO41",
867 + "GPIO42",
868 + "GPIO43",
869 + "GPIO44",
870 + "GPIO45",
871 + "SMPS_SCL",
872 + "SMPS_SDA",
873 + /* Used by eMMC */
874 + "SD_CLK_R",
875 + "SD_CMD_R",
876 + "SD_DATA0_R",
877 + "SD_DATA1_R",
878 + "SD_DATA2_R",
879 + "SD_DATA3_R";
880 +
881 spi0_pins: spi0_pins {
882 brcm,pins = <9 10 11>;
883 brcm,function = <4>; /* alt0 */
884 @@ -71,6 +135,14 @@ cam0_reg: &cam0_regulator {
885 compatible = "raspberrypi,firmware-gpio";
886 gpio-controller;
887 #gpio-cells = <2>;
888 + gpio-line-names = "HDMI_HPD_N",
889 + "EMMC_EN_N",
890 + "NC",
891 + "NC",
892 + "NC",
893 + "NC",
894 + "NC",
895 + "NC";
896 status = "okay";
897 };
898 };
899 --- a/arch/arm/boot/dts/bcm2710-rpi-zero-2-w.dts
900 +++ b/arch/arm/boot/dts/bcm2710-rpi-zero-2-w.dts
901 @@ -22,6 +22,73 @@
902 };
903
904 &gpio {
905 + /*
906 + * This is based on the official GPU firmware DT blob.
907 + *
908 + * Legend:
909 + * "NC" = not connected (no rail from the SoC)
910 + * "FOO" = GPIO line named "FOO" on the schematic
911 + * "FOO_N" = GPIO line named "FOO" on schematic, active low
912 + */
913 + gpio-line-names = "ID_SDA",
914 + "ID_SCL",
915 + "SDA1",
916 + "SCL1",
917 + "GPIO_GCLK",
918 + "GPIO5",
919 + "GPIO6",
920 + "SPI_CE1_N",
921 + "SPI_CE0_N",
922 + "SPI_MISO",
923 + "SPI_MOSI",
924 + "SPI_SCLK",
925 + "GPIO12",
926 + "GPIO13",
927 + /* Serial port */
928 + "TXD0",
929 + "RXD0",
930 + "GPIO16",
931 + "GPIO17",
932 + "GPIO18",
933 + "GPIO19",
934 + "GPIO20",
935 + "GPIO21",
936 + "GPIO22",
937 + "GPIO23",
938 + "GPIO24",
939 + "GPIO25",
940 + "GPIO26",
941 + "GPIO27",
942 + "HDMI_HPD_N",
943 + "STATUS_LED_N",
944 + /* Used by BT module */
945 + "CTS0",
946 + "RTS0",
947 + "TXD0",
948 + "RXD0",
949 + /* Used by Wifi */
950 + "SD1_CLK",
951 + "SD1_CMD",
952 + "SD1_DATA0",
953 + "SD1_DATA1",
954 + "SD1_DATA2",
955 + "SD1_DATA3",
956 + "CAM_GPIO1", /* GPIO40 */
957 + "WL_ON", /* GPIO41 */
958 + "BT_ON", /* GPIO42 */
959 + "WIFI_CLK", /* GPIO43 */
960 + "SDA0", /* GPIO44 */
961 + "SCL0", /* GPIO45 */
962 + "SMPS_SCL", /* GPIO46 */
963 + "SMPS_SDA", /* GPIO47 */
964 + /* Used by SD Card */
965 + "SD_CLK_R",
966 + "SD_CMD_R",
967 + "SD_DATA0_R",
968 + "SD_DATA1_R",
969 + "SD_DATA2_R",
970 + "SD_DATA3_R";
971 +
972 spi0_pins: spi0_pins {
973 brcm,pins = <9 10 11>;
974 brcm,function = <4>; /* alt0 */