blob: 7bb36b0714751de4c36beef1c5e10833be689e64 [file] [log] [blame]
Masahiro Yamada0bc56842018-04-16 12:35:33 +09001// SPDX-License-Identifier: GPL-2.0+ OR MIT
2//
3// Device Tree Source for UniPhier LD11 SoC
4//
5// Copyright (C) 2016 Socionext Inc.
6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +09007
Masahiro Yamada6c086d02017-11-25 00:25:35 +09008#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/gpio/uniphier-gpio.h>
Kunihiko Hayashic13863f2023-02-28 11:37:09 +090010#include <dt-bindings/interrupt-controller/arm-gic.h>
Masahiro Yamada6c086d02017-11-25 00:25:35 +090011
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +090012/ {
Masahiro Yamada39a67ff2016-10-07 16:43:00 +090013 compatible = "socionext,uniphier-ld11";
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +090014 #address-cells = <2>;
15 #size-cells = <2>;
16 interrupt-parent = <&gic>;
17
18 cpus {
19 #address-cells = <2>;
20 #size-cells = <0>;
21
Masahiro Yamada1174603f2016-06-29 19:38:56 +090022 cpu-map {
23 cluster0 {
24 core0 {
25 cpu = <&cpu0>;
26 };
27 core1 {
28 cpu = <&cpu1>;
29 };
30 };
31 };
32
33 cpu0: cpu@0 {
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +090034 device_type = "cpu";
Masahiro Yamadac9026882019-04-12 18:55:50 +090035 compatible = "arm,cortex-a53";
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +090036 reg = <0 0x000>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +090037 clocks = <&sys_clk 33>;
38 enable-method = "psci";
Kunihiko Hayashic13863f2023-02-28 11:37:09 +090039 next-level-cache = <&l2>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +090040 operating-points-v2 = <&cluster0_opp>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +090041 };
42
Masahiro Yamada1174603f2016-06-29 19:38:56 +090043 cpu1: cpu@1 {
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +090044 device_type = "cpu";
Masahiro Yamadac9026882019-04-12 18:55:50 +090045 compatible = "arm,cortex-a53";
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +090046 reg = <0 0x001>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +090047 clocks = <&sys_clk 33>;
48 enable-method = "psci";
Kunihiko Hayashic13863f2023-02-28 11:37:09 +090049 next-level-cache = <&l2>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +090050 operating-points-v2 = <&cluster0_opp>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +090051 };
Kunihiko Hayashic13863f2023-02-28 11:37:09 +090052
53 l2: l2-cache {
54 compatible = "cache";
55 };
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +090056 };
57
Masahiro Yamada6c086d02017-11-25 00:25:35 +090058 cluster0_opp: opp-table {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090059 compatible = "operating-points-v2";
60 opp-shared;
61
Masahiro Yamada552acbf2017-04-20 16:54:44 +090062 opp-245000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090063 opp-hz = /bits/ 64 <245000000>;
64 clock-latency-ns = <300>;
65 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090066 opp-250000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090067 opp-hz = /bits/ 64 <250000000>;
68 clock-latency-ns = <300>;
69 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090070 opp-490000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090071 opp-hz = /bits/ 64 <490000000>;
72 clock-latency-ns = <300>;
73 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090074 opp-500000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090075 opp-hz = /bits/ 64 <500000000>;
76 clock-latency-ns = <300>;
77 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090078 opp-653334000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090079 opp-hz = /bits/ 64 <653334000>;
80 clock-latency-ns = <300>;
81 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090082 opp-666667000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090083 opp-hz = /bits/ 64 <666667000>;
84 clock-latency-ns = <300>;
85 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090086 opp-980000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090087 opp-hz = /bits/ 64 <980000000>;
88 clock-latency-ns = <300>;
89 };
90 };
91
92 psci {
93 compatible = "arm,psci-1.0";
94 method = "smc";
95 };
96
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +090097 clocks {
Masahiro Yamada1174603f2016-06-29 19:38:56 +090098 refclk: ref {
99 compatible = "fixed-clock";
100 #clock-cells = <0>;
101 clock-frequency = <25000000>;
102 };
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900103 };
104
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900105 emmc_pwrseq: emmc-pwrseq {
106 compatible = "mmc-pwrseq-emmc";
107 reset-gpios = <&gpio UNIPHIER_GPIO_PORT(3, 2) GPIO_ACTIVE_LOW>;
108 };
109
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900110 timer {
111 compatible = "arm,armv8-timer";
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900112 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>,
113 <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>,
114 <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>,
115 <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900116 };
117
Masahiro Yamada83701f22019-07-10 20:07:29 +0900118 reserved-memory {
119 #address-cells = <2>;
120 #size-cells = <2>;
121 ranges;
122
123 secure-memory@81000000 {
124 reg = <0x0 0x81000000 0x0 0x01000000>;
125 no-map;
126 };
127 };
128
Masahiro Yamadace6ca3c2017-03-13 00:16:40 +0900129 soc@0 {
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900130 compatible = "simple-bus";
131 #address-cells = <1>;
132 #size-cells = <1>;
133 ranges = <0 0 0 0xffffffff>;
134
Masahiro Yamada6bd84d72018-12-19 20:03:21 +0900135 spi0: spi@54006000 {
136 compatible = "socionext,uniphier-scssi";
137 status = "disabled";
138 reg = <0x54006000 0x100>;
Masahiro Yamada423471f2020-07-09 15:08:14 +0900139 #address-cells = <1>;
140 #size-cells = <0>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900141 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6bd84d72018-12-19 20:03:21 +0900142 pinctrl-names = "default";
143 pinctrl-0 = <&pinctrl_spi0>;
144 clocks = <&peri_clk 11>;
145 resets = <&peri_rst 11>;
146 };
147
148 spi1: spi@54006100 {
149 compatible = "socionext,uniphier-scssi";
150 status = "disabled";
151 reg = <0x54006100 0x100>;
Masahiro Yamada423471f2020-07-09 15:08:14 +0900152 #address-cells = <1>;
153 #size-cells = <0>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900154 interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6bd84d72018-12-19 20:03:21 +0900155 pinctrl-names = "default";
156 pinctrl-0 = <&pinctrl_spi1>;
Masahiro Yamada423471f2020-07-09 15:08:14 +0900157 clocks = <&peri_clk 12>;
158 resets = <&peri_rst 12>;
Masahiro Yamada6bd84d72018-12-19 20:03:21 +0900159 };
160
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900161 serial0: serial@54006800 {
162 compatible = "socionext,uniphier-uart";
163 status = "disabled";
164 reg = <0x54006800 0x40>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900165 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900166 pinctrl-names = "default";
167 pinctrl-0 = <&pinctrl_uart0>;
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900168 clocks = <&peri_clk 0>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900169 resets = <&peri_rst 0>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900170 };
171
172 serial1: serial@54006900 {
173 compatible = "socionext,uniphier-uart";
174 status = "disabled";
175 reg = <0x54006900 0x40>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900176 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900177 pinctrl-names = "default";
178 pinctrl-0 = <&pinctrl_uart1>;
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900179 clocks = <&peri_clk 1>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900180 resets = <&peri_rst 1>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900181 };
182
183 serial2: serial@54006a00 {
184 compatible = "socionext,uniphier-uart";
185 status = "disabled";
186 reg = <0x54006a00 0x40>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900187 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900188 pinctrl-names = "default";
189 pinctrl-0 = <&pinctrl_uart2>;
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900190 clocks = <&peri_clk 2>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900191 resets = <&peri_rst 2>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900192 };
193
194 serial3: serial@54006b00 {
195 compatible = "socionext,uniphier-uart";
196 status = "disabled";
197 reg = <0x54006b00 0x40>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900198 interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900199 pinctrl-names = "default";
200 pinctrl-0 = <&pinctrl_uart3>;
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900201 clocks = <&peri_clk 3>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900202 resets = <&peri_rst 3>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900203 };
204
Masahiro Yamada964edbf2017-10-13 19:21:52 +0900205 gpio: gpio@55000000 {
206 compatible = "socionext,uniphier-gpio";
207 reg = <0x55000000 0x200>;
208 interrupt-parent = <&aidet>;
209 interrupt-controller;
210 #interrupt-cells = <2>;
211 gpio-controller;
212 #gpio-cells = <2>;
213 gpio-ranges = <&pinctrl 0 0 0>,
214 <&pinctrl 43 0 0>,
215 <&pinctrl 51 0 0>,
216 <&pinctrl 96 0 0>,
217 <&pinctrl 160 0 0>,
218 <&pinctrl 184 0 0>;
219 gpio-ranges-group-names = "gpio_range0",
220 "gpio_range1",
221 "gpio_range2",
222 "gpio_range3",
223 "gpio_range4",
224 "gpio_range5";
225 ngpios = <200>;
Masahiro Yamadaa0a95bb2017-10-17 21:19:43 +0900226 socionext,interrupt-ranges = <0 48 16>, <16 154 5>,
227 <21 217 3>;
228 };
229
Masahiro Yamada0bc56842018-04-16 12:35:33 +0900230 audio@56000000 {
231 compatible = "socionext,uniphier-ld11-aio";
232 reg = <0x56000000 0x80000>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900233 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada0bc56842018-04-16 12:35:33 +0900234 pinctrl-names = "default";
235 pinctrl-0 = <&pinctrl_aout1>,
236 <&pinctrl_aoutiec1>;
237 clock-names = "aio";
238 clocks = <&sys_clk 40>;
239 reset-names = "aio";
240 resets = <&sys_rst 40>;
241 #sound-dai-cells = <1>;
242 socionext,syscon = <&soc_glue>;
243
244 i2s_port0: port@0 {
245 i2s_hdmi: endpoint {
246 };
247 };
248
249 i2s_port1: port@1 {
250 i2s_pcmin2: endpoint {
251 };
252 };
253
254 i2s_port2: port@2 {
255 i2s_line: endpoint {
256 dai-format = "i2s";
257 remote-endpoint = <&evea_line>;
258 };
259 };
260
261 i2s_port3: port@3 {
262 i2s_hpcmout1: endpoint {
263 };
264 };
265
266 i2s_port4: port@4 {
267 i2s_hp: endpoint {
268 dai-format = "i2s";
269 remote-endpoint = <&evea_hp>;
270 };
271 };
272
273 spdif_port0: port@5 {
274 spdif_hiecout1: endpoint {
275 };
276 };
277
278 src_port0: port@6 {
279 i2s_epcmout2: endpoint {
280 };
281 };
282
283 src_port1: port@7 {
284 i2s_epcmout3: endpoint {
285 };
286 };
287
288 comp_spdif_port0: port@8 {
289 comp_spdif_hiecout1: endpoint {
290 };
291 };
292 };
293
294 codec@57900000 {
295 compatible = "socionext,uniphier-evea";
296 reg = <0x57900000 0x1000>;
297 clock-names = "evea", "exiv";
298 clocks = <&sys_clk 41>, <&sys_clk 42>;
299 reset-names = "evea", "exiv", "adamv";
300 resets = <&sys_rst 41>, <&sys_rst 42>, <&adamv_rst 0>;
301 #sound-dai-cells = <1>;
302
303 port@0 {
304 evea_line: endpoint {
305 remote-endpoint = <&i2s_line>;
306 };
307 };
308
309 port@1 {
310 evea_hp: endpoint {
311 remote-endpoint = <&i2s_hp>;
312 };
313 };
314 };
315
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900316 syscon@57920000 {
Masahiro Yamadaa0a95bb2017-10-17 21:19:43 +0900317 compatible = "socionext,uniphier-ld11-adamv",
318 "simple-mfd", "syscon";
319 reg = <0x57920000 0x1000>;
320
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900321 adamv_rst: reset-controller {
Masahiro Yamadaa0a95bb2017-10-17 21:19:43 +0900322 compatible = "socionext,uniphier-ld11-adamv-reset";
323 #reset-cells = <1>;
324 };
Masahiro Yamada964edbf2017-10-13 19:21:52 +0900325 };
326
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900327 i2c0: i2c@58780000 {
328 compatible = "socionext,uniphier-fi2c";
329 status = "disabled";
330 reg = <0x58780000 0x80>;
331 #address-cells = <1>;
332 #size-cells = <0>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900333 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900334 pinctrl-names = "default";
335 pinctrl-0 = <&pinctrl_i2c0>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900336 clocks = <&peri_clk 4>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900337 resets = <&peri_rst 4>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900338 clock-frequency = <100000>;
339 };
340
341 i2c1: i2c@58781000 {
342 compatible = "socionext,uniphier-fi2c";
343 status = "disabled";
344 reg = <0x58781000 0x80>;
345 #address-cells = <1>;
346 #size-cells = <0>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900347 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900348 pinctrl-names = "default";
349 pinctrl-0 = <&pinctrl_i2c1>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900350 clocks = <&peri_clk 5>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900351 resets = <&peri_rst 5>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900352 clock-frequency = <100000>;
353 };
354
355 i2c2: i2c@58782000 {
356 compatible = "socionext,uniphier-fi2c";
357 reg = <0x58782000 0x80>;
358 #address-cells = <1>;
359 #size-cells = <0>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900360 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900361 clocks = <&peri_clk 6>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900362 resets = <&peri_rst 6>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900363 clock-frequency = <400000>;
364 };
365
366 i2c3: i2c@58783000 {
367 compatible = "socionext,uniphier-fi2c";
368 status = "disabled";
369 reg = <0x58783000 0x80>;
370 #address-cells = <1>;
371 #size-cells = <0>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900372 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900373 pinctrl-names = "default";
374 pinctrl-0 = <&pinctrl_i2c3>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900375 clocks = <&peri_clk 7>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900376 resets = <&peri_rst 7>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900377 clock-frequency = <100000>;
378 };
379
380 i2c4: i2c@58784000 {
381 compatible = "socionext,uniphier-fi2c";
382 status = "disabled";
383 reg = <0x58784000 0x80>;
384 #address-cells = <1>;
385 #size-cells = <0>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900386 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900387 pinctrl-names = "default";
388 pinctrl-0 = <&pinctrl_i2c4>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900389 clocks = <&peri_clk 8>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900390 resets = <&peri_rst 8>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900391 clock-frequency = <100000>;
392 };
393
394 i2c5: i2c@58785000 {
395 compatible = "socionext,uniphier-fi2c";
396 reg = <0x58785000 0x80>;
397 #address-cells = <1>;
398 #size-cells = <0>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900399 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900400 clocks = <&peri_clk 9>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900401 resets = <&peri_rst 9>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900402 clock-frequency = <400000>;
403 };
404
405 system_bus: system-bus@58c00000 {
406 compatible = "socionext,uniphier-system-bus";
407 status = "disabled";
408 reg = <0x58c00000 0x400>;
409 #address-cells = <2>;
410 #size-cells = <1>;
Masahiro Yamada1174603f2016-06-29 19:38:56 +0900411 pinctrl-names = "default";
412 pinctrl-0 = <&pinctrl_system_bus>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900413 };
414
Masahiro Yamada938ab162017-05-15 14:23:46 +0900415 smpctrl@59801000 {
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900416 compatible = "socionext,uniphier-smpctrl";
417 reg = <0x59801000 0x400>;
418 };
419
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900420 syscon@59810000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900421 compatible = "socionext,uniphier-ld11-sdctrl",
422 "simple-mfd", "syscon";
423 reg = <0x59810000 0x400>;
424
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900425 sd_rst: reset-controller {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900426 compatible = "socionext,uniphier-ld11-sd-reset";
427 #reset-cells = <1>;
428 };
429 };
430
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900431 syscon@59820000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900432 compatible = "socionext,uniphier-ld11-perictrl",
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900433 "simple-mfd", "syscon";
434 reg = <0x59820000 0x200>;
435
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900436 peri_clk: clock-controller {
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900437 compatible = "socionext,uniphier-ld11-peri-clock";
438 #clock-cells = <1>;
439 };
440
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900441 peri_rst: reset-controller {
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900442 compatible = "socionext,uniphier-ld11-peri-reset";
443 #reset-cells = <1>;
444 };
445 };
446
Masahiro Yamada277516a2020-02-28 21:57:19 +0900447 emmc: mmc@5a000000 {
Masahiro Yamada697dd9c2017-01-04 20:08:37 +0900448 compatible = "socionext,uniphier-sd4hc", "cdns,sd4hc";
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900449 reg = <0x5a000000 0x400>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900450 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900451 pinctrl-names = "default";
Masahiro Yamada5ac92d82018-09-10 12:58:32 +0900452 pinctrl-0 = <&pinctrl_emmc>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900453 clocks = <&sys_clk 4>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900454 resets = <&sys_rst 4>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900455 bus-width = <8>;
456 mmc-ddr-1_8v;
457 mmc-hs200-1_8v;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900458 mmc-pwrseq = <&emmc_pwrseq>;
Masahiro Yamada76b37e72018-05-23 00:30:54 +0900459 cdns,phy-input-delay-legacy = <9>;
Masahiro Yamada552acbf2017-04-20 16:54:44 +0900460 cdns,phy-input-delay-mmc-highspeed = <2>;
461 cdns,phy-input-delay-mmc-ddr = <3>;
462 cdns,phy-dll-delay-sdclk = <21>;
463 cdns,phy-dll-delay-sdclk-hsmmc = <21>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900464 };
465
Masahiro Yamada09b02752016-05-24 21:14:03 +0900466 usb0: usb@5a800100 {
467 compatible = "socionext,uniphier-ehci", "generic-ehci";
468 status = "disabled";
469 reg = <0x5a800100 0x100>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900470 interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada09b02752016-05-24 21:14:03 +0900471 pinctrl-names = "default";
472 pinctrl-0 = <&pinctrl_usb0>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900473 clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 8>,
474 <&mio_clk 12>;
Masahiro Yamada39a67ff2016-10-07 16:43:00 +0900475 resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 8>,
476 <&mio_rst 12>;
Masahiro Yamada6bd84d72018-12-19 20:03:21 +0900477 phy-names = "usb";
478 phys = <&usb_phy0>;
Masahiro Yamadab61327d2018-03-15 11:43:03 +0900479 has-transaction-translator;
Masahiro Yamada09b02752016-05-24 21:14:03 +0900480 };
481
482 usb1: usb@5a810100 {
483 compatible = "socionext,uniphier-ehci", "generic-ehci";
484 status = "disabled";
485 reg = <0x5a810100 0x100>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900486 interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada09b02752016-05-24 21:14:03 +0900487 pinctrl-names = "default";
488 pinctrl-0 = <&pinctrl_usb1>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900489 clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 9>,
490 <&mio_clk 13>;
Masahiro Yamada39a67ff2016-10-07 16:43:00 +0900491 resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 9>,
492 <&mio_rst 13>;
Masahiro Yamada6bd84d72018-12-19 20:03:21 +0900493 phy-names = "usb";
494 phys = <&usb_phy1>;
Masahiro Yamadab61327d2018-03-15 11:43:03 +0900495 has-transaction-translator;
Masahiro Yamada09b02752016-05-24 21:14:03 +0900496 };
497
498 usb2: usb@5a820100 {
499 compatible = "socionext,uniphier-ehci", "generic-ehci";
500 status = "disabled";
501 reg = <0x5a820100 0x100>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900502 interrupts = <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada09b02752016-05-24 21:14:03 +0900503 pinctrl-names = "default";
504 pinctrl-0 = <&pinctrl_usb2>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900505 clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 10>,
506 <&mio_clk 14>;
Masahiro Yamada39a67ff2016-10-07 16:43:00 +0900507 resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 10>,
508 <&mio_rst 14>;
Masahiro Yamada6bd84d72018-12-19 20:03:21 +0900509 phy-names = "usb";
510 phys = <&usb_phy2>;
Masahiro Yamadab61327d2018-03-15 11:43:03 +0900511 has-transaction-translator;
Masahiro Yamada09b02752016-05-24 21:14:03 +0900512 };
513
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900514 syscon@5b3e0000 {
Masahiro Yamadabf3b7212017-03-13 00:16:41 +0900515 compatible = "socionext,uniphier-ld11-mioctrl",
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900516 "simple-mfd", "syscon";
Masahiro Yamada09b02752016-05-24 21:14:03 +0900517 reg = <0x5b3e0000 0x800>;
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900518
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900519 mio_clk: clock-controller {
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900520 compatible = "socionext,uniphier-ld11-mio-clock";
521 #clock-cells = <1>;
522 };
523
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900524 mio_rst: reset-controller {
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900525 compatible = "socionext,uniphier-ld11-mio-reset";
526 #reset-cells = <1>;
527 resets = <&sys_rst 7>;
528 };
Masahiro Yamada09b02752016-05-24 21:14:03 +0900529 };
530
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900531 soc_glue: syscon@5f800000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900532 compatible = "socionext,uniphier-ld11-soc-glue",
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900533 "simple-mfd", "syscon";
Masahiro Yamada1174603f2016-06-29 19:38:56 +0900534 reg = <0x5f800000 0x2000>;
Masahiro Yamada1174603f2016-06-29 19:38:56 +0900535
536 pinctrl: pinctrl {
537 compatible = "socionext,uniphier-ld11-pinctrl";
Masahiro Yamada1174603f2016-06-29 19:38:56 +0900538 };
Masahiro Yamada6bd84d72018-12-19 20:03:21 +0900539
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900540 usb-hub {
Masahiro Yamada6bd84d72018-12-19 20:03:21 +0900541 compatible = "socionext,uniphier-ld11-usb2-phy";
542 #address-cells = <1>;
543 #size-cells = <0>;
544
545 usb_phy0: phy@0 {
546 reg = <0>;
547 #phy-cells = <0>;
548 };
549
550 usb_phy1: phy@1 {
551 reg = <1>;
552 #phy-cells = <0>;
553 };
554
555 usb_phy2: phy@2 {
556 reg = <2>;
557 #phy-cells = <0>;
558 };
559 };
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900560 };
561
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900562 syscon@5f900000 {
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900563 compatible = "socionext,uniphier-ld11-soc-glue-debug",
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900564 "simple-mfd", "syscon";
565 reg = <0x5f900000 0x2000>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900566 #address-cells = <1>;
567 #size-cells = <1>;
568 ranges = <0 0x5f900000 0x2000>;
569
570 efuse@100 {
571 compatible = "socionext,uniphier-efuse";
572 reg = <0x100 0x28>;
573 };
574
575 efuse@200 {
576 compatible = "socionext,uniphier-efuse";
577 reg = <0x200 0x68>;
578 };
579 };
580
Masahiro Yamada423471f2020-07-09 15:08:14 +0900581 xdmac: dma-controller@5fc10000 {
582 compatible = "socionext,uniphier-xdmac";
583 reg = <0x5fc10000 0x5300>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900584 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada423471f2020-07-09 15:08:14 +0900585 dma-channels = <16>;
586 #dma-cells = <2>;
587 };
588
Masahiro Yamada277516a2020-02-28 21:57:19 +0900589 aidet: interrupt-controller@5fc20000 {
Masahiro Yamada1a420bd2017-08-29 12:20:52 +0900590 compatible = "socionext,uniphier-ld11-aidet";
Masahiro Yamada2707e832016-06-29 19:39:02 +0900591 reg = <0x5fc20000 0x200>;
Masahiro Yamada1a420bd2017-08-29 12:20:52 +0900592 interrupt-controller;
593 #interrupt-cells = <2>;
Masahiro Yamada2707e832016-06-29 19:39:02 +0900594 };
595
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900596 gic: interrupt-controller@5fe00000 {
597 compatible = "arm,gic-v3";
598 reg = <0x5fe00000 0x10000>, /* GICD */
599 <0x5fe40000 0x80000>; /* GICR */
600 interrupt-controller;
601 #interrupt-cells = <3>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900602 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900603 };
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900604
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900605 syscon@61840000 {
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900606 compatible = "socionext,uniphier-ld11-sysctrl",
607 "simple-mfd", "syscon";
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900608 reg = <0x61840000 0x10000>;
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900609
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900610 sys_clk: clock-controller {
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900611 compatible = "socionext,uniphier-ld11-clock";
612 #clock-cells = <1>;
613 };
614
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900615 sys_rst: reset-controller {
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900616 compatible = "socionext,uniphier-ld11-reset";
617 #reset-cells = <1>;
618 };
Masahiro Yamada1a420bd2017-08-29 12:20:52 +0900619
620 watchdog {
621 compatible = "socionext,uniphier-wdt";
622 };
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900623 };
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900624
Masahiro Yamada0bc56842018-04-16 12:35:33 +0900625 eth: ethernet@65000000 {
626 compatible = "socionext,uniphier-ld11-ave4";
627 status = "disabled";
628 reg = <0x65000000 0x8500>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900629 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
Kunihiko Hayashi0ed9d142018-05-11 18:49:16 +0900630 clock-names = "ether";
Masahiro Yamada0bc56842018-04-16 12:35:33 +0900631 clocks = <&sys_clk 6>;
Kunihiko Hayashi0ed9d142018-05-11 18:49:16 +0900632 reset-names = "ether";
Masahiro Yamada0bc56842018-04-16 12:35:33 +0900633 resets = <&sys_rst 6>;
Kunihiko Hayashif8b6c4e2018-05-11 18:49:17 +0900634 phy-mode = "internal";
Masahiro Yamada0bc56842018-04-16 12:35:33 +0900635 local-mac-address = [00 00 00 00 00 00];
Kunihiko Hayashib57334d2018-05-11 18:49:14 +0900636 socionext,syscon-phy-mode = <&soc_glue 0>;
Masahiro Yamada0bc56842018-04-16 12:35:33 +0900637
638 mdio: mdio {
639 #address-cells = <1>;
640 #size-cells = <0>;
641 };
642 };
643
Masahiro Yamada277516a2020-02-28 21:57:19 +0900644 nand: nand-controller@68000000 {
Masahiro Yamada552acbf2017-04-20 16:54:44 +0900645 compatible = "socionext,uniphier-denali-nand-v5b";
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900646 status = "disabled";
647 reg-names = "nand_data", "denali_reg";
648 reg = <0x68000000 0x20>, <0x68100000 0x1000>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900649 #address-cells = <1>;
650 #size-cells = <0>;
651 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900652 pinctrl-names = "default";
653 pinctrl-0 = <&pinctrl_nand>;
Masahiro Yamada6bd84d72018-12-19 20:03:21 +0900654 clock-names = "nand", "nand_x", "ecc";
655 clocks = <&sys_clk 2>, <&sys_clk 3>, <&sys_clk 3>;
Masahiro Yamadab226e522020-02-28 21:57:20 +0900656 reset-names = "nand", "reg";
657 resets = <&sys_rst 2>, <&sys_rst 2>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900658 };
Masahiro Yamadaf0c34fc2016-03-18 16:41:49 +0900659 };
660};
661
Masahiro Yamada1a420bd2017-08-29 12:20:52 +0900662#include "uniphier-pinctrl.dtsi"
Masahiro Yamada0bc56842018-04-16 12:35:33 +0900663
664&pinctrl_aoutiec1 {
665 drive-strength = <4>; /* default: 4mA */
666
667 ao1arc {
668 pins = "AO1ARC";
669 drive-strength = <8>; /* 8mA */
670 };
671};