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