2 * Device Tree Source for UniPhier Pro4 SoC
4 * Copyright (C) 2015-2016 Socionext Inc.
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
10 #include <dt-bindings/gpio/uniphier-gpio.h>
13 compatible = "socionext,uniphier-pro4";
23 compatible = "arm,cortex-a9";
25 enable-method = "psci";
26 next-level-cache = <&l2>;
31 compatible = "arm,cortex-a9";
33 enable-method = "psci";
34 next-level-cache = <&l2>;
39 compatible = "arm,psci-0.2";
45 compatible = "fixed-clock";
47 clock-frequency = <25000000>;
50 arm_timer_clk: arm-timer {
52 compatible = "fixed-clock";
53 clock-frequency = <50000000>;
58 compatible = "simple-bus";
62 interrupt-parent = <&intc>;
64 l2: l2-cache@500c0000 {
65 compatible = "socionext,uniphier-system-cache";
66 reg = <0x500c0000 0x2000>, <0x503c0100 0x4>,
68 interrupts = <0 174 4>, <0 175 4>;
70 cache-size = <(768 * 1024)>;
72 cache-line-size = <128>;
76 serial0: serial@54006800 {
77 compatible = "socionext,uniphier-uart";
79 reg = <0x54006800 0x40>;
80 interrupts = <0 33 4>;
81 pinctrl-names = "default";
82 pinctrl-0 = <&pinctrl_uart0>;
83 clocks = <&peri_clk 0>;
84 resets = <&peri_rst 0>;
87 serial1: serial@54006900 {
88 compatible = "socionext,uniphier-uart";
90 reg = <0x54006900 0x40>;
91 interrupts = <0 35 4>;
92 pinctrl-names = "default";
93 pinctrl-0 = <&pinctrl_uart1>;
94 clocks = <&peri_clk 1>;
95 resets = <&peri_rst 1>;
98 serial2: serial@54006a00 {
99 compatible = "socionext,uniphier-uart";
101 reg = <0x54006a00 0x40>;
102 interrupts = <0 37 4>;
103 pinctrl-names = "default";
104 pinctrl-0 = <&pinctrl_uart2>;
105 clocks = <&peri_clk 2>;
106 resets = <&peri_rst 2>;
109 serial3: serial@54006b00 {
110 compatible = "socionext,uniphier-uart";
112 reg = <0x54006b00 0x40>;
113 interrupts = <0 177 4>;
114 pinctrl-names = "default";
115 pinctrl-0 = <&pinctrl_uart3>;
116 clocks = <&peri_clk 3>;
117 resets = <&peri_rst 3>;
120 gpio: gpio@55000000 {
121 compatible = "socionext,uniphier-gpio";
122 reg = <0x55000000 0x200>;
123 interrupt-parent = <&aidet>;
124 interrupt-controller;
125 #interrupt-cells = <2>;
128 gpio-ranges = <&pinctrl 0 0 0>;
129 gpio-ranges-group-names = "gpio_range";
131 socionext,interrupt-ranges = <0 48 16>, <16 154 5>;
135 compatible = "socionext,uniphier-fi2c";
137 reg = <0x58780000 0x80>;
138 #address-cells = <1>;
140 interrupts = <0 41 4>;
141 pinctrl-names = "default";
142 pinctrl-0 = <&pinctrl_i2c0>;
143 clocks = <&peri_clk 4>;
144 resets = <&peri_rst 4>;
145 clock-frequency = <100000>;
149 compatible = "socionext,uniphier-fi2c";
151 reg = <0x58781000 0x80>;
152 #address-cells = <1>;
154 interrupts = <0 42 4>;
155 pinctrl-names = "default";
156 pinctrl-0 = <&pinctrl_i2c1>;
157 clocks = <&peri_clk 5>;
158 resets = <&peri_rst 5>;
159 clock-frequency = <100000>;
163 compatible = "socionext,uniphier-fi2c";
165 reg = <0x58782000 0x80>;
166 #address-cells = <1>;
168 interrupts = <0 43 4>;
169 pinctrl-names = "default";
170 pinctrl-0 = <&pinctrl_i2c2>;
171 clocks = <&peri_clk 6>;
172 resets = <&peri_rst 6>;
173 clock-frequency = <100000>;
177 compatible = "socionext,uniphier-fi2c";
179 reg = <0x58783000 0x80>;
180 #address-cells = <1>;
182 interrupts = <0 44 4>;
183 pinctrl-names = "default";
184 pinctrl-0 = <&pinctrl_i2c3>;
185 clocks = <&peri_clk 7>;
186 resets = <&peri_rst 7>;
187 clock-frequency = <100000>;
190 /* i2c4 does not exist */
192 /* chip-internal connection for DMD */
194 compatible = "socionext,uniphier-fi2c";
195 reg = <0x58785000 0x80>;
196 #address-cells = <1>;
198 interrupts = <0 25 4>;
199 clocks = <&peri_clk 9>;
200 resets = <&peri_rst 9>;
201 clock-frequency = <400000>;
204 /* chip-internal connection for HDMI */
206 compatible = "socionext,uniphier-fi2c";
207 reg = <0x58786000 0x80>;
208 #address-cells = <1>;
210 interrupts = <0 26 4>;
211 clocks = <&peri_clk 10>;
212 resets = <&peri_rst 10>;
213 clock-frequency = <400000>;
216 system_bus: system-bus@58c00000 {
217 compatible = "socionext,uniphier-system-bus";
219 reg = <0x58c00000 0x400>;
220 #address-cells = <2>;
222 pinctrl-names = "default";
223 pinctrl-0 = <&pinctrl_system_bus>;
227 compatible = "socionext,uniphier-smpctrl";
228 reg = <0x59801000 0x400>;
232 compatible = "socionext,uniphier-pro4-mioctrl",
233 "simple-mfd", "syscon";
234 reg = <0x59810000 0x800>;
237 compatible = "socionext,uniphier-pro4-mio-clock";
242 compatible = "socionext,uniphier-pro4-mio-reset";
248 compatible = "socionext,uniphier-pro4-perictrl",
249 "simple-mfd", "syscon";
250 reg = <0x59820000 0x200>;
253 compatible = "socionext,uniphier-pro4-peri-clock";
258 compatible = "socionext,uniphier-pro4-peri-reset";
264 compatible = "socionext,uniphier-ehci", "generic-ehci";
266 reg = <0x5a800100 0x100>;
267 interrupts = <0 80 4>;
268 pinctrl-names = "default";
269 pinctrl-0 = <&pinctrl_usb2>;
270 clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 8>,
272 resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 8>,
274 has-transaction-translator;
278 compatible = "socionext,uniphier-ehci", "generic-ehci";
280 reg = <0x5a810100 0x100>;
281 interrupts = <0 81 4>;
282 pinctrl-names = "default";
283 pinctrl-0 = <&pinctrl_usb3>;
284 clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 9>,
286 resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 9>,
288 has-transaction-translator;
292 compatible = "socionext,uniphier-pro4-soc-glue",
293 "simple-mfd", "syscon";
294 reg = <0x5f800000 0x2000>;
297 compatible = "socionext,uniphier-pro4-pinctrl";
302 compatible = "socionext,uniphier-pro4-soc-glue-debug",
304 #address-cells = <1>;
306 ranges = <0 0x5f900000 0x2000>;
309 compatible = "socionext,uniphier-efuse";
314 compatible = "socionext,uniphier-efuse";
319 compatible = "socionext,uniphier-efuse";
324 aidet: aidet@5fc20000 {
325 compatible = "socionext,uniphier-pro4-aidet";
326 reg = <0x5fc20000 0x200>;
327 interrupt-controller;
328 #interrupt-cells = <2>;
332 compatible = "arm,cortex-a9-global-timer";
333 reg = <0x60000200 0x20>;
334 interrupts = <1 11 0x304>;
335 clocks = <&arm_timer_clk>;
339 compatible = "arm,cortex-a9-twd-timer";
340 reg = <0x60000600 0x20>;
341 interrupts = <1 13 0x304>;
342 clocks = <&arm_timer_clk>;
345 intc: interrupt-controller@60001000 {
346 compatible = "arm,cortex-a9-gic";
347 reg = <0x60001000 0x1000>,
349 #interrupt-cells = <3>;
350 interrupt-controller;
354 compatible = "socionext,uniphier-pro4-sysctrl",
355 "simple-mfd", "syscon";
356 reg = <0x61840000 0x10000>;
359 compatible = "socionext,uniphier-pro4-clock";
364 compatible = "socionext,uniphier-pro4-reset";
369 nand: nand@68000000 {
370 compatible = "socionext,uniphier-denali-nand-v5a";
372 reg-names = "nand_data", "denali_reg";
373 reg = <0x68000000 0x20>, <0x68100000 0x1000>;
374 interrupts = <0 65 4>;
375 pinctrl-names = "default";
376 pinctrl-0 = <&pinctrl_nand>;
377 clocks = <&sys_clk 2>;
378 resets = <&sys_rst 2>;
383 #include "uniphier-pinctrl.dtsi"