blob: a97449b4640c7206bd8bde6218cb5cbcec2066cd [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung Exynos5260 SoC device tree source
4 *
5 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com
7 */
8
9#include <dt-bindings/clock/exynos5260-clk.h>
10#include <dt-bindings/interrupt-controller/arm-gic.h>
11#include <dt-bindings/interrupt-controller/irq.h>
12
13/ {
14 compatible = "samsung,exynos5260", "samsung,exynos5";
15 interrupt-parent = <&gic>;
16 #address-cells = <1>;
17 #size-cells = <1>;
18
19 aliases {
20 i2c0 = &hsi2c_0;
21 i2c1 = &hsi2c_1;
22 i2c2 = &hsi2c_2;
23 i2c3 = &hsi2c_3;
24 pinctrl0 = &pinctrl_0;
25 pinctrl1 = &pinctrl_1;
26 pinctrl2 = &pinctrl_2;
27 serial0 = &uart0;
28 serial1 = &uart1;
29 serial2 = &uart2;
30 serial3 = &uart3;
31 };
32
33 cpus {
34 #address-cells = <1>;
35 #size-cells = <0>;
36
37 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 {
64 device_type = "cpu";
65 compatible = "arm,cortex-a15";
66 reg = <0x0>;
67 cci-control-port = <&cci_control1>;
68 };
69
70 cpu1: cpu@1 {
71 device_type = "cpu";
72 compatible = "arm,cortex-a15";
73 reg = <0x1>;
74 cci-control-port = <&cci_control1>;
75 };
76
77 cpu2: cpu@100 {
78 device_type = "cpu";
79 compatible = "arm,cortex-a7";
80 reg = <0x100>;
81 cci-control-port = <&cci_control0>;
82 };
83
84 cpu3: cpu@101 {
85 device_type = "cpu";
86 compatible = "arm,cortex-a7";
87 reg = <0x101>;
88 cci-control-port = <&cci_control0>;
89 };
90
91 cpu4: cpu@102 {
92 device_type = "cpu";
93 compatible = "arm,cortex-a7";
94 reg = <0x102>;
95 cci-control-port = <&cci_control0>;
96 };
97
98 cpu5: cpu@103 {
99 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 clocks = <&fin_pll>,
117 <&clock_mif MIF_DOUT_MEM_PLL>,
118 <&clock_mif MIF_DOUT_BUS_PLL>,
119 <&clock_mif MIF_DOUT_MEDIA_PLL>;
120 clock-names = "fin_pll",
121 "dout_mem_pll",
122 "dout_bus_pll",
123 "dout_media_pll";
124 };
125
126 clock_peri: clock-controller@10200000 {
127 compatible = "samsung,exynos5260-clock-peri";
128 reg = <0x10200000 0x10000>;
129 #clock-cells = <1>;
130 clocks = <&fin_pll>,
131 <&ioclk_pcm>,
132 <&ioclk_i2s>,
133 <&ioclk_spdif>,
134 <&fin_pll>,
135 <&clock_top TOP_DOUT_ACLK_PERI_66>,
136 <&clock_top TOP_DOUT_SCLK_PERI_UART0>,
137 <&clock_top TOP_DOUT_SCLK_PERI_UART1>,
138 <&clock_top TOP_DOUT_SCLK_PERI_UART2>,
139 <&clock_top TOP_DOUT_SCLK_PERI_SPI0_B>,
140 <&clock_top TOP_DOUT_SCLK_PERI_SPI1_B>,
141 <&clock_top TOP_DOUT_SCLK_PERI_SPI2_B>,
142 <&clock_top TOP_DOUT_ACLK_PERI_AUD>;
143 clock-names = "fin_pll",
144 "ioclk_pcm_extclk",
145 "ioclk_i2s_cdclk",
146 "ioclk_spdif_extclk",
147 "phyclk_hdmi_phy_ref_cko",
148 "dout_aclk_peri_66",
149 "dout_sclk_peri_uart0",
150 "dout_sclk_peri_uart1",
151 "dout_sclk_peri_uart2",
152 "dout_sclk_peri_spi0_b",
153 "dout_sclk_peri_spi1_b",
154 "dout_sclk_peri_spi2_b",
155 "dout_aclk_peri_aud";
156 };
157
158 clock_egl: clock-controller@10600000 {
159 compatible = "samsung,exynos5260-clock-egl";
160 reg = <0x10600000 0x10000>;
161 #clock-cells = <1>;
162 clocks = <&fin_pll>,
163 <&clock_mif MIF_DOUT_BUS_PLL>;
164 clock-names = "fin_pll",
165 "dout_bus_pll";
166 };
167
168 clock_kfc: clock-controller@10700000 {
169 compatible = "samsung,exynos5260-clock-kfc";
170 reg = <0x10700000 0x10000>;
171 #clock-cells = <1>;
172 clocks = <&fin_pll>,
173 <&clock_mif MIF_DOUT_MEDIA_PLL>;
174 clock-names = "fin_pll",
175 "dout_media_pll";
176 };
177
178 clock_g2d: clock-controller@10a00000 {
179 compatible = "samsung,exynos5260-clock-g2d";
180 reg = <0x10a00000 0x10000>;
181 #clock-cells = <1>;
182 clocks = <&fin_pll>,
183 <&clock_top TOP_DOUT_ACLK_G2D_333>;
184 clock-names = "fin_pll",
185 "dout_aclk_g2d_333";
186 };
187
188 clock_mif: clock-controller@10ce0000 {
189 compatible = "samsung,exynos5260-clock-mif";
190 reg = <0x10ce0000 0x10000>;
191 #clock-cells = <1>;
192 clocks = <&fin_pll>;
193 clock-names = "fin_pll";
194 };
195
196 clock_mfc: clock-controller@11090000 {
197 compatible = "samsung,exynos5260-clock-mfc";
198 reg = <0x11090000 0x10000>;
199 #clock-cells = <1>;
200 clocks = <&fin_pll>,
201 <&clock_top TOP_DOUT_ACLK_MFC_333>;
202 clock-names = "fin_pll",
203 "dout_aclk_mfc_333";
204 };
205
206 clock_g3d: clock-controller@11830000 {
207 compatible = "samsung,exynos5260-clock-g3d";
208 reg = <0x11830000 0x10000>;
209 #clock-cells = <1>;
210 clocks = <&fin_pll>;
211 clock-names = "fin_pll";
212 };
213
214 clock_fsys: clock-controller@122e0000 {
215 compatible = "samsung,exynos5260-clock-fsys";
216 reg = <0x122e0000 0x10000>;
217 #clock-cells = <1>;
218 clocks = <&fin_pll>,
219 <&fin_pll>,
220 <&fin_pll>,
221 <&fin_pll>,
222 <&fin_pll>,
223 <&fin_pll>,
224 <&clock_top TOP_DOUT_ACLK_FSYS_200>;
225 clock-names = "fin_pll",
226 "phyclk_usbhost20_phy_phyclock",
227 "phyclk_usbhost20_phy_freeclk",
228 "phyclk_usbhost20_phy_clk48mohci",
229 "phyclk_usbdrd30_udrd30_pipe_pclk",
230 "phyclk_usbdrd30_udrd30_phyclock",
231 "dout_aclk_fsys_200";
232 };
233
234 clock_aud: clock-controller@128c0000 {
235 compatible = "samsung,exynos5260-clock-aud";
236 reg = <0x128c0000 0x10000>;
237 #clock-cells = <1>;
238 clocks = <&fin_pll>,
239 <&clock_top TOP_FOUT_AUD_PLL>,
240 <&ioclk_i2s>,
241 <&ioclk_pcm>;
242 clock-names = "fin_pll",
243 "fout_aud_pll",
244 "ioclk_i2s_cdclk",
245 "ioclk_pcm_extclk";
246 };
247
248 clock_isp: clock-controller@133c0000 {
249 compatible = "samsung,exynos5260-clock-isp";
250 reg = <0x133c0000 0x10000>;
251 #clock-cells = <1>;
252 clocks = <&fin_pll>,
253 <&clock_top TOP_DOUT_ACLK_ISP1_266>,
254 <&clock_top TOP_DOUT_ACLK_ISP1_400>,
255 <&clock_top TOP_MOUT_ACLK_ISP1_266>;
256 clock-names = "fin_pll",
257 "dout_aclk_isp1_266",
258 "dout_aclk_isp1_400",
259 "mout_aclk_isp1_266";
260 };
261
262 clock_gscl: clock-controller@13f00000 {
263 compatible = "samsung,exynos5260-clock-gscl";
264 reg = <0x13f00000 0x10000>;
265 #clock-cells = <1>;
266 clocks = <&fin_pll>,
267 <&clock_top TOP_DOUT_ACLK_GSCL_400>,
268 <&clock_top TOP_DOUT_ACLK_GSCL_333>;
269 clock-names = "fin_pll",
270 "dout_aclk_gscl_400",
271 "dout_aclk_gscl_333";
272 };
273
274 clock_disp: clock-controller@14550000 {
275 compatible = "samsung,exynos5260-clock-disp";
276 reg = <0x14550000 0x10000>;
277 #clock-cells = <1>;
278 clocks = <&fin_pll>,
279 <&fin_pll>,
280 <&fin_pll>,
281 <&fin_pll>,
282 <&fin_pll>,
283 <&fin_pll>,
284 <&fin_pll>,
285 <&fin_pll>,
286 <&fin_pll>,
287 <&fin_pll>,
288 <&fin_pll>,
289 <&fin_pll>,
290 <&fin_pll>,
291 <&fin_pll>,
292 <&ioclk_spdif>,
293 <&clock_top TOP_DOUT_ACLK_PERI_AUD>,
294 <&clock_top TOP_DOUT_ACLK_DISP_222>,
295 <&clock_top TOP_DOUT_SCLK_DISP_PIXEL>,
296 <&clock_top TOP_DOUT_ACLK_DISP_333>;
297 clock-names = "fin_pll",
298 "phyclk_dptx_phy_ch3_txd_clk",
299 "phyclk_dptx_phy_ch2_txd_clk",
300 "phyclk_dptx_phy_ch1_txd_clk",
301 "phyclk_dptx_phy_ch0_txd_clk",
302 "phyclk_hdmi_phy_tmds_clko",
303 "phyclk_hdmi_phy_ref_clko",
304 "phyclk_hdmi_phy_pixel_clko",
305 "phyclk_hdmi_link_o_tmds_clkhi",
306 "phyclk_mipi_dphy_4l_m_txbyte_clkhs",
307 "phyclk_dptx_phy_o_ref_clk_24m",
308 "phyclk_dptx_phy_clk_div2",
309 "phyclk_mipi_dphy_4l_m_rxclkesc0",
310 "phyclk_hdmi_phy_ref_cko",
311 "ioclk_spdif_extclk",
312 "dout_aclk_peri_aud",
313 "dout_aclk_disp_222",
314 "dout_sclk_disp_pixel",
315 "dout_aclk_disp_333";
316 };
317
318 gic: interrupt-controller@10481000 {
319 compatible = "arm,gic-400", "arm,cortex-a15-gic";
320 #interrupt-cells = <3>;
321 interrupt-controller;
322 reg = <0x10481000 0x1000>,
323 <0x10482000 0x2000>,
324 <0x10484000 0x2000>,
325 <0x10486000 0x2000>;
326 interrupts = <GIC_PPI 9
327 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
328 };
329
330 chipid: chipid@10000000 {
331 compatible = "samsung,exynos4210-chipid";
332 reg = <0x10000000 0x100>;
333 };
334
335 mct: timer@100b0000 {
336 compatible = "samsung,exynos5260-mct",
337 "samsung,exynos4210-mct";
338 reg = <0x100b0000 0x1000>;
339 clocks = <&fin_pll>, <&clock_peri PERI_CLK_MCT>;
340 clock-names = "fin_pll", "mct";
341 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
342 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
343 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
344 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
345 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
346 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
347 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
348 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
349 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
350 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
351 <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
352 <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
353 };
354
355 cci: cci@10f00000 {
356 compatible = "arm,cci-400";
357 #address-cells = <1>;
358 #size-cells = <1>;
359 reg = <0x10f00000 0x1000>;
360 ranges = <0x0 0x10f00000 0x6000>;
361
362 cci_control0: slave-if@4000 {
363 compatible = "arm,cci-400-ctrl-if";
364 interface-type = "ace";
365 reg = <0x4000 0x1000>;
366 };
367
368 cci_control1: slave-if@5000 {
369 compatible = "arm,cci-400-ctrl-if";
370 interface-type = "ace";
371 reg = <0x5000 0x1000>;
372 };
373 };
374
375 pinctrl_0: pinctrl@11600000 {
376 compatible = "samsung,exynos5260-pinctrl";
377 reg = <0x11600000 0x1000>;
378 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
379
380 wakeup-interrupt-controller {
381 compatible = "samsung,exynos4210-wakeup-eint";
382 interrupt-parent = <&gic>;
383 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
384 };
385 };
386
387 pinctrl_1: pinctrl@12290000 {
388 compatible = "samsung,exynos5260-pinctrl";
389 reg = <0x12290000 0x1000>;
390 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
391 };
392
393 pinctrl_2: pinctrl@128b0000 {
394 compatible = "samsung,exynos5260-pinctrl";
395 reg = <0x128b0000 0x1000>;
396 interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
397 };
398
399 pmu_system_controller: system-controller@10d50000 {
400 compatible = "samsung,exynos5260-pmu", "syscon";
401 reg = <0x10d50000 0x10000>;
402 };
403
404 uart0: serial@12c00000 {
405 compatible = "samsung,exynos4210-uart";
406 reg = <0x12c00000 0x100>;
407 interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
408 clocks = <&clock_peri PERI_CLK_UART0>, <&clock_peri PERI_SCLK_UART0>;
409 clock-names = "uart", "clk_uart_baud0";
410 status = "disabled";
411 };
412
413 uart1: serial@12c10000 {
414 compatible = "samsung,exynos4210-uart";
415 reg = <0x12c10000 0x100>;
416 interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
417 clocks = <&clock_peri PERI_CLK_UART1>, <&clock_peri PERI_SCLK_UART1>;
418 clock-names = "uart", "clk_uart_baud0";
419 status = "disabled";
420 };
421
422 uart2: serial@12c20000 {
423 compatible = "samsung,exynos4210-uart";
424 reg = <0x12c20000 0x100>;
425 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
426 clocks = <&clock_peri PERI_CLK_UART2>, <&clock_peri PERI_SCLK_UART2>;
427 clock-names = "uart", "clk_uart_baud0";
428 status = "disabled";
429 };
430
431 uart3: serial@12860000 {
432 compatible = "samsung,exynos4210-uart";
433 reg = <0x12860000 0x100>;
434 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
435 clocks = <&clock_aud AUD_CLK_AUD_UART>, <&clock_aud AUD_SCLK_AUD_UART>;
436 clock-names = "uart", "clk_uart_baud0";
437 status = "disabled";
438 };
439
440 mmc_0: mmc@12140000 {
441 compatible = "samsung,exynos5250-dw-mshc";
442 reg = <0x12140000 0x2000>;
443 interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
444 #address-cells = <1>;
445 #size-cells = <0>;
446 clocks = <&clock_fsys FSYS_CLK_MMC0>, <&clock_top TOP_SCLK_MMC0>;
447 clock-names = "biu", "ciu";
448 assigned-clocks =
449 <&clock_top TOP_MOUT_SCLK_FSYS_MMC0_SDCLKIN_A>,
450 <&clock_top TOP_MOUT_SCLK_FSYS_MMC0_SDCLKIN_B>,
451 <&clock_top TOP_SCLK_MMC0>;
452 assigned-clock-parents =
453 <&clock_top TOP_MOUT_BUSTOP_PLL_USER>,
454 <&clock_top TOP_MOUT_SCLK_FSYS_MMC0_SDCLKIN_A>;
455 assigned-clock-rates = <0>, <0>, <800000000>;
456 fifo-depth = <64>;
457 status = "disabled";
458 };
459
460 mmc_1: mmc@12150000 {
461 compatible = "samsung,exynos5250-dw-mshc";
462 reg = <0x12150000 0x2000>;
463 interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
464 #address-cells = <1>;
465 #size-cells = <0>;
466 clocks = <&clock_fsys FSYS_CLK_MMC1>, <&clock_top TOP_SCLK_MMC1>;
467 clock-names = "biu", "ciu";
468 assigned-clocks =
469 <&clock_top TOP_MOUT_SCLK_FSYS_MMC1_SDCLKIN_A>,
470 <&clock_top TOP_MOUT_SCLK_FSYS_MMC1_SDCLKIN_B>,
471 <&clock_top TOP_SCLK_MMC1>;
472 assigned-clock-parents =
473 <&clock_top TOP_MOUT_BUSTOP_PLL_USER>,
474 <&clock_top TOP_MOUT_SCLK_FSYS_MMC1_SDCLKIN_A>;
475 assigned-clock-rates = <0>, <0>, <800000000>;
476 fifo-depth = <64>;
477 status = "disabled";
478 };
479
480 mmc_2: mmc@12160000 {
481 compatible = "samsung,exynos5250-dw-mshc";
482 reg = <0x12160000 0x2000>;
483 interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
484 #address-cells = <1>;
485 #size-cells = <0>;
486 clocks = <&clock_fsys FSYS_CLK_MMC2>, <&clock_top TOP_SCLK_MMC2>;
487 clock-names = "biu", "ciu";
488 assigned-clocks =
489 <&clock_top TOP_MOUT_SCLK_FSYS_MMC2_SDCLKIN_A>,
490 <&clock_top TOP_MOUT_SCLK_FSYS_MMC2_SDCLKIN_B>,
491 <&clock_top TOP_SCLK_MMC2>;
492 assigned-clock-parents =
493 <&clock_top TOP_MOUT_BUSTOP_PLL_USER>,
494 <&clock_top TOP_MOUT_SCLK_FSYS_MMC2_SDCLKIN_A>;
495 assigned-clock-rates = <0>, <0>, <800000000>;
496 fifo-depth = <64>;
497 status = "disabled";
498 };
499
500 hsi2c_0: i2c@12da0000 {
501 compatible = "samsung,exynos5260-hsi2c";
502 reg = <0x12da0000 0x1000>;
503 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
504 #address-cells = <1>;
505 #size-cells = <0>;
506 pinctrl-names = "default";
507 pinctrl-0 = <&i2c0_hs_bus>;
508 clocks = <&clock_peri PERI_CLK_HSIC0>;
509 clock-names = "hsi2c";
510 status = "disabled";
511 };
512
513 hsi2c_1: i2c@12db0000 {
514 compatible = "samsung,exynos5260-hsi2c";
515 reg = <0x12db0000 0x1000>;
516 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
517 #address-cells = <1>;
518 #size-cells = <0>;
519 pinctrl-names = "default";
520 pinctrl-0 = <&i2c1_hs_bus>;
521 clocks = <&clock_peri PERI_CLK_HSIC1>;
522 clock-names = "hsi2c";
523 status = "disabled";
524 };
525
526 hsi2c_2: i2c@12dc0000 {
527 compatible = "samsung,exynos5260-hsi2c";
528 reg = <0x12dc0000 0x1000>;
529 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
530 #address-cells = <1>;
531 #size-cells = <0>;
532 pinctrl-names = "default";
533 pinctrl-0 = <&i2c2_hs_bus>;
534 clocks = <&clock_peri PERI_CLK_HSIC2>;
535 clock-names = "hsi2c";
536 status = "disabled";
537 };
538
539 hsi2c_3: i2c@12dd0000 {
540 compatible = "samsung,exynos5260-hsi2c";
541 reg = <0x12dd0000 0x1000>;
542 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
543 #address-cells = <1>;
544 #size-cells = <0>;
545 pinctrl-names = "default";
546 pinctrl-0 = <&i2c3_hs_bus>;
547 clocks = <&clock_peri PERI_CLK_HSIC3>;
548 clock-names = "hsi2c";
549 status = "disabled";
550 };
551 };
552};
553
554#include "exynos5260-pinctrl.dtsi"