]> git.sur5r.net Git - u-boot/blob - arch/arm/dts/uniphier-pro4.dtsi
Merge git://git.denx.de/u-boot-sunxi
[u-boot] / arch / arm / dts / uniphier-pro4.dtsi
1 /*
2  * Device Tree Source for UniPhier Pro4 SoC
3  *
4  * Copyright (C) 2015-2016 Socionext Inc.
5  *   Author: Masahiro Yamada <yamada.masahiro@socionext.com>
6  *
7  * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8  */
9
10 / {
11         compatible = "socionext,uniphier-pro4";
12         #address-cells = <1>;
13         #size-cells = <1>;
14
15         cpus {
16                 #address-cells = <1>;
17                 #size-cells = <0>;
18
19                 cpu@0 {
20                         device_type = "cpu";
21                         compatible = "arm,cortex-a9";
22                         reg = <0>;
23                         enable-method = "psci";
24                         next-level-cache = <&l2>;
25                 };
26
27                 cpu@1 {
28                         device_type = "cpu";
29                         compatible = "arm,cortex-a9";
30                         reg = <1>;
31                         enable-method = "psci";
32                         next-level-cache = <&l2>;
33                 };
34         };
35
36         psci {
37                 compatible = "arm,psci-0.2";
38                 method = "smc";
39         };
40
41         clocks {
42                 refclk: ref {
43                         compatible = "fixed-clock";
44                         #clock-cells = <0>;
45                         clock-frequency = <25000000>;
46                 };
47
48                 arm_timer_clk: arm_timer_clk {
49                         #clock-cells = <0>;
50                         compatible = "fixed-clock";
51                         clock-frequency = <50000000>;
52                 };
53         };
54
55         soc {
56                 compatible = "simple-bus";
57                 #address-cells = <1>;
58                 #size-cells = <1>;
59                 ranges;
60                 interrupt-parent = <&intc>;
61                 u-boot,dm-pre-reloc;
62
63                 l2: l2-cache@500c0000 {
64                         compatible = "socionext,uniphier-system-cache";
65                         reg = <0x500c0000 0x2000>, <0x503c0100 0x4>,
66                               <0x506c0000 0x400>;
67                         interrupts = <0 174 4>, <0 175 4>;
68                         cache-unified;
69                         cache-size = <(768 * 1024)>;
70                         cache-sets = <256>;
71                         cache-line-size = <128>;
72                         cache-level = <2>;
73                 };
74
75                 serial0: serial@54006800 {
76                         compatible = "socionext,uniphier-uart";
77                         status = "disabled";
78                         reg = <0x54006800 0x40>;
79                         interrupts = <0 33 4>;
80                         pinctrl-names = "default";
81                         pinctrl-0 = <&pinctrl_uart0>;
82                         clocks = <&peri_clk 0>;
83                         clock-frequency = <73728000>;
84                 };
85
86                 serial1: serial@54006900 {
87                         compatible = "socionext,uniphier-uart";
88                         status = "disabled";
89                         reg = <0x54006900 0x40>;
90                         interrupts = <0 35 4>;
91                         pinctrl-names = "default";
92                         pinctrl-0 = <&pinctrl_uart1>;
93                         clocks = <&peri_clk 1>;
94                         clock-frequency = <73728000>;
95                 };
96
97                 serial2: serial@54006a00 {
98                         compatible = "socionext,uniphier-uart";
99                         status = "disabled";
100                         reg = <0x54006a00 0x40>;
101                         interrupts = <0 37 4>;
102                         pinctrl-names = "default";
103                         pinctrl-0 = <&pinctrl_uart2>;
104                         clocks = <&peri_clk 2>;
105                         clock-frequency = <73728000>;
106                 };
107
108                 serial3: serial@54006b00 {
109                         compatible = "socionext,uniphier-uart";
110                         status = "disabled";
111                         reg = <0x54006b00 0x40>;
112                         interrupts = <0 177 4>;
113                         pinctrl-names = "default";
114                         pinctrl-0 = <&pinctrl_uart3>;
115                         clocks = <&peri_clk 3>;
116                         clock-frequency = <73728000>;
117                 };
118
119                 port0x: gpio@55000008 {
120                         compatible = "socionext,uniphier-gpio";
121                         reg = <0x55000008 0x8>;
122                         gpio-controller;
123                         #gpio-cells = <2>;
124                 };
125
126                 port1x: gpio@55000010 {
127                         compatible = "socionext,uniphier-gpio";
128                         reg = <0x55000010 0x8>;
129                         gpio-controller;
130                         #gpio-cells = <2>;
131                 };
132
133                 port2x: gpio@55000018 {
134                         compatible = "socionext,uniphier-gpio";
135                         reg = <0x55000018 0x8>;
136                         gpio-controller;
137                         #gpio-cells = <2>;
138                 };
139
140                 port3x: gpio@55000020 {
141                         compatible = "socionext,uniphier-gpio";
142                         reg = <0x55000020 0x8>;
143                         gpio-controller;
144                         #gpio-cells = <2>;
145                 };
146
147                 port4: gpio@55000028 {
148                         compatible = "socionext,uniphier-gpio";
149                         reg = <0x55000028 0x8>;
150                         gpio-controller;
151                         #gpio-cells = <2>;
152                 };
153
154                 port5x: gpio@55000030 {
155                         compatible = "socionext,uniphier-gpio";
156                         reg = <0x55000030 0x8>;
157                         gpio-controller;
158                         #gpio-cells = <2>;
159                 };
160
161                 port6x: gpio@55000038 {
162                         compatible = "socionext,uniphier-gpio";
163                         reg = <0x55000038 0x8>;
164                         gpio-controller;
165                         #gpio-cells = <2>;
166                 };
167
168                 port7x: gpio@55000040 {
169                         compatible = "socionext,uniphier-gpio";
170                         reg = <0x55000040 0x8>;
171                         gpio-controller;
172                         #gpio-cells = <2>;
173                 };
174
175                 port8x: gpio@55000048 {
176                         compatible = "socionext,uniphier-gpio";
177                         reg = <0x55000048 0x8>;
178                         gpio-controller;
179                         #gpio-cells = <2>;
180                 };
181
182                 port9x: gpio@55000050 {
183                         compatible = "socionext,uniphier-gpio";
184                         reg = <0x55000050 0x8>;
185                         gpio-controller;
186                         #gpio-cells = <2>;
187                 };
188
189                 port10x: gpio@55000058 {
190                         compatible = "socionext,uniphier-gpio";
191                         reg = <0x55000058 0x8>;
192                         gpio-controller;
193                         #gpio-cells = <2>;
194                 };
195
196                 port11x: gpio@55000060 {
197                         compatible = "socionext,uniphier-gpio";
198                         reg = <0x55000060 0x8>;
199                         gpio-controller;
200                         #gpio-cells = <2>;
201                 };
202
203                 port12x: gpio@55000068 {
204                         compatible = "socionext,uniphier-gpio";
205                         reg = <0x55000068 0x8>;
206                         gpio-controller;
207                         #gpio-cells = <2>;
208                 };
209
210                 port13x: gpio@55000070 {
211                         compatible = "socionext,uniphier-gpio";
212                         reg = <0x55000070 0x8>;
213                         gpio-controller;
214                         #gpio-cells = <2>;
215                 };
216
217                 port14x: gpio@55000078 {
218                         compatible = "socionext,uniphier-gpio";
219                         reg = <0x55000078 0x8>;
220                         gpio-controller;
221                         #gpio-cells = <2>;
222                 };
223
224                 port17x: gpio@550000a0 {
225                         compatible = "socionext,uniphier-gpio";
226                         reg = <0x550000a0 0x8>;
227                         gpio-controller;
228                         #gpio-cells = <2>;
229                 };
230
231                 port18x: gpio@550000a8 {
232                         compatible = "socionext,uniphier-gpio";
233                         reg = <0x550000a8 0x8>;
234                         gpio-controller;
235                         #gpio-cells = <2>;
236                 };
237
238                 port19x: gpio@550000b0 {
239                         compatible = "socionext,uniphier-gpio";
240                         reg = <0x550000b0 0x8>;
241                         gpio-controller;
242                         #gpio-cells = <2>;
243                 };
244
245                 port20x: gpio@550000b8 {
246                         compatible = "socionext,uniphier-gpio";
247                         reg = <0x550000b8 0x8>;
248                         gpio-controller;
249                         #gpio-cells = <2>;
250                 };
251
252                 port21x: gpio@550000c0 {
253                         compatible = "socionext,uniphier-gpio";
254                         reg = <0x550000c0 0x8>;
255                         gpio-controller;
256                         #gpio-cells = <2>;
257                 };
258
259                 port22x: gpio@550000c8 {
260                         compatible = "socionext,uniphier-gpio";
261                         reg = <0x550000c8 0x8>;
262                         gpio-controller;
263                         #gpio-cells = <2>;
264                 };
265
266                 port23x: gpio@550000d0 {
267                         compatible = "socionext,uniphier-gpio";
268                         reg = <0x550000d0 0x8>;
269                         gpio-controller;
270                         #gpio-cells = <2>;
271                 };
272
273                 port24x: gpio@550000d8 {
274                         compatible = "socionext,uniphier-gpio";
275                         reg = <0x550000d8 0x8>;
276                         gpio-controller;
277                         #gpio-cells = <2>;
278                 };
279
280                 port25x: gpio@550000e0 {
281                         compatible = "socionext,uniphier-gpio";
282                         reg = <0x550000e0 0x8>;
283                         gpio-controller;
284                         #gpio-cells = <2>;
285                 };
286
287                 port26x: gpio@550000e8 {
288                         compatible = "socionext,uniphier-gpio";
289                         reg = <0x550000e8 0x8>;
290                         gpio-controller;
291                         #gpio-cells = <2>;
292                 };
293
294                 port27x: gpio@550000f0 {
295                         compatible = "socionext,uniphier-gpio";
296                         reg = <0x550000f0 0x8>;
297                         gpio-controller;
298                         #gpio-cells = <2>;
299                 };
300
301                 port28x: gpio@550000f8 {
302                         compatible = "socionext,uniphier-gpio";
303                         reg = <0x550000f8 0x8>;
304                         gpio-controller;
305                         #gpio-cells = <2>;
306                 };
307
308                 port29x: gpio@55000100 {
309                         compatible = "socionext,uniphier-gpio";
310                         reg = <0x55000100 0x8>;
311                         gpio-controller;
312                         #gpio-cells = <2>;
313                 };
314
315                 port30x: gpio@55000108 {
316                         compatible = "socionext,uniphier-gpio";
317                         reg = <0x55000108 0x8>;
318                         gpio-controller;
319                         #gpio-cells = <2>;
320                 };
321
322                 i2c0: i2c@58780000 {
323                         compatible = "socionext,uniphier-fi2c";
324                         status = "disabled";
325                         reg = <0x58780000 0x80>;
326                         #address-cells = <1>;
327                         #size-cells = <0>;
328                         interrupts = <0 41 4>;
329                         pinctrl-names = "default";
330                         pinctrl-0 = <&pinctrl_i2c0>;
331                         clocks = <&peri_clk 4>;
332                         clock-frequency = <100000>;
333                 };
334
335                 i2c1: i2c@58781000 {
336                         compatible = "socionext,uniphier-fi2c";
337                         status = "disabled";
338                         reg = <0x58781000 0x80>;
339                         #address-cells = <1>;
340                         #size-cells = <0>;
341                         interrupts = <0 42 4>;
342                         pinctrl-names = "default";
343                         pinctrl-0 = <&pinctrl_i2c1>;
344                         clocks = <&peri_clk 5>;
345                         clock-frequency = <100000>;
346                 };
347
348                 i2c2: i2c@58782000 {
349                         compatible = "socionext,uniphier-fi2c";
350                         status = "disabled";
351                         reg = <0x58782000 0x80>;
352                         #address-cells = <1>;
353                         #size-cells = <0>;
354                         interrupts = <0 43 4>;
355                         pinctrl-names = "default";
356                         pinctrl-0 = <&pinctrl_i2c2>;
357                         clocks = <&peri_clk 6>;
358                         clock-frequency = <100000>;
359                 };
360
361                 i2c3: i2c@58783000 {
362                         compatible = "socionext,uniphier-fi2c";
363                         status = "disabled";
364                         reg = <0x58783000 0x80>;
365                         #address-cells = <1>;
366                         #size-cells = <0>;
367                         interrupts = <0 44 4>;
368                         pinctrl-names = "default";
369                         pinctrl-0 = <&pinctrl_i2c3>;
370                         clocks = <&peri_clk 7>;
371                         clock-frequency = <100000>;
372                 };
373
374                 /* i2c4 does not exist */
375
376                 /* chip-internal connection for DMD */
377                 i2c5: i2c@58785000 {
378                         compatible = "socionext,uniphier-fi2c";
379                         reg = <0x58785000 0x80>;
380                         #address-cells = <1>;
381                         #size-cells = <0>;
382                         interrupts = <0 25 4>;
383                         clocks = <&peri_clk 9>;
384                         clock-frequency = <400000>;
385                 };
386
387                 /* chip-internal connection for HDMI */
388                 i2c6: i2c@58786000 {
389                         compatible = "socionext,uniphier-fi2c";
390                         reg = <0x58786000 0x80>;
391                         #address-cells = <1>;
392                         #size-cells = <0>;
393                         interrupts = <0 26 4>;
394                         clocks = <&peri_clk 10>;
395                         clock-frequency = <400000>;
396                 };
397
398                 system_bus: system-bus@58c00000 {
399                         compatible = "socionext,uniphier-system-bus";
400                         status = "disabled";
401                         reg = <0x58c00000 0x400>;
402                         #address-cells = <2>;
403                         #size-cells = <1>;
404                         pinctrl-names = "default";
405                         pinctrl-0 = <&pinctrl_system_bus>;
406                 };
407
408                 smpctrl@59801000 {
409                         compatible = "socionext,uniphier-smpctrl";
410                         reg = <0x59801000 0x400>;
411                 };
412
413                 mioctrl@59810000 {
414                         compatible = "socionext,uniphier-pro4-mioctrl",
415                                      "simple-mfd", "syscon";
416                         reg = <0x59810000 0x800>;
417                         u-boot,dm-pre-reloc;
418
419                         mio_clk: clock {
420                                 compatible = "socionext,uniphier-pro4-mio-clock";
421                                 #clock-cells = <1>;
422                         };
423
424                         mio_rst: reset {
425                                 compatible = "socionext,uniphier-pro4-mio-reset";
426                                 #reset-cells = <1>;
427                         };
428                 };
429
430                 perictrl@59820000 {
431                         compatible = "socionext,uniphier-pro4-perictrl",
432                                      "simple-mfd", "syscon";
433                         reg = <0x59820000 0x200>;
434
435                         peri_clk: clock {
436                                 compatible = "socionext,uniphier-pro4-peri-clock";
437                                 #clock-cells = <1>;
438                         };
439
440                         peri_rst: reset {
441                                 compatible = "socionext,uniphier-pro4-peri-reset";
442                                 #reset-cells = <1>;
443                         };
444                 };
445
446                 sd: sdhc@5a400000 {
447                         compatible = "socionext,uniphier-sdhc";
448                         status = "disabled";
449                         reg = <0x5a400000 0x200>;
450                         interrupts = <0 76 4>;
451                         pinctrl-names = "default", "1.8v";
452                         pinctrl-0 = <&pinctrl_sd>;
453                         pinctrl-1 = <&pinctrl_sd_1v8>;
454                         clocks = <&mio_clk 0>;
455                         reset-names = "host", "bridge";
456                         resets = <&mio_rst 0>, <&mio_rst 3>;
457                         bus-width = <4>;
458                         cap-sd-highspeed;
459                         sd-uhs-sdr12;
460                         sd-uhs-sdr25;
461                         sd-uhs-sdr50;
462                 };
463
464                 emmc: sdhc@5a500000 {
465                         compatible = "socionext,uniphier-sdhc";
466                         status = "disabled";
467                         reg = <0x5a500000 0x200>;
468                         interrupts = <0 78 4>;
469                         pinctrl-names = "default", "1.8v";
470                         pinctrl-0 = <&pinctrl_emmc>;
471                         pinctrl-1 = <&pinctrl_emmc_1v8>;
472                         clocks = <&mio_clk 1>;
473                         reset-names = "host", "bridge";
474                         resets = <&mio_rst 1>, <&mio_rst 4>;
475                         bus-width = <8>;
476                         non-removable;
477                         cap-mmc-highspeed;
478                         cap-mmc-hw-reset;
479                 };
480
481                 sd1: sdhc@5a600000 {
482                         compatible = "socionext,uniphier-sdhc";
483                         status = "disabled";
484                         reg = <0x5a600000 0x200>;
485                         interrupts = <0 85 4>;
486                         pinctrl-names = "default", "1.8v";
487                         pinctrl-0 = <&pinctrl_sd1>;
488                         pinctrl-1 = <&pinctrl_sd1_1v8>;
489                         clocks = <&mio_clk 2>;
490                         resets = <&mio_rst 2>, <&mio_rst 5>;
491                         bus-width = <4>;
492                         cap-sd-highspeed;
493                         sd-uhs-sdr12;
494                         sd-uhs-sdr25;
495                         sd-uhs-sdr50;
496                 };
497
498                 usb2: usb@5a800100 {
499                         compatible = "socionext,uniphier-ehci", "generic-ehci";
500                         status = "disabled";
501                         reg = <0x5a800100 0x100>;
502                         interrupts = <0 80 4>;
503                         pinctrl-names = "default";
504                         pinctrl-0 = <&pinctrl_usb2>;
505                         clocks = <&mio_clk 7>, <&mio_clk 8>, <&mio_clk 12>;
506                         resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 8>,
507                                  <&mio_rst 12>;
508                 };
509
510                 usb3: usb@5a810100 {
511                         compatible = "socionext,uniphier-ehci", "generic-ehci";
512                         status = "disabled";
513                         reg = <0x5a810100 0x100>;
514                         interrupts = <0 81 4>;
515                         pinctrl-names = "default";
516                         pinctrl-0 = <&pinctrl_usb3>;
517                         clocks = <&mio_clk 7>, <&mio_clk 9>, <&mio_clk 13>;
518                         resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 9>,
519                                  <&mio_rst 13>;
520                 };
521
522                 soc-glue@5f800000 {
523                         compatible = "socionext,uniphier-pro4-soc-glue",
524                                      "simple-mfd", "syscon";
525                         reg = <0x5f800000 0x2000>;
526                         u-boot,dm-pre-reloc;
527
528                         pinctrl: pinctrl {
529                                 compatible = "socionext,uniphier-pro4-pinctrl";
530                                 u-boot,dm-pre-reloc;
531                         };
532                 };
533
534                 aidet: aidet@5fc20000 {
535                         compatible = "socionext,uniphier-pro4-aidet";
536                         reg = <0x5fc20000 0x200>;
537                         interrupt-controller;
538                         #interrupt-cells = <2>;
539                 };
540
541                 timer@60000200 {
542                         compatible = "arm,cortex-a9-global-timer";
543                         reg = <0x60000200 0x20>;
544                         interrupts = <1 11 0x304>;
545                         clocks = <&arm_timer_clk>;
546                 };
547
548                 timer@60000600 {
549                         compatible = "arm,cortex-a9-twd-timer";
550                         reg = <0x60000600 0x20>;
551                         interrupts = <1 13 0x304>;
552                         clocks = <&arm_timer_clk>;
553                 };
554
555                 intc: interrupt-controller@60001000 {
556                         compatible = "arm,cortex-a9-gic";
557                         reg = <0x60001000 0x1000>,
558                               <0x60000100 0x100>;
559                         #interrupt-cells = <3>;
560                         interrupt-controller;
561                 };
562
563                 sysctrl@61840000 {
564                         compatible = "socionext,uniphier-pro4-sysctrl",
565                                      "simple-mfd", "syscon";
566                         reg = <0x61840000 0x10000>;
567
568                         sys_clk: clock {
569                                 compatible = "socionext,uniphier-pro4-clock";
570                                 #clock-cells = <1>;
571                         };
572
573                         sys_rst: reset {
574                                 compatible = "socionext,uniphier-pro4-reset";
575                                 #reset-cells = <1>;
576                         };
577                 };
578
579                 usb0: usb@65b00000 {
580                         compatible = "socionext,uniphier-pro4-dwc3";
581                         status = "disabled";
582                         reg = <0x65b00000 0x1000>;
583                         #address-cells = <1>;
584                         #size-cells = <1>;
585                         ranges;
586                         pinctrl-names = "default";
587                         pinctrl-0 = <&pinctrl_usb0>;
588                         dwc3@65a00000 {
589                                 compatible = "snps,dwc3";
590                                 reg = <0x65a00000 0x10000>;
591                                 interrupts = <0 134 4>;
592                                 dr_mode = "host";
593                                 tx-fifo-resize;
594                         };
595                 };
596
597                 usb1: usb@65d00000 {
598                         compatible = "socionext,uniphier-pro4-dwc3";
599                         status = "disabled";
600                         reg = <0x65d00000 0x1000>;
601                         #address-cells = <1>;
602                         #size-cells = <1>;
603                         ranges;
604                         pinctrl-names = "default";
605                         pinctrl-0 = <&pinctrl_usb1>;
606                         dwc3@65c00000 {
607                                 compatible = "snps,dwc3";
608                                 reg = <0x65c00000 0x10000>;
609                                 interrupts = <0 137 4>;
610                                 dr_mode = "host";
611                                 tx-fifo-resize;
612                         };
613                 };
614
615                 nand: nand@68000000 {
616                         compatible = "socionext,uniphier-denali-nand-v5a";
617                         status = "disabled";
618                         reg-names = "nand_data", "denali_reg";
619                         reg = <0x68000000 0x20>, <0x68100000 0x1000>;
620                         interrupts = <0 65 4>;
621                         pinctrl-names = "default";
622                         pinctrl-0 = <&pinctrl_nand>;
623                         clocks = <&sys_clk 2>;
624                 };
625         };
626 };
627
628 #include "uniphier-pinctrl.dtsi"