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