blob: f1c8b4613cbc60f3bd756e14230f1431158afa24 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung Exynos850 SoC device tree source
4 *
5 * Copyright (C) 2018 Samsung Electronics Co., Ltd.
6 * Copyright (C) 2021 Linaro Ltd.
7 *
8 * Samsung Exynos850 SoC device nodes are listed in this file.
9 * Exynos850 based board files can include this file and provide
10 * values for board specific bindings.
11 */
12
13#include <dt-bindings/clock/exynos850.h>
14#include <dt-bindings/interrupt-controller/arm-gic.h>
15#include <dt-bindings/soc/samsung,exynos-usi.h>
16
17/ {
18 /* Also known under engineering name Exynos3830 */
19 compatible = "samsung,exynos850";
20 #address-cells = <2>;
21 #size-cells = <1>;
22
23 interrupt-parent = <&gic>;
24
25 aliases {
26 pinctrl0 = &pinctrl_alive;
27 pinctrl1 = &pinctrl_cmgp;
28 pinctrl2 = &pinctrl_aud;
29 pinctrl3 = &pinctrl_hsi;
30 pinctrl4 = &pinctrl_core;
31 pinctrl5 = &pinctrl_peri;
32 };
33
34 arm-pmu {
35 compatible = "arm,cortex-a55-pmu";
36 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
37 <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
38 <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
39 <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
40 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
41 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
42 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
43 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
44 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>,
45 <&cpu4>, <&cpu5>, <&cpu6>, <&cpu7>;
46 };
47
48 /* Main system clock (XTCXO); external, must be 26 MHz */
49 oscclk: clock-oscclk {
50 compatible = "fixed-clock";
51 clock-output-names = "oscclk";
52 #clock-cells = <0>;
53 };
54
55 cpus {
56 #address-cells = <1>;
57 #size-cells = <0>;
58
59 cpu-map {
60 cluster0 {
61 core0 {
62 cpu = <&cpu0>;
63 };
64 core1 {
65 cpu = <&cpu1>;
66 };
67 core2 {
68 cpu = <&cpu2>;
69 };
70 core3 {
71 cpu = <&cpu3>;
72 };
73 };
74
75 cluster1 {
76 core0 {
77 cpu = <&cpu4>;
78 };
79 core1 {
80 cpu = <&cpu5>;
81 };
82 core2 {
83 cpu = <&cpu6>;
84 };
85 core3 {
86 cpu = <&cpu7>;
87 };
88 };
89 };
90
91 cpu0: cpu@0 {
92 device_type = "cpu";
93 compatible = "arm,cortex-a55";
94 reg = <0x0>;
95 enable-method = "psci";
Tom Rini762f85b2024-07-20 11:15:10 -060096 clocks = <&cmu_cpucl0 CLK_CLUSTER0_SCLK>;
97 clock-names = "cluster0_clk";
Tom Rini53633a82024-02-29 12:33:36 -050098 };
99 cpu1: cpu@1 {
100 device_type = "cpu";
101 compatible = "arm,cortex-a55";
102 reg = <0x1>;
103 enable-method = "psci";
104 };
105 cpu2: cpu@2 {
106 device_type = "cpu";
107 compatible = "arm,cortex-a55";
108 reg = <0x2>;
109 enable-method = "psci";
110 };
111 cpu3: cpu@3 {
112 device_type = "cpu";
113 compatible = "arm,cortex-a55";
114 reg = <0x3>;
115 enable-method = "psci";
116 };
117 cpu4: cpu@100 {
118 device_type = "cpu";
119 compatible = "arm,cortex-a55";
120 reg = <0x100>;
121 enable-method = "psci";
Tom Rini762f85b2024-07-20 11:15:10 -0600122 clocks = <&cmu_cpucl1 CLK_CLUSTER1_SCLK>;
123 clock-names = "cluster1_clk";
Tom Rini53633a82024-02-29 12:33:36 -0500124 };
125 cpu5: cpu@101 {
126 device_type = "cpu";
127 compatible = "arm,cortex-a55";
128 reg = <0x101>;
129 enable-method = "psci";
130 };
131 cpu6: cpu@102 {
132 device_type = "cpu";
133 compatible = "arm,cortex-a55";
134 reg = <0x102>;
135 enable-method = "psci";
136 };
137 cpu7: cpu@103 {
138 device_type = "cpu";
139 compatible = "arm,cortex-a55";
140 reg = <0x103>;
141 enable-method = "psci";
142 };
143 };
144
145 psci {
146 compatible = "arm,psci-1.0";
147 method = "smc";
148 };
149
150 timer {
151 compatible = "arm,armv8-timer";
152 /* Hypervisor Virtual Timer interrupt is not wired to GIC */
153 interrupts =
154 <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
155 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
156 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
157 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
158 };
159
160 soc: soc@0 {
161 compatible = "simple-bus";
162 #address-cells = <1>;
163 #size-cells = <1>;
164 ranges = <0x0 0x0 0x0 0x20000000>;
165
166 chipid@10000000 {
167 compatible = "samsung,exynos850-chipid";
168 reg = <0x10000000 0x100>;
169 };
170
171 timer@10040000 {
172 compatible = "samsung,exynos850-mct",
173 "samsung,exynos4210-mct";
174 reg = <0x10040000 0x800>;
175 interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>,
176 <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>,
177 <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>,
178 <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>,
179 <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>,
180 <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>,
181 <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>,
182 <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>,
183 <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>,
184 <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>,
185 <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>,
186 <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>;
187 clocks = <&oscclk>, <&cmu_peri CLK_GOUT_MCT_PCLK>;
188 clock-names = "fin_pll", "mct";
189 };
190
Tom Rini6bb92fc2024-05-20 09:54:58 -0600191 pdma0: dma-controller@120c0000 {
192 compatible = "arm,pl330", "arm,primecell";
193 reg = <0x120c0000 0x1000>;
194 clocks = <&cmu_core CLK_GOUT_PDMA_CORE_ACLK>;
195 clock-names = "apb_pclk";
196 #dma-cells = <1>;
197 interrupts = <GIC_SPI 479 IRQ_TYPE_LEVEL_HIGH>;
198 arm,pl330-broken-no-flushp;
199 };
200
Tom Rini53633a82024-02-29 12:33:36 -0500201 gic: interrupt-controller@12a01000 {
202 compatible = "arm,gic-400";
203 #interrupt-cells = <3>;
204 #address-cells = <0>;
205 reg = <0x12a01000 0x1000>,
206 <0x12a02000 0x2000>,
207 <0x12a04000 0x2000>,
208 <0x12a06000 0x2000>;
209 interrupt-controller;
210 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) |
211 IRQ_TYPE_LEVEL_HIGH)>;
212 };
213
214 pmu_system_controller: system-controller@11860000 {
215 compatible = "samsung,exynos850-pmu", "syscon";
216 reg = <0x11860000 0x10000>;
217
218 reboot: syscon-reboot {
219 compatible = "syscon-reboot";
220 regmap = <&pmu_system_controller>;
221 offset = <0x3a00>; /* SYSTEM_CONFIGURATION */
222 mask = <0x2>; /* SWRESET_SYSTEM */
223 value = <0x2>; /* reset value */
224 };
225 };
226
227 watchdog_cl0: watchdog@10050000 {
228 compatible = "samsung,exynos850-wdt";
229 reg = <0x10050000 0x100>;
230 interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>;
231 clocks = <&cmu_peri CLK_GOUT_WDT0_PCLK>, <&oscclk>;
232 clock-names = "watchdog", "watchdog_src";
233 samsung,syscon-phandle = <&pmu_system_controller>;
234 samsung,cluster-index = <0>;
235 status = "disabled";
236 };
237
238 watchdog_cl1: watchdog@10060000 {
239 compatible = "samsung,exynos850-wdt";
240 reg = <0x10060000 0x100>;
241 interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>;
242 clocks = <&cmu_peri CLK_GOUT_WDT1_PCLK>, <&oscclk>;
243 clock-names = "watchdog", "watchdog_src";
244 samsung,syscon-phandle = <&pmu_system_controller>;
245 samsung,cluster-index = <1>;
246 status = "disabled";
247 };
248
249 cmu_peri: clock-controller@10030000 {
250 compatible = "samsung,exynos850-cmu-peri";
251 reg = <0x10030000 0x8000>;
252 #clock-cells = <1>;
253
254 clocks = <&oscclk>, <&cmu_top CLK_DOUT_PERI_BUS>,
255 <&cmu_top CLK_DOUT_PERI_UART>,
256 <&cmu_top CLK_DOUT_PERI_IP>;
257 clock-names = "oscclk", "dout_peri_bus",
258 "dout_peri_uart", "dout_peri_ip";
259 };
260
Tom Rini762f85b2024-07-20 11:15:10 -0600261 cmu_cpucl1: clock-controller@10800000 {
262 compatible = "samsung,exynos850-cmu-cpucl1";
263 reg = <0x10800000 0x8000>;
264 #clock-cells = <1>;
265
266 clocks = <&oscclk>, <&cmu_top CLK_DOUT_CPUCL1_SWITCH>,
267 <&cmu_top CLK_DOUT_CPUCL1_DBG>;
268 clock-names = "oscclk", "dout_cpucl1_switch",
269 "dout_cpucl1_dbg";
270 };
271
272 cmu_cpucl0: clock-controller@10900000 {
273 compatible = "samsung,exynos850-cmu-cpucl0";
274 reg = <0x10900000 0x8000>;
275 #clock-cells = <1>;
276
277 clocks = <&oscclk>, <&cmu_top CLK_DOUT_CPUCL0_SWITCH>,
278 <&cmu_top CLK_DOUT_CPUCL0_DBG>;
279 clock-names = "oscclk", "dout_cpucl0_switch",
280 "dout_cpucl0_dbg";
281 };
282
Tom Rini53633a82024-02-29 12:33:36 -0500283 cmu_g3d: clock-controller@11400000 {
284 compatible = "samsung,exynos850-cmu-g3d";
285 reg = <0x11400000 0x8000>;
286 #clock-cells = <1>;
287
288 clocks = <&oscclk>, <&cmu_top CLK_DOUT_G3D_SWITCH>;
289 clock-names = "oscclk", "dout_g3d_switch";
290 };
291
292 cmu_apm: clock-controller@11800000 {
293 compatible = "samsung,exynos850-cmu-apm";
294 reg = <0x11800000 0x8000>;
295 #clock-cells = <1>;
296
297 clocks = <&oscclk>, <&cmu_top CLK_DOUT_CLKCMU_APM_BUS>;
298 clock-names = "oscclk", "dout_clkcmu_apm_bus";
299 };
300
301 cmu_cmgp: clock-controller@11c00000 {
302 compatible = "samsung,exynos850-cmu-cmgp";
303 reg = <0x11c00000 0x8000>;
304 #clock-cells = <1>;
305
306 clocks = <&oscclk>, <&cmu_apm CLK_GOUT_CLKCMU_CMGP_BUS>;
307 clock-names = "oscclk", "gout_clkcmu_cmgp_bus";
308 };
309
310 cmu_core: clock-controller@12000000 {
311 compatible = "samsung,exynos850-cmu-core";
312 reg = <0x12000000 0x8000>;
313 #clock-cells = <1>;
314
315 clocks = <&oscclk>, <&cmu_top CLK_DOUT_CORE_BUS>,
316 <&cmu_top CLK_DOUT_CORE_CCI>,
317 <&cmu_top CLK_DOUT_CORE_MMC_EMBD>,
318 <&cmu_top CLK_DOUT_CORE_SSS>;
319 clock-names = "oscclk", "dout_core_bus",
320 "dout_core_cci", "dout_core_mmc_embd",
321 "dout_core_sss";
322 };
323
324 cmu_top: clock-controller@120e0000 {
325 compatible = "samsung,exynos850-cmu-top";
326 reg = <0x120e0000 0x8000>;
327 #clock-cells = <1>;
328
329 clocks = <&oscclk>;
330 clock-names = "oscclk";
331 };
332
333 cmu_mfcmscl: clock-controller@12c00000 {
334 compatible = "samsung,exynos850-cmu-mfcmscl";
335 reg = <0x12c00000 0x8000>;
336 #clock-cells = <1>;
337
338 clocks = <&oscclk>,
339 <&cmu_top CLK_DOUT_MFCMSCL_MFC>,
340 <&cmu_top CLK_DOUT_MFCMSCL_M2M>,
341 <&cmu_top CLK_DOUT_MFCMSCL_MCSC>,
342 <&cmu_top CLK_DOUT_MFCMSCL_JPEG>;
343 clock-names = "oscclk", "dout_mfcmscl_mfc",
344 "dout_mfcmscl_m2m", "dout_mfcmscl_mcsc",
345 "dout_mfcmscl_jpeg";
346 };
347
348 cmu_dpu: clock-controller@13000000 {
349 compatible = "samsung,exynos850-cmu-dpu";
350 reg = <0x13000000 0x8000>;
351 #clock-cells = <1>;
352
353 clocks = <&oscclk>, <&cmu_top CLK_DOUT_DPU>;
354 clock-names = "oscclk", "dout_dpu";
355 };
356
357 cmu_hsi: clock-controller@13400000 {
358 compatible = "samsung,exynos850-cmu-hsi";
359 reg = <0x13400000 0x8000>;
360 #clock-cells = <1>;
361
362 clocks = <&oscclk>,
363 <&cmu_top CLK_DOUT_HSI_BUS>,
364 <&cmu_top CLK_DOUT_HSI_MMC_CARD>,
365 <&cmu_top CLK_DOUT_HSI_USB20DRD>;
366 clock-names = "oscclk", "dout_hsi_bus",
367 "dout_hsi_mmc_card", "dout_hsi_usb20drd";
368 };
369
370 cmu_is: clock-controller@14500000 {
371 compatible = "samsung,exynos850-cmu-is";
372 reg = <0x14500000 0x8000>;
373 #clock-cells = <1>;
374
375 clocks = <&oscclk>,
376 <&cmu_top CLK_DOUT_IS_BUS>,
377 <&cmu_top CLK_DOUT_IS_ITP>,
378 <&cmu_top CLK_DOUT_IS_VRA>,
379 <&cmu_top CLK_DOUT_IS_GDC>;
380 clock-names = "oscclk", "dout_is_bus", "dout_is_itp",
381 "dout_is_vra", "dout_is_gdc";
382 };
383
384 cmu_aud: clock-controller@14a00000 {
385 compatible = "samsung,exynos850-cmu-aud";
386 reg = <0x14a00000 0x8000>;
387 #clock-cells = <1>;
388
389 clocks = <&oscclk>, <&cmu_top CLK_DOUT_AUD>;
390 clock-names = "oscclk", "dout_aud";
391 };
392
393 pinctrl_alive: pinctrl@11850000 {
394 compatible = "samsung,exynos850-pinctrl";
395 reg = <0x11850000 0x1000>;
396
397 wakeup-interrupt-controller {
Tom Rini93743d22024-04-01 09:08:13 -0400398 compatible = "samsung,exynos850-wakeup-eint",
399 "samsung,exynos7-wakeup-eint";
Tom Rini53633a82024-02-29 12:33:36 -0500400 };
401 };
402
403 pinctrl_cmgp: pinctrl@11c30000 {
404 compatible = "samsung,exynos850-pinctrl";
405 reg = <0x11c30000 0x1000>;
406
407 wakeup-interrupt-controller {
Tom Rini93743d22024-04-01 09:08:13 -0400408 compatible = "samsung,exynos850-wakeup-eint",
409 "samsung,exynos7-wakeup-eint";
Tom Rini53633a82024-02-29 12:33:36 -0500410 };
411 };
412
413 pinctrl_core: pinctrl@12070000 {
414 compatible = "samsung,exynos850-pinctrl";
415 reg = <0x12070000 0x1000>;
416 interrupts = <GIC_SPI 451 IRQ_TYPE_LEVEL_HIGH>;
417 };
418
Tom Rini6b642ac2024-10-01 12:20:28 -0600419 trng: rng@12081400 {
420 compatible = "samsung,exynos850-trng";
421 reg = <0x12081400 0x100>;
422 clocks = <&cmu_core CLK_GOUT_SSS_ACLK>,
423 <&cmu_core CLK_GOUT_SSS_PCLK>;
424 clock-names = "secss", "pclk";
425 };
426
Tom Rini53633a82024-02-29 12:33:36 -0500427 pinctrl_hsi: pinctrl@13430000 {
428 compatible = "samsung,exynos850-pinctrl";
429 reg = <0x13430000 0x1000>;
430 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
431 };
432
433 pinctrl_peri: pinctrl@139b0000 {
434 compatible = "samsung,exynos850-pinctrl";
435 reg = <0x139b0000 0x1000>;
436 interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
437 };
438
439 pinctrl_aud: pinctrl@14a60000 {
440 compatible = "samsung,exynos850-pinctrl";
441 reg = <0x14a60000 0x1000>;
442 };
443
444 rtc: rtc@11a30000 {
Tom Rini93743d22024-04-01 09:08:13 -0400445 compatible = "samsung,exynos850-rtc", "samsung,s3c6410-rtc";
Tom Rini53633a82024-02-29 12:33:36 -0500446 reg = <0x11a30000 0x100>;
447 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
448 <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
449 clocks = <&cmu_apm CLK_GOUT_RTC_PCLK>;
450 clock-names = "rtc";
451 status = "disabled";
452 };
453
454 mmc_0: mmc@12100000 {
Tom Rini93743d22024-04-01 09:08:13 -0400455 compatible = "samsung,exynos850-dw-mshc-smu",
456 "samsung,exynos7-dw-mshc-smu";
Tom Rini53633a82024-02-29 12:33:36 -0500457 reg = <0x12100000 0x2000>;
458 interrupts = <GIC_SPI 452 IRQ_TYPE_LEVEL_HIGH>;
459 #address-cells = <1>;
460 #size-cells = <0>;
461 clocks = <&cmu_core CLK_GOUT_MMC_EMBD_ACLK>,
462 <&cmu_core CLK_GOUT_MMC_EMBD_SDCLKIN>;
463 clock-names = "biu", "ciu";
464 fifo-depth = <0x40>;
465 status = "disabled";
466 };
467
468 i2c_0: i2c@13830000 {
Tom Rini93743d22024-04-01 09:08:13 -0400469 compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c";
Tom Rini53633a82024-02-29 12:33:36 -0500470 reg = <0x13830000 0x100>;
471 interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
472 #address-cells = <1>;
473 #size-cells = <0>;
474 pinctrl-names = "default";
475 pinctrl-0 = <&i2c0_pins>;
476 clocks = <&cmu_peri CLK_GOUT_I2C0_PCLK>;
477 clock-names = "i2c";
478 status = "disabled";
479 };
480
481 i2c_1: i2c@13840000 {
Tom Rini93743d22024-04-01 09:08:13 -0400482 compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c";
Tom Rini53633a82024-02-29 12:33:36 -0500483 reg = <0x13840000 0x100>;
484 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
485 #address-cells = <1>;
486 #size-cells = <0>;
487 pinctrl-names = "default";
488 pinctrl-0 = <&i2c1_pins>;
489 clocks = <&cmu_peri CLK_GOUT_I2C1_PCLK>;
490 clock-names = "i2c";
491 status = "disabled";
492 };
493
494 i2c_2: i2c@13850000 {
Tom Rini93743d22024-04-01 09:08:13 -0400495 compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c";
Tom Rini53633a82024-02-29 12:33:36 -0500496 reg = <0x13850000 0x100>;
497 interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>;
498 #address-cells = <1>;
499 #size-cells = <0>;
500 pinctrl-names = "default";
501 pinctrl-0 = <&i2c2_pins>;
502 clocks = <&cmu_peri CLK_GOUT_I2C2_PCLK>;
503 clock-names = "i2c";
504 status = "disabled";
505 };
506
507 i2c_3: i2c@13860000 {
Tom Rini93743d22024-04-01 09:08:13 -0400508 compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c";
Tom Rini53633a82024-02-29 12:33:36 -0500509 reg = <0x13860000 0x100>;
510 interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>;
511 #address-cells = <1>;
512 #size-cells = <0>;
513 pinctrl-names = "default";
514 pinctrl-0 = <&i2c3_pins>;
515 clocks = <&cmu_peri CLK_GOUT_I2C3_PCLK>;
516 clock-names = "i2c";
517 status = "disabled";
518 };
519
520 i2c_4: i2c@13870000 {
Tom Rini93743d22024-04-01 09:08:13 -0400521 compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c";
Tom Rini53633a82024-02-29 12:33:36 -0500522 reg = <0x13870000 0x100>;
523 interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
524 #address-cells = <1>;
525 #size-cells = <0>;
526 pinctrl-names = "default";
527 pinctrl-0 = <&i2c4_pins>;
528 clocks = <&cmu_peri CLK_GOUT_I2C4_PCLK>;
529 clock-names = "i2c";
530 status = "disabled";
531 };
532
533 /* I2C_5 (also called CAM_PMIC_I2C in TRM) */
534 i2c_5: i2c@13880000 {
Tom Rini93743d22024-04-01 09:08:13 -0400535 compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c";
Tom Rini53633a82024-02-29 12:33:36 -0500536 reg = <0x13880000 0x100>;
537 interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>;
538 #address-cells = <1>;
539 #size-cells = <0>;
540 pinctrl-names = "default";
541 pinctrl-0 = <&i2c5_pins>;
542 clocks = <&cmu_peri CLK_GOUT_I2C5_PCLK>;
543 clock-names = "i2c";
544 status = "disabled";
545 };
546
547 /* I2C_6 (also called MOTOR_I2C in TRM) */
548 i2c_6: i2c@13890000 {
Tom Rini93743d22024-04-01 09:08:13 -0400549 compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c";
Tom Rini53633a82024-02-29 12:33:36 -0500550 reg = <0x13890000 0x100>;
551 interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>;
552 #address-cells = <1>;
553 #size-cells = <0>;
554 pinctrl-names = "default";
555 pinctrl-0 = <&i2c6_pins>;
556 clocks = <&cmu_peri CLK_GOUT_I2C6_PCLK>;
557 clock-names = "i2c";
558 status = "disabled";
559 };
560
561 sysmmu_mfcmscl: sysmmu@12c50000 {
562 compatible = "samsung,exynos-sysmmu";
563 reg = <0x12c50000 0x9000>;
564 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
565 clock-names = "sysmmu";
566 clocks = <&cmu_mfcmscl CLK_GOUT_MFCMSCL_SYSMMU_CLK>;
567 #iommu-cells = <0>;
568 };
569
570 sysmmu_dpu: sysmmu@130c0000 {
571 compatible = "samsung,exynos-sysmmu";
572 reg = <0x130c0000 0x9000>;
573 interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
574 clock-names = "sysmmu";
575 clocks = <&cmu_dpu CLK_GOUT_DPU_SMMU_CLK>;
576 #iommu-cells = <0>;
577 };
578
579 sysmmu_is0: sysmmu@14550000 {
580 compatible = "samsung,exynos-sysmmu";
581 reg = <0x14550000 0x9000>;
582 interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
583 clock-names = "sysmmu";
584 clocks = <&cmu_is CLK_GOUT_IS_SYSMMU_IS0_CLK>;
585 #iommu-cells = <0>;
586 };
587
588 sysmmu_is1: sysmmu@14570000 {
589 compatible = "samsung,exynos-sysmmu";
590 reg = <0x14570000 0x9000>;
591 interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
592 clock-names = "sysmmu";
593 clocks = <&cmu_is CLK_GOUT_IS_SYSMMU_IS1_CLK>;
594 #iommu-cells = <0>;
595 };
596
597 sysmmu_aud: sysmmu@14850000 {
598 compatible = "samsung,exynos-sysmmu";
599 reg = <0x14850000 0x9000>;
600 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
601 clock-names = "sysmmu";
602 clocks = <&cmu_aud CLK_GOUT_AUD_SYSMMU_CLK>;
603 #iommu-cells = <0>;
604 };
605
606 sysreg_peri: syscon@10020000 {
607 compatible = "samsung,exynos850-peri-sysreg",
608 "samsung,exynos850-sysreg", "syscon";
609 reg = <0x10020000 0x10000>;
610 clocks = <&cmu_peri CLK_GOUT_SYSREG_PERI_PCLK>;
611 };
612
613 sysreg_cmgp: syscon@11c20000 {
614 compatible = "samsung,exynos850-cmgp-sysreg",
615 "samsung,exynos850-sysreg", "syscon";
616 reg = <0x11c20000 0x10000>;
617 clocks = <&cmu_cmgp CLK_GOUT_SYSREG_CMGP_PCLK>;
618 };
619
620 usbdrd: usb@13600000 {
621 compatible = "samsung,exynos850-dwusb3";
622 ranges = <0x0 0x13600000 0x10000>;
623 clocks = <&cmu_hsi CLK_GOUT_USB_BUS_EARLY_CLK>,
624 <&cmu_hsi CLK_GOUT_USB_REF_CLK>;
625 clock-names = "bus_early", "ref";
626 #address-cells = <1>;
627 #size-cells = <1>;
628 status = "disabled";
629
630 usbdrd_dwc3: usb@0 {
631 compatible = "snps,dwc3";
632 reg = <0x0 0x10000>;
633 interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
634 phys = <&usbdrd_phy 0>;
635 phy-names = "usb2-phy";
636 };
637 };
638
639 usbdrd_phy: phy@135d0000 {
640 compatible = "samsung,exynos850-usbdrd-phy";
641 reg = <0x135d0000 0x100>;
642 clocks = <&cmu_hsi CLK_GOUT_USB_PHY_ACLK>,
643 <&cmu_hsi CLK_GOUT_USB_PHY_REF_CLK>;
644 clock-names = "phy", "ref";
645 samsung,pmu-syscon = <&pmu_system_controller>;
646 #phy-cells = <1>;
647 status = "disabled";
648 };
649
650 usi_uart: usi@138200c0 {
651 compatible = "samsung,exynos850-usi";
652 reg = <0x138200c0 0x20>;
653 samsung,sysreg = <&sysreg_peri 0x1010>;
654 samsung,mode = <USI_V2_UART>;
655 #address-cells = <1>;
656 #size-cells = <1>;
657 ranges;
658 clocks = <&cmu_peri CLK_GOUT_UART_PCLK>,
659 <&cmu_peri CLK_GOUT_UART_IPCLK>;
660 clock-names = "pclk", "ipclk";
661 status = "disabled";
662
663 serial_0: serial@13820000 {
664 compatible = "samsung,exynos850-uart";
665 reg = <0x13820000 0xc0>;
666 interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>;
667 pinctrl-names = "default";
668 pinctrl-0 = <&uart0_pins>;
669 clocks = <&cmu_peri CLK_GOUT_UART_PCLK>,
670 <&cmu_peri CLK_GOUT_UART_IPCLK>;
671 clock-names = "uart", "clk_uart_baud0";
672 status = "disabled";
673 };
674 };
675
676 usi_hsi2c_0: usi@138a00c0 {
677 compatible = "samsung,exynos850-usi";
678 reg = <0x138a00c0 0x20>;
679 samsung,sysreg = <&sysreg_peri 0x1020>;
680 samsung,mode = <USI_V2_I2C>;
681 #address-cells = <1>;
682 #size-cells = <1>;
683 ranges;
684 clocks = <&cmu_peri CLK_GOUT_HSI2C0_PCLK>,
685 <&cmu_peri CLK_GOUT_HSI2C0_IPCLK>;
686 clock-names = "pclk", "ipclk";
687 status = "disabled";
688
689 hsi2c_0: i2c@138a0000 {
Tom Rini93743d22024-04-01 09:08:13 -0400690 compatible = "samsung,exynos850-hsi2c",
691 "samsung,exynosautov9-hsi2c";
Tom Rini53633a82024-02-29 12:33:36 -0500692 reg = <0x138a0000 0xc0>;
693 interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
694 #address-cells = <1>;
695 #size-cells = <0>;
696 pinctrl-names = "default";
697 pinctrl-0 = <&hsi2c0_pins>;
698 clocks = <&cmu_peri CLK_GOUT_HSI2C0_IPCLK>,
699 <&cmu_peri CLK_GOUT_HSI2C0_PCLK>;
700 clock-names = "hsi2c", "hsi2c_pclk";
701 status = "disabled";
702 };
703 };
704
705 usi_hsi2c_1: usi@138b00c0 {
706 compatible = "samsung,exynos850-usi";
707 reg = <0x138b00c0 0x20>;
708 samsung,sysreg = <&sysreg_peri 0x1030>;
709 samsung,mode = <USI_V2_I2C>;
710 #address-cells = <1>;
711 #size-cells = <1>;
712 ranges;
713 clocks = <&cmu_peri CLK_GOUT_HSI2C1_PCLK>,
714 <&cmu_peri CLK_GOUT_HSI2C1_IPCLK>;
715 clock-names = "pclk", "ipclk";
716 status = "disabled";
717
718 hsi2c_1: i2c@138b0000 {
Tom Rini93743d22024-04-01 09:08:13 -0400719 compatible = "samsung,exynos850-hsi2c",
720 "samsung,exynosautov9-hsi2c";
Tom Rini53633a82024-02-29 12:33:36 -0500721 reg = <0x138b0000 0xc0>;
722 interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
723 #address-cells = <1>;
724 #size-cells = <0>;
725 pinctrl-names = "default";
726 pinctrl-0 = <&hsi2c1_pins>;
727 clocks = <&cmu_peri CLK_GOUT_HSI2C1_IPCLK>,
728 <&cmu_peri CLK_GOUT_HSI2C1_PCLK>;
729 clock-names = "hsi2c", "hsi2c_pclk";
730 status = "disabled";
731 };
732 };
733
734 usi_hsi2c_2: usi@138c00c0 {
735 compatible = "samsung,exynos850-usi";
736 reg = <0x138c00c0 0x20>;
737 samsung,sysreg = <&sysreg_peri 0x1040>;
738 samsung,mode = <USI_V2_I2C>;
739 #address-cells = <1>;
740 #size-cells = <1>;
741 ranges;
742 clocks = <&cmu_peri CLK_GOUT_HSI2C2_PCLK>,
743 <&cmu_peri CLK_GOUT_HSI2C2_IPCLK>;
744 clock-names = "pclk", "ipclk";
745 status = "disabled";
746
747 hsi2c_2: i2c@138c0000 {
Tom Rini93743d22024-04-01 09:08:13 -0400748 compatible = "samsung,exynos850-hsi2c",
749 "samsung,exynosautov9-hsi2c";
Tom Rini53633a82024-02-29 12:33:36 -0500750 reg = <0x138c0000 0xc0>;
751 interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>;
752 #address-cells = <1>;
753 #size-cells = <0>;
754 pinctrl-names = "default";
755 pinctrl-0 = <&hsi2c2_pins>;
756 clocks = <&cmu_peri CLK_GOUT_HSI2C2_IPCLK>,
757 <&cmu_peri CLK_GOUT_HSI2C2_PCLK>;
758 clock-names = "hsi2c", "hsi2c_pclk";
759 status = "disabled";
760 };
761 };
762
763 usi_spi_0: usi@139400c0 {
764 compatible = "samsung,exynos850-usi";
765 reg = <0x139400c0 0x20>;
766 samsung,sysreg = <&sysreg_peri 0x1050>;
767 samsung,mode = <USI_V2_SPI>;
768 #address-cells = <1>;
769 #size-cells = <1>;
770 ranges;
771 clocks = <&cmu_peri CLK_GOUT_SPI0_PCLK>,
772 <&cmu_peri CLK_GOUT_SPI0_IPCLK>;
773 clock-names = "pclk", "ipclk";
774 status = "disabled";
Tom Rini6bb92fc2024-05-20 09:54:58 -0600775
776 spi_0: spi@13940000 {
777 compatible = "samsung,exynos850-spi";
778 reg = <0x13940000 0x30>;
779 clocks = <&cmu_peri CLK_GOUT_SPI0_PCLK>,
780 <&cmu_peri CLK_GOUT_SPI0_IPCLK>;
781 clock-names = "spi", "spi_busclk0";
782 dmas = <&pdma0 5>, <&pdma0 4>;
783 dma-names = "tx", "rx";
784 interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
785 pinctrl-0 = <&spi0_pins>;
786 pinctrl-names = "default";
787 num-cs = <1>;
788 samsung,spi-src-clk = <0>;
789 #address-cells = <1>;
790 #size-cells = <0>;
791 status = "disabled";
792 };
Tom Rini53633a82024-02-29 12:33:36 -0500793 };
794
795 usi_cmgp0: usi@11d000c0 {
796 compatible = "samsung,exynos850-usi";
797 reg = <0x11d000c0 0x20>;
798 samsung,sysreg = <&sysreg_cmgp 0x2000>;
799 samsung,mode = <USI_V2_I2C>;
800 #address-cells = <1>;
801 #size-cells = <1>;
802 ranges;
803 clocks = <&cmu_cmgp CLK_GOUT_CMGP_USI0_PCLK>,
804 <&cmu_cmgp CLK_GOUT_CMGP_USI0_IPCLK>;
805 clock-names = "pclk", "ipclk";
806 status = "disabled";
807
808 hsi2c_3: i2c@11d00000 {
Tom Rini93743d22024-04-01 09:08:13 -0400809 compatible = "samsung,exynos850-hsi2c",
810 "samsung,exynosautov9-hsi2c";
Tom Rini53633a82024-02-29 12:33:36 -0500811 reg = <0x11d00000 0xc0>;
812 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
813 #address-cells = <1>;
814 #size-cells = <0>;
815 pinctrl-names = "default";
816 pinctrl-0 = <&hsi2c3_pins>;
817 clocks = <&cmu_cmgp CLK_GOUT_CMGP_USI0_IPCLK>,
818 <&cmu_cmgp CLK_GOUT_CMGP_USI0_PCLK>;
819 clock-names = "hsi2c", "hsi2c_pclk";
820 status = "disabled";
821 };
822
823 serial_1: serial@11d00000 {
824 compatible = "samsung,exynos850-uart";
825 reg = <0x11d00000 0xc0>;
826 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
827 pinctrl-names = "default";
828 pinctrl-0 = <&uart1_single_pins>;
829 clocks = <&cmu_cmgp CLK_GOUT_CMGP_USI0_PCLK>,
830 <&cmu_cmgp CLK_GOUT_CMGP_USI0_IPCLK>;
831 clock-names = "uart", "clk_uart_baud0";
832 status = "disabled";
833 };
Tom Rini6bb92fc2024-05-20 09:54:58 -0600834
835 spi_1: spi@11d00000 {
836 compatible = "samsung,exynos850-spi";
837 reg = <0x11d00000 0x30>;
838 clocks = <&cmu_cmgp CLK_GOUT_CMGP_USI0_PCLK>,
839 <&cmu_cmgp CLK_GOUT_CMGP_USI0_IPCLK>;
840 clock-names = "spi", "spi_busclk0";
841 dmas = <&pdma0 12>, <&pdma0 13>;
842 dma-names = "tx", "rx";
843 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
844 pinctrl-0 = <&spi1_pins>;
845 pinctrl-names = "default";
846 num-cs = <1>;
847 samsung,spi-src-clk = <0>;
848 #address-cells = <1>;
849 #size-cells = <0>;
850 status = "disabled";
851 };
Tom Rini53633a82024-02-29 12:33:36 -0500852 };
853
854 usi_cmgp1: usi@11d200c0 {
855 compatible = "samsung,exynos850-usi";
856 reg = <0x11d200c0 0x20>;
857 samsung,sysreg = <&sysreg_cmgp 0x2010>;
858 samsung,mode = <USI_V2_I2C>;
859 #address-cells = <1>;
860 #size-cells = <1>;
861 ranges;
862 clocks = <&cmu_cmgp CLK_GOUT_CMGP_USI1_PCLK>,
863 <&cmu_cmgp CLK_GOUT_CMGP_USI1_IPCLK>;
864 clock-names = "pclk", "ipclk";
865 status = "disabled";
866
867 hsi2c_4: i2c@11d20000 {
Tom Rini93743d22024-04-01 09:08:13 -0400868 compatible = "samsung,exynos850-hsi2c",
869 "samsung,exynosautov9-hsi2c";
Tom Rini53633a82024-02-29 12:33:36 -0500870 reg = <0x11d20000 0xc0>;
871 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
872 #address-cells = <1>;
873 #size-cells = <0>;
874 pinctrl-names = "default";
875 pinctrl-0 = <&hsi2c4_pins>;
876 clocks = <&cmu_cmgp CLK_GOUT_CMGP_USI1_IPCLK>,
877 <&cmu_cmgp CLK_GOUT_CMGP_USI1_PCLK>;
878 clock-names = "hsi2c", "hsi2c_pclk";
879 status = "disabled";
880 };
881
882 serial_2: serial@11d20000 {
883 compatible = "samsung,exynos850-uart";
884 reg = <0x11d20000 0xc0>;
885 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
886 pinctrl-names = "default";
887 pinctrl-0 = <&uart2_single_pins>;
888 clocks = <&cmu_cmgp CLK_GOUT_CMGP_USI1_PCLK>,
889 <&cmu_cmgp CLK_GOUT_CMGP_USI1_IPCLK>;
890 clock-names = "uart", "clk_uart_baud0";
891 status = "disabled";
892 };
Tom Rini6bb92fc2024-05-20 09:54:58 -0600893
894 spi_2: spi@11d20000 {
895 compatible = "samsung,exynos850-spi";
896 reg = <0x11d20000 0x30>;
897 clocks = <&cmu_cmgp CLK_GOUT_CMGP_USI1_PCLK>,
898 <&cmu_cmgp CLK_GOUT_CMGP_USI1_IPCLK>;
899 clock-names = "spi", "spi_busclk0";
900 dmas = <&pdma0 14>, <&pdma0 15>;
901 dma-names = "tx", "rx";
902 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
903 pinctrl-0 = <&spi2_pins>;
904 pinctrl-names = "default";
905 num-cs = <1>;
906 samsung,spi-src-clk = <0>;
907 #address-cells = <1>;
908 #size-cells = <0>;
909 status = "disabled";
910 };
Tom Rini53633a82024-02-29 12:33:36 -0500911 };
912 };
913};
914
915#include "exynos850-pinctrl.dtsi"