1 // SPDX-License-Identifier: GPL-2.0
3 * Samsung Exynos7885 SoC device tree source
5 * Copyright (c) 2021 Samsung Electronics Co., Ltd.
6 * Copyright (c) 2021 Dávid Virág
9 #include <dt-bindings/clock/exynos7885.h>
10 #include <dt-bindings/interrupt-controller/arm-gic.h>
13 compatible = "samsung,exynos7885";
17 interrupt-parent = <&gic>;
20 pinctrl0 = &pinctrl_alive;
21 pinctrl1 = &pinctrl_dispaud;
22 pinctrl2 = &pinctrl_fsys;
23 pinctrl3 = &pinctrl_top;
27 compatible = "arm,cortex-a53-pmu";
28 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
29 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
30 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
31 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
32 <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>,
33 <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>;
34 interrupt-affinity = <&cpu0>,
43 compatible = "arm,cortex-a73-pmu";
44 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
45 <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
46 interrupt-affinity = <&cpu6>,
88 compatible = "arm,cortex-a53";
90 enable-method = "psci";
95 compatible = "arm,cortex-a53";
97 enable-method = "psci";
102 compatible = "arm,cortex-a53";
104 enable-method = "psci";
109 compatible = "arm,cortex-a53";
111 enable-method = "psci";
116 compatible = "arm,cortex-a53";
118 enable-method = "psci";
123 compatible = "arm,cortex-a53";
125 enable-method = "psci";
130 compatible = "arm,cortex-a73";
132 enable-method = "psci";
137 compatible = "arm,cortex-a73";
139 enable-method = "psci";
144 compatible = "arm,psci";
146 cpu_suspend = <0xc4000001>;
147 cpu_off = <0x84000002>;
148 cpu_on = <0xc4000003>;
152 compatible = "arm,armv8-timer";
153 /* Hypervisor Virtual Timer interrupt is not wired to GIC */
154 interrupts = <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)>;
162 compatible = "fixed-clock";
164 clock-output-names = "oscclk";
169 compatible = "simple-bus";
170 #address-cells = <1>;
172 ranges = <0x0 0x0 0x0 0x20000000>;
175 compatible = "samsung,exynos850-chipid";
176 reg = <0x10000000 0x24>;
179 gic: interrupt-controller@12301000 {
180 compatible = "arm,gic-400";
181 #interrupt-cells = <3>;
182 #address-cells = <0>;
183 interrupt-controller;
184 reg = <0x12301000 0x1000>,
188 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) |
189 IRQ_TYPE_LEVEL_HIGH)>;
192 cmu_peri: clock-controller@10010000 {
193 compatible = "samsung,exynos7885-cmu-peri";
194 reg = <0x10010000 0x8000>;
198 <&cmu_top CLK_DOUT_PERI_BUS>,
199 <&cmu_top CLK_DOUT_PERI_SPI0>,
200 <&cmu_top CLK_DOUT_PERI_SPI1>,
201 <&cmu_top CLK_DOUT_PERI_UART0>,
202 <&cmu_top CLK_DOUT_PERI_UART1>,
203 <&cmu_top CLK_DOUT_PERI_UART2>,
204 <&cmu_top CLK_DOUT_PERI_USI0>,
205 <&cmu_top CLK_DOUT_PERI_USI1>,
206 <&cmu_top CLK_DOUT_PERI_USI2>;
207 clock-names = "oscclk",
219 cmu_core: clock-controller@12000000 {
220 compatible = "samsung,exynos7885-cmu-core";
221 reg = <0x12000000 0x8000>;
225 <&cmu_top CLK_DOUT_CORE_BUS>,
226 <&cmu_top CLK_DOUT_CORE_CCI>,
227 <&cmu_top CLK_DOUT_CORE_G3D>;
228 clock-names = "oscclk",
234 cmu_top: clock-controller@12060000 {
235 compatible = "samsung,exynos7885-cmu-top";
236 reg = <0x12060000 0x8000>;
240 clock-names = "oscclk";
243 cmu_fsys: clock-controller@13400000 {
244 compatible = "samsung,exynos7885-cmu-fsys";
245 reg = <0x13400000 0x8000>;
249 <&cmu_top CLK_DOUT_FSYS_BUS>,
250 <&cmu_top CLK_DOUT_FSYS_MMC_CARD>,
251 <&cmu_top CLK_DOUT_FSYS_MMC_EMBD>,
252 <&cmu_top CLK_DOUT_FSYS_MMC_SDIO>,
253 <&cmu_top CLK_DOUT_FSYS_USB30DRD>;
254 clock-names = "oscclk",
256 "dout_fsys_mmc_card",
257 "dout_fsys_mmc_embd",
258 "dout_fsys_mmc_sdio",
259 "dout_fsys_usb30drd";
262 pinctrl_alive: pinctrl@11cb0000 {
263 compatible = "samsung,exynos7885-pinctrl";
264 reg = <0x11cb0000 0x1000>;
266 wakeup-interrupt-controller {
267 compatible = "samsung,exynos7-wakeup-eint";
268 interrupt-parent = <&gic>;
269 interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
273 pinctrl_fsys: pinctrl@13430000 {
274 compatible = "samsung,exynos7885-pinctrl";
275 reg = <0x13430000 0x1000>;
276 interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
279 pinctrl_top: pinctrl@139b0000 {
280 compatible = "samsung,exynos7885-pinctrl";
281 reg = <0x139b0000 0x1000>;
282 interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
285 pinctrl_dispaud: pinctrl@148f0000 {
286 compatible = "samsung,exynos7885-pinctrl";
287 reg = <0x148f0000 0x1000>;
288 interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
291 pmu_system_controller: system-controller@11c80000 {
292 compatible = "samsung,exynos7-pmu", "syscon";
293 reg = <0x11c80000 0x10000>;
296 mmc_0: mmc@13500000 {
297 compatible = "samsung,exynos7-dw-mshc-smu";
298 reg = <0x13500000 0x2000>;
299 interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
300 #address-cells = <1>;
302 clocks = <&cmu_fsys CLK_GOUT_MMC_EMBD_ACLK>,
303 <&cmu_fsys CLK_GOUT_MMC_EMBD_SDCLKIN>;
304 clock-names = "biu", "ciu";
309 serial_0: serial@13800000 {
310 compatible = "samsung,exynos5433-uart";
311 reg = <0x13800000 0x100>;
312 interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
313 pinctrl-names = "default";
314 pinctrl-0 = <&uart0_bus>;
315 clocks = <&cmu_peri CLK_GOUT_UART0_PCLK>,
316 <&cmu_peri CLK_GOUT_UART0_EXT_UCLK>;
317 clock-names = "uart", "clk_uart_baud0";
318 samsung,uart-fifosize = <64>;
322 serial_1: serial@13810000 {
323 compatible = "samsung,exynos5433-uart";
324 reg = <0x13810000 0x100>;
325 interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
326 pinctrl-names = "default";
327 pinctrl-0 = <&uart1_bus>;
328 clocks = <&cmu_peri CLK_GOUT_UART1_PCLK>,
329 <&cmu_peri CLK_GOUT_UART1_EXT_UCLK>;
330 clock-names = "uart", "clk_uart_baud0";
331 samsung,uart-fifosize = <256>;
335 serial_2: serial@13820000 {
336 compatible = "samsung,exynos5433-uart";
337 reg = <0x13820000 0x100>;
338 interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>;
339 pinctrl-names = "default";
340 pinctrl-0 = <&uart2_bus>;
341 clocks = <&cmu_peri CLK_GOUT_UART2_PCLK>,
342 <&cmu_peri CLK_GOUT_UART2_EXT_UCLK>;
343 clock-names = "uart", "clk_uart_baud0";
344 samsung,uart-fifosize = <256>;
348 i2c_0: i2c@13830000 {
349 compatible = "samsung,s3c2440-i2c";
350 reg = <0x13830000 0x100>;
351 interrupts = <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>;
352 #address-cells = <1>;
354 pinctrl-names = "default";
355 pinctrl-0 = <&i2c0_bus>;
356 clocks = <&cmu_peri CLK_GOUT_I2C0_PCLK>;
361 i2c_1: i2c@13840000 {
362 compatible = "samsung,s3c2440-i2c";
363 reg = <0x13840000 0x100>;
364 interrupts = <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>;
365 #address-cells = <1>;
367 pinctrl-names = "default";
368 pinctrl-0 = <&i2c1_bus>;
369 clocks = <&cmu_peri CLK_GOUT_I2C1_PCLK>;
374 i2c_2: i2c@13850000 {
375 compatible = "samsung,s3c2440-i2c";
376 reg = <0x13850000 0x100>;
377 interrupts = <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>;
378 #address-cells = <1>;
380 pinctrl-names = "default";
381 pinctrl-0 = <&i2c2_bus>;
382 clocks = <&cmu_peri CLK_GOUT_I2C2_PCLK>;
387 i2c_3: i2c@13860000 {
388 compatible = "samsung,s3c2440-i2c";
389 reg = <0x13860000 0x100>;
390 interrupts = <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>;
391 #address-cells = <1>;
393 pinctrl-names = "default";
394 pinctrl-0 = <&i2c3_bus>;
395 clocks = <&cmu_peri CLK_GOUT_I2C3_PCLK>;
400 i2c_4: i2c@13870000 {
401 compatible = "samsung,s3c2440-i2c";
402 reg = <0x13870000 0x100>;
403 interrupts = <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>;
404 #address-cells = <1>;
406 pinctrl-names = "default";
407 pinctrl-0 = <&i2c4_bus>;
408 clocks = <&cmu_peri CLK_GOUT_I2C4_PCLK>;
413 i2c_5: i2c@13880000 {
414 compatible = "samsung,s3c2440-i2c";
415 reg = <0x13880000 0x100>;
416 interrupts = <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>;
417 #address-cells = <1>;
419 pinctrl-names = "default";
420 pinctrl-0 = <&i2c5_bus>;
421 clocks = <&cmu_peri CLK_GOUT_I2C5_PCLK>;
426 i2c_6: i2c@13890000 {
427 compatible = "samsung,s3c2440-i2c";
428 reg = <0x13890000 0x100>;
429 interrupts = <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>;
430 #address-cells = <1>;
432 pinctrl-names = "default";
433 pinctrl-0 = <&i2c6_bus>;
434 clocks = <&cmu_peri CLK_GOUT_I2C6_PCLK>;
439 i2c_7: i2c@11cd0000 {
440 compatible = "samsung,s3c2440-i2c";
441 reg = <0x11cd0000 0x100>;
442 interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>;
443 #address-cells = <1>;
445 pinctrl-names = "default";
446 pinctrl-0 = <&i2c7_bus>;
447 clocks = <&cmu_peri CLK_GOUT_I2C7_PCLK>;
454 #include "exynos7885-pinctrl.dtsi"
455 #include "arm/samsung/exynos-syscon-restart.dtsi"