Merge tag 'v5.15.57' into rpi-5.15.y
[platform/kernel/linux-rpi.git] / arch / arm / boot / dts / bcm270x.dtsi
1 /* Downstream bcm283x.dtsi diff */
2 #include <dt-bindings/power/raspberrypi-power.h>
3
4 / {
5         chosen {
6                 bootargs = "coherent_pool=1M snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1";
7                 /delete-property/ stdout-path;
8         };
9
10         soc: soc {
11
12                 watchdog: watchdog@7e100000 {
13                         /* Add label */
14                 };
15
16                 random: rng@7e104000 {
17                         /* Add label */
18                 };
19
20                 spi0: spi@7e204000 {
21                         /* Add label */
22                 };
23
24 #ifndef BCM2711
25                 pixelvalve0: pixelvalve@7e206000 {
26                         /* Add label */
27                         status = "disabled";
28                 };
29
30                 pixelvalve1: pixelvalve@7e207000 {
31                         /* Add label */
32                         status = "disabled";
33                 };
34 #endif
35
36                 /delete-node/ mmc@7e300000;
37
38                 sdhci: mmc: mmc@7e300000 {
39                         compatible = "brcm,bcm2835-mmc", "brcm,bcm2835-sdhci";
40                         reg = <0x7e300000 0x100>;
41                         interrupts = <2 30>;
42                         clocks = <&clocks BCM2835_CLOCK_EMMC>;
43                         dmas = <&dma 11>;
44                         dma-names = "rx-tx";
45                         brcm,overclock-50 = <0>;
46                         status = "disabled";
47                 };
48
49                 /* A clone of mmc but with non-removable set */
50                 mmcnr: mmcnr@7e300000 {
51                         compatible = "brcm,bcm2835-mmc", "brcm,bcm2835-sdhci";
52                         reg = <0x7e300000 0x100>;
53                         interrupts = <2 30>;
54                         clocks = <&clocks BCM2835_CLOCK_EMMC>;
55                         dmas = <&dma 11>;
56                         dma-names = "rx-tx";
57                         brcm,overclock-50 = <0>;
58                         non-removable;
59                         status = "disabled";
60                 };
61
62                 hvs: hvs@7e400000 {
63                         /* Add label */
64                         status = "disabled";
65                 };
66
67                 firmwarekms: firmwarekms@7e600000 {
68                         compatible = "raspberrypi,rpi-firmware-kms";
69                         /* SMI interrupt reg */
70                         reg = <0x7e600000 0x100>;
71                         interrupts = <2 16>;
72                         brcm,firmware = <&firmware>;
73                         status = "disabled";
74                 };
75
76                 smi: smi@7e600000 {
77                         compatible = "brcm,bcm2835-smi";
78                         reg = <0x7e600000 0x100>;
79                         interrupts = <2 16>;
80                         clocks = <&clocks BCM2835_CLOCK_SMI>;
81                         assigned-clocks = <&clocks BCM2835_CLOCK_SMI>;
82                         assigned-clock-rates = <125000000>;
83                         dmas = <&dma 4>;
84                         dma-names = "rx-tx";
85                         status = "disabled";
86                 };
87
88                 csi0: csi@7e800000 {
89                         compatible = "brcm,bcm2835-unicam";
90                         reg = <0x7e800000 0x800>,
91                               <0x7e802000 0x4>;
92                         interrupts = <2 6>;
93                         clocks = <&clocks BCM2835_CLOCK_CAM0>,
94                                  <&firmware_clocks 4>;
95                         clock-names = "lp", "vpu";
96                         power-domains = <&power RPI_POWER_DOMAIN_UNICAM0>;
97                         #address-cells = <1>;
98                         #size-cells = <0>;
99                         #clock-cells = <1>;
100                         status = "disabled";
101                 };
102
103                 csi1: csi@7e801000 {
104                         compatible = "brcm,bcm2835-unicam";
105                         reg = <0x7e801000 0x800>,
106                               <0x7e802004 0x4>;
107                         interrupts = <2 7>;
108                         clocks = <&clocks BCM2835_CLOCK_CAM1>,
109                                  <&firmware_clocks 4>;
110                         clock-names = "lp", "vpu";
111                         power-domains = <&power RPI_POWER_DOMAIN_UNICAM1>;
112                         #address-cells = <1>;
113                         #size-cells = <0>;
114                         #clock-cells = <1>;
115                         status = "disabled";
116                 };
117
118 #ifndef BCM2711
119                 pixelvalve2: pixelvalve@7e807000 {
120                         /* Add label */
121                         status = "disabled";
122                 };
123 #endif
124
125                 hdmi@7e902000 { /* hdmi */
126                         status = "disabled";
127                 };
128
129                 usb@7e980000 { /* usb */
130                         compatible = "brcm,bcm2708-usb";
131                         reg = <0x7e980000 0x10000>,
132                               <0x7e006000 0x1000>;
133                         interrupt-names = "usb",
134                                           "soft";
135                         interrupts = <1 9>,
136                                      <2 0>;
137                 };
138
139 #ifndef BCM2711
140                 v3d@7ec00000 { /* vd3 */
141                         compatible = "brcm,vc4-v3d";
142                         power-domains = <&power RPI_POWER_DOMAIN_V3D>;
143                         status = "disabled";
144                 };
145 #endif
146
147                 axiperf: axiperf {
148                         compatible = "brcm,bcm2835-axiperf";
149                         reg = <0x7e009800 0x100>,
150                               <0x7ee08000 0x100>;
151                         firmware = <&firmware>;
152                         status = "disabled";
153                 };
154         };
155
156         cam1_reg: cam1_regulator {
157                 compatible = "regulator-fixed";
158                 regulator-name = "cam1-reg";
159                 enable-active-high;
160                 /* Needs to be enabled, as removing a regulator is very unsafe */
161                 status = "okay";
162         };
163
164         cam1_clk: cam1_clk {
165                 compatible = "fixed-clock";
166                 #clock-cells = <0>;
167                 status = "disabled";
168         };
169
170         cam0_regulator: cam0_regulator {
171                 compatible = "regulator-fixed";
172                 regulator-name = "cam0-reg";
173                 enable-active-high;
174                 status = "disabled";
175         };
176
177         cam0_clk: cam0_clk {
178                 compatible = "fixed-clock";
179                 #clock-cells = <0>;
180                 status = "disabled";
181         };
182
183         cam_dummy_reg: cam_dummy_reg {
184                 compatible = "regulator-fixed";
185                 regulator-name = "cam-dummy-reg";
186                 status = "okay";
187         };
188
189         __overrides__ {
190                 cam0-pwdn-ctrl;
191                 cam0-pwdn;
192                 cam0-led-ctrl;
193                 cam0-led;
194         };
195 };
196
197 &gpio {
198         interrupts = <2 17>, <2 18>;
199
200         dpi_18bit_cpadhi_gpio0: dpi_18bit_cpadhi_gpio0 {
201                 brcm,pins = <0 1 2 3 4 5 6 7 8 9
202                              12 13 14 15 16 17
203                              20 21 22 23 24 25>;
204                 brcm,function = <BCM2835_FSEL_ALT2>;
205                 brcm,pull = <0>; /* no pull */
206         };
207         dpi_18bit_cpadhi_gpio2: dpi_18bit_cpadhi_gpio2 {
208                 brcm,pins = <2 3 4 5 6 7 8 9
209                              12 13 14 15 16 17
210                              20 21 22 23 24 25>;
211                 brcm,function = <BCM2835_FSEL_ALT2>;
212         };
213         dpi_18bit_gpio0: dpi_18bit_gpio0 {
214                 brcm,pins = <0 1 2 3 4 5 6 7 8 9 10 11
215                              12 13 14 15 16 17 18 19
216                              20 21>;
217                 brcm,function = <BCM2835_FSEL_ALT2>;
218         };
219         dpi_18bit_gpio2: dpi_18bit_gpio2 {
220                 brcm,pins = <2 3 4 5 6 7 8 9 10 11
221                              12 13 14 15 16 17 18 19
222                              20 21>;
223                 brcm,function = <BCM2835_FSEL_ALT2>;
224         };
225         dpi_16bit_gpio0: dpi_16bit_gpio0 {
226                 brcm,pins = <0 1 2 3 4 5 6 7 8 9 10 11
227                              12 13 14 15 16 17 18 19>;
228                 brcm,function = <BCM2835_FSEL_ALT2>;
229         };
230         dpi_16bit_gpio2: dpi_16bit_gpio2 {
231                 brcm,pins = <2 3 4 5 6 7 8 9 10 11
232                              12 13 14 15 16 17 18 19>;
233                 brcm,function = <BCM2835_FSEL_ALT2>;
234         };
235         dpi_16bit_cpadhi_gpio0: dpi_16bit_cpadhi_gpio0 {
236                 brcm,pins = <0 1 2 3 4 5 6 7 8
237                              12 13 14 15 16 17
238                              20 21 22 23 24>;
239                 brcm,function = <BCM2835_FSEL_ALT2>;
240         };
241         dpi_16bit_cpadhi_gpio2: dpi_16bit_cpadhi_gpio2 {
242                 brcm,pins = <2 3 4 5 6 7 8
243                              12 13 14 15 16 17
244                              20 21 22 23 24>;
245                 brcm,function = <BCM2835_FSEL_ALT2>;
246         };
247 };
248
249 &uart0 {
250         /* Enable CTS bug workaround */
251         cts-event-workaround;
252 };
253
254 &i2s {
255         #sound-dai-cells = <0>;
256         dmas = <&dma 2>, <&dma 3>;
257         dma-names = "tx", "rx";
258 };
259
260 &sdhost {
261         dmas = <&dma (13|(1<<29))>;
262         dma-names = "rx-tx";
263         bus-width = <4>;
264         brcm,overclock-50 = <0>;
265         brcm,pio-limit = <1>;
266         firmware = <&firmware>;
267 };
268
269 &spi0 {
270         dmas = <&dma 6>, <&dma 7>;
271         dma-names = "tx", "rx";
272 };