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