Merge tag 'v5.15.57' into rpi-5.15.y
[platform/kernel/linux-rpi.git] / arch / arm / boot / dts / bcm2711-rpi-ds.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 #include "bcm270x-rpi.dtsi"
3
4 / {
5         __overrides__ {
6                 arm_freq;
7         };
8
9         v3dbus: v3dbus {
10                 compatible = "simple-bus";
11                 #address-cells = <1>;
12                 #size-cells = <2>;
13                 ranges = <0x7c500000  0x0 0xfc500000  0x0 0x03300000>,
14                          <0x40000000  0x0 0xff800000  0x0 0x00800000>;
15                 dma-ranges = <0x00000000  0x0 0x00000000  0x4 0x00000000>;
16
17                 v3d: v3d@7ec04000 {
18                         compatible = "brcm,2711-v3d";
19                         reg =
20                             <0x7ec00000  0x0 0x4000>,
21                             <0x7ec04000  0x0 0x4000>;
22                         reg-names = "hub", "core0";
23
24                         power-domains = <&pm BCM2835_POWER_DOMAIN_GRAFX_V3D>;
25                         resets = <&pm BCM2835_RESET_V3D>;
26                         clocks = <&firmware_clocks 5>;
27                         clocks-names = "v3d";
28                         interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
29                         status = "disabled";
30                 };
31         };
32
33         scb: scb {
34              /* Add a label */
35         };
36 };
37
38 &vc4 {
39         raspberrypi,firmware = <&firmware>;
40 };
41
42 &cma {
43         /* Limit cma to the lower 768MB to allow room for HIGHMEM on 32-bit */
44         alloc-ranges = <0x0 0x00000000 0x30000000>;
45 };
46
47 &scb {
48         ranges = <0x0 0x7c000000  0x0 0xfc000000  0x0 0x03800000>,
49                  <0x0 0x40000000  0x0 0xff800000  0x0 0x00800000>,
50                  <0x6 0x00000000  0x6 0x00000000  0x0 0x40000000>,
51                  <0x0 0x00000000  0x0 0x00000000  0x0 0xfc000000>;
52         dma-ranges = <0x0 0x00000000  0x0 0x00000000  0x4 0x00000000>;
53
54         dma40: dma@7e007b00 {
55                 compatible = "brcm,bcm2711-dma";
56                 reg = <0x0 0x7e007b00  0x0 0x400>;
57                 interrupts =
58                         <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>, /* dma4 11 */
59                         <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>, /* dma4 12 */
60                         <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>, /* dma4 13 */
61                         <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; /* dma4 14 */
62                 interrupt-names = "dma11",
63                         "dma12",
64                         "dma13",
65                         "dma14";
66                 #dma-cells = <1>;
67                 brcm,dma-channel-mask = <0x7800>;
68         };
69
70         xhci: xhci@7e9c0000 {
71                 compatible = "generic-xhci";
72                 status = "disabled";
73                 reg = <0x0 0x7e9c0000  0x0 0x100000>;
74                 interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
75                 power-domains = <&power RPI_POWER_DOMAIN_USB>;
76         };
77
78         codec@7eb10000 {
79                 compatible = "raspberrypi,rpivid-vid-decoder";
80                 reg = <0x0 0x7eb10000  0x0 0x1000>,  /* INTC */
81                       <0x0 0x7eb00000  0x0 0x10000>; /* HEVC */
82                 reg-names = "intc",
83                             "hevc";
84                 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
85
86                 clocks = <&firmware_clocks 11>;
87                 clock-names = "hevc";
88         };
89 };
90
91 &dma40 {
92         /* The VPU firmware uses DMA channel 11 for VCHIQ */
93         brcm,dma-channel-mask = <0x7000>;
94 };
95
96 &vchiq {
97         compatible = "brcm,bcm2711-vchiq";
98 };
99
100 &firmwarekms {
101         compatible = "raspberrypi,rpi-firmware-kms-2711";
102         interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
103 };
104
105 &smi {
106         interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
107 };
108
109 &mmc {
110         interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
111 };
112
113 &mmcnr {
114         interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
115 };
116
117 &csi0 {
118         interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
119 };
120
121 &csi1 {
122         interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
123 };
124
125 &random {
126         compatible = "brcm,bcm2711-rng200";
127         status = "okay";
128 };
129
130 &usb {
131         /* Enable the FIQ support */
132         reg = <0x7e980000 0x10000>,
133               <0x7e00b200 0x200>;
134         interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
135                      <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
136         status = "disabled";
137 };
138
139 &gpio {
140         interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
141                      <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
142 };
143
144 &emmc2 {
145         mmc-ddr-3_3v;
146 };
147
148 &vc4 {
149         status = "disabled";
150 };
151
152 &pixelvalve0 {
153         status = "disabled";
154 };
155
156 &pixelvalve1 {
157         status = "disabled";
158 };
159
160 &pixelvalve2 {
161         status = "disabled";
162 };
163
164 &pixelvalve3 {
165         status = "disabled";
166 };
167
168 &pixelvalve4 {
169         status = "disabled";
170 };
171
172 &hdmi0 {
173         dmas = <&dma (10|(1<<27)|(1<<24)|(10<<16)|(15<<20))>;
174         status = "disabled";
175 };
176
177 &ddc0 {
178         status = "disabled";
179 };
180
181 &hdmi1 {
182         dmas = <&dma (17|(1<<27)|(1<<24)|(10<<16)|(15<<20))>;
183         status = "disabled";
184 };
185
186 &ddc1 {
187         status = "disabled";
188 };
189
190 &dvp {
191         status = "disabled";
192 };
193
194 &system_timer {
195         status = "disabled";
196 };