blob: 6a9554131166c57593afcdb08fa47d1fcd03cf51 [file] [log] [blame]
Masahiro Yamada230ce302014-12-06 00:03:24 +09001/*
2 * Device Tree Source for UniPhier PH1-sLD3 SoC
3 *
Masahiro Yamadaedcfaeb2015-06-30 18:27:00 +09004 * Copyright (C) 2014-2015 Masahiro Yamada <yamada.masahiro@socionext.com>
Masahiro Yamada230ce302014-12-06 00:03:24 +09005 *
Masahiro Yamada13b2ba12015-06-30 18:27:01 +09006 * SPDX-License-Identifier: GPL-2.0+ X11
Masahiro Yamada230ce302014-12-06 00:03:24 +09007 */
8
9/include/ "skeleton.dtsi"
10
11/ {
Masahiro Yamada6462cde2015-03-11 15:54:46 +090012 compatible = "socionext,ph1-sld3";
Masahiro Yamada230ce302014-12-06 00:03:24 +090013
14 cpus {
15 #address-cells = <1>;
16 #size-cells = <0>;
Masahiro Yamadaedcfaeb2015-06-30 18:27:00 +090017 enable-method = "socionext,uniphier-smp";
Masahiro Yamada230ce302014-12-06 00:03:24 +090018
19 cpu@0 {
20 device_type = "cpu";
21 compatible = "arm,cortex-a9";
22 reg = <0>;
23 };
24
25 cpu@1 {
26 device_type = "cpu";
27 compatible = "arm,cortex-a9";
28 reg = <1>;
29 };
30 };
31
Masahiro Yamadaedcfaeb2015-06-30 18:27:00 +090032 clocks {
Masahiro Yamadacc336092016-02-02 21:11:33 +090033 refclk: ref {
34 #clock-cells = <0>;
35 compatible = "fixed-clock";
36 clock-frequency = <24576000>;
37 };
38
Masahiro Yamadaedcfaeb2015-06-30 18:27:00 +090039 arm_timer_clk: arm_timer_clk {
40 #clock-cells = <0>;
41 compatible = "fixed-clock";
42 clock-frequency = <50000000>;
43 };
Masahiro Yamadad243c182015-08-28 22:33:13 +090044
45 uart_clk: uart_clk {
46 #clock-cells = <0>;
47 compatible = "fixed-clock";
48 clock-frequency = <36864000>;
49 };
50
51 iobus_clk: iobus_clk {
52 #clock-cells = <0>;
53 compatible = "fixed-clock";
54 clock-frequency = <100000000>;
55 };
Masahiro Yamadaedcfaeb2015-06-30 18:27:00 +090056 };
57
Masahiro Yamada230ce302014-12-06 00:03:24 +090058 soc {
59 compatible = "simple-bus";
60 #address-cells = <1>;
61 #size-cells = <1>;
62 ranges;
Masahiro Yamadaedcfaeb2015-06-30 18:27:00 +090063 interrupt-parent = <&intc>;
Masahiro Yamadaf0633532016-08-25 17:02:33 +090064 u-boot,dm-pre-reloc;
Masahiro Yamadaedcfaeb2015-06-30 18:27:00 +090065
Masahiro Yamadaedcfaeb2015-06-30 18:27:00 +090066 timer@20000200 {
67 compatible = "arm,cortex-a9-global-timer";
68 reg = <0x20000200 0x20>;
69 interrupts = <1 11 0x304>;
70 clocks = <&arm_timer_clk>;
71 };
72
73 timer@20000600 {
74 compatible = "arm,cortex-a9-twd-timer";
75 reg = <0x20000600 0x20>;
76 interrupts = <1 13 0x304>;
77 clocks = <&arm_timer_clk>;
78 };
79
80 intc: interrupt-controller@20001000 {
81 compatible = "arm,cortex-a9-gic";
82 #interrupt-cells = <3>;
83 interrupt-controller;
84 reg = <0x20001000 0x1000>,
85 <0x20000100 0x100>;
86 };
Masahiro Yamada230ce302014-12-06 00:03:24 +090087
Masahiro Yamadad243c182015-08-28 22:33:13 +090088 serial0: serial@54006800 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +090089 compatible = "socionext,uniphier-uart";
Masahiro Yamada230ce302014-12-06 00:03:24 +090090 status = "disabled";
Masahiro Yamadad243c182015-08-28 22:33:13 +090091 reg = <0x54006800 0x40>;
92 interrupts = <0 33 4>;
93 clocks = <&uart_clk>;
Masahiro Yamada230ce302014-12-06 00:03:24 +090094 clock-frequency = <36864000>;
95 };
96
Masahiro Yamadad243c182015-08-28 22:33:13 +090097 serial1: serial@54006900 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +090098 compatible = "socionext,uniphier-uart";
Masahiro Yamada230ce302014-12-06 00:03:24 +090099 status = "disabled";
Masahiro Yamadad243c182015-08-28 22:33:13 +0900100 reg = <0x54006900 0x40>;
101 interrupts = <0 35 4>;
102 clocks = <&uart_clk>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900103 clock-frequency = <36864000>;
104 };
105
Masahiro Yamadad243c182015-08-28 22:33:13 +0900106 serial2: serial@54006a00 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +0900107 compatible = "socionext,uniphier-uart";
Masahiro Yamada230ce302014-12-06 00:03:24 +0900108 status = "disabled";
Masahiro Yamadad243c182015-08-28 22:33:13 +0900109 reg = <0x54006a00 0x40>;
110 interrupts = <0 37 4>;
111 clocks = <&uart_clk>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900112 clock-frequency = <36864000>;
113 };
114
Masahiro Yamada595dc1e2016-02-16 17:03:51 +0900115 port0x: gpio@55000008 {
116 compatible = "socionext,uniphier-gpio";
117 reg = <0x55000008 0x8>;
118 gpio-controller;
119 #gpio-cells = <2>;
120 };
121
122 port1x: gpio@55000010 {
123 compatible = "socionext,uniphier-gpio";
124 reg = <0x55000010 0x8>;
125 gpio-controller;
126 #gpio-cells = <2>;
127 };
128
129 port2x: gpio@55000018 {
130 compatible = "socionext,uniphier-gpio";
131 reg = <0x55000018 0x8>;
132 gpio-controller;
133 #gpio-cells = <2>;
134 };
135
136 port3x: gpio@55000020 {
137 compatible = "socionext,uniphier-gpio";
138 reg = <0x55000020 0x8>;
139 gpio-controller;
140 #gpio-cells = <2>;
141 };
142
143 port4: gpio@55000028 {
144 compatible = "socionext,uniphier-gpio";
145 reg = <0x55000028 0x8>;
146 gpio-controller;
147 #gpio-cells = <2>;
148 };
149
150 port5x: gpio@55000030 {
151 compatible = "socionext,uniphier-gpio";
152 reg = <0x55000030 0x8>;
153 gpio-controller;
154 #gpio-cells = <2>;
155 };
156
157 port6x: gpio@55000038 {
158 compatible = "socionext,uniphier-gpio";
159 reg = <0x55000038 0x8>;
160 gpio-controller;
161 #gpio-cells = <2>;
162 };
163
164 port7x: gpio@55000040 {
165 compatible = "socionext,uniphier-gpio";
166 reg = <0x55000040 0x8>;
167 gpio-controller;
168 #gpio-cells = <2>;
169 };
170
171 port8x: gpio@55000048 {
172 compatible = "socionext,uniphier-gpio";
173 reg = <0x55000048 0x8>;
174 gpio-controller;
175 #gpio-cells = <2>;
176 };
177
178 port9x: gpio@55000050 {
179 compatible = "socionext,uniphier-gpio";
180 reg = <0x55000050 0x8>;
181 gpio-controller;
182 #gpio-cells = <2>;
183 };
184
185 port10x: gpio@55000058 {
186 compatible = "socionext,uniphier-gpio";
187 reg = <0x55000058 0x8>;
188 gpio-controller;
189 #gpio-cells = <2>;
190 };
191
192 port11x: gpio@55000060 {
193 compatible = "socionext,uniphier-gpio";
194 reg = <0x55000060 0x8>;
195 gpio-controller;
196 #gpio-cells = <2>;
197 };
198
199 port12x: gpio@55000068 {
200 compatible = "socionext,uniphier-gpio";
201 reg = <0x55000068 0x8>;
202 gpio-controller;
203 #gpio-cells = <2>;
204 };
205
206 port13x: gpio@55000070 {
207 compatible = "socionext,uniphier-gpio";
208 reg = <0x55000070 0x8>;
209 gpio-controller;
210 #gpio-cells = <2>;
211 };
212
213 port14x: gpio@55000078 {
214 compatible = "socionext,uniphier-gpio";
215 reg = <0x55000078 0x8>;
216 gpio-controller;
217 #gpio-cells = <2>;
218 };
219
220 port16x: gpio@55000088 {
221 compatible = "socionext,uniphier-gpio";
222 reg = <0x55000088 0x8>;
223 gpio-controller;
224 #gpio-cells = <2>;
225 };
226
Masahiro Yamada230ce302014-12-06 00:03:24 +0900227 i2c0: i2c@58400000 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +0900228 compatible = "socionext,uniphier-i2c";
Masahiro Yamadad243c182015-08-28 22:33:13 +0900229 status = "disabled";
230 reg = <0x58400000 0x40>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900231 #address-cells = <1>;
232 #size-cells = <0>;
Masahiro Yamadad243c182015-08-28 22:33:13 +0900233 interrupts = <0 41 1>;
234 clocks = <&iobus_clk>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900235 clock-frequency = <100000>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900236 };
237
238 i2c1: i2c@58480000 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +0900239 compatible = "socionext,uniphier-i2c";
Masahiro Yamadad243c182015-08-28 22:33:13 +0900240 status = "disabled";
241 reg = <0x58480000 0x40>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900242 #address-cells = <1>;
243 #size-cells = <0>;
Masahiro Yamadad243c182015-08-28 22:33:13 +0900244 interrupts = <0 42 1>;
245 clocks = <&iobus_clk>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900246 clock-frequency = <100000>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900247 };
248
249 i2c2: i2c@58500000 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +0900250 compatible = "socionext,uniphier-i2c";
Masahiro Yamadad243c182015-08-28 22:33:13 +0900251 status = "disabled";
252 reg = <0x58500000 0x40>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900253 #address-cells = <1>;
254 #size-cells = <0>;
Masahiro Yamadad243c182015-08-28 22:33:13 +0900255 interrupts = <0 43 1>;
256 clocks = <&iobus_clk>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900257 clock-frequency = <100000>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900258 };
259
260 i2c3: i2c@58580000 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +0900261 compatible = "socionext,uniphier-i2c";
Masahiro Yamadad243c182015-08-28 22:33:13 +0900262 status = "disabled";
263 reg = <0x58580000 0x40>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900264 #address-cells = <1>;
265 #size-cells = <0>;
Masahiro Yamadad243c182015-08-28 22:33:13 +0900266 interrupts = <0 44 1>;
267 clocks = <&iobus_clk>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900268 clock-frequency = <100000>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900269 };
270
Masahiro Yamadad243c182015-08-28 22:33:13 +0900271 /* chip-internal connection for DMD */
Masahiro Yamadaf1d79452015-07-21 14:04:23 +0900272 i2c4: i2c@58600000 {
Masahiro Yamadad243c182015-08-28 22:33:13 +0900273 compatible = "socionext,uniphier-i2c";
274 reg = <0x58600000 0x40>;
Masahiro Yamadaf1d79452015-07-21 14:04:23 +0900275 #address-cells = <1>;
276 #size-cells = <0>;
Masahiro Yamadad243c182015-08-28 22:33:13 +0900277 interrupts = <0 45 1>;
278 clocks = <&iobus_clk>;
Masahiro Yamadaf1d79452015-07-21 14:04:23 +0900279 clock-frequency = <400000>;
Masahiro Yamadaf1d79452015-07-21 14:04:23 +0900280 };
281
Masahiro Yamada0f5fb8c2016-02-16 17:00:22 +0900282 system_bus: system-bus@58c00000 {
283 compatible = "socionext,uniphier-system-bus";
284 reg = <0x58c00000 0x400>;
285 #address-cells = <2>;
286 #size-cells = <1>;
287 };
288
289 smpctrl@59800000 {
290 compatible = "socionext,uniphier-smpctrl";
291 reg = <0x59801000 0x400>;
Masahiro Yamadaedcfaeb2015-06-30 18:27:00 +0900292 };
293
Masahiro Yamadaaa37aba2016-02-02 21:11:36 +0900294 mio: mioctrl@59810000 {
295 compatible = "socionext,ph1-sld3-mioctrl";
296 reg = <0x59810000 0x800>;
297 #clock-cells = <1>;
298 clock-names = "stdmac", "ehci";
299 clocks = <&sysctrl 10>, <&sysctrl 18>;
300 };
301
Masahiro Yamadac7f94ee2016-02-18 19:52:50 +0900302 emmc: sdhc@5a400000 {
303 compatible = "socionext,uniphier-sdhc";
304 status = "disabled";
305 reg = <0x5a400000 0x200>;
306 interrupts = <0 78 4>;
307 clocks = <&mio 1>;
308 bus-width = <8>;
309 non-removable;
310 };
311
312 sd: sdhc@5a500000 {
313 compatible = "socionext,uniphier-sdhc";
314 status = "disabled";
315 reg = <0x5a500000 0x200>;
316 interrupts = <0 76 4>;
317 clocks = <&mio 0>;
318 bus-width = <4>;
319 };
320
Masahiro Yamada230ce302014-12-06 00:03:24 +0900321 usb0: usb@5a800100 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +0900322 compatible = "socionext,uniphier-ehci", "generic-ehci";
Masahiro Yamada230ce302014-12-06 00:03:24 +0900323 status = "disabled";
324 reg = <0x5a800100 0x100>;
Masahiro Yamadad243c182015-08-28 22:33:13 +0900325 interrupts = <0 80 4>;
Masahiro Yamada49dde452016-02-02 21:11:37 +0900326 clocks = <&mio 3>, <&mio 6>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900327 };
328
329 usb1: usb@5a810100 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +0900330 compatible = "socionext,uniphier-ehci", "generic-ehci";
Masahiro Yamada230ce302014-12-06 00:03:24 +0900331 status = "disabled";
332 reg = <0x5a810100 0x100>;
Masahiro Yamadad243c182015-08-28 22:33:13 +0900333 interrupts = <0 81 4>;
Masahiro Yamada49dde452016-02-02 21:11:37 +0900334 clocks = <&mio 4>, <&mio 6>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900335 };
336
337 usb2: usb@5a820100 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +0900338 compatible = "socionext,uniphier-ehci", "generic-ehci";
Masahiro Yamada230ce302014-12-06 00:03:24 +0900339 status = "disabled";
340 reg = <0x5a820100 0x100>;
Masahiro Yamadad243c182015-08-28 22:33:13 +0900341 interrupts = <0 82 4>;
Masahiro Yamada49dde452016-02-02 21:11:37 +0900342 clocks = <&mio 5>, <&mio 6>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900343 };
344
345 usb3: usb@5a830100 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +0900346 compatible = "socionext,uniphier-ehci", "generic-ehci";
Masahiro Yamada230ce302014-12-06 00:03:24 +0900347 status = "disabled";
348 reg = <0x5a830100 0x100>;
Masahiro Yamadad243c182015-08-28 22:33:13 +0900349 interrupts = <0 83 4>;
Masahiro Yamada49dde452016-02-02 21:11:37 +0900350 clocks = <&mio 7>, <&mio 6>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900351 };
352
Masahiro Yamada1013aef2016-06-29 19:39:02 +0900353 aidet@f1830000 {
354 compatible = "simple-mfd", "syscon";
355 reg = <0xf1830000 0x200>;
356 };
357
Masahiro Yamada233812a2016-02-02 21:11:34 +0900358 sysctrl: sysctrl@f1840000 {
359 compatible = "socionext,ph1-sld3-sysctrl";
360 reg = <0xf1840000 0x4000>;
361 #clock-cells = <1>;
362 clock-names = "ref";
363 clocks = <&refclk>;
364 };
365
Masahiro Yamada230ce302014-12-06 00:03:24 +0900366 nand: nand@f8000000 {
367 compatible = "denali,denali-nand-dt";
368 reg = <0xf8000000 0x20>, <0xf8100000 0x1000>;
369 reg-names = "nand_data", "denali_reg";
370 };
371 };
372};