blob: c039378942613a0c3e72e8e1d5ed44a14c36812e [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 Pro5 SoC
4//
5// Copyright (C) 2015-2016 Socionext Inc.
6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Masahiro Yamadac857ded2015-08-28 22:33:14 +09007
Kunihiko Hayashic13863f2023-02-28 11:37:09 +09008#include <dt-bindings/interrupt-controller/arm-gic.h>
9
Masahiro Yamadac857ded2015-08-28 22:33:14 +090010/ {
Masahiro Yamada39a67ff2016-10-07 16:43:00 +090011 compatible = "socionext,uniphier-pro5";
Masahiro Yamada6cd78f72017-03-13 00:16:39 +090012 #address-cells = <1>;
13 #size-cells = <1>;
Masahiro Yamadac857ded2015-08-28 22:33:14 +090014
15 cpus {
16 #address-cells = <1>;
17 #size-cells = <0>;
Masahiro Yamadac857ded2015-08-28 22:33:14 +090018
19 cpu@0 {
20 device_type = "cpu";
21 compatible = "arm,cortex-a9";
22 reg = <0>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +090023 clocks = <&sys_clk 32>;
Masahiro Yamada39a67ff2016-10-07 16:43:00 +090024 enable-method = "psci";
Masahiro Yamadab36f3052015-12-16 10:54:08 +090025 next-level-cache = <&l2>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +090026 operating-points-v2 = <&cpu_opp>;
Masahiro Yamadac857ded2015-08-28 22:33:14 +090027 };
28
29 cpu@1 {
30 device_type = "cpu";
31 compatible = "arm,cortex-a9";
32 reg = <1>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +090033 clocks = <&sys_clk 32>;
Masahiro Yamada39a67ff2016-10-07 16:43:00 +090034 enable-method = "psci";
Masahiro Yamadab36f3052015-12-16 10:54:08 +090035 next-level-cache = <&l2>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +090036 operating-points-v2 = <&cpu_opp>;
Masahiro Yamadac857ded2015-08-28 22:33:14 +090037 };
38 };
39
Masahiro Yamada6c086d02017-11-25 00:25:35 +090040 cpu_opp: opp-table {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090041 compatible = "operating-points-v2";
42 opp-shared;
43
Masahiro Yamada552acbf2017-04-20 16:54:44 +090044 opp-100000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090045 opp-hz = /bits/ 64 <100000000>;
46 clock-latency-ns = <300>;
47 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090048 opp-116667000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090049 opp-hz = /bits/ 64 <116667000>;
50 clock-latency-ns = <300>;
51 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090052 opp-150000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090053 opp-hz = /bits/ 64 <150000000>;
54 clock-latency-ns = <300>;
55 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090056 opp-175000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090057 opp-hz = /bits/ 64 <175000000>;
58 clock-latency-ns = <300>;
59 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090060 opp-200000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090061 opp-hz = /bits/ 64 <200000000>;
62 clock-latency-ns = <300>;
63 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090064 opp-233334000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090065 opp-hz = /bits/ 64 <233334000>;
66 clock-latency-ns = <300>;
67 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090068 opp-300000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090069 opp-hz = /bits/ 64 <300000000>;
70 clock-latency-ns = <300>;
71 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090072 opp-350000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090073 opp-hz = /bits/ 64 <350000000>;
74 clock-latency-ns = <300>;
75 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090076 opp-400000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090077 opp-hz = /bits/ 64 <400000000>;
78 clock-latency-ns = <300>;
79 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090080 opp-466667000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090081 opp-hz = /bits/ 64 <466667000>;
82 clock-latency-ns = <300>;
83 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090084 opp-600000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090085 opp-hz = /bits/ 64 <600000000>;
86 clock-latency-ns = <300>;
87 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090088 opp-700000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090089 opp-hz = /bits/ 64 <700000000>;
90 clock-latency-ns = <300>;
91 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090092 opp-800000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090093 opp-hz = /bits/ 64 <800000000>;
94 clock-latency-ns = <300>;
95 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +090096 opp-933334000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +090097 opp-hz = /bits/ 64 <933334000>;
98 clock-latency-ns = <300>;
99 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +0900100 opp-1200000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900101 opp-hz = /bits/ 64 <1200000000>;
102 clock-latency-ns = <300>;
103 };
Masahiro Yamada552acbf2017-04-20 16:54:44 +0900104 opp-1400000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900105 opp-hz = /bits/ 64 <1400000000>;
106 clock-latency-ns = <300>;
107 };
108 };
109
110 psci {
111 compatible = "arm,psci-0.2";
112 method = "smc";
113 };
114
Masahiro Yamadac857ded2015-08-28 22:33:14 +0900115 clocks {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900116 refclk: ref {
Masahiro Yamadac857ded2015-08-28 22:33:14 +0900117 compatible = "fixed-clock";
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900118 #clock-cells = <0>;
119 clock-frequency = <20000000>;
Masahiro Yamadac857ded2015-08-28 22:33:14 +0900120 };
121
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900122 arm_timer_clk: arm-timer {
Masahiro Yamadac857ded2015-08-28 22:33:14 +0900123 #clock-cells = <0>;
124 compatible = "fixed-clock";
125 clock-frequency = <50000000>;
126 };
127 };
128
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900129 soc {
130 compatible = "simple-bus";
131 #address-cells = <1>;
132 #size-cells = <1>;
133 ranges;
134 interrupt-parent = <&intc>;
Masahiro Yamadab36f3052015-12-16 10:54:08 +0900135
Masahiro Yamada277516a2020-02-28 21:57:19 +0900136 l2: cache-controller@500c0000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900137 compatible = "socionext,uniphier-system-cache";
138 reg = <0x500c0000 0x2000>, <0x503c0100 0x8>,
139 <0x506c0000 0x400>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900140 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
141 <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900142 cache-unified;
143 cache-size = <(2 * 1024 * 1024)>;
144 cache-sets = <512>;
145 cache-line-size = <128>;
146 cache-level = <2>;
147 next-level-cache = <&l3>;
148 };
Masahiro Yamadab36f3052015-12-16 10:54:08 +0900149
Masahiro Yamada277516a2020-02-28 21:57:19 +0900150 l3: cache-controller@500c8000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900151 compatible = "socionext,uniphier-system-cache";
152 reg = <0x500c8000 0x2000>, <0x503c8100 0x8>,
153 <0x506c8000 0x400>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900154 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>,
155 <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900156 cache-unified;
157 cache-size = <(2 * 1024 * 1024)>;
158 cache-sets = <512>;
159 cache-line-size = <256>;
160 cache-level = <3>;
161 };
Masahiro Yamada6835b452016-02-16 17:03:51 +0900162
Masahiro Yamada6bd84d72018-12-19 20:03:21 +0900163 spi0: spi@54006000 {
164 compatible = "socionext,uniphier-scssi";
165 status = "disabled";
166 reg = <0x54006000 0x100>;
Masahiro Yamada423471f2020-07-09 15:08:14 +0900167 #address-cells = <1>;
168 #size-cells = <0>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900169 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6bd84d72018-12-19 20:03:21 +0900170 pinctrl-names = "default";
171 pinctrl-0 = <&pinctrl_spi0>;
172 clocks = <&peri_clk 11>;
173 resets = <&peri_rst 11>;
174 };
175
176 spi1: spi@54006100 {
177 compatible = "socionext,uniphier-scssi";
178 status = "disabled";
179 reg = <0x54006100 0x100>;
Masahiro Yamada423471f2020-07-09 15:08:14 +0900180 #address-cells = <1>;
181 #size-cells = <0>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900182 interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6bd84d72018-12-19 20:03:21 +0900183 pinctrl-names = "default";
184 pinctrl-0 = <&pinctrl_spi1>;
Masahiro Yamada423471f2020-07-09 15:08:14 +0900185 clocks = <&peri_clk 11>; /* common with spi0 */
186 resets = <&peri_rst 12>;
Masahiro Yamada6bd84d72018-12-19 20:03:21 +0900187 };
188
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900189 serial0: serial@54006800 {
190 compatible = "socionext,uniphier-uart";
191 status = "disabled";
192 reg = <0x54006800 0x40>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900193 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900194 pinctrl-names = "default";
195 pinctrl-0 = <&pinctrl_uart0>;
196 clocks = <&peri_clk 0>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900197 resets = <&peri_rst 0>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900198 };
Masahiro Yamada6835b452016-02-16 17:03:51 +0900199
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900200 serial1: serial@54006900 {
201 compatible = "socionext,uniphier-uart";
202 status = "disabled";
203 reg = <0x54006900 0x40>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900204 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900205 pinctrl-names = "default";
206 pinctrl-0 = <&pinctrl_uart1>;
207 clocks = <&peri_clk 1>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900208 resets = <&peri_rst 1>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900209 };
Masahiro Yamada6835b452016-02-16 17:03:51 +0900210
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900211 serial2: serial@54006a00 {
212 compatible = "socionext,uniphier-uart";
213 status = "disabled";
214 reg = <0x54006a00 0x40>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900215 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900216 pinctrl-names = "default";
217 pinctrl-0 = <&pinctrl_uart2>;
218 clocks = <&peri_clk 2>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900219 resets = <&peri_rst 2>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900220 };
Masahiro Yamada6835b452016-02-16 17:03:51 +0900221
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900222 serial3: serial@54006b00 {
223 compatible = "socionext,uniphier-uart";
224 status = "disabled";
225 reg = <0x54006b00 0x40>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900226 interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900227 pinctrl-names = "default";
228 pinctrl-0 = <&pinctrl_uart3>;
229 clocks = <&peri_clk 3>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900230 resets = <&peri_rst 3>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900231 };
Masahiro Yamada6835b452016-02-16 17:03:51 +0900232
Masahiro Yamada964edbf2017-10-13 19:21:52 +0900233 gpio: gpio@55000000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900234 compatible = "socionext,uniphier-gpio";
Masahiro Yamada964edbf2017-10-13 19:21:52 +0900235 reg = <0x55000000 0x200>;
236 interrupt-parent = <&aidet>;
237 interrupt-controller;
238 #interrupt-cells = <2>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900239 gpio-controller;
240 #gpio-cells = <2>;
Masahiro Yamada964edbf2017-10-13 19:21:52 +0900241 gpio-ranges = <&pinctrl 0 0 0>;
242 gpio-ranges-group-names = "gpio_range";
243 ngpios = <248>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900244 socionext,interrupt-ranges = <0 48 16>, <16 154 5>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900245 };
Masahiro Yamadac857ded2015-08-28 22:33:14 +0900246
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900247 i2c0: i2c@58780000 {
248 compatible = "socionext,uniphier-fi2c";
249 status = "disabled";
250 reg = <0x58780000 0x80>;
251 #address-cells = <1>;
252 #size-cells = <0>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900253 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900254 pinctrl-names = "default";
255 pinctrl-0 = <&pinctrl_i2c0>;
256 clocks = <&peri_clk 4>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900257 resets = <&peri_rst 4>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900258 clock-frequency = <100000>;
259 };
Masahiro Yamadac857ded2015-08-28 22:33:14 +0900260
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900261 i2c1: i2c@58781000 {
262 compatible = "socionext,uniphier-fi2c";
263 status = "disabled";
264 reg = <0x58781000 0x80>;
265 #address-cells = <1>;
266 #size-cells = <0>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900267 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900268 pinctrl-names = "default";
269 pinctrl-0 = <&pinctrl_i2c1>;
270 clocks = <&peri_clk 5>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900271 resets = <&peri_rst 5>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900272 clock-frequency = <100000>;
273 };
Masahiro Yamadac857ded2015-08-28 22:33:14 +0900274
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900275 i2c2: i2c@58782000 {
276 compatible = "socionext,uniphier-fi2c";
277 status = "disabled";
278 reg = <0x58782000 0x80>;
279 #address-cells = <1>;
280 #size-cells = <0>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900281 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900282 pinctrl-names = "default";
283 pinctrl-0 = <&pinctrl_i2c2>;
284 clocks = <&peri_clk 6>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900285 resets = <&peri_rst 6>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900286 clock-frequency = <100000>;
287 };
Masahiro Yamada2707e832016-06-29 19:39:02 +0900288
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900289 i2c3: i2c@58783000 {
290 compatible = "socionext,uniphier-fi2c";
291 status = "disabled";
292 reg = <0x58783000 0x80>;
293 #address-cells = <1>;
294 #size-cells = <0>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900295 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900296 pinctrl-names = "default";
297 pinctrl-0 = <&pinctrl_i2c3>;
298 clocks = <&peri_clk 7>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900299 resets = <&peri_rst 7>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900300 clock-frequency = <100000>;
301 };
Masahiro Yamada299307d2016-02-18 19:52:50 +0900302
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900303 /* i2c4 does not exist */
Masahiro Yamada299307d2016-02-18 19:52:50 +0900304
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900305 /* chip-internal connection for DMD */
306 i2c5: i2c@58785000 {
307 compatible = "socionext,uniphier-fi2c";
308 reg = <0x58785000 0x80>;
309 #address-cells = <1>;
310 #size-cells = <0>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900311 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900312 clocks = <&peri_clk 9>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900313 resets = <&peri_rst 9>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900314 clock-frequency = <400000>;
315 };
Masahiro Yamadac857ded2015-08-28 22:33:14 +0900316
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900317 /* chip-internal connection for HDMI */
318 i2c6: i2c@58786000 {
319 compatible = "socionext,uniphier-fi2c";
320 reg = <0x58786000 0x80>;
321 #address-cells = <1>;
322 #size-cells = <0>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900323 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900324 clocks = <&peri_clk 10>;
Masahiro Yamada6c086d02017-11-25 00:25:35 +0900325 resets = <&peri_rst 10>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900326 clock-frequency = <400000>;
327 };
Masahiro Yamadac857ded2015-08-28 22:33:14 +0900328
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900329 system_bus: system-bus@58c00000 {
330 compatible = "socionext,uniphier-system-bus";
331 status = "disabled";
332 reg = <0x58c00000 0x400>;
333 #address-cells = <2>;
334 #size-cells = <1>;
335 pinctrl-names = "default";
336 pinctrl-0 = <&pinctrl_system_bus>;
337 };
Masahiro Yamada224e2f72016-02-02 21:11:33 +0900338
Masahiro Yamada938ab162017-05-15 14:23:46 +0900339 smpctrl@59801000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900340 compatible = "socionext,uniphier-smpctrl";
341 reg = <0x59801000 0x400>;
342 };
Masahiro Yamadac857ded2015-08-28 22:33:14 +0900343
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900344 sdctrl: syscon@59810000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900345 compatible = "socionext,uniphier-pro5-sdctrl",
346 "simple-mfd", "syscon";
Masahiro Yamada1a420bd2017-08-29 12:20:52 +0900347 reg = <0x59810000 0x400>;
Masahiro Yamadaa4e54cc2015-11-04 21:56:07 +0900348
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900349 sd_clk: clock-controller {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900350 compatible = "socionext,uniphier-pro5-sd-clock";
351 #clock-cells = <1>;
352 };
Masahiro Yamadaa4e54cc2015-11-04 21:56:07 +0900353
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900354 sd_rst: reset-controller {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900355 compatible = "socionext,uniphier-pro5-sd-reset";
356 #reset-cells = <1>;
357 };
358 };
Masahiro Yamadac857ded2015-08-28 22:33:14 +0900359
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900360 syscon@59820000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900361 compatible = "socionext,uniphier-pro5-perictrl",
362 "simple-mfd", "syscon";
363 reg = <0x59820000 0x200>;
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900364
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900365 peri_clk: clock-controller {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900366 compatible = "socionext,uniphier-pro5-peri-clock";
367 #clock-cells = <1>;
368 };
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900369
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900370 peri_rst: reset-controller {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900371 compatible = "socionext,uniphier-pro5-peri-reset";
372 #reset-cells = <1>;
373 };
374 };
Masahiro Yamada1d5df7b2016-02-02 21:11:36 +0900375
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900376 syscon@5f800000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900377 compatible = "socionext,uniphier-pro5-soc-glue",
378 "simple-mfd", "syscon";
379 reg = <0x5f800000 0x2000>;
Masahiro Yamada80951832016-02-02 21:11:35 +0900380
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900381 pinctrl: pinctrl {
382 compatible = "socionext,uniphier-pro5-pinctrl";
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900383 };
384 };
Masahiro Yamadae84513b2016-02-02 21:11:34 +0900385
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900386 syscon@5f900000 {
Masahiro Yamadab61327d2018-03-15 11:43:03 +0900387 compatible = "socionext,uniphier-pro5-soc-glue-debug",
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900388 "simple-mfd", "syscon";
389 reg = <0x5f900000 0x2000>;
Masahiro Yamadab61327d2018-03-15 11:43:03 +0900390 #address-cells = <1>;
391 #size-cells = <1>;
392 ranges = <0 0x5f900000 0x2000>;
393
394 efuse@100 {
395 compatible = "socionext,uniphier-efuse";
396 reg = <0x100 0x28>;
397 };
398
399 efuse@130 {
400 compatible = "socionext,uniphier-efuse";
401 reg = <0x130 0x8>;
402 };
403
404 efuse@200 {
405 compatible = "socionext,uniphier-efuse";
406 reg = <0x200 0x28>;
407 };
408
409 efuse@300 {
410 compatible = "socionext,uniphier-efuse";
411 reg = <0x300 0x14>;
412 };
413
414 efuse@400 {
415 compatible = "socionext,uniphier-efuse";
416 reg = <0x400 0x8>;
417 };
418 };
419
Masahiro Yamada423471f2020-07-09 15:08:14 +0900420 xdmac: dma-controller@5fc10000 {
421 compatible = "socionext,uniphier-xdmac";
422 reg = <0x5fc10000 0x5300>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900423 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada423471f2020-07-09 15:08:14 +0900424 dma-channels = <16>;
425 #dma-cells = <2>;
426 };
427
Masahiro Yamada277516a2020-02-28 21:57:19 +0900428 aidet: interrupt-controller@5fc20000 {
Masahiro Yamada1a420bd2017-08-29 12:20:52 +0900429 compatible = "socionext,uniphier-pro5-aidet";
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900430 reg = <0x5fc20000 0x200>;
Masahiro Yamada1a420bd2017-08-29 12:20:52 +0900431 interrupt-controller;
432 #interrupt-cells = <2>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900433 };
434
435 timer@60000200 {
436 compatible = "arm,cortex-a9-global-timer";
437 reg = <0x60000200 0x20>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900438 interrupts = <GIC_PPI 11
439 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_HIGH)>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900440 clocks = <&arm_timer_clk>;
441 };
442
443 timer@60000600 {
444 compatible = "arm,cortex-a9-twd-timer";
445 reg = <0x60000600 0x20>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900446 interrupts = <GIC_PPI 13
447 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_HIGH)>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900448 clocks = <&arm_timer_clk>;
449 };
450
451 intc: interrupt-controller@60001000 {
452 compatible = "arm,cortex-a9-gic";
453 reg = <0x60001000 0x1000>,
454 <0x60000100 0x100>;
455 #interrupt-cells = <3>;
456 interrupt-controller;
457 };
458
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900459 syscon@61840000 {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900460 compatible = "socionext,uniphier-pro5-sysctrl",
461 "simple-mfd", "syscon";
462 reg = <0x61840000 0x10000>;
463
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900464 sys_clk: clock-controller {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900465 compatible = "socionext,uniphier-pro5-clock";
466 #clock-cells = <1>;
467 };
468
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900469 sys_rst: reset-controller {
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900470 compatible = "socionext,uniphier-pro5-reset";
471 #reset-cells = <1>;
472 };
473 };
474
Masahiro Yamada5e8f4ad2020-08-04 14:41:09 +0900475 usb0: usb@65a00000 {
476 compatible = "socionext,uniphier-dwc3", "snps,dwc3";
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900477 status = "disabled";
Masahiro Yamada5e8f4ad2020-08-04 14:41:09 +0900478 reg = <0x65a00000 0xcd00>;
479 interrupt-names = "host";
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900480 interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900481 pinctrl-names = "default";
482 pinctrl-0 = <&pinctrl_usb0>;
Masahiro Yamada5e8f4ad2020-08-04 14:41:09 +0900483 clock-names = "ref", "bus_early", "suspend";
484 clocks = <&sys_clk 12>, <&sys_clk 12>, <&sys_clk 12>;
485 resets = <&usb0_rst 15>;
486 phys = <&usb0_hsphy0>, <&usb0_ssphy0>;
487 dr_mode = "host";
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900488 };
489
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900490 usb-controller@65b00000 {
Masahiro Yamada5e8f4ad2020-08-04 14:41:09 +0900491 compatible = "socionext,uniphier-pro5-dwc3-glue",
492 "simple-mfd";
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900493 reg = <0x65b00000 0x400>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900494 #address-cells = <1>;
495 #size-cells = <1>;
Masahiro Yamada5e8f4ad2020-08-04 14:41:09 +0900496 ranges = <0 0x65b00000 0x400>;
497
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900498 usb0_rst: reset-controller@0 {
Masahiro Yamada5e8f4ad2020-08-04 14:41:09 +0900499 compatible = "socionext,uniphier-pro5-usb3-reset";
500 reg = <0x0 0x4>;
501 #reset-cells = <1>;
502 clock-names = "gio", "link";
503 clocks = <&sys_clk 12>, <&sys_clk 14>;
504 reset-names = "gio", "link";
505 resets = <&sys_rst 12>, <&sys_rst 14>;
506 };
507
508 usb0_vbus0: regulator@100 {
509 compatible = "socionext,uniphier-pro5-usb3-regulator";
510 reg = <0x100 0x10>;
511 clock-names = "gio", "link";
512 clocks = <&sys_clk 12>, <&sys_clk 14>;
513 reset-names = "gio", "link";
514 resets = <&sys_rst 12>, <&sys_rst 14>;
515 };
516
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900517 usb0_hsphy0: phy@280 {
Masahiro Yamada5e8f4ad2020-08-04 14:41:09 +0900518 compatible = "socionext,uniphier-pro5-usb3-hsphy";
519 reg = <0x280 0x10>;
520 #phy-cells = <0>;
521 clock-names = "gio", "link";
522 clocks = <&sys_clk 12>, <&sys_clk 14>;
523 reset-names = "gio", "link";
524 resets = <&sys_rst 12>, <&sys_rst 14>;
525 vbus-supply = <&usb0_vbus0>;
526 };
527
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900528 usb0_ssphy0: phy@380 {
Masahiro Yamada5e8f4ad2020-08-04 14:41:09 +0900529 compatible = "socionext,uniphier-pro5-usb3-ssphy";
530 reg = <0x380 0x10>;
531 #phy-cells = <0>;
532 clock-names = "gio", "link";
533 clocks = <&sys_clk 12>, <&sys_clk 14>;
534 reset-names = "gio", "link";
535 resets = <&sys_rst 12>, <&sys_rst 14>;
536 vbus-supply = <&usb0_vbus0>;
537 };
538 };
539
540 usb1: usb@65c00000 {
541 compatible = "socionext,uniphier-dwc3", "snps,dwc3";
542 status = "disabled";
543 reg = <0x65c00000 0xcd00>;
544 interrupt-names = "host";
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900545 interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900546 pinctrl-names = "default";
547 pinctrl-0 = <&pinctrl_usb1>, <&pinctrl_usb2>;
Masahiro Yamada5e8f4ad2020-08-04 14:41:09 +0900548 clock-names = "ref", "bus_early", "suspend";
549 clocks = <&sys_clk 12>, <&sys_clk 12>, <&sys_clk 12>;
550 resets = <&usb1_rst 15>;
551 phys = <&usb1_hsphy0>, <&usb1_hsphy1>, <&usb1_ssphy0>;
552 dr_mode = "host";
553 };
554
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900555 usb-controller@65d00000 {
Masahiro Yamada5e8f4ad2020-08-04 14:41:09 +0900556 compatible = "socionext,uniphier-pro5-dwc3-glue",
557 "simple-mfd";
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900558 reg = <0x65d00000 0x400>;
Masahiro Yamada5e8f4ad2020-08-04 14:41:09 +0900559 #address-cells = <1>;
560 #size-cells = <1>;
561 ranges = <0 0x65d00000 0x400>;
562
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900563 usb1_rst: reset-controller@0 {
Masahiro Yamada5e8f4ad2020-08-04 14:41:09 +0900564 compatible = "socionext,uniphier-pro5-usb3-reset";
565 reg = <0x0 0x4>;
566 #reset-cells = <1>;
567 clock-names = "gio", "link";
568 clocks = <&sys_clk 12>, <&sys_clk 15>;
569 reset-names = "gio", "link";
570 resets = <&sys_rst 12>, <&sys_rst 15>;
571 };
572
573 usb1_vbus0: regulator@100 {
574 compatible = "socionext,uniphier-pro5-usb3-regulator";
575 reg = <0x100 0x10>;
576 clock-names = "gio", "link";
577 clocks = <&sys_clk 12>, <&sys_clk 15>;
578 reset-names = "gio", "link";
579 resets = <&sys_rst 12>, <&sys_rst 15>;
580 };
581
582 usb1_vbus1: regulator@110 {
583 compatible = "socionext,uniphier-pro5-usb3-regulator";
584 reg = <0x110 0x10>;
585 clock-names = "gio", "link";
586 clocks = <&sys_clk 12>, <&sys_clk 15>;
587 reset-names = "gio", "link";
588 resets = <&sys_rst 12>, <&sys_rst 15>;
589 };
590
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900591 usb1_hsphy0: phy@280 {
Masahiro Yamada5e8f4ad2020-08-04 14:41:09 +0900592 compatible = "socionext,uniphier-pro5-usb3-hsphy";
593 reg = <0x280 0x10>;
594 #phy-cells = <0>;
595 clock-names = "gio", "link";
596 clocks = <&sys_clk 12>, <&sys_clk 15>;
597 reset-names = "gio", "link";
598 resets = <&sys_rst 12>, <&sys_rst 15>;
599 vbus-supply = <&usb1_vbus0>;
600 };
601
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900602 usb1_hsphy1: phy@290 {
Masahiro Yamada5e8f4ad2020-08-04 14:41:09 +0900603 compatible = "socionext,uniphier-pro5-usb3-hsphy";
604 reg = <0x290 0x10>;
605 #phy-cells = <0>;
606 clock-names = "gio", "link";
607 clocks = <&sys_clk 12>, <&sys_clk 15>;
608 reset-names = "gio", "link";
609 resets = <&sys_rst 12>, <&sys_rst 15>;
610 vbus-supply = <&usb1_vbus1>;
611 };
612
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900613 usb1_ssphy0: phy@380 {
Masahiro Yamada5e8f4ad2020-08-04 14:41:09 +0900614 compatible = "socionext,uniphier-pro5-usb3-ssphy";
615 reg = <0x380 0x10>;
616 #phy-cells = <0>;
617 clock-names = "gio", "link";
618 clocks = <&sys_clk 12>, <&sys_clk 15>;
619 reset-names = "gio", "link";
620 resets = <&sys_rst 12>, <&sys_rst 15>;
621 vbus-supply = <&usb1_vbus0>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900622 };
623 };
624
Masahiro Yamada5e8f4ad2020-08-04 14:41:09 +0900625 pcie_ep: pcie-ep@66000000 {
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900626 compatible = "socionext,uniphier-pro5-pcie-ep";
Masahiro Yamada5e8f4ad2020-08-04 14:41:09 +0900627 status = "disabled";
628 reg-names = "dbi", "dbi2", "link", "addr_space";
629 reg = <0x66000000 0x1000>, <0x66001000 0x1000>,
630 <0x66010000 0x10000>, <0x67000000 0x400000>;
631 pinctrl-names = "default";
632 pinctrl-0 = <&pinctrl_pcie>;
633 clock-names = "gio", "link";
634 clocks = <&sys_clk 12>, <&sys_clk 24>;
635 reset-names = "gio", "link";
636 resets = <&sys_rst 12>, <&sys_rst 24>;
637 num-ib-windows = <16>;
638 num-ob-windows = <16>;
639 num-lanes = <4>;
640 phy-names = "pcie-phy";
641 phys = <&pcie_phy>;
642 };
643
644 pcie_phy: phy@66038000 {
645 compatible = "socionext,uniphier-pro5-pcie-phy";
646 reg = <0x66038000 0x4000>;
647 #phy-cells = <0>;
648 clock-names = "gio", "link";
649 clocks = <&sys_clk 12>, <&sys_clk 24>;
650 reset-names = "gio", "link";
651 resets = <&sys_rst 12>, <&sys_rst 24>;
652 };
653
Masahiro Yamada277516a2020-02-28 21:57:19 +0900654 nand: nand-controller@68000000 {
Masahiro Yamada552acbf2017-04-20 16:54:44 +0900655 compatible = "socionext,uniphier-denali-nand-v5b";
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900656 status = "disabled";
657 reg-names = "nand_data", "denali_reg";
658 reg = <0x68000000 0x20>, <0x68100000 0x1000>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900659 #address-cells = <1>;
660 #size-cells = <0>;
661 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900662 pinctrl-names = "default";
Masahiro Yamada1a420bd2017-08-29 12:20:52 +0900663 pinctrl-0 = <&pinctrl_nand2cs>;
Masahiro Yamada6bd84d72018-12-19 20:03:21 +0900664 clock-names = "nand", "nand_x", "ecc";
665 clocks = <&sys_clk 2>, <&sys_clk 3>, <&sys_clk 3>;
Masahiro Yamadab226e522020-02-28 21:57:20 +0900666 reset-names = "nand", "reg";
667 resets = <&sys_rst 2>, <&sys_rst 2>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900668 };
Masahiro Yamada02bf5b82016-09-22 07:42:23 +0900669
Masahiro Yamada277516a2020-02-28 21:57:19 +0900670 emmc: mmc@68400000 {
Masahiro Yamada6c7ad4d2018-09-10 12:58:35 +0900671 compatible = "socionext,uniphier-sd-v3.1";
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900672 status = "disabled";
673 reg = <0x68400000 0x800>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900674 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900675 pinctrl-names = "default";
676 pinctrl-0 = <&pinctrl_emmc>;
677 clocks = <&sd_clk 1>;
Masahiro Yamada6c7ad4d2018-09-10 12:58:35 +0900678 reset-names = "host", "hw";
679 resets = <&sd_rst 1>, <&sd_rst 6>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900680 bus-width = <8>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900681 cap-mmc-highspeed;
682 cap-mmc-hw-reset;
Masahiro Yamada6c7ad4d2018-09-10 12:58:35 +0900683 non-removable;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900684 };
685
Masahiro Yamada277516a2020-02-28 21:57:19 +0900686 sd: mmc@68800000 {
Masahiro Yamada6c7ad4d2018-09-10 12:58:35 +0900687 compatible = "socionext,uniphier-sd-v3.1";
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900688 status = "disabled";
689 reg = <0x68800000 0x800>;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900690 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
Masahiro Yamada6c7ad4d2018-09-10 12:58:35 +0900691 pinctrl-names = "default", "uhs";
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900692 pinctrl-0 = <&pinctrl_sd>;
Masahiro Yamada6c7ad4d2018-09-10 12:58:35 +0900693 pinctrl-1 = <&pinctrl_sd_uhs>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900694 clocks = <&sd_clk 0>;
695 reset-names = "host";
696 resets = <&sd_rst 0>;
697 bus-width = <4>;
698 cap-sd-highspeed;
699 sd-uhs-sdr12;
700 sd-uhs-sdr25;
701 sd-uhs-sdr50;
Kunihiko Hayashic13863f2023-02-28 11:37:09 +0900702 socionext,syscon-uhs-mode = <&sdctrl 0>;
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900703 };
704 };
Masahiro Yamadae84513b2016-02-02 21:11:34 +0900705};
Masahiro Yamada6e485b22016-12-05 18:31:39 +0900706
Masahiro Yamada1a420bd2017-08-29 12:20:52 +0900707#include "uniphier-pinctrl.dtsi"