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