Merge tag 'v5.15.57' into rpi-5.15.y
[platform/kernel/linux-rpi.git] / arch / arm / boot / dts / bcm2835-rpi-a.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /dts-v1/;
3 #include "bcm2835.dtsi"
4 #include "bcm2835-rpi.dtsi"
5 #include "bcm283x-rpi-usb-host.dtsi"
6
7 / {
8         compatible = "raspberrypi,model-a", "brcm,bcm2835";
9         model = "Raspberry Pi Model A";
10
11         memory@0 {
12                 device_type = "memory";
13                 reg = <0 0x10000000>;
14         };
15
16         leds {
17                 led-act {
18                         gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
19                 };
20         };
21 };
22
23 &gpio {
24         /*
25          * Taken from Raspberry-Pi-Rev-1.0-Model-AB-Schematics.pdf
26          * RPI00021 sheet 02
27          *
28          * Legend:
29          * "NC" = not connected (no rail from the SoC)
30          * "FOO" = GPIO line named "FOO" on the schematic
31          * "FOO_N" = GPIO line named "FOO" on schematic, active low
32          */
33         gpio-line-names = "SDA0",
34                           "SCL0",
35                           "SDA1",
36                           "SCL1",
37                           "GPIO_GCLK",
38                           "CAM_GPIO1",
39                           "LAN_RUN",
40                           "SPI_CE1_N",
41                           "SPI_CE0_N",
42                           "SPI_MISO",
43                           "SPI_MOSI",
44                           "SPI_SCLK",
45                           "NC", /* GPIO12 */
46                           "NC", /* GPIO13 */
47                           /* Serial port */
48                           "TXD0",
49                           "RXD0",
50                           "STATUS_LED_N",
51                           "GPIO17",
52                           "GPIO18",
53                           "NC", /* GPIO19 */
54                           "NC", /* GPIO20 */
55                           "GPIO21",
56                           "GPIO22",
57                           "GPIO23",
58                           "GPIO24",
59                           "GPIO25",
60                           "NC", /* GPIO26 */
61                           "CAM_GPIO0",
62                           /* Binary number representing build/revision */
63                           "CONFIG0",
64                           "CONFIG1",
65                           "CONFIG2",
66                           "CONFIG3",
67                           "NC", /* GPIO32 */
68                           "NC", /* GPIO33 */
69                           "NC", /* GPIO34 */
70                           "NC", /* GPIO35 */
71                           "NC", /* GPIO36 */
72                           "NC", /* GPIO37 */
73                           "NC", /* GPIO38 */
74                           "NC", /* GPIO39 */
75                           "PWM0_OUT",
76                           "NC", /* GPIO41 */
77                           "NC", /* GPIO42 */
78                           "NC", /* GPIO43 */
79                           "NC", /* GPIO44 */
80                           "PWM1_OUT",
81                           "HDMI_HPD_P",
82                           "SD_CARD_DET",
83                           /* Used by SD Card */
84                           "SD_CLK_R",
85                           "SD_CMD_R",
86                           "SD_DATA0_R",
87                           "SD_DATA1_R",
88                           "SD_DATA2_R",
89                           "SD_DATA3_R";
90
91         pinctrl-0 = <&gpioout &alt0 &i2s_alt2>;
92
93         /* I2S interface */
94         i2s_alt2: i2s_alt2 {
95                 brcm,pins = <28 29 30 31>;
96                 brcm,function = <BCM2835_FSEL_ALT2>;
97         };
98 };
99
100 &hdmi {
101         hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
102         power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
103         status = "okay";
104 };
105
106 &pwm {
107         pinctrl-names = "default";
108         pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>;
109         status = "okay";
110 };
111
112 &sdhost {
113         pinctrl-names = "default";
114         pinctrl-0 = <&sdhost_gpio48>;
115         bus-width = <4>;
116         status = "okay";
117 };
118
119 &uart0 {
120         pinctrl-names = "default";
121         pinctrl-0 = <&uart0_gpio14>;
122         status = "okay";
123 };
124
125 /* i2c0 on camera/display connector is gpio 0&1. Not exposed on header.
126  * To avoid having to remap everything, map both ports to gpios 0&1
127  */
128 &i2c0mux {
129         pinctrl-1 = <&i2c0_gpio0>;
130 };