blob: bf852c28005ad088c68c9000e76de08779fdf854 [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 PXs2 SoC
4//
5// Copyright (C) 2015-2016 Socionext Inc.
6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Masahiro Yamadaedbecf52015-08-28 22:33:15 +09007
Masahiro Yamada6c086d02017-11-25 00:25:35 +09008#include <dt-bindings/gpio/uniphier-gpio.h>
9#include <dt-bindings/thermal/thermal.h>
10
Masahiro Yamadaedbecf52015-08-28 22:33:15 +090011/ {
Masahiro Yamada39a67ff2016-10-07 16:43:00 +090012 compatible = "socionext,uniphier-pxs2";
Masahiro Yamada6cd78f72017-03-13 00:16:39 +090013 #address-cells = <1>;
14 #size-cells = <1>;
Masahiro Yamadaedbecf52015-08-28 22:33:15 +090015
16 cpus {
17 #address-cells = <1>;
18 #size-cells = <0>;
Masahiro Yamadaedbecf52015-08-28 22:33:15 +090019
Masahiro Yamada6c086d02017-11-25 00:25:35 +090020 cpu0: cpu@0 {
Masahiro Yamadaedbecf52015-08-28 22:33:15 +090021 device_type = "cpu";
22 compatible = "arm,cortex-a9";
23 reg = <0>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +090024 clocks = <&sys_clk 32>;
Masahiro Yamada39a67ff2016-10-07 16:43:00 +090025 enable-method = "psci";
Masahiro Yamadab36f3052015-12-16 10:54:08 +090026 next-level-cache = <&l2>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +090027 operating-points-v2 = <&cpu_opp>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +090028 #cooling-cells = <2>;
Masahiro Yamadaedbecf52015-08-28 22:33:15 +090029 };
30
Masahiro Yamada6c086d02017-11-25 00:25:35 +090031 cpu1: cpu@1 {
Masahiro Yamadaedbecf52015-08-28 22:33:15 +090032 device_type = "cpu";
33 compatible = "arm,cortex-a9";
34 reg = <1>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +090035 clocks = <&sys_clk 32>;
Masahiro Yamada39a67ff2016-10-07 16:43:00 +090036 enable-method = "psci";
Masahiro Yamadab36f3052015-12-16 10:54:08 +090037 next-level-cache = <&l2>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +090038 operating-points-v2 = <&cpu_opp>;
Masahiro Yamada5ac92d82018-09-10 12:58:32 +090039 #cooling-cells = <2>;
Masahiro Yamadaedbecf52015-08-28 22:33:15 +090040 };
41
Masahiro Yamada6c086d02017-11-25 00:25:35 +090042 cpu2: cpu@2 {
Masahiro Yamadaedbecf52015-08-28 22:33:15 +090043 device_type = "cpu";
44 compatible = "arm,cortex-a9";
45 reg = <2>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +090046 clocks = <&sys_clk 32>;
Masahiro Yamada39a67ff2016-10-07 16:43:00 +090047 enable-method = "psci";
Masahiro Yamadab36f3052015-12-16 10:54:08 +090048 next-level-cache = <&l2>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +090049 operating-points-v2 = <&cpu_opp>;
Masahiro Yamada5ac92d82018-09-10 12:58:32 +090050 #cooling-cells = <2>;
Masahiro Yamadaedbecf52015-08-28 22:33:15 +090051 };
52
Masahiro Yamada6c086d02017-11-25 00:25:35 +090053 cpu3: cpu@3 {
Masahiro Yamadaedbecf52015-08-28 22:33:15 +090054 device_type = "cpu";
55 compatible = "arm,cortex-a9";
56 reg = <3>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +090057 clocks = <&sys_clk 32>;
Masahiro Yamada39a67ff2016-10-07 16:43:00 +090058 enable-method = "psci";
Masahiro Yamadab36f3052015-12-16 10:54:08 +090059 next-level-cache = <&l2>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +090060 operating-points-v2 = <&cpu_opp>;
Masahiro Yamada5ac92d82018-09-10 12:58:32 +090061 #cooling-cells = <2>;
Masahiro Yamadaedbecf52015-08-28 22:33:15 +090062 };
63 };
64
Masahiro Yamada6c086d02017-11-25 00:25:35 +090065 cpu_opp: opp-table {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090066 compatible = "operating-points-v2";
67 opp-shared;
68
Masahiro Yamada552acbf2017-04-20 16:54:44 +090069 opp-100000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090070 opp-hz = /bits/ 64 <100000000>;
71 clock-latency-ns = <300>;
72 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090073 opp-150000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090074 opp-hz = /bits/ 64 <150000000>;
75 clock-latency-ns = <300>;
76 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090077 opp-200000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090078 opp-hz = /bits/ 64 <200000000>;
79 clock-latency-ns = <300>;
80 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090081 opp-300000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090082 opp-hz = /bits/ 64 <300000000>;
83 clock-latency-ns = <300>;
84 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090085 opp-400000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090086 opp-hz = /bits/ 64 <400000000>;
87 clock-latency-ns = <300>;
88 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090089 opp-600000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090090 opp-hz = /bits/ 64 <600000000>;
91 clock-latency-ns = <300>;
92 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090093 opp-800000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090094 opp-hz = /bits/ 64 <800000000>;
95 clock-latency-ns = <300>;
96 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090097 opp-1200000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090098 opp-hz = /bits/ 64 <1200000000>;
99 clock-latency-ns = <300>;
100 };
101 };
102
103 psci {
104 compatible = "arm,psci-0.2";
105 method = "smc";
106 };
107
Masahiro Yamadaedbecf52015-08-28 22:33:15 +0900108 clocks {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900109 refclk: ref {
110 compatible = "fixed-clock";
111 #clock-cells = <0>;
112 clock-frequency = <25000000>;
113 };
114
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900115 arm_timer_clk: arm-timer {
Masahiro Yamadaedbecf52015-08-28 22:33:15 +0900116 #clock-cells = <0>;
117 compatible = "fixed-clock";
118 clock-frequency = <50000000>;
119 };
Masahiro Yamadaedbecf52015-08-28 22:33:15 +0900120 };
121
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900122 thermal-zones {
123 cpu-thermal {
124 polling-delay-passive = <250>; /* 250ms */
125 polling-delay = <1000>; /* 1000ms */
126 thermal-sensors = <&pvtctl>;
127
128 trips {
129 cpu_crit: cpu-crit {
130 temperature = <95000>; /* 95C */
131 hysteresis = <2000>;
132 type = "critical";
133 };
134 cpu_alert: cpu-alert {
135 temperature = <85000>; /* 85C */
136 hysteresis = <2000>;
137 type = "passive";
138 };
139 };
140
141 cooling-maps {
142 map {
143 trip = <&cpu_alert>;
Masahiro Yamadac9026882019-04-12 18:55:50 +0900144 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
145 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
146 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
147 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900148 };
149 };
150 };
151 };
152
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900153 soc {
154 compatible = "simple-bus";
155 #address-cells = <1>;
156 #size-cells = <1>;
157 ranges;
158 interrupt-parent = <&intc>;
Masahiro Yamadab36f3052015-12-16 10:54:08 +0900159
Masahiro Yamada277516a2020-02-28 21:57:19 +0900160 l2: cache-controller@500c0000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900161 compatible = "socionext,uniphier-system-cache";
162 reg = <0x500c0000 0x2000>, <0x503c0100 0x8>,
163 <0x506c0000 0x400>;
164 interrupts = <0 174 4>, <0 175 4>, <0 190 4>, <0 191 4>;
165 cache-unified;
166 cache-size = <(1280 * 1024)>;
167 cache-sets = <512>;
168 cache-line-size = <128>;
169 cache-level = <2>;
170 };
Masahiro Yamada6835b452016-02-16 17:03:51 +0900171
Masahiro Yamada6bd84d72018-12-19 20:03:21 +0900172 spi0: spi@54006000 {
173 compatible = "socionext,uniphier-scssi";
174 status = "disabled";
175 reg = <0x54006000 0x100>;
176 interrupts = <0 39 4>;
177 pinctrl-names = "default";
178 pinctrl-0 = <&pinctrl_spi0>;
179 clocks = <&peri_clk 11>;
180 resets = <&peri_rst 11>;
181 };
182
183 spi1: spi@54006100 {
184 compatible = "socionext,uniphier-scssi";
185 status = "disabled";
186 reg = <0x54006100 0x100>;
187 interrupts = <0 216 4>;
188 pinctrl-names = "default";
189 pinctrl-0 = <&pinctrl_spi1>;
190 clocks = <&peri_clk 11>;
191 resets = <&peri_rst 11>;
192 };
193
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900194 serial0: serial@54006800 {
195 compatible = "socionext,uniphier-uart";
196 status = "disabled";
197 reg = <0x54006800 0x40>;
198 interrupts = <0 33 4>;
199 pinctrl-names = "default";
200 pinctrl-0 = <&pinctrl_uart0>;
201 clocks = <&peri_clk 0>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900202 resets = <&peri_rst 0>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900203 };
Masahiro Yamada6835b452016-02-16 17:03:51 +0900204
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900205 serial1: serial@54006900 {
206 compatible = "socionext,uniphier-uart";
207 status = "disabled";
208 reg = <0x54006900 0x40>;
209 interrupts = <0 35 4>;
210 pinctrl-names = "default";
211 pinctrl-0 = <&pinctrl_uart1>;
212 clocks = <&peri_clk 1>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900213 resets = <&peri_rst 1>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900214 };
Masahiro Yamada6835b452016-02-16 17:03:51 +0900215
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900216 serial2: serial@54006a00 {
217 compatible = "socionext,uniphier-uart";
218 status = "disabled";
219 reg = <0x54006a00 0x40>;
220 interrupts = <0 37 4>;
221 pinctrl-names = "default";
222 pinctrl-0 = <&pinctrl_uart2>;
223 clocks = <&peri_clk 2>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900224 resets = <&peri_rst 2>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900225 };
Masahiro Yamada6835b452016-02-16 17:03:51 +0900226
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900227 serial3: serial@54006b00 {
228 compatible = "socionext,uniphier-uart";
229 status = "disabled";
230 reg = <0x54006b00 0x40>;
231 interrupts = <0 177 4>;
232 pinctrl-names = "default";
233 pinctrl-0 = <&pinctrl_uart3>;
234 clocks = <&peri_clk 3>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900235 resets = <&peri_rst 3>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900236 };
Masahiro Yamada6835b452016-02-16 17:03:51 +0900237
Masahiro Yamada964edbf2017-10-13 19:21:52 +0900238 gpio: gpio@55000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900239 compatible = "socionext,uniphier-gpio";
Masahiro Yamada964edbf2017-10-13 19:21:52 +0900240 reg = <0x55000000 0x200>;
241 interrupt-parent = <&aidet>;
242 interrupt-controller;
243 #interrupt-cells = <2>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900244 gpio-controller;
245 #gpio-cells = <2>;
Masahiro Yamada964edbf2017-10-13 19:21:52 +0900246 gpio-ranges = <&pinctrl 0 0 0>,
247 <&pinctrl 96 0 0>;
248 gpio-ranges-group-names = "gpio_range0",
249 "gpio_range1";
250 ngpios = <232>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900251 socionext,interrupt-ranges = <0 48 16>, <16 154 5>,
252 <21 217 3>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900253 };
Masahiro Yamadaedbecf52015-08-28 22:33:15 +0900254
Masahiro Yamada0bc56842018-04-16 12:35:33 +0900255 audio@56000000 {
256 compatible = "socionext,uniphier-pxs2-aio";
257 reg = <0x56000000 0x80000>;
258 interrupts = <0 144 4>;
259 pinctrl-names = "default";
260 pinctrl-0 = <&pinctrl_ain1>,
261 <&pinctrl_ain2>,
262 <&pinctrl_ainiec1>,
263 <&pinctrl_aout2>,
264 <&pinctrl_aout3>,
265 <&pinctrl_aoutiec1>,
266 <&pinctrl_aoutiec2>;
267 clock-names = "aio";
268 clocks = <&sys_clk 40>;
269 reset-names = "aio";
270 resets = <&sys_rst 40>;
271 #sound-dai-cells = <1>;
272 socionext,syscon = <&soc_glue>;
273
274 i2s_port0: port@0 {
275 i2s_hdmi: endpoint {
276 };
277 };
278
279 i2s_port1: port@1 {
280 i2s_line: endpoint {
281 };
282 };
283
284 i2s_port2: port@2 {
285 i2s_aux: endpoint {
286 };
287 };
288
289 spdif_port0: port@3 {
290 spdif_hiecout1: endpoint {
291 };
292 };
293
294 spdif_port1: port@4 {
295 spdif_iecout1: endpoint {
296 };
297 };
298
299 comp_spdif_port0: port@5 {
300 comp_spdif_hiecout1: endpoint {
301 };
302 };
303
304 comp_spdif_port1: port@6 {
305 comp_spdif_iecout1: endpoint {
306 };
307 };
308 };
309
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900310 i2c0: i2c@58780000 {
311 compatible = "socionext,uniphier-fi2c";
312 status = "disabled";
313 reg = <0x58780000 0x80>;
314 #address-cells = <1>;
315 #size-cells = <0>;
316 interrupts = <0 41 4>;
317 pinctrl-names = "default";
318 pinctrl-0 = <&pinctrl_i2c0>;
Masahiro Yamadabf3b7212017-03-13 00:16:41 +0900319 clocks = <&peri_clk 4>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900320 resets = <&peri_rst 4>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900321 clock-frequency = <100000>;
322 };
Masahiro Yamadaedbecf52015-08-28 22:33:15 +0900323
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900324 i2c1: i2c@58781000 {
325 compatible = "socionext,uniphier-fi2c";
326 status = "disabled";
327 reg = <0x58781000 0x80>;
328 #address-cells = <1>;
329 #size-cells = <0>;
330 interrupts = <0 42 4>;
331 pinctrl-names = "default";
332 pinctrl-0 = <&pinctrl_i2c1>;
Masahiro Yamadabf3b7212017-03-13 00:16:41 +0900333 clocks = <&peri_clk 5>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900334 resets = <&peri_rst 5>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900335 clock-frequency = <100000>;
336 };
Masahiro Yamadaedbecf52015-08-28 22:33:15 +0900337
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900338 i2c2: i2c@58782000 {
339 compatible = "socionext,uniphier-fi2c";
340 status = "disabled";
341 reg = <0x58782000 0x80>;
342 #address-cells = <1>;
343 #size-cells = <0>;
344 interrupts = <0 43 4>;
345 pinctrl-names = "default";
346 pinctrl-0 = <&pinctrl_i2c2>;
Masahiro Yamadabf3b7212017-03-13 00:16:41 +0900347 clocks = <&peri_clk 6>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900348 resets = <&peri_rst 6>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900349 clock-frequency = <100000>;
350 };
Masahiro Yamada299307d2016-02-18 19:52:50 +0900351
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900352 i2c3: i2c@58783000 {
353 compatible = "socionext,uniphier-fi2c";
354 status = "disabled";
355 reg = <0x58783000 0x80>;
356 #address-cells = <1>;
357 #size-cells = <0>;
358 interrupts = <0 44 4>;
359 pinctrl-names = "default";
360 pinctrl-0 = <&pinctrl_i2c3>;
Masahiro Yamadabf3b7212017-03-13 00:16:41 +0900361 clocks = <&peri_clk 7>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900362 resets = <&peri_rst 7>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900363 clock-frequency = <100000>;
364 };
Masahiro Yamada299307d2016-02-18 19:52:50 +0900365
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900366 /* chip-internal connection for DMD */
367 i2c4: i2c@58784000 {
368 compatible = "socionext,uniphier-fi2c";
369 reg = <0x58784000 0x80>;
370 #address-cells = <1>;
371 #size-cells = <0>;
372 interrupts = <0 45 4>;
Masahiro Yamadabf3b7212017-03-13 00:16:41 +0900373 clocks = <&peri_clk 8>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900374 resets = <&peri_rst 8>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900375 clock-frequency = <400000>;
376 };
Masahiro Yamada2707e832016-06-29 19:39:02 +0900377
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900378 /* chip-internal connection for STM */
379 i2c5: i2c@58785000 {
380 compatible = "socionext,uniphier-fi2c";
381 reg = <0x58785000 0x80>;
382 #address-cells = <1>;
383 #size-cells = <0>;
384 interrupts = <0 25 4>;
Masahiro Yamadabf3b7212017-03-13 00:16:41 +0900385 clocks = <&peri_clk 9>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900386 resets = <&peri_rst 9>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900387 clock-frequency = <400000>;
388 };
Masahiro Yamadaedbecf52015-08-28 22:33:15 +0900389
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900390 /* chip-internal connection for HDMI */
391 i2c6: i2c@58786000 {
392 compatible = "socionext,uniphier-fi2c";
393 reg = <0x58786000 0x80>;
394 #address-cells = <1>;
395 #size-cells = <0>;
396 interrupts = <0 26 4>;
Masahiro Yamadabf3b7212017-03-13 00:16:41 +0900397 clocks = <&peri_clk 10>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900398 resets = <&peri_rst 10>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900399 clock-frequency = <400000>;
400 };
Masahiro Yamadaedbecf52015-08-28 22:33:15 +0900401
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900402 system_bus: system-bus@58c00000 {
403 compatible = "socionext,uniphier-system-bus";
404 status = "disabled";
405 reg = <0x58c00000 0x400>;
406 #address-cells = <2>;
407 #size-cells = <1>;
408 pinctrl-names = "default";
409 pinctrl-0 = <&pinctrl_system_bus>;
410 };
Masahiro Yamada224e2f72016-02-02 21:11:33 +0900411
Masahiro Yamada938ab162017-05-15 14:23:46 +0900412 smpctrl@59801000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900413 compatible = "socionext,uniphier-smpctrl";
414 reg = <0x59801000 0x400>;
415 };
Masahiro Yamadaedbecf52015-08-28 22:33:15 +0900416
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900417 sdctrl@59810000 {
418 compatible = "socionext,uniphier-pxs2-sdctrl",
419 "simple-mfd", "syscon";
Masahiro Yamada1a420bd2017-08-29 12:20:52 +0900420 reg = <0x59810000 0x400>;
Masahiro Yamadaa4e54cc2015-11-04 21:56:07 +0900421
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900422 sd_clk: clock {
423 compatible = "socionext,uniphier-pxs2-sd-clock";
424 #clock-cells = <1>;
425 };
Masahiro Yamadaa4e54cc2015-11-04 21:56:07 +0900426
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900427 sd_rst: reset {
428 compatible = "socionext,uniphier-pxs2-sd-reset";
429 #reset-cells = <1>;
430 };
431 };
Masahiro Yamadaedbecf52015-08-28 22:33:15 +0900432
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900433 perictrl@59820000 {
434 compatible = "socionext,uniphier-pxs2-perictrl",
435 "simple-mfd", "syscon";
436 reg = <0x59820000 0x200>;
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900437
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900438 peri_clk: clock {
439 compatible = "socionext,uniphier-pxs2-peri-clock";
440 #clock-cells = <1>;
441 };
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900442
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900443 peri_rst: reset {
444 compatible = "socionext,uniphier-pxs2-peri-reset";
445 #reset-cells = <1>;
446 };
447 };
Masahiro Yamada1d5df7b2016-02-02 21:11:36 +0900448
Masahiro Yamada277516a2020-02-28 21:57:19 +0900449 emmc: mmc@5a000000 {
Masahiro Yamada6c7ad4d2018-09-10 12:58:35 +0900450 compatible = "socionext,uniphier-sd-v3.1.1";
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900451 status = "disabled";
452 reg = <0x5a000000 0x800>;
453 interrupts = <0 78 4>;
454 pinctrl-names = "default";
455 pinctrl-0 = <&pinctrl_emmc>;
456 clocks = <&sd_clk 1>;
Masahiro Yamada6c7ad4d2018-09-10 12:58:35 +0900457 reset-names = "host", "hw";
458 resets = <&sd_rst 1>, <&sd_rst 6>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900459 bus-width = <8>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900460 cap-mmc-highspeed;
461 cap-mmc-hw-reset;
Masahiro Yamada6c7ad4d2018-09-10 12:58:35 +0900462 non-removable;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900463 };
Masahiro Yamada80951832016-02-02 21:11:35 +0900464
Masahiro Yamada277516a2020-02-28 21:57:19 +0900465 sd: mmc@5a400000 {
Masahiro Yamada6c7ad4d2018-09-10 12:58:35 +0900466 compatible = "socionext,uniphier-sd-v3.1.1";
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900467 status = "disabled";
468 reg = <0x5a400000 0x800>;
469 interrupts = <0 76 4>;
Masahiro Yamada6c7ad4d2018-09-10 12:58:35 +0900470 pinctrl-names = "default", "uhs";
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900471 pinctrl-0 = <&pinctrl_sd>;
Masahiro Yamada6c7ad4d2018-09-10 12:58:35 +0900472 pinctrl-1 = <&pinctrl_sd_uhs>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900473 clocks = <&sd_clk 0>;
474 reset-names = "host";
475 resets = <&sd_rst 0>;
476 bus-width = <4>;
477 cap-sd-highspeed;
478 sd-uhs-sdr12;
479 sd-uhs-sdr25;
480 sd-uhs-sdr50;
481 };
Masahiro Yamadae84513b2016-02-02 21:11:34 +0900482
Masahiro Yamada0bc56842018-04-16 12:35:33 +0900483 soc_glue: soc-glue@5f800000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900484 compatible = "socionext,uniphier-pxs2-soc-glue",
485 "simple-mfd", "syscon";
486 reg = <0x5f800000 0x2000>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900487
488 pinctrl: pinctrl {
489 compatible = "socionext,uniphier-pxs2-pinctrl";
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900490 };
491 };
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900492
Masahiro Yamadab61327d2018-03-15 11:43:03 +0900493 soc-glue@5f900000 {
494 compatible = "socionext,uniphier-pxs2-soc-glue-debug",
495 "simple-mfd";
496 #address-cells = <1>;
497 #size-cells = <1>;
498 ranges = <0 0x5f900000 0x2000>;
499
500 efuse@100 {
501 compatible = "socionext,uniphier-efuse";
502 reg = <0x100 0x28>;
503 };
504
505 efuse@200 {
506 compatible = "socionext,uniphier-efuse";
507 reg = <0x200 0x58>;
508 };
509 };
510
Masahiro Yamada277516a2020-02-28 21:57:19 +0900511 aidet: interrupt-controller@5fc20000 {
Masahiro Yamada1a420bd2017-08-29 12:20:52 +0900512 compatible = "socionext,uniphier-pxs2-aidet";
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900513 reg = <0x5fc20000 0x200>;
Masahiro Yamada1a420bd2017-08-29 12:20:52 +0900514 interrupt-controller;
515 #interrupt-cells = <2>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900516 };
517
518 timer@60000200 {
519 compatible = "arm,cortex-a9-global-timer";
520 reg = <0x60000200 0x20>;
521 interrupts = <1 11 0xf04>;
522 clocks = <&arm_timer_clk>;
523 };
524
525 timer@60000600 {
526 compatible = "arm,cortex-a9-twd-timer";
527 reg = <0x60000600 0x20>;
528 interrupts = <1 13 0xf04>;
529 clocks = <&arm_timer_clk>;
530 };
531
532 intc: interrupt-controller@60001000 {
533 compatible = "arm,cortex-a9-gic";
534 reg = <0x60001000 0x1000>,
535 <0x60000100 0x100>;
536 #interrupt-cells = <3>;
537 interrupt-controller;
538 };
539
540 sysctrl@61840000 {
541 compatible = "socionext,uniphier-pxs2-sysctrl",
542 "simple-mfd", "syscon";
Masahiro Yamadabf3b7212017-03-13 00:16:41 +0900543 reg = <0x61840000 0x10000>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900544
545 sys_clk: clock {
546 compatible = "socionext,uniphier-pxs2-clock";
547 #clock-cells = <1>;
548 };
549
550 sys_rst: reset {
551 compatible = "socionext,uniphier-pxs2-reset";
552 #reset-cells = <1>;
553 };
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900554
555 pvtctl: pvtctl {
556 compatible = "socionext,uniphier-pxs2-thermal";
557 interrupts = <0 3 4>;
558 #thermal-sensor-cells = <0>;
559 socionext,tmod-calibration = <0x0f86 0x6844>;
560 };
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900561 };
562
Masahiro Yamada0bc56842018-04-16 12:35:33 +0900563 eth: ethernet@65000000 {
564 compatible = "socionext,uniphier-pxs2-ave4";
565 status = "disabled";
566 reg = <0x65000000 0x8500>;
567 interrupts = <0 66 4>;
568 pinctrl-names = "default";
569 pinctrl-0 = <&pinctrl_ether_rgmii>;
Kunihiko Hayashi0ed9d142018-05-11 18:49:16 +0900570 clock-names = "ether";
Masahiro Yamada0bc56842018-04-16 12:35:33 +0900571 clocks = <&sys_clk 6>;
Kunihiko Hayashi0ed9d142018-05-11 18:49:16 +0900572 reset-names = "ether";
Masahiro Yamada0bc56842018-04-16 12:35:33 +0900573 resets = <&sys_rst 6>;
574 phy-mode = "rgmii";
575 local-mac-address = [00 00 00 00 00 00];
Kunihiko Hayashib57334d2018-05-11 18:49:14 +0900576 socionext,syscon-phy-mode = <&soc_glue 0>;
Masahiro Yamada0bc56842018-04-16 12:35:33 +0900577
578 mdio: mdio {
579 #address-cells = <1>;
580 #size-cells = <0>;
581 };
582 };
583
Masahiro Yamada6bd84d72018-12-19 20:03:21 +0900584 _usb0: usb@65a00000 {
585 compatible = "socionext,uniphier-dwc3", "snps,dwc3";
586 status = "disabled";
587 reg = <0x65a00000 0xcd00>;
588 interrupt-names = "host", "peripheral";
589 interrupts = <0 134 4>, <0 135 4>;
590 pinctrl-names = "default";
591 pinctrl-0 = <&pinctrl_usb0>, <&pinctrl_usb2>;
592 clock-names = "ref", "bus_early", "suspend";
593 clocks = <&sys_clk 14>, <&sys_clk 14>, <&sys_clk 14>;
594 resets = <&usb0_rst 15>;
595 phys = <&usb0_hsphy0>, <&usb0_hsphy1>,
596 <&usb0_ssphy0>, <&usb0_ssphy1>;
597 dr_mode = "host";
598 };
599
600 usb-glue@65b00000 {
601 compatible = "socionext,uniphier-pxs2-dwc3-glue",
602 "simple-mfd";
603 #address-cells = <1>;
604 #size-cells = <1>;
605 ranges = <0 0x65b00000 0x400>;
606
607 usb0_rst: reset@0 {
608 compatible = "socionext,uniphier-pxs2-usb3-reset";
609 reg = <0x0 0x4>;
610 #reset-cells = <1>;
611 clock-names = "link";
612 clocks = <&sys_clk 14>;
613 reset-names = "link";
614 resets = <&sys_rst 14>;
615 };
616
617 usb0_vbus0: regulator@100 {
618 compatible = "socionext,uniphier-pxs2-usb3-regulator";
619 reg = <0x100 0x10>;
620 clock-names = "link";
621 clocks = <&sys_clk 14>;
622 reset-names = "link";
623 resets = <&sys_rst 14>;
624 };
625
626 usb0_vbus1: regulator@110 {
627 compatible = "socionext,uniphier-pxs2-usb3-regulator";
628 reg = <0x110 0x10>;
629 clock-names = "link";
630 clocks = <&sys_clk 14>;
631 reset-names = "link";
632 resets = <&sys_rst 14>;
633 };
634
635 usb0_hsphy0: hs-phy@200 {
636 compatible = "socionext,uniphier-pxs2-usb3-hsphy";
637 reg = <0x200 0x10>;
638 #phy-cells = <0>;
639 clock-names = "link", "phy";
640 clocks = <&sys_clk 14>, <&sys_clk 16>;
641 reset-names = "link", "phy";
642 resets = <&sys_rst 14>, <&sys_rst 16>;
643 vbus-supply = <&usb0_vbus0>;
644 };
645
646 usb0_hsphy1: hs-phy@210 {
647 compatible = "socionext,uniphier-pxs2-usb3-hsphy";
648 reg = <0x210 0x10>;
649 #phy-cells = <0>;
650 clock-names = "link", "phy";
651 clocks = <&sys_clk 14>, <&sys_clk 16>;
652 reset-names = "link", "phy";
653 resets = <&sys_rst 14>, <&sys_rst 16>;
654 vbus-supply = <&usb0_vbus1>;
655 };
656
657 usb0_ssphy0: ss-phy@300 {
658 compatible = "socionext,uniphier-pxs2-usb3-ssphy";
659 reg = <0x300 0x10>;
660 #phy-cells = <0>;
661 clock-names = "link", "phy";
662 clocks = <&sys_clk 14>, <&sys_clk 17>;
663 reset-names = "link", "phy";
664 resets = <&sys_rst 14>, <&sys_rst 17>;
665 vbus-supply = <&usb0_vbus0>;
666 };
667
668 usb0_ssphy1: ss-phy@310 {
669 compatible = "socionext,uniphier-pxs2-usb3-ssphy";
670 reg = <0x310 0x10>;
671 #phy-cells = <0>;
672 clock-names = "link", "phy";
673 clocks = <&sys_clk 14>, <&sys_clk 18>;
674 reset-names = "link", "phy";
675 resets = <&sys_rst 14>, <&sys_rst 18>;
676 vbus-supply = <&usb0_vbus1>;
677 };
678 };
679
680 /* FIXME: U-Boot own node */
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900681 usb0: usb@65b00000 {
682 compatible = "socionext,uniphier-pxs2-dwc3";
683 status = "disabled";
684 reg = <0x65b00000 0x1000>;
685 #address-cells = <1>;
686 #size-cells = <1>;
687 ranges;
688 pinctrl-names = "default";
689 pinctrl-0 = <&pinctrl_usb0>, <&pinctrl_usb2>;
690 dwc3@65a00000 {
691 compatible = "snps,dwc3";
692 reg = <0x65a00000 0x10000>;
693 interrupts = <0 134 4>;
Masahiro Yamadad2c8abd2017-08-13 09:01:17 +0900694 dr_mode = "host";
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900695 tx-fifo-resize;
696 };
697 };
698
Masahiro Yamada6bd84d72018-12-19 20:03:21 +0900699 _usb1: usb@65c00000 {
700 compatible = "socionext,uniphier-dwc3", "snps,dwc3";
701 status = "disabled";
702 reg = <0x65c00000 0xcd00>;
703 interrupt-names = "host", "peripheral";
704 interrupts = <0 137 4>, <0 138 4>;
705 pinctrl-names = "default";
706 pinctrl-0 = <&pinctrl_usb1>, <&pinctrl_usb3>;
707 clock-names = "ref", "bus_early", "suspend";
708 clocks = <&sys_clk 15>, <&sys_clk 15>, <&sys_clk 15>;
709 resets = <&usb1_rst 15>;
710 phys = <&usb1_hsphy0>, <&usb1_hsphy1>, <&usb1_ssphy0>;
711 dr_mode = "host";
712 };
713
714 usb-glue@65d00000 {
715 compatible = "socionext,uniphier-pxs2-dwc3-glue",
716 "simple-mfd";
717 #address-cells = <1>;
718 #size-cells = <1>;
719 ranges = <0 0x65d00000 0x400>;
720
721 usb1_rst: reset@0 {
722 compatible = "socionext,uniphier-pxs2-usb3-reset";
723 reg = <0x0 0x4>;
724 #reset-cells = <1>;
725 clock-names = "link";
726 clocks = <&sys_clk 15>;
727 reset-names = "link";
728 resets = <&sys_rst 15>;
729 };
730
731 usb1_vbus0: regulator@100 {
732 compatible = "socionext,uniphier-pxs2-usb3-regulator";
733 reg = <0x100 0x10>;
734 clock-names = "link";
735 clocks = <&sys_clk 15>;
736 reset-names = "link";
737 resets = <&sys_rst 15>;
738 };
739
740 usb1_vbus1: regulator@110 {
741 compatible = "socionext,uniphier-pxs2-usb3-regulator";
742 reg = <0x110 0x10>;
743 clock-names = "link";
744 clocks = <&sys_clk 15>;
745 reset-names = "link";
746 resets = <&sys_rst 15>;
747 };
748
749 usb1_hsphy0: hs-phy@200 {
750 compatible = "socionext,uniphier-pxs2-usb3-hsphy";
751 reg = <0x200 0x10>;
752 #phy-cells = <0>;
753 clock-names = "link", "phy";
754 clocks = <&sys_clk 15>, <&sys_clk 20>;
755 reset-names = "link", "phy";
756 resets = <&sys_rst 15>, <&sys_rst 20>;
757 vbus-supply = <&usb1_vbus0>;
758 };
759
760 usb1_hsphy1: hs-phy@210 {
761 compatible = "socionext,uniphier-pxs2-usb3-hsphy";
762 reg = <0x210 0x10>;
763 #phy-cells = <0>;
764 clock-names = "link", "phy";
765 clocks = <&sys_clk 15>, <&sys_clk 20>;
766 reset-names = "link", "phy";
767 resets = <&sys_rst 15>, <&sys_rst 20>;
768 vbus-supply = <&usb1_vbus1>;
769 };
770
771 usb1_ssphy0: ss-phy@300 {
772 compatible = "socionext,uniphier-pxs2-usb3-ssphy";
773 reg = <0x300 0x10>;
774 #phy-cells = <0>;
775 clock-names = "link", "phy";
776 clocks = <&sys_clk 15>, <&sys_clk 21>;
777 reset-names = "link", "phy";
778 resets = <&sys_rst 15>, <&sys_rst 21>;
779 vbus-supply = <&usb1_vbus0>;
780 };
781 };
782
783 /* FIXME: U-Boot own node */
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900784 usb1: usb@65d00000 {
785 compatible = "socionext,uniphier-pxs2-dwc3";
786 status = "disabled";
787 reg = <0x65d00000 0x1000>;
788 #address-cells = <1>;
789 #size-cells = <1>;
790 ranges;
791 pinctrl-names = "default";
792 pinctrl-0 = <&pinctrl_usb1>, <&pinctrl_usb3>;
793 dwc3@65c00000 {
794 compatible = "snps,dwc3";
795 reg = <0x65c00000 0x10000>;
796 interrupts = <0 137 4>;
Masahiro Yamadad2c8abd2017-08-13 09:01:17 +0900797 dr_mode = "host";
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900798 tx-fifo-resize;
799 };
800 };
801
Masahiro Yamada277516a2020-02-28 21:57:19 +0900802 nand: nand-controller@68000000 {
Masahiro Yamada552acbf2017-04-20 16:54:44 +0900803 compatible = "socionext,uniphier-denali-nand-v5b";
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900804 status = "disabled";
805 reg-names = "nand_data", "denali_reg";
806 reg = <0x68000000 0x20>, <0x68100000 0x1000>;
807 interrupts = <0 65 4>;
808 pinctrl-names = "default";
Masahiro Yamada1a420bd2017-08-29 12:20:52 +0900809 pinctrl-0 = <&pinctrl_nand2cs>;
Masahiro Yamada6bd84d72018-12-19 20:03:21 +0900810 clock-names = "nand", "nand_x", "ecc";
811 clocks = <&sys_clk 2>, <&sys_clk 3>, <&sys_clk 3>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900812 resets = <&sys_rst 2>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900813 };
814 };
Masahiro Yamadae84513b2016-02-02 21:11:34 +0900815};
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900816
Masahiro Yamada1a420bd2017-08-29 12:20:52 +0900817#include "uniphier-pinctrl.dtsi"