blob: 524d244050e0ca6117e97c9c0f3a59d4686cce3a [file] [log] [blame]
Krzysztof Kozlowskicc4637f2017-12-25 11:40:09 +01001// SPDX-License-Identifier: GPL-2.0
Rahul Sharma16d7ff22014-05-09 06:26:41 +09002/*
Krzysztof Kozlowskice258cf2020-01-04 16:20:50 +01003 * Samsung Exynos5260 SoC device tree source
Rahul Sharma16d7ff22014-05-09 06:26:41 +09004 *
5 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com
Krzysztof Kozlowskicc4637f2017-12-25 11:40:09 +01007 */
Rahul Sharma16d7ff22014-05-09 06:26:41 +09008
Rahul Sharma16d7ff22014-05-09 06:26:41 +09009#include <dt-bindings/clock/exynos5260-clk.h>
Krzysztof Kozlowski7184c422016-09-16 23:42:01 +020010#include <dt-bindings/interrupt-controller/arm-gic.h>
Krzysztof Kozlowskieb878682016-09-16 21:42:50 +020011#include <dt-bindings/interrupt-controller/irq.h>
Rahul Sharma16d7ff22014-05-09 06:26:41 +090012
13/ {
14 compatible = "samsung,exynos5260", "samsung,exynos5";
15 interrupt-parent = <&gic>;
Javier Martinez Canillas12676ee2016-09-01 11:06:53 +020016 #address-cells = <1>;
17 #size-cells = <1>;
Rahul Sharma16d7ff22014-05-09 06:26:41 +090018
19 aliases {
Stuart Menefyc5432b12019-02-19 13:03:35 +000020 i2c0 = &hsi2c_0;
21 i2c1 = &hsi2c_1;
22 i2c2 = &hsi2c_2;
23 i2c3 = &hsi2c_3;
Rahul Sharma16d7ff22014-05-09 06:26:41 +090024 pinctrl0 = &pinctrl_0;
25 pinctrl1 = &pinctrl_1;
26 pinctrl2 = &pinctrl_2;
Tomasz Figa1e64f482014-06-26 13:24:35 +020027 serial0 = &uart0;
28 serial1 = &uart1;
29 serial2 = &uart2;
30 serial3 = &uart3;
Rahul Sharma16d7ff22014-05-09 06:26:41 +090031 };
32
33 cpus {
34 #address-cells = <1>;
35 #size-cells = <0>;
36
Krzysztof Kozlowskifa0c56d2021-07-31 11:24:06 +020037 cpu-map {
38 cluster0 {
39 core0 {
40 cpu = <&cpu0>;
41 };
42 core1 {
43 cpu = <&cpu1>;
44 };
45 };
46
47 cluster1 {
48 core0 {
49 cpu = <&cpu2>;
50 };
51 core1 {
52 cpu = <&cpu3>;
53 };
54 core2 {
55 cpu = <&cpu4>;
56 };
57 core3 {
58 cpu = <&cpu5>;
59 };
60 };
61 };
62
63 cpu0: cpu@0 {
Rahul Sharma16d7ff22014-05-09 06:26:41 +090064 device_type = "cpu";
65 compatible = "arm,cortex-a15";
66 reg = <0x0>;
67 cci-control-port = <&cci_control1>;
68 };
69
Krzysztof Kozlowskifa0c56d2021-07-31 11:24:06 +020070 cpu1: cpu@1 {
Rahul Sharma16d7ff22014-05-09 06:26:41 +090071 device_type = "cpu";
72 compatible = "arm,cortex-a15";
73 reg = <0x1>;
74 cci-control-port = <&cci_control1>;
75 };
76
Krzysztof Kozlowskifa0c56d2021-07-31 11:24:06 +020077 cpu2: cpu@100 {
Rahul Sharma16d7ff22014-05-09 06:26:41 +090078 device_type = "cpu";
79 compatible = "arm,cortex-a7";
80 reg = <0x100>;
81 cci-control-port = <&cci_control0>;
82 };
83
Krzysztof Kozlowskifa0c56d2021-07-31 11:24:06 +020084 cpu3: cpu@101 {
Rahul Sharma16d7ff22014-05-09 06:26:41 +090085 device_type = "cpu";
86 compatible = "arm,cortex-a7";
87 reg = <0x101>;
88 cci-control-port = <&cci_control0>;
89 };
90
Krzysztof Kozlowskifa0c56d2021-07-31 11:24:06 +020091 cpu4: cpu@102 {
Rahul Sharma16d7ff22014-05-09 06:26:41 +090092 device_type = "cpu";
93 compatible = "arm,cortex-a7";
94 reg = <0x102>;
95 cci-control-port = <&cci_control0>;
96 };
97
Krzysztof Kozlowskifa0c56d2021-07-31 11:24:06 +020098 cpu5: cpu@103 {
Rahul Sharma16d7ff22014-05-09 06:26:41 +090099 device_type = "cpu";
100 compatible = "arm,cortex-a7";
101 reg = <0x103>;
102 cci-control-port = <&cci_control0>;
103 };
104 };
105
106 soc: soc {
107 compatible = "simple-bus";
108 #address-cells = <1>;
109 #size-cells = <1>;
110 ranges;
111
112 clock_top: clock-controller@10010000 {
113 compatible = "samsung,exynos5260-clock-top";
114 reg = <0x10010000 0x10000>;
115 #clock-cells = <1>;
116 };
117
118 clock_peri: clock-controller@10200000 {
119 compatible = "samsung,exynos5260-clock-peri";
120 reg = <0x10200000 0x10000>;
121 #clock-cells = <1>;
122 };
123
124 clock_egl: clock-controller@10600000 {
125 compatible = "samsung,exynos5260-clock-egl";
126 reg = <0x10600000 0x10000>;
127 #clock-cells = <1>;
128 };
129
130 clock_kfc: clock-controller@10700000 {
131 compatible = "samsung,exynos5260-clock-kfc";
132 reg = <0x10700000 0x10000>;
133 #clock-cells = <1>;
134 };
135
Krzysztof Kozlowski3be1ecf2017-12-14 21:54:30 +0100136 clock_g2d: clock-controller@10a00000 {
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900137 compatible = "samsung,exynos5260-clock-g2d";
138 reg = <0x10A00000 0x10000>;
139 #clock-cells = <1>;
140 };
141
Krzysztof Kozlowski3be1ecf2017-12-14 21:54:30 +0100142 clock_mif: clock-controller@10ce0000 {
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900143 compatible = "samsung,exynos5260-clock-mif";
144 reg = <0x10CE0000 0x10000>;
145 #clock-cells = <1>;
146 };
147
148 clock_mfc: clock-controller@11090000 {
149 compatible = "samsung,exynos5260-clock-mfc";
150 reg = <0x11090000 0x10000>;
151 #clock-cells = <1>;
152 };
153
154 clock_g3d: clock-controller@11830000 {
155 compatible = "samsung,exynos5260-clock-g3d";
156 reg = <0x11830000 0x10000>;
157 #clock-cells = <1>;
158 };
159
Krzysztof Kozlowski3be1ecf2017-12-14 21:54:30 +0100160 clock_fsys: clock-controller@122e0000 {
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900161 compatible = "samsung,exynos5260-clock-fsys";
162 reg = <0x122E0000 0x10000>;
163 #clock-cells = <1>;
164 };
165
Krzysztof Kozlowski3be1ecf2017-12-14 21:54:30 +0100166 clock_aud: clock-controller@128c0000 {
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900167 compatible = "samsung,exynos5260-clock-aud";
168 reg = <0x128C0000 0x10000>;
169 #clock-cells = <1>;
170 };
171
Krzysztof Kozlowski3be1ecf2017-12-14 21:54:30 +0100172 clock_isp: clock-controller@133c0000 {
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900173 compatible = "samsung,exynos5260-clock-isp";
174 reg = <0x133C0000 0x10000>;
175 #clock-cells = <1>;
176 };
177
Krzysztof Kozlowski3be1ecf2017-12-14 21:54:30 +0100178 clock_gscl: clock-controller@13f00000 {
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900179 compatible = "samsung,exynos5260-clock-gscl";
180 reg = <0x13F00000 0x10000>;
181 #clock-cells = <1>;
182 };
183
184 clock_disp: clock-controller@14550000 {
185 compatible = "samsung,exynos5260-clock-disp";
186 reg = <0x14550000 0x10000>;
187 #clock-cells = <1>;
188 };
189
190 gic: interrupt-controller@10481000 {
Krzysztof Kozlowski1fa7c1a2020-09-01 09:54:06 +0200191 compatible = "arm,gic-400", "arm,cortex-a15-gic";
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900192 #interrupt-cells = <3>;
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900193 interrupt-controller;
194 reg = <0x10481000 0x1000>,
Marc Zyngier387720c2017-01-18 09:27:28 +0000195 <0x10482000 0x2000>,
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900196 <0x10484000 0x2000>,
197 <0x10486000 0x2000>;
Krzysztof Kozlowski7184c422016-09-16 23:42:01 +0200198 interrupts = <GIC_PPI 9
199 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900200 };
201
202 chipid: chipid@10000000 {
203 compatible = "samsung,exynos4210-chipid";
204 reg = <0x10000000 0x100>;
205 };
206
Krzysztof Kozlowskif859a032019-09-23 18:15:07 +0200207 mct: timer@100b0000 {
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900208 compatible = "samsung,exynos4210-mct";
209 reg = <0x100B0000 0x1000>;
210 clocks = <&fin_pll>, <&clock_peri PERI_CLK_MCT>;
211 clock-names = "fin_pll", "mct";
Krzysztof Kozlowski7184c422016-09-16 23:42:01 +0200212 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
213 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
214 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
215 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
216 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
217 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
218 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
219 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
220 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
221 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
222 <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
223 <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900224 };
225
Krzysztof Kozlowski3be1ecf2017-12-14 21:54:30 +0100226 cci: cci@10f00000 {
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900227 compatible = "arm,cci-400";
228 #address-cells = <1>;
229 #size-cells = <1>;
230 reg = <0x10F00000 0x1000>;
231 ranges = <0x0 0x10F00000 0x6000>;
232
233 cci_control0: slave-if@4000 {
234 compatible = "arm,cci-400-ctrl-if";
235 interface-type = "ace";
236 reg = <0x4000 0x1000>;
237 };
238
239 cci_control1: slave-if@5000 {
240 compatible = "arm,cci-400-ctrl-if";
241 interface-type = "ace";
242 reg = <0x5000 0x1000>;
243 };
244 };
245
246 pinctrl_0: pinctrl@11600000 {
247 compatible = "samsung,exynos5260-pinctrl";
248 reg = <0x11600000 0x1000>;
Krzysztof Kozlowski7184c422016-09-16 23:42:01 +0200249 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900250
251 wakeup-interrupt-controller {
252 compatible = "samsung,exynos4210-wakeup-eint";
253 interrupt-parent = <&gic>;
Stuart Menefyb7ed69d2019-02-19 13:03:37 +0000254 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900255 };
256 };
257
258 pinctrl_1: pinctrl@12290000 {
259 compatible = "samsung,exynos5260-pinctrl";
260 reg = <0x12290000 0x1000>;
Krzysztof Kozlowski7184c422016-09-16 23:42:01 +0200261 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900262 };
263
Krzysztof Kozlowski3be1ecf2017-12-14 21:54:30 +0100264 pinctrl_2: pinctrl@128b0000 {
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900265 compatible = "samsung,exynos5260-pinctrl";
266 reg = <0x128B0000 0x1000>;
Krzysztof Kozlowski7184c422016-09-16 23:42:01 +0200267 interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900268 };
269
Krzysztof Kozlowski3be1ecf2017-12-14 21:54:30 +0100270 pmu_system_controller: system-controller@10d50000 {
Vikas Sajjanfbe4e9f2014-07-29 06:17:39 +0900271 compatible = "samsung,exynos5260-pmu", "syscon";
272 reg = <0x10D50000 0x10000>;
273 };
274
Krzysztof Kozlowski3be1ecf2017-12-14 21:54:30 +0100275 uart0: serial@12c00000 {
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900276 compatible = "samsung,exynos4210-uart";
277 reg = <0x12C00000 0x100>;
Krzysztof Kozlowski7184c422016-09-16 23:42:01 +0200278 interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900279 clocks = <&clock_peri PERI_CLK_UART0>, <&clock_peri PERI_SCLK_UART0>;
280 clock-names = "uart", "clk_uart_baud0";
281 status = "disabled";
282 };
283
Krzysztof Kozlowski3be1ecf2017-12-14 21:54:30 +0100284 uart1: serial@12c10000 {
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900285 compatible = "samsung,exynos4210-uart";
286 reg = <0x12C10000 0x100>;
Krzysztof Kozlowski7184c422016-09-16 23:42:01 +0200287 interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900288 clocks = <&clock_peri PERI_CLK_UART1>, <&clock_peri PERI_SCLK_UART1>;
289 clock-names = "uart", "clk_uart_baud0";
290 status = "disabled";
291 };
292
Krzysztof Kozlowski3be1ecf2017-12-14 21:54:30 +0100293 uart2: serial@12c20000 {
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900294 compatible = "samsung,exynos4210-uart";
295 reg = <0x12C20000 0x100>;
Krzysztof Kozlowski7184c422016-09-16 23:42:01 +0200296 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900297 clocks = <&clock_peri PERI_CLK_UART2>, <&clock_peri PERI_SCLK_UART2>;
298 clock-names = "uart", "clk_uart_baud0";
299 status = "disabled";
300 };
301
302 uart3: serial@12860000 {
303 compatible = "samsung,exynos4210-uart";
304 reg = <0x12860000 0x100>;
Krzysztof Kozlowski7184c422016-09-16 23:42:01 +0200305 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900306 clocks = <&clock_aud AUD_CLK_AUD_UART>, <&clock_aud AUD_SCLK_AUD_UART>;
307 clock-names = "uart", "clk_uart_baud0";
308 status = "disabled";
309 };
310
311 mmc_0: mmc@12140000 {
312 compatible = "samsung,exynos5250-dw-mshc";
313 reg = <0x12140000 0x2000>;
Krzysztof Kozlowski7184c422016-09-16 23:42:01 +0200314 interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900315 #address-cells = <1>;
316 #size-cells = <0>;
317 clocks = <&clock_fsys FSYS_CLK_MMC0>, <&clock_top TOP_SCLK_MMC0>;
318 clock-names = "biu", "ciu";
Stuart Menefy17c130a2019-02-19 13:03:34 +0000319 assigned-clocks =
320 <&clock_top TOP_MOUT_SCLK_FSYS_MMC0_SDCLKIN_A>,
321 <&clock_top TOP_MOUT_SCLK_FSYS_MMC0_SDCLKIN_B>,
322 <&clock_top TOP_SCLK_MMC0>;
323 assigned-clock-parents =
324 <&clock_top TOP_MOUT_BUSTOP_PLL_USER>,
325 <&clock_top TOP_MOUT_SCLK_FSYS_MMC0_SDCLKIN_A>;
326 assigned-clock-rates = <0>, <0>, <800000000>;
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900327 fifo-depth = <64>;
328 status = "disabled";
329 };
330
331 mmc_1: mmc@12150000 {
332 compatible = "samsung,exynos5250-dw-mshc";
333 reg = <0x12150000 0x2000>;
Krzysztof Kozlowski7184c422016-09-16 23:42:01 +0200334 interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900335 #address-cells = <1>;
336 #size-cells = <0>;
337 clocks = <&clock_fsys FSYS_CLK_MMC1>, <&clock_top TOP_SCLK_MMC1>;
338 clock-names = "biu", "ciu";
Stuart Menefy17c130a2019-02-19 13:03:34 +0000339 assigned-clocks =
340 <&clock_top TOP_MOUT_SCLK_FSYS_MMC1_SDCLKIN_A>,
341 <&clock_top TOP_MOUT_SCLK_FSYS_MMC1_SDCLKIN_B>,
342 <&clock_top TOP_SCLK_MMC1>;
343 assigned-clock-parents =
344 <&clock_top TOP_MOUT_BUSTOP_PLL_USER>,
345 <&clock_top TOP_MOUT_SCLK_FSYS_MMC1_SDCLKIN_A>;
346 assigned-clock-rates = <0>, <0>, <800000000>;
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900347 fifo-depth = <64>;
348 status = "disabled";
349 };
350
351 mmc_2: mmc@12160000 {
352 compatible = "samsung,exynos5250-dw-mshc";
353 reg = <0x12160000 0x2000>;
Krzysztof Kozlowski7184c422016-09-16 23:42:01 +0200354 interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900355 #address-cells = <1>;
356 #size-cells = <0>;
357 clocks = <&clock_fsys FSYS_CLK_MMC2>, <&clock_top TOP_SCLK_MMC2>;
358 clock-names = "biu", "ciu";
Stuart Menefy17c130a2019-02-19 13:03:34 +0000359 assigned-clocks =
360 <&clock_top TOP_MOUT_SCLK_FSYS_MMC2_SDCLKIN_A>,
361 <&clock_top TOP_MOUT_SCLK_FSYS_MMC2_SDCLKIN_B>,
362 <&clock_top TOP_SCLK_MMC2>;
363 assigned-clock-parents =
364 <&clock_top TOP_MOUT_BUSTOP_PLL_USER>,
365 <&clock_top TOP_MOUT_SCLK_FSYS_MMC2_SDCLKIN_A>;
366 assigned-clock-rates = <0>, <0>, <800000000>;
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900367 fifo-depth = <64>;
368 status = "disabled";
369 };
Stuart Menefyc5432b12019-02-19 13:03:35 +0000370
Sam Protsenko29bf0ff2021-12-04 23:58:19 +0200371 hsi2c_0: i2c@12da0000 {
Stuart Menefyc5432b12019-02-19 13:03:35 +0000372 compatible = "samsung,exynos5260-hsi2c";
373 reg = <0x12DA0000 0x1000>;
374 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
375 #address-cells = <1>;
376 #size-cells = <0>;
377 pinctrl-names = "default";
378 pinctrl-0 = <&i2c0_hs_bus>;
379 clocks = <&clock_peri PERI_CLK_HSIC0>;
380 clock-names = "hsi2c";
381 status = "disabled";
382 };
383
Sam Protsenko29bf0ff2021-12-04 23:58:19 +0200384 hsi2c_1: i2c@12db0000 {
Stuart Menefyc5432b12019-02-19 13:03:35 +0000385 compatible = "samsung,exynos5260-hsi2c";
386 reg = <0x12DB0000 0x1000>;
387 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
388 #address-cells = <1>;
389 #size-cells = <0>;
390 pinctrl-names = "default";
391 pinctrl-0 = <&i2c1_hs_bus>;
392 clocks = <&clock_peri PERI_CLK_HSIC1>;
393 clock-names = "hsi2c";
394 status = "disabled";
395 };
396
Sam Protsenko29bf0ff2021-12-04 23:58:19 +0200397 hsi2c_2: i2c@12dc0000 {
Stuart Menefyc5432b12019-02-19 13:03:35 +0000398 compatible = "samsung,exynos5260-hsi2c";
399 reg = <0x12DC0000 0x1000>;
400 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
401 #address-cells = <1>;
402 #size-cells = <0>;
403 pinctrl-names = "default";
404 pinctrl-0 = <&i2c2_hs_bus>;
405 clocks = <&clock_peri PERI_CLK_HSIC2>;
406 clock-names = "hsi2c";
407 status = "disabled";
408 };
409
Sam Protsenko29bf0ff2021-12-04 23:58:19 +0200410 hsi2c_3: i2c@12dd0000 {
Stuart Menefyc5432b12019-02-19 13:03:35 +0000411 compatible = "samsung,exynos5260-hsi2c";
412 reg = <0x12DD0000 0x1000>;
413 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
414 #address-cells = <1>;
415 #size-cells = <0>;
416 pinctrl-names = "default";
417 pinctrl-0 = <&i2c3_hs_bus>;
418 clocks = <&clock_peri PERI_CLK_HSIC3>;
419 clock-names = "hsi2c";
420 status = "disabled";
421 };
Rahul Sharma16d7ff22014-05-09 06:26:41 +0900422 };
423};
424
425#include "exynos5260-pinctrl.dtsi"