xref: /freebsd-src/sys/contrib/device-tree/src/arm/broadcom/bcm2711.dtsi (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2f126890aSEmmanuel Vadot#include "bcm283x.dtsi"
3f126890aSEmmanuel Vadot
4f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
5f126890aSEmmanuel Vadot#include <dt-bindings/soc/bcm2835-pm.h>
6f126890aSEmmanuel Vadot
7f126890aSEmmanuel Vadot/ {
8f126890aSEmmanuel Vadot	compatible = "brcm,bcm2711";
9f126890aSEmmanuel Vadot
10f126890aSEmmanuel Vadot	#address-cells = <2>;
11f126890aSEmmanuel Vadot	#size-cells = <1>;
12f126890aSEmmanuel Vadot
13f126890aSEmmanuel Vadot	interrupt-parent = <&gicv2>;
14f126890aSEmmanuel Vadot
15f126890aSEmmanuel Vadot	vc4: gpu {
16f126890aSEmmanuel Vadot		compatible = "brcm,bcm2711-vc5";
17f126890aSEmmanuel Vadot		status = "disabled";
18f126890aSEmmanuel Vadot	};
19f126890aSEmmanuel Vadot
20f126890aSEmmanuel Vadot	clk_27MHz: clk-27M {
21f126890aSEmmanuel Vadot		#clock-cells = <0>;
22f126890aSEmmanuel Vadot		compatible = "fixed-clock";
23f126890aSEmmanuel Vadot		clock-frequency = <27000000>;
24f126890aSEmmanuel Vadot		clock-output-names = "27MHz-clock";
25f126890aSEmmanuel Vadot	};
26f126890aSEmmanuel Vadot
27f126890aSEmmanuel Vadot	clk_108MHz: clk-108M {
28f126890aSEmmanuel Vadot		#clock-cells = <0>;
29f126890aSEmmanuel Vadot		compatible = "fixed-clock";
30f126890aSEmmanuel Vadot		clock-frequency = <108000000>;
31f126890aSEmmanuel Vadot		clock-output-names = "108MHz-clock";
32f126890aSEmmanuel Vadot	};
33f126890aSEmmanuel Vadot
34f126890aSEmmanuel Vadot	soc {
35f126890aSEmmanuel Vadot		/*
36f126890aSEmmanuel Vadot		 * Defined ranges:
37f126890aSEmmanuel Vadot		 *   Common BCM283x peripherals
38f126890aSEmmanuel Vadot		 *   BCM2711-specific peripherals
39f126890aSEmmanuel Vadot		 *   ARM-local peripherals
40f126890aSEmmanuel Vadot		 */
41f126890aSEmmanuel Vadot		ranges = <0x7e000000  0x0 0xfe000000  0x01800000>,
42f126890aSEmmanuel Vadot			 <0x7c000000  0x0 0xfc000000  0x02000000>,
43f126890aSEmmanuel Vadot			 <0x40000000  0x0 0xff800000  0x00800000>;
44f126890aSEmmanuel Vadot		/* Emulate a contiguous 30-bit address range for DMA */
45f126890aSEmmanuel Vadot		dma-ranges = <0xc0000000  0x0 0x00000000  0x40000000>;
46f126890aSEmmanuel Vadot
47f126890aSEmmanuel Vadot		/*
48f126890aSEmmanuel Vadot		 * This node is the provider for the enable-method for
49f126890aSEmmanuel Vadot		 * bringing up secondary cores.
50f126890aSEmmanuel Vadot		 */
51f126890aSEmmanuel Vadot		local_intc: interrupt-controller@40000000 {
52f126890aSEmmanuel Vadot			compatible = "brcm,bcm2836-l1-intc";
53f126890aSEmmanuel Vadot			reg = <0x40000000 0x100>;
54f126890aSEmmanuel Vadot		};
55f126890aSEmmanuel Vadot
56f126890aSEmmanuel Vadot		gicv2: interrupt-controller@40041000 {
57f126890aSEmmanuel Vadot			interrupt-controller;
58f126890aSEmmanuel Vadot			#interrupt-cells = <3>;
59f126890aSEmmanuel Vadot			compatible = "arm,gic-400";
60f126890aSEmmanuel Vadot			reg =	<0x40041000 0x1000>,
61f126890aSEmmanuel Vadot				<0x40042000 0x2000>,
62f126890aSEmmanuel Vadot				<0x40044000 0x2000>,
63f126890aSEmmanuel Vadot				<0x40046000 0x2000>;
64f126890aSEmmanuel Vadot			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) |
65f126890aSEmmanuel Vadot						 IRQ_TYPE_LEVEL_HIGH)>;
66f126890aSEmmanuel Vadot		};
67f126890aSEmmanuel Vadot
68f126890aSEmmanuel Vadot		avs_monitor: avs-monitor@7d5d2000 {
69f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-avs-monitor",
70f126890aSEmmanuel Vadot				     "syscon", "simple-mfd";
71f126890aSEmmanuel Vadot			reg = <0x7d5d2000 0xf00>;
72f126890aSEmmanuel Vadot
73f126890aSEmmanuel Vadot			thermal: thermal {
74f126890aSEmmanuel Vadot				compatible = "brcm,bcm2711-thermal";
75f126890aSEmmanuel Vadot				#thermal-sensor-cells = <0>;
76f126890aSEmmanuel Vadot			};
77f126890aSEmmanuel Vadot		};
78f126890aSEmmanuel Vadot
79aa1a8ff2SEmmanuel Vadot		dma: dma-controller@7e007000 {
80f126890aSEmmanuel Vadot			compatible = "brcm,bcm2835-dma";
81f126890aSEmmanuel Vadot			reg = <0x7e007000 0xb00>;
82f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
83f126890aSEmmanuel Vadot				     <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
84f126890aSEmmanuel Vadot				     <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
85f126890aSEmmanuel Vadot				     <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
86f126890aSEmmanuel Vadot				     <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
87f126890aSEmmanuel Vadot				     <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
88f126890aSEmmanuel Vadot				     <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
89f126890aSEmmanuel Vadot				     /* DMA lite 7 - 10 */
90f126890aSEmmanuel Vadot				     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
91f126890aSEmmanuel Vadot				     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
92f126890aSEmmanuel Vadot				     <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
93f126890aSEmmanuel Vadot				     <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
94f126890aSEmmanuel Vadot			interrupt-names = "dma0",
95f126890aSEmmanuel Vadot					  "dma1",
96f126890aSEmmanuel Vadot					  "dma2",
97f126890aSEmmanuel Vadot					  "dma3",
98f126890aSEmmanuel Vadot					  "dma4",
99f126890aSEmmanuel Vadot					  "dma5",
100f126890aSEmmanuel Vadot					  "dma6",
101f126890aSEmmanuel Vadot					  "dma7",
102f126890aSEmmanuel Vadot					  "dma8",
103f126890aSEmmanuel Vadot					  "dma9",
104f126890aSEmmanuel Vadot					  "dma10";
105f126890aSEmmanuel Vadot			#dma-cells = <1>;
106f126890aSEmmanuel Vadot			brcm,dma-channel-mask = <0x07f5>;
107f126890aSEmmanuel Vadot		};
108f126890aSEmmanuel Vadot
109f126890aSEmmanuel Vadot		pm: watchdog@7e100000 {
110f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-pm", "brcm,bcm2835-pm-wdt";
111f126890aSEmmanuel Vadot			#power-domain-cells = <1>;
112f126890aSEmmanuel Vadot			#reset-cells = <1>;
113f126890aSEmmanuel Vadot			reg = <0x7e100000 0x114>,
114f126890aSEmmanuel Vadot			      <0x7e00a000 0x24>,
115f126890aSEmmanuel Vadot			      <0x7ec11000 0x20>;
116f126890aSEmmanuel Vadot			reg-names = "pm", "asb", "rpivid_asb";
117f126890aSEmmanuel Vadot			clocks = <&clocks BCM2835_CLOCK_V3D>,
118f126890aSEmmanuel Vadot				 <&clocks BCM2835_CLOCK_PERI_IMAGE>,
119f126890aSEmmanuel Vadot				 <&clocks BCM2835_CLOCK_H264>,
120f126890aSEmmanuel Vadot				 <&clocks BCM2835_CLOCK_ISP>;
121f126890aSEmmanuel Vadot			clock-names = "v3d", "peri_image", "h264", "isp";
122f126890aSEmmanuel Vadot			system-power-controller;
123f126890aSEmmanuel Vadot		};
124f126890aSEmmanuel Vadot
125f126890aSEmmanuel Vadot		rng@7e104000 {
126f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-rng200";
127f126890aSEmmanuel Vadot			reg = <0x7e104000 0x28>;
128f126890aSEmmanuel Vadot		};
129f126890aSEmmanuel Vadot
130f126890aSEmmanuel Vadot		uart2: serial@7e201400 {
131f126890aSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
132f126890aSEmmanuel Vadot			reg = <0x7e201400 0x200>;
133f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
134f126890aSEmmanuel Vadot			clocks = <&clocks BCM2835_CLOCK_UART>,
135f126890aSEmmanuel Vadot				 <&clocks BCM2835_CLOCK_VPU>;
136f126890aSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
137f126890aSEmmanuel Vadot			arm,primecell-periphid = <0x00241011>;
138f126890aSEmmanuel Vadot			status = "disabled";
139f126890aSEmmanuel Vadot		};
140f126890aSEmmanuel Vadot
141f126890aSEmmanuel Vadot		uart3: serial@7e201600 {
142f126890aSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
143f126890aSEmmanuel Vadot			reg = <0x7e201600 0x200>;
144f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
145f126890aSEmmanuel Vadot			clocks = <&clocks BCM2835_CLOCK_UART>,
146f126890aSEmmanuel Vadot				 <&clocks BCM2835_CLOCK_VPU>;
147f126890aSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
148f126890aSEmmanuel Vadot			arm,primecell-periphid = <0x00241011>;
149f126890aSEmmanuel Vadot			status = "disabled";
150f126890aSEmmanuel Vadot		};
151f126890aSEmmanuel Vadot
152f126890aSEmmanuel Vadot		uart4: serial@7e201800 {
153f126890aSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
154f126890aSEmmanuel Vadot			reg = <0x7e201800 0x200>;
155f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
156f126890aSEmmanuel Vadot			clocks = <&clocks BCM2835_CLOCK_UART>,
157f126890aSEmmanuel Vadot				 <&clocks BCM2835_CLOCK_VPU>;
158f126890aSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
159f126890aSEmmanuel Vadot			arm,primecell-periphid = <0x00241011>;
160f126890aSEmmanuel Vadot			status = "disabled";
161f126890aSEmmanuel Vadot		};
162f126890aSEmmanuel Vadot
163f126890aSEmmanuel Vadot		uart5: serial@7e201a00 {
164f126890aSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
165f126890aSEmmanuel Vadot			reg = <0x7e201a00 0x200>;
166f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
167f126890aSEmmanuel Vadot			clocks = <&clocks BCM2835_CLOCK_UART>,
168f126890aSEmmanuel Vadot				 <&clocks BCM2835_CLOCK_VPU>;
169f126890aSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
170f126890aSEmmanuel Vadot			arm,primecell-periphid = <0x00241011>;
171f126890aSEmmanuel Vadot			status = "disabled";
172f126890aSEmmanuel Vadot		};
173f126890aSEmmanuel Vadot
174f126890aSEmmanuel Vadot		spi3: spi@7e204600 {
175f126890aSEmmanuel Vadot			compatible = "brcm,bcm2835-spi";
176f126890aSEmmanuel Vadot			reg = <0x7e204600 0x0200>;
177f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
178f126890aSEmmanuel Vadot			clocks = <&clocks BCM2835_CLOCK_VPU>;
179f126890aSEmmanuel Vadot			#address-cells = <1>;
180f126890aSEmmanuel Vadot			#size-cells = <0>;
181f126890aSEmmanuel Vadot			status = "disabled";
182f126890aSEmmanuel Vadot		};
183f126890aSEmmanuel Vadot
184f126890aSEmmanuel Vadot		spi4: spi@7e204800 {
185f126890aSEmmanuel Vadot			compatible = "brcm,bcm2835-spi";
186f126890aSEmmanuel Vadot			reg = <0x7e204800 0x0200>;
187f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
188f126890aSEmmanuel Vadot			clocks = <&clocks BCM2835_CLOCK_VPU>;
189f126890aSEmmanuel Vadot			#address-cells = <1>;
190f126890aSEmmanuel Vadot			#size-cells = <0>;
191f126890aSEmmanuel Vadot			status = "disabled";
192f126890aSEmmanuel Vadot		};
193f126890aSEmmanuel Vadot
194f126890aSEmmanuel Vadot		spi5: spi@7e204a00 {
195f126890aSEmmanuel Vadot			compatible = "brcm,bcm2835-spi";
196f126890aSEmmanuel Vadot			reg = <0x7e204a00 0x0200>;
197f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
198f126890aSEmmanuel Vadot			clocks = <&clocks BCM2835_CLOCK_VPU>;
199f126890aSEmmanuel Vadot			#address-cells = <1>;
200f126890aSEmmanuel Vadot			#size-cells = <0>;
201f126890aSEmmanuel Vadot			status = "disabled";
202f126890aSEmmanuel Vadot		};
203f126890aSEmmanuel Vadot
204f126890aSEmmanuel Vadot		spi6: spi@7e204c00 {
205f126890aSEmmanuel Vadot			compatible = "brcm,bcm2835-spi";
206f126890aSEmmanuel Vadot			reg = <0x7e204c00 0x0200>;
207f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
208f126890aSEmmanuel Vadot			clocks = <&clocks BCM2835_CLOCK_VPU>;
209f126890aSEmmanuel Vadot			#address-cells = <1>;
210f126890aSEmmanuel Vadot			#size-cells = <0>;
211f126890aSEmmanuel Vadot			status = "disabled";
212f126890aSEmmanuel Vadot		};
213f126890aSEmmanuel Vadot
214f126890aSEmmanuel Vadot		i2c3: i2c@7e205600 {
215f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c";
216f126890aSEmmanuel Vadot			reg = <0x7e205600 0x200>;
217f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
218f126890aSEmmanuel Vadot			clocks = <&clocks BCM2835_CLOCK_VPU>;
219f126890aSEmmanuel Vadot			#address-cells = <1>;
220f126890aSEmmanuel Vadot			#size-cells = <0>;
221f126890aSEmmanuel Vadot			status = "disabled";
222f126890aSEmmanuel Vadot		};
223f126890aSEmmanuel Vadot
224f126890aSEmmanuel Vadot		i2c4: i2c@7e205800 {
225f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c";
226f126890aSEmmanuel Vadot			reg = <0x7e205800 0x200>;
227f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
228f126890aSEmmanuel Vadot			clocks = <&clocks BCM2835_CLOCK_VPU>;
229f126890aSEmmanuel Vadot			#address-cells = <1>;
230f126890aSEmmanuel Vadot			#size-cells = <0>;
231f126890aSEmmanuel Vadot			status = "disabled";
232f126890aSEmmanuel Vadot		};
233f126890aSEmmanuel Vadot
234f126890aSEmmanuel Vadot		i2c5: i2c@7e205a00 {
235f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c";
236f126890aSEmmanuel Vadot			reg = <0x7e205a00 0x200>;
237f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
238f126890aSEmmanuel Vadot			clocks = <&clocks BCM2835_CLOCK_VPU>;
239f126890aSEmmanuel Vadot			#address-cells = <1>;
240f126890aSEmmanuel Vadot			#size-cells = <0>;
241f126890aSEmmanuel Vadot			status = "disabled";
242f126890aSEmmanuel Vadot		};
243f126890aSEmmanuel Vadot
244f126890aSEmmanuel Vadot		i2c6: i2c@7e205c00 {
245f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c";
246f126890aSEmmanuel Vadot			reg = <0x7e205c00 0x200>;
247f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
248f126890aSEmmanuel Vadot			clocks = <&clocks BCM2835_CLOCK_VPU>;
249f126890aSEmmanuel Vadot			#address-cells = <1>;
250f126890aSEmmanuel Vadot			#size-cells = <0>;
251f126890aSEmmanuel Vadot			status = "disabled";
252f126890aSEmmanuel Vadot		};
253f126890aSEmmanuel Vadot
254f126890aSEmmanuel Vadot		pixelvalve0: pixelvalve@7e206000 {
255f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-pixelvalve0";
256f126890aSEmmanuel Vadot			reg = <0x7e206000 0x100>;
257f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
258f126890aSEmmanuel Vadot			status = "disabled";
259f126890aSEmmanuel Vadot		};
260f126890aSEmmanuel Vadot
261f126890aSEmmanuel Vadot		pixelvalve1: pixelvalve@7e207000 {
262f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-pixelvalve1";
263f126890aSEmmanuel Vadot			reg = <0x7e207000 0x100>;
264f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
265f126890aSEmmanuel Vadot			status = "disabled";
266f126890aSEmmanuel Vadot		};
267f126890aSEmmanuel Vadot
268f126890aSEmmanuel Vadot		pixelvalve2: pixelvalve@7e20a000 {
269f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-pixelvalve2";
270f126890aSEmmanuel Vadot			reg = <0x7e20a000 0x100>;
271f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
272f126890aSEmmanuel Vadot			status = "disabled";
273f126890aSEmmanuel Vadot		};
274f126890aSEmmanuel Vadot
275f126890aSEmmanuel Vadot		pwm1: pwm@7e20c800 {
276f126890aSEmmanuel Vadot			compatible = "brcm,bcm2835-pwm";
277f126890aSEmmanuel Vadot			reg = <0x7e20c800 0x28>;
278f126890aSEmmanuel Vadot			clocks = <&clocks BCM2835_CLOCK_PWM>;
279f126890aSEmmanuel Vadot			assigned-clocks = <&clocks BCM2835_CLOCK_PWM>;
280f126890aSEmmanuel Vadot			assigned-clock-rates = <10000000>;
281aa1a8ff2SEmmanuel Vadot			#pwm-cells = <3>;
282f126890aSEmmanuel Vadot			status = "disabled";
283f126890aSEmmanuel Vadot		};
284f126890aSEmmanuel Vadot
285f126890aSEmmanuel Vadot		pixelvalve4: pixelvalve@7e216000 {
286f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-pixelvalve4";
287f126890aSEmmanuel Vadot			reg = <0x7e216000 0x100>;
288f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
289f126890aSEmmanuel Vadot			status = "disabled";
290f126890aSEmmanuel Vadot		};
291f126890aSEmmanuel Vadot
292f126890aSEmmanuel Vadot		hvs: hvs@7e400000 {
293f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-hvs";
294f126890aSEmmanuel Vadot			reg = <0x7e400000 0x8000>;
295f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
296f126890aSEmmanuel Vadot		};
297f126890aSEmmanuel Vadot
298f126890aSEmmanuel Vadot		pixelvalve3: pixelvalve@7ec12000 {
299f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-pixelvalve3";
300f126890aSEmmanuel Vadot			reg = <0x7ec12000 0x100>;
301f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
302f126890aSEmmanuel Vadot			status = "disabled";
303f126890aSEmmanuel Vadot		};
304f126890aSEmmanuel Vadot
305f126890aSEmmanuel Vadot		vec: vec@7ec13000 {
306f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-vec";
307f126890aSEmmanuel Vadot			reg = <0x7ec13000 0x1000>;
308f126890aSEmmanuel Vadot			clocks = <&clocks BCM2835_CLOCK_VEC>;
309f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
310f126890aSEmmanuel Vadot			status = "disabled";
311f126890aSEmmanuel Vadot		};
312f126890aSEmmanuel Vadot
313f126890aSEmmanuel Vadot		dvp: clock@7ef00000 {
314f126890aSEmmanuel Vadot			compatible = "brcm,brcm2711-dvp";
315f126890aSEmmanuel Vadot			reg = <0x7ef00000 0x10>;
316f126890aSEmmanuel Vadot			clocks = <&clk_108MHz>;
317f126890aSEmmanuel Vadot			#clock-cells = <1>;
318f126890aSEmmanuel Vadot			#reset-cells = <1>;
319f126890aSEmmanuel Vadot		};
320f126890aSEmmanuel Vadot
321f126890aSEmmanuel Vadot		aon_intr: interrupt-controller@7ef00100 {
322f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-l2-intc", "brcm,l2-intc";
323f126890aSEmmanuel Vadot			reg = <0x7ef00100 0x30>;
324f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
325f126890aSEmmanuel Vadot			interrupt-controller;
326f126890aSEmmanuel Vadot			#interrupt-cells = <1>;
327f126890aSEmmanuel Vadot		};
328f126890aSEmmanuel Vadot
329f126890aSEmmanuel Vadot		hdmi0: hdmi@7ef00700 {
330f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-hdmi0";
331f126890aSEmmanuel Vadot			reg = <0x7ef00700 0x300>,
332f126890aSEmmanuel Vadot			      <0x7ef00300 0x200>,
333f126890aSEmmanuel Vadot			      <0x7ef00f00 0x80>,
334f126890aSEmmanuel Vadot			      <0x7ef00f80 0x80>,
335f126890aSEmmanuel Vadot			      <0x7ef01b00 0x200>,
336f126890aSEmmanuel Vadot			      <0x7ef01f00 0x400>,
337f126890aSEmmanuel Vadot			      <0x7ef00200 0x80>,
338f126890aSEmmanuel Vadot			      <0x7ef04300 0x100>,
339f126890aSEmmanuel Vadot			      <0x7ef20000 0x100>;
340f126890aSEmmanuel Vadot			reg-names = "hdmi",
341f126890aSEmmanuel Vadot				    "dvp",
342f126890aSEmmanuel Vadot				    "phy",
343f126890aSEmmanuel Vadot				    "rm",
344f126890aSEmmanuel Vadot				    "packet",
345f126890aSEmmanuel Vadot				    "metadata",
346f126890aSEmmanuel Vadot				    "csc",
347f126890aSEmmanuel Vadot				    "cec",
348f126890aSEmmanuel Vadot				    "hd";
349f126890aSEmmanuel Vadot			clock-names = "hdmi", "bvb", "audio", "cec";
350f126890aSEmmanuel Vadot			resets = <&dvp 0>;
351f126890aSEmmanuel Vadot			interrupt-parent = <&aon_intr>;
352f126890aSEmmanuel Vadot			interrupts = <0>, <1>, <2>,
353f126890aSEmmanuel Vadot				     <3>, <4>, <5>;
354f126890aSEmmanuel Vadot			interrupt-names = "cec-tx", "cec-rx", "cec-low",
355f126890aSEmmanuel Vadot					  "wakeup", "hpd-connected", "hpd-removed";
356f126890aSEmmanuel Vadot			ddc = <&ddc0>;
357f126890aSEmmanuel Vadot			dmas = <&dma 10>;
358f126890aSEmmanuel Vadot			dma-names = "audio-rx";
359f126890aSEmmanuel Vadot			status = "disabled";
360f126890aSEmmanuel Vadot		};
361f126890aSEmmanuel Vadot
362f126890aSEmmanuel Vadot		ddc0: i2c@7ef04500 {
363f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-hdmi-i2c";
364f126890aSEmmanuel Vadot			reg = <0x7ef04500 0x100>, <0x7ef00b00 0x300>;
365f126890aSEmmanuel Vadot			reg-names = "bsc", "auto-i2c";
366f126890aSEmmanuel Vadot			clock-frequency = <97500>;
367f126890aSEmmanuel Vadot			status = "disabled";
368f126890aSEmmanuel Vadot		};
369f126890aSEmmanuel Vadot
370f126890aSEmmanuel Vadot		hdmi1: hdmi@7ef05700 {
371f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-hdmi1";
372f126890aSEmmanuel Vadot			reg = <0x7ef05700 0x300>,
373f126890aSEmmanuel Vadot			      <0x7ef05300 0x200>,
374f126890aSEmmanuel Vadot			      <0x7ef05f00 0x80>,
375f126890aSEmmanuel Vadot			      <0x7ef05f80 0x80>,
376f126890aSEmmanuel Vadot			      <0x7ef06b00 0x200>,
377f126890aSEmmanuel Vadot			      <0x7ef06f00 0x400>,
378f126890aSEmmanuel Vadot			      <0x7ef00280 0x80>,
379f126890aSEmmanuel Vadot			      <0x7ef09300 0x100>,
380f126890aSEmmanuel Vadot			      <0x7ef20000 0x100>;
381f126890aSEmmanuel Vadot			reg-names = "hdmi",
382f126890aSEmmanuel Vadot				    "dvp",
383f126890aSEmmanuel Vadot				    "phy",
384f126890aSEmmanuel Vadot				    "rm",
385f126890aSEmmanuel Vadot				    "packet",
386f126890aSEmmanuel Vadot				    "metadata",
387f126890aSEmmanuel Vadot				    "csc",
388f126890aSEmmanuel Vadot				    "cec",
389f126890aSEmmanuel Vadot				    "hd";
390f126890aSEmmanuel Vadot			ddc = <&ddc1>;
391f126890aSEmmanuel Vadot			clock-names = "hdmi", "bvb", "audio", "cec";
392f126890aSEmmanuel Vadot			resets = <&dvp 1>;
393f126890aSEmmanuel Vadot			interrupt-parent = <&aon_intr>;
394f126890aSEmmanuel Vadot			interrupts = <8>, <7>, <6>,
395f126890aSEmmanuel Vadot				     <9>, <10>, <11>;
396f126890aSEmmanuel Vadot			interrupt-names = "cec-tx", "cec-rx", "cec-low",
397f126890aSEmmanuel Vadot					  "wakeup", "hpd-connected", "hpd-removed";
398f126890aSEmmanuel Vadot			dmas = <&dma 17>;
399f126890aSEmmanuel Vadot			dma-names = "audio-rx";
400f126890aSEmmanuel Vadot			status = "disabled";
401f126890aSEmmanuel Vadot		};
402f126890aSEmmanuel Vadot
403f126890aSEmmanuel Vadot		ddc1: i2c@7ef09500 {
404f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-hdmi-i2c";
405f126890aSEmmanuel Vadot			reg = <0x7ef09500 0x100>, <0x7ef05b00 0x300>;
406f126890aSEmmanuel Vadot			reg-names = "bsc", "auto-i2c";
407f126890aSEmmanuel Vadot			clock-frequency = <97500>;
408f126890aSEmmanuel Vadot			status = "disabled";
409f126890aSEmmanuel Vadot		};
410f126890aSEmmanuel Vadot	};
411f126890aSEmmanuel Vadot
412f126890aSEmmanuel Vadot	/*
413f126890aSEmmanuel Vadot	 * emmc2 has different DMA constraints based on SoC revisions. It was
414f126890aSEmmanuel Vadot	 * moved into its own bus, so as for RPi4's firmware to update them.
415f126890aSEmmanuel Vadot	 * The firmware will find whether the emmc2bus alias is defined, and if
416f126890aSEmmanuel Vadot	 * so, it'll edit the dma-ranges property below accordingly.
417f126890aSEmmanuel Vadot	 */
418f126890aSEmmanuel Vadot	emmc2bus: emmc2bus {
419f126890aSEmmanuel Vadot		compatible = "simple-bus";
420f126890aSEmmanuel Vadot		#address-cells = <2>;
421f126890aSEmmanuel Vadot		#size-cells = <1>;
422f126890aSEmmanuel Vadot
423f126890aSEmmanuel Vadot		ranges = <0x0 0x7e000000  0x0 0xfe000000  0x01800000>;
424f126890aSEmmanuel Vadot		dma-ranges = <0x0 0xc0000000  0x0 0x00000000  0x40000000>;
425f126890aSEmmanuel Vadot
426f126890aSEmmanuel Vadot		emmc2: mmc@7e340000 {
427f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-emmc2";
428f126890aSEmmanuel Vadot			reg = <0x0 0x7e340000 0x100>;
429f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
430f126890aSEmmanuel Vadot			clocks = <&clocks BCM2711_CLOCK_EMMC2>;
431f126890aSEmmanuel Vadot			status = "disabled";
432f126890aSEmmanuel Vadot		};
433f126890aSEmmanuel Vadot	};
434f126890aSEmmanuel Vadot
435*7d0873ebSEmmanuel Vadot	pmu {
436*7d0873ebSEmmanuel Vadot		compatible = "arm,cortex-a72-pmu";
437f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
438f126890aSEmmanuel Vadot			<GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
439f126890aSEmmanuel Vadot			<GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
440f126890aSEmmanuel Vadot			<GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
441f126890aSEmmanuel Vadot		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
442f126890aSEmmanuel Vadot	};
443f126890aSEmmanuel Vadot
444f126890aSEmmanuel Vadot	timer {
445f126890aSEmmanuel Vadot		compatible = "arm,armv8-timer";
446f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) |
447f126890aSEmmanuel Vadot					  IRQ_TYPE_LEVEL_LOW)>,
448f126890aSEmmanuel Vadot			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) |
449f126890aSEmmanuel Vadot					  IRQ_TYPE_LEVEL_LOW)>,
450f126890aSEmmanuel Vadot			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) |
451f126890aSEmmanuel Vadot					  IRQ_TYPE_LEVEL_LOW)>,
452f126890aSEmmanuel Vadot			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) |
453f126890aSEmmanuel Vadot					  IRQ_TYPE_LEVEL_LOW)>;
454f126890aSEmmanuel Vadot		/* This only applies to the ARMv7 stub */
455f126890aSEmmanuel Vadot		arm,cpu-registers-not-fw-configured;
456f126890aSEmmanuel Vadot	};
457f126890aSEmmanuel Vadot
458f126890aSEmmanuel Vadot	cpus: cpus {
459f126890aSEmmanuel Vadot		#address-cells = <1>;
460f126890aSEmmanuel Vadot		#size-cells = <0>;
461f126890aSEmmanuel Vadot		enable-method = "brcm,bcm2836-smp"; // for ARM 32-bit
462f126890aSEmmanuel Vadot
463f126890aSEmmanuel Vadot		/* Source for d/i-cache-line-size and d/i-cache-sets
464f126890aSEmmanuel Vadot		 * https://developer.arm.com/documentation/100095/0003
465f126890aSEmmanuel Vadot		 * /Level-1-Memory-System/About-the-L1-memory-system?lang=en
466f126890aSEmmanuel Vadot		 * Source for d/i-cache-size
467f126890aSEmmanuel Vadot		 * https://www.raspberrypi.com/documentation/computers
468f126890aSEmmanuel Vadot		 * /processors.html#bcm2711
469f126890aSEmmanuel Vadot		 */
470f126890aSEmmanuel Vadot		cpu0: cpu@0 {
471f126890aSEmmanuel Vadot			device_type = "cpu";
472f126890aSEmmanuel Vadot			compatible = "arm,cortex-a72";
473f126890aSEmmanuel Vadot			reg = <0>;
474f126890aSEmmanuel Vadot			enable-method = "spin-table";
475f126890aSEmmanuel Vadot			cpu-release-addr = <0x0 0x000000d8>;
476f126890aSEmmanuel Vadot			d-cache-size = <0x8000>;
477f126890aSEmmanuel Vadot			d-cache-line-size = <64>;
478f126890aSEmmanuel Vadot			d-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set
479f126890aSEmmanuel Vadot			i-cache-size = <0xc000>;
480f126890aSEmmanuel Vadot			i-cache-line-size = <64>;
481f126890aSEmmanuel Vadot			i-cache-sets = <256>; // 48KiB(size)/64(line-size)=768ways/3-way set
482f126890aSEmmanuel Vadot			next-level-cache = <&l2>;
483f126890aSEmmanuel Vadot		};
484f126890aSEmmanuel Vadot
485f126890aSEmmanuel Vadot		cpu1: cpu@1 {
486f126890aSEmmanuel Vadot			device_type = "cpu";
487f126890aSEmmanuel Vadot			compatible = "arm,cortex-a72";
488f126890aSEmmanuel Vadot			reg = <1>;
489f126890aSEmmanuel Vadot			enable-method = "spin-table";
490f126890aSEmmanuel Vadot			cpu-release-addr = <0x0 0x000000e0>;
491f126890aSEmmanuel Vadot			d-cache-size = <0x8000>;
492f126890aSEmmanuel Vadot			d-cache-line-size = <64>;
493f126890aSEmmanuel Vadot			d-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set
494f126890aSEmmanuel Vadot			i-cache-size = <0xc000>;
495f126890aSEmmanuel Vadot			i-cache-line-size = <64>;
496f126890aSEmmanuel Vadot			i-cache-sets = <256>; // 48KiB(size)/64(line-size)=768ways/3-way set
497f126890aSEmmanuel Vadot			next-level-cache = <&l2>;
498f126890aSEmmanuel Vadot		};
499f126890aSEmmanuel Vadot
500f126890aSEmmanuel Vadot		cpu2: cpu@2 {
501f126890aSEmmanuel Vadot			device_type = "cpu";
502f126890aSEmmanuel Vadot			compatible = "arm,cortex-a72";
503f126890aSEmmanuel Vadot			reg = <2>;
504f126890aSEmmanuel Vadot			enable-method = "spin-table";
505f126890aSEmmanuel Vadot			cpu-release-addr = <0x0 0x000000e8>;
506f126890aSEmmanuel Vadot			d-cache-size = <0x8000>;
507f126890aSEmmanuel Vadot			d-cache-line-size = <64>;
508f126890aSEmmanuel Vadot			d-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set
509f126890aSEmmanuel Vadot			i-cache-size = <0xc000>;
510f126890aSEmmanuel Vadot			i-cache-line-size = <64>;
511f126890aSEmmanuel Vadot			i-cache-sets = <256>; // 48KiB(size)/64(line-size)=768ways/3-way set
512f126890aSEmmanuel Vadot			next-level-cache = <&l2>;
513f126890aSEmmanuel Vadot		};
514f126890aSEmmanuel Vadot
515f126890aSEmmanuel Vadot		cpu3: cpu@3 {
516f126890aSEmmanuel Vadot			device_type = "cpu";
517f126890aSEmmanuel Vadot			compatible = "arm,cortex-a72";
518f126890aSEmmanuel Vadot			reg = <3>;
519f126890aSEmmanuel Vadot			enable-method = "spin-table";
520f126890aSEmmanuel Vadot			cpu-release-addr = <0x0 0x000000f0>;
521f126890aSEmmanuel Vadot			d-cache-size = <0x8000>;
522f126890aSEmmanuel Vadot			d-cache-line-size = <64>;
523f126890aSEmmanuel Vadot			d-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set
524f126890aSEmmanuel Vadot			i-cache-size = <0xc000>;
525f126890aSEmmanuel Vadot			i-cache-line-size = <64>;
526f126890aSEmmanuel Vadot			i-cache-sets = <256>; // 48KiB(size)/64(line-size)=768ways/3-way set
527f126890aSEmmanuel Vadot			next-level-cache = <&l2>;
528f126890aSEmmanuel Vadot		};
529f126890aSEmmanuel Vadot
530f126890aSEmmanuel Vadot		/* Source for d/i-cache-line-size and d/i-cache-sets
531f126890aSEmmanuel Vadot		 *  https://developer.arm.com/documentation/100095/0003
532f126890aSEmmanuel Vadot		 *  /Level-2-Memory-System/About-the-L2-memory-system?lang=en
533f126890aSEmmanuel Vadot		 *  Source for d/i-cache-size
534f126890aSEmmanuel Vadot		 *  https://www.raspberrypi.com/documentation/computers
535f126890aSEmmanuel Vadot		 *  /processors.html#bcm2711
536f126890aSEmmanuel Vadot		 */
537f126890aSEmmanuel Vadot		l2: l2-cache0 {
538f126890aSEmmanuel Vadot			compatible = "cache";
539f126890aSEmmanuel Vadot			cache-unified;
540f126890aSEmmanuel Vadot			cache-size = <0x100000>;
541f126890aSEmmanuel Vadot			cache-line-size = <64>;
542f126890aSEmmanuel Vadot			cache-sets = <1024>; // 1MiB(size)/64(line-size)=16384ways/16-way set
543f126890aSEmmanuel Vadot			cache-level = <2>;
544f126890aSEmmanuel Vadot		};
545f126890aSEmmanuel Vadot	};
546f126890aSEmmanuel Vadot
547f126890aSEmmanuel Vadot	scb {
548f126890aSEmmanuel Vadot		compatible = "simple-bus";
549f126890aSEmmanuel Vadot		#address-cells = <2>;
550f126890aSEmmanuel Vadot		#size-cells = <1>;
551f126890aSEmmanuel Vadot
552f126890aSEmmanuel Vadot		ranges = <0x0 0x7c000000  0x0 0xfc000000  0x03800000>,
553f126890aSEmmanuel Vadot			 <0x6 0x00000000  0x6 0x00000000  0x40000000>;
554f126890aSEmmanuel Vadot
555f126890aSEmmanuel Vadot		pcie0: pcie@7d500000 {
556f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-pcie";
557f126890aSEmmanuel Vadot			reg = <0x0 0x7d500000 0x9310>;
558f126890aSEmmanuel Vadot			device_type = "pci";
559f126890aSEmmanuel Vadot			#address-cells = <3>;
560f126890aSEmmanuel Vadot			#interrupt-cells = <1>;
561f126890aSEmmanuel Vadot			#size-cells = <2>;
562f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
563f126890aSEmmanuel Vadot				     <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
564f126890aSEmmanuel Vadot			interrupt-names = "pcie", "msi";
565f126890aSEmmanuel Vadot			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
566f126890aSEmmanuel Vadot			interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 143
567f126890aSEmmanuel Vadot							IRQ_TYPE_LEVEL_HIGH>,
568f126890aSEmmanuel Vadot					<0 0 0 2 &gicv2 GIC_SPI 144
569f126890aSEmmanuel Vadot							IRQ_TYPE_LEVEL_HIGH>,
570f126890aSEmmanuel Vadot					<0 0 0 3 &gicv2 GIC_SPI 145
571f126890aSEmmanuel Vadot							IRQ_TYPE_LEVEL_HIGH>,
572f126890aSEmmanuel Vadot					<0 0 0 4 &gicv2 GIC_SPI 146
573f126890aSEmmanuel Vadot							IRQ_TYPE_LEVEL_HIGH>;
574f126890aSEmmanuel Vadot			msi-controller;
575f126890aSEmmanuel Vadot			msi-parent = <&pcie0>;
576f126890aSEmmanuel Vadot
577f126890aSEmmanuel Vadot			ranges = <0x02000000 0x0 0xf8000000 0x6 0x00000000
578f126890aSEmmanuel Vadot				  0x0 0x04000000>;
579f126890aSEmmanuel Vadot			/*
580f126890aSEmmanuel Vadot			 * The wrapper around the PCIe block has a bug
581f126890aSEmmanuel Vadot			 * preventing it from accessing beyond the first 3GB of
582f126890aSEmmanuel Vadot			 * memory.
583f126890aSEmmanuel Vadot			 */
584f126890aSEmmanuel Vadot			dma-ranges = <0x02000000 0x0 0x00000000 0x0 0x00000000
585f126890aSEmmanuel Vadot				      0x0 0xc0000000>;
586f126890aSEmmanuel Vadot			brcm,enable-ssc;
587f126890aSEmmanuel Vadot		};
588f126890aSEmmanuel Vadot
589f126890aSEmmanuel Vadot		genet: ethernet@7d580000 {
590f126890aSEmmanuel Vadot			compatible = "brcm,bcm2711-genet-v5";
591f126890aSEmmanuel Vadot			reg = <0x0 0x7d580000 0x10000>;
592f126890aSEmmanuel Vadot			#address-cells = <0x1>;
593f126890aSEmmanuel Vadot			#size-cells = <0x1>;
594f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
595f126890aSEmmanuel Vadot				     <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
596f126890aSEmmanuel Vadot			status = "disabled";
597f126890aSEmmanuel Vadot
598f126890aSEmmanuel Vadot			genet_mdio: mdio@e14 {
599f126890aSEmmanuel Vadot				compatible = "brcm,genet-mdio-v5";
600f126890aSEmmanuel Vadot				reg = <0xe14 0x8>;
601f126890aSEmmanuel Vadot				reg-names = "mdio";
602f126890aSEmmanuel Vadot				#address-cells = <0x1>;
603f126890aSEmmanuel Vadot				#size-cells = <0x0>;
604f126890aSEmmanuel Vadot			};
605f126890aSEmmanuel Vadot		};
606f126890aSEmmanuel Vadot
6078d13bc63SEmmanuel Vadot		xhci: usb@7e9c0000 {
6088d13bc63SEmmanuel Vadot			compatible = "brcm,bcm2711-xhci", "brcm,xhci-brcm-v2";
6098d13bc63SEmmanuel Vadot			reg = <0x0 0x7e9c0000 0x100000>;
6108d13bc63SEmmanuel Vadot			#address-cells = <1>;
6118d13bc63SEmmanuel Vadot			#size-cells = <0>;
6128d13bc63SEmmanuel Vadot			interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
6138d13bc63SEmmanuel Vadot			/* DWC2 and this IP block share the same USB PHY,
6148d13bc63SEmmanuel Vadot			 * enabling both at the same time results in lockups.
6158d13bc63SEmmanuel Vadot			 * So keep this node disabled and let the bootloader
6168d13bc63SEmmanuel Vadot			 * decide which interface should be enabled.
6178d13bc63SEmmanuel Vadot			 */
6188d13bc63SEmmanuel Vadot			status = "disabled";
6198d13bc63SEmmanuel Vadot		};
6208d13bc63SEmmanuel Vadot
621f126890aSEmmanuel Vadot		v3d: gpu@7ec00000 {
622f126890aSEmmanuel Vadot			compatible = "brcm,2711-v3d";
623f126890aSEmmanuel Vadot			reg = <0x0 0x7ec00000 0x4000>,
624f126890aSEmmanuel Vadot			      <0x0 0x7ec04000 0x4000>;
625f126890aSEmmanuel Vadot			reg-names = "hub", "core0";
626f126890aSEmmanuel Vadot
627f126890aSEmmanuel Vadot			power-domains = <&pm BCM2835_POWER_DOMAIN_GRAFX_V3D>;
628f126890aSEmmanuel Vadot			resets = <&pm BCM2835_RESET_V3D>;
629f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
630f126890aSEmmanuel Vadot		};
631f126890aSEmmanuel Vadot	};
632f126890aSEmmanuel Vadot};
633f126890aSEmmanuel Vadot
634f126890aSEmmanuel Vadot&clk_osc {
635f126890aSEmmanuel Vadot	clock-frequency = <54000000>;
636f126890aSEmmanuel Vadot};
637f126890aSEmmanuel Vadot
638f126890aSEmmanuel Vadot&clocks {
639f126890aSEmmanuel Vadot	compatible = "brcm,bcm2711-cprman";
640f126890aSEmmanuel Vadot};
641f126890aSEmmanuel Vadot
642f126890aSEmmanuel Vadot&cpu_thermal {
643f126890aSEmmanuel Vadot	coefficients = <(-487) 410040>;
644f126890aSEmmanuel Vadot	thermal-sensors = <&thermal>;
645f126890aSEmmanuel Vadot};
646f126890aSEmmanuel Vadot
647f126890aSEmmanuel Vadot&dsi0 {
648f126890aSEmmanuel Vadot	interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
649f126890aSEmmanuel Vadot};
650f126890aSEmmanuel Vadot
651f126890aSEmmanuel Vadot&dsi1 {
652f126890aSEmmanuel Vadot	interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
653f126890aSEmmanuel Vadot	compatible = "brcm,bcm2711-dsi1";
654f126890aSEmmanuel Vadot};
655f126890aSEmmanuel Vadot
656f126890aSEmmanuel Vadot&gpio {
657f126890aSEmmanuel Vadot	compatible = "brcm,bcm2711-gpio";
658f126890aSEmmanuel Vadot	interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
659f126890aSEmmanuel Vadot		     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
660f126890aSEmmanuel Vadot		     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
661f126890aSEmmanuel Vadot		     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
662f126890aSEmmanuel Vadot
663f126890aSEmmanuel Vadot	gpio-ranges = <&gpio 0 0 58>;
664f126890aSEmmanuel Vadot
665f126890aSEmmanuel Vadot	gpclk0_gpio49: gpclk0-gpio49 {
666f126890aSEmmanuel Vadot		pin-gpclk {
667f126890aSEmmanuel Vadot			pins = "gpio49";
668f126890aSEmmanuel Vadot			function = "alt1";
669f126890aSEmmanuel Vadot			bias-disable;
670f126890aSEmmanuel Vadot		};
671f126890aSEmmanuel Vadot	};
672f126890aSEmmanuel Vadot	gpclk1_gpio50: gpclk1-gpio50 {
673f126890aSEmmanuel Vadot		pin-gpclk {
674f126890aSEmmanuel Vadot			pins = "gpio50";
675f126890aSEmmanuel Vadot			function = "alt1";
676f126890aSEmmanuel Vadot			bias-disable;
677f126890aSEmmanuel Vadot		};
678f126890aSEmmanuel Vadot	};
679f126890aSEmmanuel Vadot	gpclk2_gpio51: gpclk2-gpio51 {
680f126890aSEmmanuel Vadot		pin-gpclk {
681f126890aSEmmanuel Vadot			pins = "gpio51";
682f126890aSEmmanuel Vadot			function = "alt1";
683f126890aSEmmanuel Vadot			bias-disable;
684f126890aSEmmanuel Vadot		};
685f126890aSEmmanuel Vadot	};
686f126890aSEmmanuel Vadot
687f126890aSEmmanuel Vadot	i2c0_gpio46: i2c0-gpio46 {
688f126890aSEmmanuel Vadot		pin-sda {
689f126890aSEmmanuel Vadot			function = "alt0";
690f126890aSEmmanuel Vadot			pins = "gpio46";
691f126890aSEmmanuel Vadot			bias-pull-up;
692f126890aSEmmanuel Vadot		};
693f126890aSEmmanuel Vadot		pin-scl {
694f126890aSEmmanuel Vadot			function = "alt0";
695f126890aSEmmanuel Vadot			pins = "gpio47";
696f126890aSEmmanuel Vadot			bias-disable;
697f126890aSEmmanuel Vadot		};
698f126890aSEmmanuel Vadot	};
699f126890aSEmmanuel Vadot	i2c1_gpio46: i2c1-gpio46 {
700f126890aSEmmanuel Vadot		pin-sda {
701f126890aSEmmanuel Vadot			function = "alt1";
702f126890aSEmmanuel Vadot			pins = "gpio46";
703f126890aSEmmanuel Vadot			bias-pull-up;
704f126890aSEmmanuel Vadot		};
705f126890aSEmmanuel Vadot		pin-scl {
706f126890aSEmmanuel Vadot			function = "alt1";
707f126890aSEmmanuel Vadot			pins = "gpio47";
708f126890aSEmmanuel Vadot			bias-disable;
709f126890aSEmmanuel Vadot		};
710f126890aSEmmanuel Vadot	};
711f126890aSEmmanuel Vadot	i2c3_gpio2: i2c3-gpio2 {
712f126890aSEmmanuel Vadot		pin-sda {
713f126890aSEmmanuel Vadot			function = "alt5";
714f126890aSEmmanuel Vadot			pins = "gpio2";
715f126890aSEmmanuel Vadot			bias-pull-up;
716f126890aSEmmanuel Vadot		};
717f126890aSEmmanuel Vadot		pin-scl {
718f126890aSEmmanuel Vadot			function = "alt5";
719f126890aSEmmanuel Vadot			pins = "gpio3";
720f126890aSEmmanuel Vadot			bias-disable;
721f126890aSEmmanuel Vadot		};
722f126890aSEmmanuel Vadot	};
723f126890aSEmmanuel Vadot	i2c3_gpio4: i2c3-gpio4 {
724f126890aSEmmanuel Vadot		pin-sda {
725f126890aSEmmanuel Vadot			function = "alt5";
726f126890aSEmmanuel Vadot			pins = "gpio4";
727f126890aSEmmanuel Vadot			bias-pull-up;
728f126890aSEmmanuel Vadot		};
729f126890aSEmmanuel Vadot		pin-scl {
730f126890aSEmmanuel Vadot			function = "alt5";
731f126890aSEmmanuel Vadot			pins = "gpio5";
732f126890aSEmmanuel Vadot			bias-disable;
733f126890aSEmmanuel Vadot		};
734f126890aSEmmanuel Vadot	};
735f126890aSEmmanuel Vadot	i2c4_gpio6: i2c4-gpio6 {
736f126890aSEmmanuel Vadot		pin-sda {
737f126890aSEmmanuel Vadot			function = "alt5";
738f126890aSEmmanuel Vadot			pins = "gpio6";
739f126890aSEmmanuel Vadot			bias-pull-up;
740f126890aSEmmanuel Vadot		};
741f126890aSEmmanuel Vadot		pin-scl {
742f126890aSEmmanuel Vadot			function = "alt5";
743f126890aSEmmanuel Vadot			pins = "gpio7";
744f126890aSEmmanuel Vadot			bias-disable;
745f126890aSEmmanuel Vadot		};
746f126890aSEmmanuel Vadot	};
747f126890aSEmmanuel Vadot	i2c4_gpio8: i2c4-gpio8 {
748f126890aSEmmanuel Vadot		pin-sda {
749f126890aSEmmanuel Vadot			function = "alt5";
750f126890aSEmmanuel Vadot			pins = "gpio8";
751f126890aSEmmanuel Vadot			bias-pull-up;
752f126890aSEmmanuel Vadot		};
753f126890aSEmmanuel Vadot		pin-scl {
754f126890aSEmmanuel Vadot			function = "alt5";
755f126890aSEmmanuel Vadot			pins = "gpio9";
756f126890aSEmmanuel Vadot			bias-disable;
757f126890aSEmmanuel Vadot		};
758f126890aSEmmanuel Vadot	};
759f126890aSEmmanuel Vadot	i2c5_gpio10: i2c5-gpio10 {
760f126890aSEmmanuel Vadot		pin-sda {
761f126890aSEmmanuel Vadot			function = "alt5";
762f126890aSEmmanuel Vadot			pins = "gpio10";
763f126890aSEmmanuel Vadot			bias-pull-up;
764f126890aSEmmanuel Vadot		};
765f126890aSEmmanuel Vadot		pin-scl {
766f126890aSEmmanuel Vadot			function = "alt5";
767f126890aSEmmanuel Vadot			pins = "gpio11";
768f126890aSEmmanuel Vadot			bias-disable;
769f126890aSEmmanuel Vadot		};
770f126890aSEmmanuel Vadot	};
771f126890aSEmmanuel Vadot	i2c5_gpio12: i2c5-gpio12 {
772f126890aSEmmanuel Vadot		pin-sda {
773f126890aSEmmanuel Vadot			function = "alt5";
774f126890aSEmmanuel Vadot			pins = "gpio12";
775f126890aSEmmanuel Vadot			bias-pull-up;
776f126890aSEmmanuel Vadot		};
777f126890aSEmmanuel Vadot		pin-scl {
778f126890aSEmmanuel Vadot			function = "alt5";
779f126890aSEmmanuel Vadot			pins = "gpio13";
780f126890aSEmmanuel Vadot			bias-disable;
781f126890aSEmmanuel Vadot		};
782f126890aSEmmanuel Vadot	};
783f126890aSEmmanuel Vadot	i2c6_gpio0: i2c6-gpio0 {
784f126890aSEmmanuel Vadot		pin-sda {
785f126890aSEmmanuel Vadot			function = "alt5";
786f126890aSEmmanuel Vadot			pins = "gpio0";
787f126890aSEmmanuel Vadot			bias-pull-up;
788f126890aSEmmanuel Vadot		};
789f126890aSEmmanuel Vadot		pin-scl {
790f126890aSEmmanuel Vadot			function = "alt5";
791f126890aSEmmanuel Vadot			pins = "gpio1";
792f126890aSEmmanuel Vadot			bias-disable;
793f126890aSEmmanuel Vadot		};
794f126890aSEmmanuel Vadot	};
795f126890aSEmmanuel Vadot	i2c6_gpio22: i2c6-gpio22 {
796f126890aSEmmanuel Vadot		pin-sda {
797f126890aSEmmanuel Vadot			function = "alt5";
798f126890aSEmmanuel Vadot			pins = "gpio22";
799f126890aSEmmanuel Vadot			bias-pull-up;
800f126890aSEmmanuel Vadot		};
801f126890aSEmmanuel Vadot		pin-scl {
802f126890aSEmmanuel Vadot			function = "alt5";
803f126890aSEmmanuel Vadot			pins = "gpio23";
804f126890aSEmmanuel Vadot			bias-disable;
805f126890aSEmmanuel Vadot		};
806f126890aSEmmanuel Vadot	};
807f126890aSEmmanuel Vadot	i2c_slave_gpio8: i2c-slave-gpio8 {
808f126890aSEmmanuel Vadot		pins-i2c-slave {
809f126890aSEmmanuel Vadot			pins = "gpio8",
810f126890aSEmmanuel Vadot			       "gpio9",
811f126890aSEmmanuel Vadot			       "gpio10",
812f126890aSEmmanuel Vadot			       "gpio11";
813f126890aSEmmanuel Vadot			function = "alt3";
814f126890aSEmmanuel Vadot		};
815f126890aSEmmanuel Vadot	};
816f126890aSEmmanuel Vadot
817f126890aSEmmanuel Vadot	jtag_gpio48: jtag-gpio48 {
818f126890aSEmmanuel Vadot		pins-jtag {
819f126890aSEmmanuel Vadot			pins = "gpio48",
820f126890aSEmmanuel Vadot			       "gpio49",
821f126890aSEmmanuel Vadot			       "gpio50",
822f126890aSEmmanuel Vadot			       "gpio51",
823f126890aSEmmanuel Vadot			       "gpio52",
824f126890aSEmmanuel Vadot			       "gpio53";
825f126890aSEmmanuel Vadot			function = "alt4";
826f126890aSEmmanuel Vadot		};
827f126890aSEmmanuel Vadot	};
828f126890aSEmmanuel Vadot
829f126890aSEmmanuel Vadot	mii_gpio28: mii-gpio28 {
830f126890aSEmmanuel Vadot		pins-mii {
831f126890aSEmmanuel Vadot			pins = "gpio28",
832f126890aSEmmanuel Vadot			       "gpio29",
833f126890aSEmmanuel Vadot			       "gpio30",
834f126890aSEmmanuel Vadot			       "gpio31";
835f126890aSEmmanuel Vadot			function = "alt4";
836f126890aSEmmanuel Vadot		};
837f126890aSEmmanuel Vadot	};
838f126890aSEmmanuel Vadot	mii_gpio36: mii-gpio36 {
839f126890aSEmmanuel Vadot		pins-mii {
840f126890aSEmmanuel Vadot			pins = "gpio36",
841f126890aSEmmanuel Vadot			       "gpio37",
842f126890aSEmmanuel Vadot			       "gpio38",
843f126890aSEmmanuel Vadot			       "gpio39";
844f126890aSEmmanuel Vadot			function = "alt5";
845f126890aSEmmanuel Vadot		};
846f126890aSEmmanuel Vadot	};
847f126890aSEmmanuel Vadot
848f126890aSEmmanuel Vadot	pcm_gpio50: pcm-gpio50 {
849f126890aSEmmanuel Vadot		pins-pcm {
850f126890aSEmmanuel Vadot			pins = "gpio50",
851f126890aSEmmanuel Vadot			       "gpio51",
852f126890aSEmmanuel Vadot			       "gpio52",
853f126890aSEmmanuel Vadot			       "gpio53";
854f126890aSEmmanuel Vadot			function = "alt2";
855f126890aSEmmanuel Vadot		};
856f126890aSEmmanuel Vadot	};
857f126890aSEmmanuel Vadot
858f126890aSEmmanuel Vadot	pwm0_0_gpio12: pwm0-0-gpio12 {
859f126890aSEmmanuel Vadot		pin-pwm {
860f126890aSEmmanuel Vadot			pins = "gpio12";
861f126890aSEmmanuel Vadot			function = "alt0";
862f126890aSEmmanuel Vadot			bias-disable;
863f126890aSEmmanuel Vadot		};
864f126890aSEmmanuel Vadot	};
865f126890aSEmmanuel Vadot	pwm0_0_gpio18: pwm0-0-gpio18 {
866f126890aSEmmanuel Vadot		pin-pwm {
867f126890aSEmmanuel Vadot			pins = "gpio18";
868f126890aSEmmanuel Vadot			function = "alt5";
869f126890aSEmmanuel Vadot			bias-disable;
870f126890aSEmmanuel Vadot		};
871f126890aSEmmanuel Vadot	};
872f126890aSEmmanuel Vadot	pwm1_0_gpio40: pwm1-0-gpio40 {
873f126890aSEmmanuel Vadot		pin-pwm {
874f126890aSEmmanuel Vadot			pins = "gpio40";
875f126890aSEmmanuel Vadot			function = "alt0";
876f126890aSEmmanuel Vadot			bias-disable;
877f126890aSEmmanuel Vadot		};
878f126890aSEmmanuel Vadot	};
879f126890aSEmmanuel Vadot	pwm0_1_gpio13: pwm0-1-gpio13 {
880f126890aSEmmanuel Vadot		pin-pwm {
881f126890aSEmmanuel Vadot			pins = "gpio13";
882f126890aSEmmanuel Vadot			function = "alt0";
883f126890aSEmmanuel Vadot			bias-disable;
884f126890aSEmmanuel Vadot		};
885f126890aSEmmanuel Vadot	};
886f126890aSEmmanuel Vadot	pwm0_1_gpio19: pwm0-1-gpio19 {
887f126890aSEmmanuel Vadot		pin-pwm {
888f126890aSEmmanuel Vadot			pins = "gpio19";
889f126890aSEmmanuel Vadot			function = "alt5";
890f126890aSEmmanuel Vadot			bias-disable;
891f126890aSEmmanuel Vadot		};
892f126890aSEmmanuel Vadot	};
893f126890aSEmmanuel Vadot	pwm1_1_gpio41: pwm1-1-gpio41 {
894f126890aSEmmanuel Vadot		pin-pwm {
895f126890aSEmmanuel Vadot			pins = "gpio41";
896f126890aSEmmanuel Vadot			function = "alt0";
897f126890aSEmmanuel Vadot			bias-disable;
898f126890aSEmmanuel Vadot		};
899f126890aSEmmanuel Vadot	};
900f126890aSEmmanuel Vadot	pwm0_1_gpio45: pwm0-1-gpio45 {
901f126890aSEmmanuel Vadot		pin-pwm {
902f126890aSEmmanuel Vadot			pins = "gpio45";
903f126890aSEmmanuel Vadot			function = "alt0";
904f126890aSEmmanuel Vadot			bias-disable;
905f126890aSEmmanuel Vadot		};
906f126890aSEmmanuel Vadot	};
907f126890aSEmmanuel Vadot	pwm0_0_gpio52: pwm0-0-gpio52 {
908f126890aSEmmanuel Vadot		pin-pwm {
909f126890aSEmmanuel Vadot			pins = "gpio52";
910f126890aSEmmanuel Vadot			function = "alt1";
911f126890aSEmmanuel Vadot			bias-disable;
912f126890aSEmmanuel Vadot		};
913f126890aSEmmanuel Vadot	};
914f126890aSEmmanuel Vadot	pwm0_1_gpio53: pwm0-1-gpio53 {
915f126890aSEmmanuel Vadot		pin-pwm {
916f126890aSEmmanuel Vadot			pins = "gpio53";
917f126890aSEmmanuel Vadot			function = "alt1";
918f126890aSEmmanuel Vadot			bias-disable;
919f126890aSEmmanuel Vadot		};
920f126890aSEmmanuel Vadot	};
921f126890aSEmmanuel Vadot
922f126890aSEmmanuel Vadot	rgmii_gpio35: rgmii-gpio35 {
923f126890aSEmmanuel Vadot		pin-start-stop {
924f126890aSEmmanuel Vadot			pins = "gpio35";
925f126890aSEmmanuel Vadot			function = "alt4";
926f126890aSEmmanuel Vadot		};
927f126890aSEmmanuel Vadot		pin-rx-ok {
928f126890aSEmmanuel Vadot			pins = "gpio36";
929f126890aSEmmanuel Vadot			function = "alt4";
930f126890aSEmmanuel Vadot		};
931f126890aSEmmanuel Vadot	};
932f126890aSEmmanuel Vadot	rgmii_irq_gpio34: rgmii-irq-gpio34 {
933f126890aSEmmanuel Vadot		pin-irq {
934f126890aSEmmanuel Vadot			pins = "gpio34";
935f126890aSEmmanuel Vadot			function = "alt5";
936f126890aSEmmanuel Vadot		};
937f126890aSEmmanuel Vadot	};
938f126890aSEmmanuel Vadot	rgmii_irq_gpio39: rgmii-irq-gpio39 {
939f126890aSEmmanuel Vadot		pin-irq {
940f126890aSEmmanuel Vadot			pins = "gpio39";
941f126890aSEmmanuel Vadot			function = "alt4";
942f126890aSEmmanuel Vadot		};
943f126890aSEmmanuel Vadot	};
944f126890aSEmmanuel Vadot	rgmii_mdio_gpio28: rgmii-mdio-gpio28 {
945f126890aSEmmanuel Vadot		pins-mdio {
946f126890aSEmmanuel Vadot			pins = "gpio28",
947f126890aSEmmanuel Vadot			       "gpio29";
948f126890aSEmmanuel Vadot			function = "alt5";
949f126890aSEmmanuel Vadot		};
950f126890aSEmmanuel Vadot	};
951f126890aSEmmanuel Vadot	rgmii_mdio_gpio37: rgmii-mdio-gpio37 {
952f126890aSEmmanuel Vadot		pins-mdio {
953f126890aSEmmanuel Vadot			pins = "gpio37",
954f126890aSEmmanuel Vadot			       "gpio38";
955f126890aSEmmanuel Vadot			function = "alt4";
956f126890aSEmmanuel Vadot		};
957f126890aSEmmanuel Vadot	};
958f126890aSEmmanuel Vadot
959f126890aSEmmanuel Vadot	spi0_gpio46: spi0-gpio46 {
960f126890aSEmmanuel Vadot		pins-spi {
961f126890aSEmmanuel Vadot			pins = "gpio46",
962f126890aSEmmanuel Vadot			       "gpio47",
963f126890aSEmmanuel Vadot			       "gpio48",
964f126890aSEmmanuel Vadot			       "gpio49";
965f126890aSEmmanuel Vadot			function = "alt2";
966f126890aSEmmanuel Vadot		};
967f126890aSEmmanuel Vadot	};
968f126890aSEmmanuel Vadot	spi2_gpio46: spi2-gpio46 {
969f126890aSEmmanuel Vadot		pins-spi {
970f126890aSEmmanuel Vadot			pins = "gpio46",
971f126890aSEmmanuel Vadot			       "gpio47",
972f126890aSEmmanuel Vadot			       "gpio48",
973f126890aSEmmanuel Vadot			       "gpio49",
974f126890aSEmmanuel Vadot			       "gpio50";
975f126890aSEmmanuel Vadot			function = "alt5";
976f126890aSEmmanuel Vadot		};
977f126890aSEmmanuel Vadot	};
978f126890aSEmmanuel Vadot	spi3_gpio0: spi3-gpio0 {
979f126890aSEmmanuel Vadot		pins-spi {
980f126890aSEmmanuel Vadot			pins = "gpio0",
981f126890aSEmmanuel Vadot			       "gpio1",
982f126890aSEmmanuel Vadot			       "gpio2",
983f126890aSEmmanuel Vadot			       "gpio3";
984f126890aSEmmanuel Vadot			function = "alt3";
985f126890aSEmmanuel Vadot		};
986f126890aSEmmanuel Vadot	};
987f126890aSEmmanuel Vadot	spi4_gpio4: spi4-gpio4 {
988f126890aSEmmanuel Vadot		pins-spi {
989f126890aSEmmanuel Vadot			pins = "gpio4",
990f126890aSEmmanuel Vadot			       "gpio5",
991f126890aSEmmanuel Vadot			       "gpio6",
992f126890aSEmmanuel Vadot			       "gpio7";
993f126890aSEmmanuel Vadot			function = "alt3";
994f126890aSEmmanuel Vadot		};
995f126890aSEmmanuel Vadot	};
996f126890aSEmmanuel Vadot	spi5_gpio12: spi5-gpio12 {
997f126890aSEmmanuel Vadot		pins-spi {
998f126890aSEmmanuel Vadot			pins = "gpio12",
999f126890aSEmmanuel Vadot			       "gpio13",
1000f126890aSEmmanuel Vadot			       "gpio14",
1001f126890aSEmmanuel Vadot			       "gpio15";
1002f126890aSEmmanuel Vadot			function = "alt3";
1003f126890aSEmmanuel Vadot		};
1004f126890aSEmmanuel Vadot	};
1005f126890aSEmmanuel Vadot	spi6_gpio18: spi6-gpio18 {
1006f126890aSEmmanuel Vadot		pins-spi {
1007f126890aSEmmanuel Vadot			pins = "gpio18",
1008f126890aSEmmanuel Vadot			       "gpio19",
1009f126890aSEmmanuel Vadot			       "gpio20",
1010f126890aSEmmanuel Vadot			       "gpio21";
1011f126890aSEmmanuel Vadot			function = "alt3";
1012f126890aSEmmanuel Vadot		};
1013f126890aSEmmanuel Vadot	};
1014f126890aSEmmanuel Vadot
1015f126890aSEmmanuel Vadot	uart2_gpio0: uart2-gpio0 {
1016f126890aSEmmanuel Vadot		pin-tx {
1017f126890aSEmmanuel Vadot			pins = "gpio0";
1018f126890aSEmmanuel Vadot			function = "alt4";
1019f126890aSEmmanuel Vadot			bias-disable;
1020f126890aSEmmanuel Vadot		};
1021f126890aSEmmanuel Vadot		pin-rx {
1022f126890aSEmmanuel Vadot			pins = "gpio1";
1023f126890aSEmmanuel Vadot			function = "alt4";
1024f126890aSEmmanuel Vadot			bias-pull-up;
1025f126890aSEmmanuel Vadot		};
1026f126890aSEmmanuel Vadot	};
1027f126890aSEmmanuel Vadot	uart2_ctsrts_gpio2: uart2-ctsrts-gpio2 {
1028f126890aSEmmanuel Vadot		pin-cts {
1029f126890aSEmmanuel Vadot			pins = "gpio2";
1030f126890aSEmmanuel Vadot			function = "alt4";
1031f126890aSEmmanuel Vadot			bias-pull-up;
1032f126890aSEmmanuel Vadot		};
1033f126890aSEmmanuel Vadot		pin-rts {
1034f126890aSEmmanuel Vadot			pins = "gpio3";
1035f126890aSEmmanuel Vadot			function = "alt4";
1036f126890aSEmmanuel Vadot			bias-disable;
1037f126890aSEmmanuel Vadot		};
1038f126890aSEmmanuel Vadot	};
1039f126890aSEmmanuel Vadot	uart3_gpio4: uart3-gpio4 {
1040f126890aSEmmanuel Vadot		pin-tx {
1041f126890aSEmmanuel Vadot			pins = "gpio4";
1042f126890aSEmmanuel Vadot			function = "alt4";
1043f126890aSEmmanuel Vadot			bias-disable;
1044f126890aSEmmanuel Vadot		};
1045f126890aSEmmanuel Vadot		pin-rx {
1046f126890aSEmmanuel Vadot			pins = "gpio5";
1047f126890aSEmmanuel Vadot			function = "alt4";
1048f126890aSEmmanuel Vadot			bias-pull-up;
1049f126890aSEmmanuel Vadot		};
1050f126890aSEmmanuel Vadot	};
1051f126890aSEmmanuel Vadot	uart3_ctsrts_gpio6: uart3-ctsrts-gpio6 {
1052f126890aSEmmanuel Vadot		pin-cts {
1053f126890aSEmmanuel Vadot			pins = "gpio6";
1054f126890aSEmmanuel Vadot			function = "alt4";
1055f126890aSEmmanuel Vadot			bias-pull-up;
1056f126890aSEmmanuel Vadot		};
1057f126890aSEmmanuel Vadot		pin-rts {
1058f126890aSEmmanuel Vadot			pins = "gpio7";
1059f126890aSEmmanuel Vadot			function = "alt4";
1060f126890aSEmmanuel Vadot			bias-disable;
1061f126890aSEmmanuel Vadot		};
1062f126890aSEmmanuel Vadot	};
1063f126890aSEmmanuel Vadot	uart4_gpio8: uart4-gpio8 {
1064f126890aSEmmanuel Vadot		pin-tx {
1065f126890aSEmmanuel Vadot			pins = "gpio8";
1066f126890aSEmmanuel Vadot			function = "alt4";
1067f126890aSEmmanuel Vadot			bias-disable;
1068f126890aSEmmanuel Vadot		};
1069f126890aSEmmanuel Vadot		pin-rx {
1070f126890aSEmmanuel Vadot			pins = "gpio9";
1071f126890aSEmmanuel Vadot			function = "alt4";
1072f126890aSEmmanuel Vadot			bias-pull-up;
1073f126890aSEmmanuel Vadot		};
1074f126890aSEmmanuel Vadot	};
1075f126890aSEmmanuel Vadot	uart4_ctsrts_gpio10: uart4-ctsrts-gpio10 {
1076f126890aSEmmanuel Vadot		pin-cts {
1077f126890aSEmmanuel Vadot			pins = "gpio10";
1078f126890aSEmmanuel Vadot			function = "alt4";
1079f126890aSEmmanuel Vadot			bias-pull-up;
1080f126890aSEmmanuel Vadot		};
1081f126890aSEmmanuel Vadot		pin-rts {
1082f126890aSEmmanuel Vadot			pins = "gpio11";
1083f126890aSEmmanuel Vadot			function = "alt4";
1084f126890aSEmmanuel Vadot			bias-disable;
1085f126890aSEmmanuel Vadot		};
1086f126890aSEmmanuel Vadot	};
1087f126890aSEmmanuel Vadot	uart5_gpio12: uart5-gpio12 {
1088f126890aSEmmanuel Vadot		pin-tx {
1089f126890aSEmmanuel Vadot			pins = "gpio12";
1090f126890aSEmmanuel Vadot			function = "alt4";
1091f126890aSEmmanuel Vadot			bias-disable;
1092f126890aSEmmanuel Vadot		};
1093f126890aSEmmanuel Vadot		pin-rx {
1094f126890aSEmmanuel Vadot			pins = "gpio13";
1095f126890aSEmmanuel Vadot			function = "alt4";
1096f126890aSEmmanuel Vadot			bias-pull-up;
1097f126890aSEmmanuel Vadot		};
1098f126890aSEmmanuel Vadot	};
1099f126890aSEmmanuel Vadot	uart5_ctsrts_gpio14: uart5-ctsrts-gpio14 {
1100f126890aSEmmanuel Vadot		pin-cts {
1101f126890aSEmmanuel Vadot			pins = "gpio14";
1102f126890aSEmmanuel Vadot			function = "alt4";
1103f126890aSEmmanuel Vadot			bias-pull-up;
1104f126890aSEmmanuel Vadot		};
1105f126890aSEmmanuel Vadot		pin-rts {
1106f126890aSEmmanuel Vadot			pins = "gpio15";
1107f126890aSEmmanuel Vadot			function = "alt4";
1108f126890aSEmmanuel Vadot			bias-disable;
1109f126890aSEmmanuel Vadot		};
1110f126890aSEmmanuel Vadot	};
1111f126890aSEmmanuel Vadot};
1112f126890aSEmmanuel Vadot
1113f126890aSEmmanuel Vadot&rmem {
1114f126890aSEmmanuel Vadot	#address-cells = <2>;
1115f126890aSEmmanuel Vadot};
1116f126890aSEmmanuel Vadot
1117*7d0873ebSEmmanuel Vadot&csi0 {
1118*7d0873ebSEmmanuel Vadot	interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
1119*7d0873ebSEmmanuel Vadot};
1120*7d0873ebSEmmanuel Vadot
1121*7d0873ebSEmmanuel Vadot&csi1 {
1122*7d0873ebSEmmanuel Vadot	interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
1123*7d0873ebSEmmanuel Vadot};
1124*7d0873ebSEmmanuel Vadot
1125f126890aSEmmanuel Vadot&cma {
1126f126890aSEmmanuel Vadot	/*
1127f126890aSEmmanuel Vadot	 * arm64 reserves the CMA by default somewhere in ZONE_DMA32,
1128f126890aSEmmanuel Vadot	 * that's not good enough for the BCM2711 as some devices can
1129f126890aSEmmanuel Vadot	 * only address the lower 1G of memory (ZONE_DMA).
1130f126890aSEmmanuel Vadot	 */
1131f126890aSEmmanuel Vadot	alloc-ranges = <0x0 0x00000000 0x40000000>;
1132f126890aSEmmanuel Vadot};
1133f126890aSEmmanuel Vadot
1134f126890aSEmmanuel Vadot&i2c0 {
1135f126890aSEmmanuel Vadot	compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c";
1136f126890aSEmmanuel Vadot	interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
1137f126890aSEmmanuel Vadot};
1138f126890aSEmmanuel Vadot
1139f126890aSEmmanuel Vadot&i2c1 {
1140f126890aSEmmanuel Vadot	compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c";
1141f126890aSEmmanuel Vadot	interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
1142f126890aSEmmanuel Vadot};
1143f126890aSEmmanuel Vadot
1144f126890aSEmmanuel Vadot&mailbox {
1145f126890aSEmmanuel Vadot	interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
1146f126890aSEmmanuel Vadot};
1147f126890aSEmmanuel Vadot
1148f126890aSEmmanuel Vadot&sdhci {
1149f126890aSEmmanuel Vadot	interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
1150f126890aSEmmanuel Vadot};
1151f126890aSEmmanuel Vadot
1152f126890aSEmmanuel Vadot&sdhost {
1153f126890aSEmmanuel Vadot	interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
1154f126890aSEmmanuel Vadot};
1155f126890aSEmmanuel Vadot
1156f126890aSEmmanuel Vadot&spi {
1157f126890aSEmmanuel Vadot	interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
1158f126890aSEmmanuel Vadot};
1159f126890aSEmmanuel Vadot
1160f126890aSEmmanuel Vadot&spi1 {
1161f126890aSEmmanuel Vadot	interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
1162f126890aSEmmanuel Vadot};
1163f126890aSEmmanuel Vadot
1164f126890aSEmmanuel Vadot&spi2 {
1165f126890aSEmmanuel Vadot	interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
1166f126890aSEmmanuel Vadot};
1167f126890aSEmmanuel Vadot
1168f126890aSEmmanuel Vadot&system_timer {
1169f126890aSEmmanuel Vadot	interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
1170f126890aSEmmanuel Vadot		     <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
1171f126890aSEmmanuel Vadot		     <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
1172f126890aSEmmanuel Vadot		     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
1173f126890aSEmmanuel Vadot};
1174f126890aSEmmanuel Vadot
1175f126890aSEmmanuel Vadot&txp {
1176f126890aSEmmanuel Vadot	interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
1177f126890aSEmmanuel Vadot};
1178f126890aSEmmanuel Vadot
1179f126890aSEmmanuel Vadot&uart0 {
1180f126890aSEmmanuel Vadot	interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
1181f126890aSEmmanuel Vadot};
1182f126890aSEmmanuel Vadot
1183f126890aSEmmanuel Vadot&uart1 {
1184f126890aSEmmanuel Vadot	interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
1185f126890aSEmmanuel Vadot};
1186f126890aSEmmanuel Vadot
1187f126890aSEmmanuel Vadot&usb {
1188f126890aSEmmanuel Vadot	interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
1189f126890aSEmmanuel Vadot};
1190f126890aSEmmanuel Vadot
1191f126890aSEmmanuel Vadot&vec {
1192f126890aSEmmanuel Vadot	compatible = "brcm,bcm2711-vec";
1193f126890aSEmmanuel Vadot	interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
1194f126890aSEmmanuel Vadot};
1195