blob: e01bd30345abfae322acd0754e2468b615afb511 [file] [log] [blame]
Masahiro Yamada230ce302014-12-06 00:03:24 +09001/*
2 * Device Tree Source for UniPhier PH1-sLD3 SoC
3 *
Masahiro Yamadaedcfaeb2015-06-30 18:27:00 +09004 * Copyright (C) 2014-2015 Masahiro Yamada <yamada.masahiro@socionext.com>
Masahiro Yamada230ce302014-12-06 00:03:24 +09005 *
Masahiro Yamada13b2ba12015-06-30 18:27:01 +09006 * SPDX-License-Identifier: GPL-2.0+ X11
Masahiro Yamada230ce302014-12-06 00:03:24 +09007 */
8
9/include/ "skeleton.dtsi"
10
11/ {
Masahiro Yamada6462cde2015-03-11 15:54:46 +090012 compatible = "socionext,ph1-sld3";
Masahiro Yamada230ce302014-12-06 00:03:24 +090013
14 cpus {
15 #address-cells = <1>;
16 #size-cells = <0>;
Masahiro Yamadaedcfaeb2015-06-30 18:27:00 +090017 enable-method = "socionext,uniphier-smp";
Masahiro Yamada230ce302014-12-06 00:03:24 +090018
19 cpu@0 {
20 device_type = "cpu";
21 compatible = "arm,cortex-a9";
22 reg = <0>;
23 };
24
25 cpu@1 {
26 device_type = "cpu";
27 compatible = "arm,cortex-a9";
28 reg = <1>;
29 };
30 };
31
Masahiro Yamadaedcfaeb2015-06-30 18:27:00 +090032 clocks {
Masahiro Yamadacc336092016-02-02 21:11:33 +090033 refclk: ref {
34 #clock-cells = <0>;
35 compatible = "fixed-clock";
36 clock-frequency = <24576000>;
37 };
38
Masahiro Yamadaedcfaeb2015-06-30 18:27:00 +090039 arm_timer_clk: arm_timer_clk {
40 #clock-cells = <0>;
41 compatible = "fixed-clock";
42 clock-frequency = <50000000>;
43 };
Masahiro Yamadad243c182015-08-28 22:33:13 +090044
45 uart_clk: uart_clk {
46 #clock-cells = <0>;
47 compatible = "fixed-clock";
48 clock-frequency = <36864000>;
49 };
50
51 iobus_clk: iobus_clk {
52 #clock-cells = <0>;
53 compatible = "fixed-clock";
54 clock-frequency = <100000000>;
55 };
Masahiro Yamadaedcfaeb2015-06-30 18:27:00 +090056 };
57
Masahiro Yamada230ce302014-12-06 00:03:24 +090058 soc {
59 compatible = "simple-bus";
60 #address-cells = <1>;
61 #size-cells = <1>;
62 ranges;
Masahiro Yamadaedcfaeb2015-06-30 18:27:00 +090063 interrupt-parent = <&intc>;
64
Masahiro Yamadaedcfaeb2015-06-30 18:27:00 +090065 timer@20000200 {
66 compatible = "arm,cortex-a9-global-timer";
67 reg = <0x20000200 0x20>;
68 interrupts = <1 11 0x304>;
69 clocks = <&arm_timer_clk>;
70 };
71
72 timer@20000600 {
73 compatible = "arm,cortex-a9-twd-timer";
74 reg = <0x20000600 0x20>;
75 interrupts = <1 13 0x304>;
76 clocks = <&arm_timer_clk>;
77 };
78
79 intc: interrupt-controller@20001000 {
80 compatible = "arm,cortex-a9-gic";
81 #interrupt-cells = <3>;
82 interrupt-controller;
83 reg = <0x20001000 0x1000>,
84 <0x20000100 0x100>;
85 };
Masahiro Yamada230ce302014-12-06 00:03:24 +090086
Masahiro Yamadad243c182015-08-28 22:33:13 +090087 serial0: serial@54006800 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +090088 compatible = "socionext,uniphier-uart";
Masahiro Yamada230ce302014-12-06 00:03:24 +090089 status = "disabled";
Masahiro Yamadad243c182015-08-28 22:33:13 +090090 reg = <0x54006800 0x40>;
91 interrupts = <0 33 4>;
92 clocks = <&uart_clk>;
Masahiro Yamada230ce302014-12-06 00:03:24 +090093 clock-frequency = <36864000>;
94 };
95
Masahiro Yamadad243c182015-08-28 22:33:13 +090096 serial1: serial@54006900 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +090097 compatible = "socionext,uniphier-uart";
Masahiro Yamada230ce302014-12-06 00:03:24 +090098 status = "disabled";
Masahiro Yamadad243c182015-08-28 22:33:13 +090099 reg = <0x54006900 0x40>;
100 interrupts = <0 35 4>;
101 clocks = <&uart_clk>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900102 clock-frequency = <36864000>;
103 };
104
Masahiro Yamadad243c182015-08-28 22:33:13 +0900105 serial2: serial@54006a00 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +0900106 compatible = "socionext,uniphier-uart";
Masahiro Yamada230ce302014-12-06 00:03:24 +0900107 status = "disabled";
Masahiro Yamadad243c182015-08-28 22:33:13 +0900108 reg = <0x54006a00 0x40>;
109 interrupts = <0 37 4>;
110 clocks = <&uart_clk>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900111 clock-frequency = <36864000>;
112 };
113
114 i2c0: i2c@58400000 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +0900115 compatible = "socionext,uniphier-i2c";
Masahiro Yamadad243c182015-08-28 22:33:13 +0900116 status = "disabled";
117 reg = <0x58400000 0x40>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900118 #address-cells = <1>;
119 #size-cells = <0>;
Masahiro Yamadad243c182015-08-28 22:33:13 +0900120 interrupts = <0 41 1>;
121 clocks = <&iobus_clk>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900122 clock-frequency = <100000>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900123 };
124
125 i2c1: i2c@58480000 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +0900126 compatible = "socionext,uniphier-i2c";
Masahiro Yamadad243c182015-08-28 22:33:13 +0900127 status = "disabled";
128 reg = <0x58480000 0x40>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900129 #address-cells = <1>;
130 #size-cells = <0>;
Masahiro Yamadad243c182015-08-28 22:33:13 +0900131 interrupts = <0 42 1>;
132 clocks = <&iobus_clk>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900133 clock-frequency = <100000>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900134 };
135
136 i2c2: i2c@58500000 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +0900137 compatible = "socionext,uniphier-i2c";
Masahiro Yamadad243c182015-08-28 22:33:13 +0900138 status = "disabled";
139 reg = <0x58500000 0x40>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900140 #address-cells = <1>;
141 #size-cells = <0>;
Masahiro Yamadad243c182015-08-28 22:33:13 +0900142 interrupts = <0 43 1>;
143 clocks = <&iobus_clk>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900144 clock-frequency = <100000>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900145 };
146
147 i2c3: i2c@58580000 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +0900148 compatible = "socionext,uniphier-i2c";
Masahiro Yamadad243c182015-08-28 22:33:13 +0900149 status = "disabled";
150 reg = <0x58580000 0x40>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900151 #address-cells = <1>;
152 #size-cells = <0>;
Masahiro Yamadad243c182015-08-28 22:33:13 +0900153 interrupts = <0 44 1>;
154 clocks = <&iobus_clk>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900155 clock-frequency = <100000>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900156 };
157
Masahiro Yamadad243c182015-08-28 22:33:13 +0900158 /* chip-internal connection for DMD */
Masahiro Yamadaf1d79452015-07-21 14:04:23 +0900159 i2c4: i2c@58600000 {
Masahiro Yamadad243c182015-08-28 22:33:13 +0900160 compatible = "socionext,uniphier-i2c";
161 reg = <0x58600000 0x40>;
Masahiro Yamadaf1d79452015-07-21 14:04:23 +0900162 #address-cells = <1>;
163 #size-cells = <0>;
Masahiro Yamadad243c182015-08-28 22:33:13 +0900164 interrupts = <0 45 1>;
165 clocks = <&iobus_clk>;
Masahiro Yamadaf1d79452015-07-21 14:04:23 +0900166 clock-frequency = <400000>;
Masahiro Yamadaf1d79452015-07-21 14:04:23 +0900167 };
168
Masahiro Yamada0f5fb8c2016-02-16 17:00:22 +0900169 system_bus: system-bus@58c00000 {
170 compatible = "socionext,uniphier-system-bus";
171 reg = <0x58c00000 0x400>;
172 #address-cells = <2>;
173 #size-cells = <1>;
174 };
175
176 smpctrl@59800000 {
177 compatible = "socionext,uniphier-smpctrl";
178 reg = <0x59801000 0x400>;
Masahiro Yamadaedcfaeb2015-06-30 18:27:00 +0900179 };
180
Masahiro Yamadaaa37aba2016-02-02 21:11:36 +0900181 mio: mioctrl@59810000 {
182 compatible = "socionext,ph1-sld3-mioctrl";
183 reg = <0x59810000 0x800>;
184 #clock-cells = <1>;
185 clock-names = "stdmac", "ehci";
186 clocks = <&sysctrl 10>, <&sysctrl 18>;
187 };
188
Masahiro Yamada230ce302014-12-06 00:03:24 +0900189 usb0: usb@5a800100 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +0900190 compatible = "socionext,uniphier-ehci", "generic-ehci";
Masahiro Yamada230ce302014-12-06 00:03:24 +0900191 status = "disabled";
192 reg = <0x5a800100 0x100>;
Masahiro Yamadad243c182015-08-28 22:33:13 +0900193 interrupts = <0 80 4>;
Masahiro Yamada49dde452016-02-02 21:11:37 +0900194 clocks = <&mio 3>, <&mio 6>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900195 };
196
197 usb1: usb@5a810100 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +0900198 compatible = "socionext,uniphier-ehci", "generic-ehci";
Masahiro Yamada230ce302014-12-06 00:03:24 +0900199 status = "disabled";
200 reg = <0x5a810100 0x100>;
Masahiro Yamadad243c182015-08-28 22:33:13 +0900201 interrupts = <0 81 4>;
Masahiro Yamada49dde452016-02-02 21:11:37 +0900202 clocks = <&mio 4>, <&mio 6>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900203 };
204
205 usb2: usb@5a820100 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +0900206 compatible = "socionext,uniphier-ehci", "generic-ehci";
Masahiro Yamada230ce302014-12-06 00:03:24 +0900207 status = "disabled";
208 reg = <0x5a820100 0x100>;
Masahiro Yamadad243c182015-08-28 22:33:13 +0900209 interrupts = <0 82 4>;
Masahiro Yamada49dde452016-02-02 21:11:37 +0900210 clocks = <&mio 5>, <&mio 6>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900211 };
212
213 usb3: usb@5a830100 {
Masahiro Yamada6462cde2015-03-11 15:54:46 +0900214 compatible = "socionext,uniphier-ehci", "generic-ehci";
Masahiro Yamada230ce302014-12-06 00:03:24 +0900215 status = "disabled";
216 reg = <0x5a830100 0x100>;
Masahiro Yamadad243c182015-08-28 22:33:13 +0900217 interrupts = <0 83 4>;
Masahiro Yamada49dde452016-02-02 21:11:37 +0900218 clocks = <&mio 7>, <&mio 6>;
Masahiro Yamada230ce302014-12-06 00:03:24 +0900219 };
220
Masahiro Yamada233812a2016-02-02 21:11:34 +0900221 sysctrl: sysctrl@f1840000 {
222 compatible = "socionext,ph1-sld3-sysctrl";
223 reg = <0xf1840000 0x4000>;
224 #clock-cells = <1>;
225 clock-names = "ref";
226 clocks = <&refclk>;
227 };
228
Masahiro Yamada230ce302014-12-06 00:03:24 +0900229 nand: nand@f8000000 {
230 compatible = "denali,denali-nand-dt";
231 reg = <0xf8000000 0x20>, <0xf8100000 0x1000>;
232 reg-names = "nand_data", "denali_reg";
233 };
234 };
235};