Home | History | Annotate | Download | only in dts
      1 #include <dt-bindings/pinctrl/bcm2835.h>
      2 #include <dt-bindings/clock/bcm2835.h>
      3 #include <dt-bindings/clock/bcm2835-aux.h>
      4 #include <dt-bindings/gpio/gpio.h>
      5 
      6 /* firmware-provided startup stubs live here, where the secondary CPUs are
      7  * spinning.
      8  */
      9 /memreserve/ 0x00000000 0x00001000;
     10 
     11 /* This include file covers the common peripherals and configuration between
     12  * bcm2835 and bcm2836 implementations, leaving the CPU configuration to
     13  * bcm2835.dtsi and bcm2836.dtsi.
     14  */
     15 
     16 / {
     17 	compatible = "brcm,bcm2835";
     18 	model = "BCM2835";
     19 	interrupt-parent = <&intc>;
     20 	#address-cells = <1>;
     21 	#size-cells = <1>;
     22 
     23 	chosen {
     24 		bootargs = "earlyprintk console=ttyAMA0";
     25 	};
     26 
     27 	thermal-zones {
     28 		cpu_thermal: cpu-thermal {
     29 			polling-delay-passive = <0>;
     30 			polling-delay = <1000>;
     31 
     32 			thermal-sensors = <&thermal>;
     33 
     34 			trips {
     35 				cpu-crit {
     36 					temperature	= <80000>;
     37 					hysteresis	= <0>;
     38 					type		= "critical";
     39 				};
     40 			};
     41 
     42 			cooling-maps {
     43 			};
     44 		};
     45 	};
     46 
     47 	soc: soc {
     48 		compatible = "simple-bus";
     49 		#address-cells = <1>;
     50 		#size-cells = <1>;
     51 
     52 		timer@7e003000 {
     53 			compatible = "brcm,bcm2835-system-timer";
     54 			reg = <0x7e003000 0x1000>;
     55 			interrupts = <1 0>, <1 1>, <1 2>, <1 3>;
     56 			/* This could be a reference to BCM2835_CLOCK_TIMER,
     57 			 * but we don't have the driver using the common clock
     58 			 * support yet.
     59 			 */
     60 			clock-frequency = <1000000>;
     61 		};
     62 
     63 		dma: dma@7e007000 {
     64 			compatible = "brcm,bcm2835-dma";
     65 			reg = <0x7e007000 0xf00>;
     66 			interrupts = <1 16>,
     67 				     <1 17>,
     68 				     <1 18>,
     69 				     <1 19>,
     70 				     <1 20>,
     71 				     <1 21>,
     72 				     <1 22>,
     73 				     <1 23>,
     74 				     <1 24>,
     75 				     <1 25>,
     76 				     <1 26>,
     77 				     /* dma channel 11-14 share one irq */
     78 				     <1 27>,
     79 				     <1 27>,
     80 				     <1 27>,
     81 				     <1 27>,
     82 				     /* unused shared irq for all channels */
     83 				     <1 28>;
     84 			interrupt-names = "dma0",
     85 					  "dma1",
     86 					  "dma2",
     87 					  "dma3",
     88 					  "dma4",
     89 					  "dma5",
     90 					  "dma6",
     91 					  "dma7",
     92 					  "dma8",
     93 					  "dma9",
     94 					  "dma10",
     95 					  "dma11",
     96 					  "dma12",
     97 					  "dma13",
     98 					  "dma14",
     99 					  "dma-shared-all";
    100 			#dma-cells = <1>;
    101 			brcm,dma-channel-mask = <0x7f35>;
    102 		};
    103 
    104 		intc: interrupt-controller@7e00b200 {
    105 			compatible = "brcm,bcm2835-armctrl-ic";
    106 			reg = <0x7e00b200 0x200>;
    107 			interrupt-controller;
    108 			#interrupt-cells = <2>;
    109 		};
    110 
    111 		watchdog@7e100000 {
    112 			compatible = "brcm,bcm2835-pm-wdt";
    113 			reg = <0x7e100000 0x28>;
    114 		};
    115 
    116 		clocks: cprman@7e101000 {
    117 			compatible = "brcm,bcm2835-cprman";
    118 			#clock-cells = <1>;
    119 			reg = <0x7e101000 0x2000>;
    120 
    121 			/* CPRMAN derives almost everything from the
    122 			 * platform's oscillator.  However, the DSI
    123 			 * pixel clocks come from the DSI analog PHY.
    124 			 */
    125 			clocks = <&clk_osc>,
    126 				<&dsi0 0>, <&dsi0 1>, <&dsi0 2>,
    127 				<&dsi1 0>, <&dsi1 1>, <&dsi1 2>;
    128 		};
    129 
    130 		rng@7e104000 {
    131 			compatible = "brcm,bcm2835-rng";
    132 			reg = <0x7e104000 0x10>;
    133 		};
    134 
    135 		mailbox: mailbox@7e00b880 {
    136 			compatible = "brcm,bcm2835-mbox";
    137 			reg = <0x7e00b880 0x40>;
    138 			interrupts = <0 1>;
    139 			#mbox-cells = <0>;
    140 		};
    141 
    142 		gpio: gpio@7e200000 {
    143 			compatible = "brcm,bcm2835-gpio";
    144 			reg = <0x7e200000 0xb4>;
    145 			/*
    146 			 * The GPIO IP block is designed for 3 banks of GPIOs.
    147 			 * Each bank has a GPIO interrupt for itself.
    148 			 * There is an overall "any bank" interrupt.
    149 			 * In order, these are GIC interrupts 17, 18, 19, 20.
    150 			 * Since the BCM2835 only has 2 banks, the 2nd bank
    151 			 * interrupt output appears to be mirrored onto the
    152 			 * 3rd bank's interrupt signal.
    153 			 * So, a bank0 interrupt shows up on 17, 20, and
    154 			 * a bank1 interrupt shows up on 18, 19, 20!
    155 			 */
    156 			interrupts = <2 17>, <2 18>, <2 19>, <2 20>;
    157 
    158 			gpio-controller;
    159 			#gpio-cells = <2>;
    160 
    161 			interrupt-controller;
    162 			#interrupt-cells = <2>;
    163 
    164 			/* Defines pin muxing groups according to
    165 			 * BCM2835-ARM-Peripherals.pdf page 102.
    166 			 *
    167 			 * While each pin can have its mux selected
    168 			 * for various functions individually, some
    169 			 * groups only make sense to switch to a
    170 			 * particular function together.
    171 			 */
    172 			dpi_gpio0: dpi_gpio0 {
    173 				brcm,pins = <0 1 2 3 4 5 6 7 8 9 10 11
    174 					     12 13 14 15 16 17 18 19
    175 					     20 21 22 23 24 25 26 27>;
    176 				brcm,function = <BCM2835_FSEL_ALT2>;
    177 			};
    178 			emmc_gpio22: emmc_gpio22 {
    179 				brcm,pins = <22 23 24 25 26 27>;
    180 				brcm,function = <BCM2835_FSEL_ALT3>;
    181 			};
    182 			emmc_gpio34: emmc_gpio34 {
    183 				brcm,pins = <34 35 36 37 38 39>;
    184 				brcm,function = <BCM2835_FSEL_ALT3>;
    185 				brcm,pull = <BCM2835_PUD_OFF
    186 					     BCM2835_PUD_UP
    187 					     BCM2835_PUD_UP
    188 					     BCM2835_PUD_UP
    189 					     BCM2835_PUD_UP
    190 					     BCM2835_PUD_UP>;
    191 			};
    192 			emmc_gpio48: emmc_gpio48 {
    193 				brcm,pins = <48 49 50 51 52 53>;
    194 				brcm,function = <BCM2835_FSEL_ALT3>;
    195 			};
    196 
    197 			gpclk0_gpio4: gpclk0_gpio4 {
    198 				brcm,pins = <4>;
    199 				brcm,function = <BCM2835_FSEL_ALT0>;
    200 			};
    201 			gpclk1_gpio5: gpclk1_gpio5 {
    202 				brcm,pins = <5>;
    203 				brcm,function = <BCM2835_FSEL_ALT0>;
    204 			};
    205 			gpclk1_gpio42: gpclk1_gpio42 {
    206 				brcm,pins = <42>;
    207 				brcm,function = <BCM2835_FSEL_ALT0>;
    208 			};
    209 			gpclk1_gpio44: gpclk1_gpio44 {
    210 				brcm,pins = <44>;
    211 				brcm,function = <BCM2835_FSEL_ALT0>;
    212 			};
    213 			gpclk2_gpio6: gpclk2_gpio6 {
    214 				brcm,pins = <6>;
    215 				brcm,function = <BCM2835_FSEL_ALT0>;
    216 			};
    217 			gpclk2_gpio43: gpclk2_gpio43 {
    218 				brcm,pins = <43>;
    219 				brcm,function = <BCM2835_FSEL_ALT0>;
    220 			};
    221 
    222 			i2c0_gpio0: i2c0_gpio0 {
    223 				brcm,pins = <0 1>;
    224 				brcm,function = <BCM2835_FSEL_ALT0>;
    225 			};
    226 			i2c0_gpio28: i2c0_gpio28 {
    227 				brcm,pins = <28 29>;
    228 				brcm,function = <BCM2835_FSEL_ALT0>;
    229 			};
    230 			i2c0_gpio44: i2c0_gpio44 {
    231 				brcm,pins = <44 45>;
    232 				brcm,function = <BCM2835_FSEL_ALT1>;
    233 			};
    234 			i2c1_gpio2: i2c1_gpio2 {
    235 				brcm,pins = <2 3>;
    236 				brcm,function = <BCM2835_FSEL_ALT0>;
    237 			};
    238 			i2c1_gpio44: i2c1_gpio44 {
    239 				brcm,pins = <44 45>;
    240 				brcm,function = <BCM2835_FSEL_ALT2>;
    241 			};
    242 			i2c_slave_gpio18: i2c_slave_gpio18 {
    243 				brcm,pins = <18 19 20 21>;
    244 				brcm,function = <BCM2835_FSEL_ALT3>;
    245 			};
    246 
    247 			jtag_gpio4: jtag_gpio4 {
    248 				brcm,pins = <4 5 6 12 13>;
    249 				brcm,function = <BCM2835_FSEL_ALT5>;
    250 			};
    251 			jtag_gpio22: jtag_gpio22 {
    252 				brcm,pins = <22 23 24 25 26 27>;
    253 				brcm,function = <BCM2835_FSEL_ALT4>;
    254 			};
    255 
    256 			pcm_gpio18: pcm_gpio18 {
    257 				brcm,pins = <18 19 20 21>;
    258 				brcm,function = <BCM2835_FSEL_ALT0>;
    259 			};
    260 			pcm_gpio28: pcm_gpio28 {
    261 				brcm,pins = <28 29 30 31>;
    262 				brcm,function = <BCM2835_FSEL_ALT2>;
    263 			};
    264 
    265 			pwm0_gpio12: pwm0_gpio12 {
    266 				brcm,pins = <12>;
    267 				brcm,function = <BCM2835_FSEL_ALT0>;
    268 			};
    269 			pwm0_gpio18: pwm0_gpio18 {
    270 				brcm,pins = <18>;
    271 				brcm,function = <BCM2835_FSEL_ALT5>;
    272 			};
    273 			pwm0_gpio40: pwm0_gpio40 {
    274 				brcm,pins = <40>;
    275 				brcm,function = <BCM2835_FSEL_ALT0>;
    276 			};
    277 			pwm1_gpio13: pwm1_gpio13 {
    278 				brcm,pins = <13>;
    279 				brcm,function = <BCM2835_FSEL_ALT0>;
    280 			};
    281 			pwm1_gpio19: pwm1_gpio19 {
    282 				brcm,pins = <19>;
    283 				brcm,function = <BCM2835_FSEL_ALT5>;
    284 			};
    285 			pwm1_gpio41: pwm1_gpio41 {
    286 				brcm,pins = <41>;
    287 				brcm,function = <BCM2835_FSEL_ALT0>;
    288 			};
    289 			pwm1_gpio45: pwm1_gpio45 {
    290 				brcm,pins = <45>;
    291 				brcm,function = <BCM2835_FSEL_ALT0>;
    292 			};
    293 
    294 			sdhost_gpio48: sdhost_gpio48 {
    295 				brcm,pins = <48 49 50 51 52 53>;
    296 				brcm,function = <BCM2835_FSEL_ALT0>;
    297 			};
    298 
    299 			spi0_gpio7: spi0_gpio7 {
    300 				brcm,pins = <7 8 9 10 11>;
    301 				brcm,function = <BCM2835_FSEL_ALT0>;
    302 			};
    303 			spi0_gpio35: spi0_gpio35 {
    304 				brcm,pins = <35 36 37 38 39>;
    305 				brcm,function = <BCM2835_FSEL_ALT0>;
    306 			};
    307 			spi1_gpio16: spi1_gpio16 {
    308 				brcm,pins = <16 17 18 19 20 21>;
    309 				brcm,function = <BCM2835_FSEL_ALT4>;
    310 			};
    311 			spi2_gpio40: spi2_gpio40 {
    312 				brcm,pins = <40 41 42 43 44 45>;
    313 				brcm,function = <BCM2835_FSEL_ALT4>;
    314 			};
    315 
    316 			uart0_gpio14: uart0_gpio14 {
    317 				brcm,pins = <14 15>;
    318 				brcm,function = <BCM2835_FSEL_ALT0>;
    319 			};
    320 			/* Separate from the uart0_gpio14 group
    321 			 * because it conflicts with spi1_gpio16, and
    322 			 * people often run uart0 on the two pins
    323 			 * without flow control.
    324 			 */
    325 			uart0_ctsrts_gpio16: uart0_ctsrts_gpio16 {
    326 				brcm,pins = <16 17>;
    327 				brcm,function = <BCM2835_FSEL_ALT3>;
    328 			};
    329 			uart0_ctsrts_gpio30: uart0_ctsrts_gpio30 {
    330 				brcm,pins = <30 31>;
    331 				brcm,function = <BCM2835_FSEL_ALT3>;
    332 			};
    333 			uart0_gpio32: uart0_gpio32 {
    334 				brcm,pins = <32 33>;
    335 				brcm,function = <BCM2835_FSEL_ALT3>;
    336 			};
    337 			uart0_gpio36: uart0_gpio36 {
    338 				brcm,pins = <36 37>;
    339 				brcm,function = <BCM2835_FSEL_ALT2>;
    340 			};
    341 			uart0_ctsrts_gpio38: uart0_ctsrts_gpio38 {
    342 				brcm,pins = <38 39>;
    343 				brcm,function = <BCM2835_FSEL_ALT2>;
    344 			};
    345 
    346 			uart1_gpio14: uart1_gpio14 {
    347 				brcm,pins = <14 15>;
    348 				brcm,function = <BCM2835_FSEL_ALT5>;
    349 			};
    350 			uart1_ctsrts_gpio16: uart1_ctsrts_gpio16 {
    351 				brcm,pins = <16 17>;
    352 				brcm,function = <BCM2835_FSEL_ALT5>;
    353 			};
    354 			uart1_gpio32: uart1_gpio32 {
    355 				brcm,pins = <32 33>;
    356 				brcm,function = <BCM2835_FSEL_ALT5>;
    357 			};
    358 			uart1_ctsrts_gpio30: uart1_ctsrts_gpio30 {
    359 				brcm,pins = <30 31>;
    360 				brcm,function = <BCM2835_FSEL_ALT5>;
    361 			};
    362 			uart1_gpio40: uart1_gpio40 {
    363 				brcm,pins = <40 41>;
    364 				brcm,function = <BCM2835_FSEL_ALT5>;
    365 			};
    366 			uart1_ctsrts_gpio42: uart1_ctsrts_gpio42 {
    367 				brcm,pins = <42 43>;
    368 				brcm,function = <BCM2835_FSEL_ALT5>;
    369 			};
    370 		};
    371 
    372 		uart0: serial@7e201000 {
    373 			compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell";
    374 			reg = <0x7e201000 0x1000>;
    375 			interrupts = <2 25>;
    376 			clocks = <&clocks BCM2835_CLOCK_UART>,
    377 				 <&clocks BCM2835_CLOCK_VPU>;
    378 			clock-names = "uartclk", "apb_pclk";
    379 			arm,primecell-periphid = <0x00241011>;
    380 		};
    381 
    382 		sdhost: mmc@7e202000 {
    383 			compatible = "brcm,bcm2835-sdhost";
    384 			reg = <0x7e202000 0x100>;
    385 			interrupts = <2 24>;
    386 			clocks = <&clocks BCM2835_CLOCK_VPU>;
    387 			dmas = <&dma 13>;
    388 			dma-names = "rx-tx";
    389 			status = "disabled";
    390 		};
    391 
    392 		i2s: i2s@7e203000 {
    393 			compatible = "brcm,bcm2835-i2s";
    394 			reg = <0x7e203000 0x20>,
    395 			      <0x7e101098 0x02>;
    396 
    397 			dmas = <&dma 2>,
    398 			       <&dma 3>;
    399 			dma-names = "tx", "rx";
    400 			status = "disabled";
    401 		};
    402 
    403 		spi: spi@7e204000 {
    404 			compatible = "brcm,bcm2835-spi";
    405 			reg = <0x7e204000 0x1000>;
    406 			interrupts = <2 22>;
    407 			clocks = <&clocks BCM2835_CLOCK_VPU>;
    408 			#address-cells = <1>;
    409 			#size-cells = <0>;
    410 			status = "disabled";
    411 		};
    412 
    413 		i2c0: i2c@7e205000 {
    414 			compatible = "brcm,bcm2835-i2c";
    415 			reg = <0x7e205000 0x1000>;
    416 			interrupts = <2 21>;
    417 			clocks = <&clocks BCM2835_CLOCK_VPU>;
    418 			#address-cells = <1>;
    419 			#size-cells = <0>;
    420 			status = "disabled";
    421 		};
    422 
    423 		pixelvalve@7e206000 {
    424 			compatible = "brcm,bcm2835-pixelvalve0";
    425 			reg = <0x7e206000 0x100>;
    426 			interrupts = <2 13>; /* pwa0 */
    427 		};
    428 
    429 		pixelvalve@7e207000 {
    430 			compatible = "brcm,bcm2835-pixelvalve1";
    431 			reg = <0x7e207000 0x100>;
    432 			interrupts = <2 14>; /* pwa1 */
    433 		};
    434 
    435 		dsi0: dsi@7e209000 {
    436 			compatible = "brcm,bcm2835-dsi0";
    437 			reg = <0x7e209000 0x78>;
    438 			interrupts = <2 4>;
    439 			#address-cells = <1>;
    440 			#size-cells = <0>;
    441 			#clock-cells = <1>;
    442 
    443 			clocks = <&clocks BCM2835_PLLA_DSI0>,
    444 				 <&clocks BCM2835_CLOCK_DSI0E>,
    445 				 <&clocks BCM2835_CLOCK_DSI0P>;
    446 			clock-names = "phy", "escape", "pixel";
    447 
    448 			clock-output-names = "dsi0_byte",
    449 					     "dsi0_ddr2",
    450 					     "dsi0_ddr";
    451 
    452 		};
    453 
    454 		thermal: thermal@7e212000 {
    455 			compatible = "brcm,bcm2835-thermal";
    456 			reg = <0x7e212000 0x8>;
    457 			clocks = <&clocks BCM2835_CLOCK_TSENS>;
    458 			#thermal-sensor-cells = <0>;
    459 			status = "disabled";
    460 		};
    461 
    462 		aux: aux@0x7e215000 {
    463 			compatible = "brcm,bcm2835-aux";
    464 			#clock-cells = <1>;
    465 			reg = <0x7e215000 0x8>;
    466 			clocks = <&clocks BCM2835_CLOCK_VPU>;
    467 		};
    468 
    469 		uart1: serial@7e215040 {
    470 			compatible = "brcm,bcm2835-aux-uart";
    471 			reg = <0x7e215040 0x40>;
    472 			interrupts = <1 29>;
    473 			clocks = <&aux BCM2835_AUX_CLOCK_UART>;
    474 			status = "disabled";
    475 		};
    476 
    477 		spi1: spi@7e215080 {
    478 			compatible = "brcm,bcm2835-aux-spi";
    479 			reg = <0x7e215080 0x40>;
    480 			interrupts = <1 29>;
    481 			clocks = <&aux BCM2835_AUX_CLOCK_SPI1>;
    482 			#address-cells = <1>;
    483 			#size-cells = <0>;
    484 			status = "disabled";
    485 		};
    486 
    487 		spi2: spi@7e2150c0 {
    488 			compatible = "brcm,bcm2835-aux-spi";
    489 			reg = <0x7e2150c0 0x40>;
    490 			interrupts = <1 29>;
    491 			clocks = <&aux BCM2835_AUX_CLOCK_SPI2>;
    492 			#address-cells = <1>;
    493 			#size-cells = <0>;
    494 			status = "disabled";
    495 		};
    496 
    497 		pwm: pwm@7e20c000 {
    498 			compatible = "brcm,bcm2835-pwm";
    499 			reg = <0x7e20c000 0x28>;
    500 			clocks = <&clocks BCM2835_CLOCK_PWM>;
    501 			assigned-clocks = <&clocks BCM2835_CLOCK_PWM>;
    502 			assigned-clock-rates = <10000000>;
    503 			#pwm-cells = <2>;
    504 			status = "disabled";
    505 		};
    506 
    507 		sdhci: sdhci@7e300000 {
    508 			compatible = "brcm,bcm2835-sdhci";
    509 			reg = <0x7e300000 0x100>;
    510 			interrupts = <2 30>;
    511 			clocks = <&clocks BCM2835_CLOCK_EMMC>;
    512 			status = "disabled";
    513 		};
    514 
    515 		hvs@7e400000 {
    516 			compatible = "brcm,bcm2835-hvs";
    517 			reg = <0x7e400000 0x6000>;
    518 			interrupts = <2 1>;
    519 		};
    520 
    521 		dsi1: dsi@7e700000 {
    522 			compatible = "brcm,bcm2835-dsi1";
    523 			reg = <0x7e700000 0x8c>;
    524 			interrupts = <2 12>;
    525 			#address-cells = <1>;
    526 			#size-cells = <0>;
    527 			#clock-cells = <1>;
    528 
    529 			clocks = <&clocks BCM2835_PLLD_DSI1>,
    530 				 <&clocks BCM2835_CLOCK_DSI1E>,
    531 				 <&clocks BCM2835_CLOCK_DSI1P>;
    532 			clock-names = "phy", "escape", "pixel";
    533 
    534 			clock-output-names = "dsi1_byte",
    535 					     "dsi1_ddr2",
    536 					     "dsi1_ddr";
    537 
    538 			status = "disabled";
    539 		};
    540 
    541 		i2c1: i2c@7e804000 {
    542 			compatible = "brcm,bcm2835-i2c";
    543 			reg = <0x7e804000 0x1000>;
    544 			interrupts = <2 21>;
    545 			clocks = <&clocks BCM2835_CLOCK_VPU>;
    546 			#address-cells = <1>;
    547 			#size-cells = <0>;
    548 			status = "disabled";
    549 		};
    550 
    551 		i2c2: i2c@7e805000 {
    552 			compatible = "brcm,bcm2835-i2c";
    553 			reg = <0x7e805000 0x1000>;
    554 			interrupts = <2 21>;
    555 			clocks = <&clocks BCM2835_CLOCK_VPU>;
    556 			#address-cells = <1>;
    557 			#size-cells = <0>;
    558 			status = "disabled";
    559 		};
    560 
    561 		vec: vec@7e806000 {
    562 			compatible = "brcm,bcm2835-vec";
    563 			reg = <0x7e806000 0x1000>;
    564 			clocks = <&clocks BCM2835_CLOCK_VEC>;
    565 			interrupts = <2 27>;
    566 			status = "disabled";
    567 		};
    568 
    569 		pixelvalve@7e807000 {
    570 			compatible = "brcm,bcm2835-pixelvalve2";
    571 			reg = <0x7e807000 0x100>;
    572 			interrupts = <2 10>; /* pixelvalve */
    573 		};
    574 
    575 		hdmi: hdmi@7e902000 {
    576 			compatible = "brcm,bcm2835-hdmi";
    577 			reg = <0x7e902000 0x600>,
    578 			      <0x7e808000 0x100>;
    579 			interrupts = <2 8>, <2 9>;
    580 			ddc = <&i2c2>;
    581 			clocks = <&clocks BCM2835_PLLH_PIX>,
    582 				 <&clocks BCM2835_CLOCK_HSM>;
    583 			clock-names = "pixel", "hdmi";
    584 			dmas = <&dma 17>;
    585 			dma-names = "audio-rx";
    586 			status = "disabled";
    587 		};
    588 
    589 		usb: usb@7e980000 {
    590 			compatible = "brcm,bcm2835-usb";
    591 			reg = <0x7e980000 0x10000>;
    592 			interrupts = <1 9>;
    593 			#address-cells = <1>;
    594 			#size-cells = <0>;
    595 			clocks = <&clk_usb>;
    596 			clock-names = "otg";
    597 			phys = <&usbphy>;
    598 			phy-names = "usb2-phy";
    599 		};
    600 
    601 		v3d: v3d@7ec00000 {
    602 			compatible = "brcm,bcm2835-v3d";
    603 			reg = <0x7ec00000 0x1000>;
    604 			interrupts = <1 10>;
    605 		};
    606 
    607 		vc4: gpu {
    608 			compatible = "brcm,bcm2835-vc4";
    609 		};
    610 	};
    611 
    612 	clocks {
    613 		compatible = "simple-bus";
    614 		#address-cells = <1>;
    615 		#size-cells = <0>;
    616 
    617 		/* The oscillator is the root of the clock tree. */
    618 		clk_osc: clock@3 {
    619 			compatible = "fixed-clock";
    620 			reg = <3>;
    621 			#clock-cells = <0>;
    622 			clock-output-names = "osc";
    623 			clock-frequency = <19200000>;
    624 		};
    625 
    626 		clk_usb: clock@4 {
    627 			compatible = "fixed-clock";
    628 			reg = <4>;
    629 			#clock-cells = <0>;
    630 			clock-output-names = "otg";
    631 			clock-frequency = <480000000>;
    632 		};
    633 	};
    634 
    635 	usbphy: phy {
    636 		compatible = "usb-nop-xceiv";
    637 	};
    638 };
    639 
    640 #include "bcm283x-uboot.dtsi"
    641