162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Samsung's S3C64xx SoC series common device tree source
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com>
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * Samsung's S3C64xx SoC series device nodes are listed in this file.
862306a36Sopenharmony_ci * Particular SoCs from S3C64xx series can include this file and provide
962306a36Sopenharmony_ci * values for SoCs specific bindings.
1062306a36Sopenharmony_ci *
1162306a36Sopenharmony_ci * Note: This file does not include device nodes for all the controllers in
1262306a36Sopenharmony_ci * S3C64xx SoCs. As device tree coverage for S3C64xx increases, additional
1362306a36Sopenharmony_ci * nodes can be added to this file.
1462306a36Sopenharmony_ci */
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#include <dt-bindings/clock/samsung,s3c64xx-clock.h>
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci/ {
1962306a36Sopenharmony_ci	#address-cells = <1>;
2062306a36Sopenharmony_ci	#size-cells = <1>;
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci	aliases {
2362306a36Sopenharmony_ci		i2c0 = &i2c0;
2462306a36Sopenharmony_ci		pinctrl0 = &pinctrl0;
2562306a36Sopenharmony_ci		serial0 = &uart0;
2662306a36Sopenharmony_ci		serial1 = &uart1;
2762306a36Sopenharmony_ci		serial2 = &uart2;
2862306a36Sopenharmony_ci		serial3 = &uart3;
2962306a36Sopenharmony_ci	};
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci	cpus {
3262306a36Sopenharmony_ci		#address-cells = <1>;
3362306a36Sopenharmony_ci		#size-cells = <0>;
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci		cpu@0 {
3662306a36Sopenharmony_ci			device_type = "cpu";
3762306a36Sopenharmony_ci			compatible = "arm,arm1176jzf-s";
3862306a36Sopenharmony_ci			reg = <0x0>;
3962306a36Sopenharmony_ci		};
4062306a36Sopenharmony_ci	};
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci	soc: soc {
4362306a36Sopenharmony_ci		compatible = "simple-bus";
4462306a36Sopenharmony_ci		#address-cells = <1>;
4562306a36Sopenharmony_ci		#size-cells = <1>;
4662306a36Sopenharmony_ci		ranges;
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci		vic0: interrupt-controller@71200000 {
4962306a36Sopenharmony_ci			compatible = "arm,pl192-vic";
5062306a36Sopenharmony_ci			interrupt-controller;
5162306a36Sopenharmony_ci			reg = <0x71200000 0x1000>;
5262306a36Sopenharmony_ci			#interrupt-cells = <1>;
5362306a36Sopenharmony_ci		};
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci		vic1: interrupt-controller@71300000 {
5662306a36Sopenharmony_ci			compatible = "arm,pl192-vic";
5762306a36Sopenharmony_ci			interrupt-controller;
5862306a36Sopenharmony_ci			reg = <0x71300000 0x1000>;
5962306a36Sopenharmony_ci			#interrupt-cells = <1>;
6062306a36Sopenharmony_ci		};
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci		sdhci0: mmc@7c200000 {
6362306a36Sopenharmony_ci			compatible = "samsung,s3c6410-sdhci";
6462306a36Sopenharmony_ci			reg = <0x7c200000 0x100>;
6562306a36Sopenharmony_ci			interrupt-parent = <&vic1>;
6662306a36Sopenharmony_ci			interrupts = <24>;
6762306a36Sopenharmony_ci			clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
6862306a36Sopenharmony_ci			clocks = <&clocks HCLK_HSMMC0>, <&clocks HCLK_HSMMC0>,
6962306a36Sopenharmony_ci					<&clocks SCLK_MMC0>;
7062306a36Sopenharmony_ci			status = "disabled";
7162306a36Sopenharmony_ci		};
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci		sdhci1: mmc@7c300000 {
7462306a36Sopenharmony_ci			compatible = "samsung,s3c6410-sdhci";
7562306a36Sopenharmony_ci			reg = <0x7c300000 0x100>;
7662306a36Sopenharmony_ci			interrupt-parent = <&vic1>;
7762306a36Sopenharmony_ci			interrupts = <25>;
7862306a36Sopenharmony_ci			clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
7962306a36Sopenharmony_ci			clocks = <&clocks HCLK_HSMMC1>, <&clocks HCLK_HSMMC1>,
8062306a36Sopenharmony_ci					<&clocks SCLK_MMC1>;
8162306a36Sopenharmony_ci			status = "disabled";
8262306a36Sopenharmony_ci		};
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci		sdhci2: mmc@7c400000 {
8562306a36Sopenharmony_ci			compatible = "samsung,s3c6410-sdhci";
8662306a36Sopenharmony_ci			reg = <0x7c400000 0x100>;
8762306a36Sopenharmony_ci			interrupt-parent = <&vic1>;
8862306a36Sopenharmony_ci			interrupts = <17>;
8962306a36Sopenharmony_ci			clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
9062306a36Sopenharmony_ci			clocks = <&clocks HCLK_HSMMC2>, <&clocks HCLK_HSMMC2>,
9162306a36Sopenharmony_ci					<&clocks SCLK_MMC2>;
9262306a36Sopenharmony_ci			status = "disabled";
9362306a36Sopenharmony_ci		};
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci		watchdog: watchdog@7e004000 {
9662306a36Sopenharmony_ci			compatible = "samsung,s3c6410-wdt";
9762306a36Sopenharmony_ci			reg = <0x7e004000 0x1000>;
9862306a36Sopenharmony_ci			interrupt-parent = <&vic0>;
9962306a36Sopenharmony_ci			interrupts = <26>;
10062306a36Sopenharmony_ci			clock-names = "watchdog";
10162306a36Sopenharmony_ci			clocks = <&clocks PCLK_WDT>;
10262306a36Sopenharmony_ci		};
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci		i2c0: i2c@7f004000 {
10562306a36Sopenharmony_ci			compatible = "samsung,s3c2440-i2c";
10662306a36Sopenharmony_ci			reg = <0x7f004000 0x1000>;
10762306a36Sopenharmony_ci			interrupt-parent = <&vic1>;
10862306a36Sopenharmony_ci			interrupts = <18>;
10962306a36Sopenharmony_ci			clock-names = "i2c";
11062306a36Sopenharmony_ci			clocks = <&clocks PCLK_IIC0>;
11162306a36Sopenharmony_ci			status = "disabled";
11262306a36Sopenharmony_ci			#address-cells = <1>;
11362306a36Sopenharmony_ci			#size-cells = <0>;
11462306a36Sopenharmony_ci		};
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci		uart0: serial@7f005000 {
11762306a36Sopenharmony_ci			compatible = "samsung,s3c6400-uart";
11862306a36Sopenharmony_ci			reg = <0x7f005000 0x100>;
11962306a36Sopenharmony_ci			interrupt-parent = <&vic1>;
12062306a36Sopenharmony_ci			interrupts = <5>;
12162306a36Sopenharmony_ci			clock-names = "uart", "clk_uart_baud2",
12262306a36Sopenharmony_ci					"clk_uart_baud3";
12362306a36Sopenharmony_ci			clocks = <&clocks PCLK_UART0>, <&clocks PCLK_UART0>,
12462306a36Sopenharmony_ci					<&clocks SCLK_UART>;
12562306a36Sopenharmony_ci			status = "disabled";
12662306a36Sopenharmony_ci		};
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci		uart1: serial@7f005400 {
12962306a36Sopenharmony_ci			compatible = "samsung,s3c6400-uart";
13062306a36Sopenharmony_ci			reg = <0x7f005400 0x100>;
13162306a36Sopenharmony_ci			interrupt-parent = <&vic1>;
13262306a36Sopenharmony_ci			interrupts = <6>;
13362306a36Sopenharmony_ci			clock-names = "uart", "clk_uart_baud2",
13462306a36Sopenharmony_ci					"clk_uart_baud3";
13562306a36Sopenharmony_ci			clocks = <&clocks PCLK_UART1>, <&clocks PCLK_UART1>,
13662306a36Sopenharmony_ci					<&clocks SCLK_UART>;
13762306a36Sopenharmony_ci			status = "disabled";
13862306a36Sopenharmony_ci		};
13962306a36Sopenharmony_ci
14062306a36Sopenharmony_ci		uart2: serial@7f005800 {
14162306a36Sopenharmony_ci			compatible = "samsung,s3c6400-uart";
14262306a36Sopenharmony_ci			reg = <0x7f005800 0x100>;
14362306a36Sopenharmony_ci			interrupt-parent = <&vic1>;
14462306a36Sopenharmony_ci			interrupts = <7>;
14562306a36Sopenharmony_ci			clock-names = "uart", "clk_uart_baud2",
14662306a36Sopenharmony_ci					"clk_uart_baud3";
14762306a36Sopenharmony_ci			clocks = <&clocks PCLK_UART2>, <&clocks PCLK_UART2>,
14862306a36Sopenharmony_ci					<&clocks SCLK_UART>;
14962306a36Sopenharmony_ci			status = "disabled";
15062306a36Sopenharmony_ci		};
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci		uart3: serial@7f005c00 {
15362306a36Sopenharmony_ci			compatible = "samsung,s3c6400-uart";
15462306a36Sopenharmony_ci			reg = <0x7f005c00 0x100>;
15562306a36Sopenharmony_ci			interrupt-parent = <&vic1>;
15662306a36Sopenharmony_ci			interrupts = <8>;
15762306a36Sopenharmony_ci			clock-names = "uart", "clk_uart_baud2",
15862306a36Sopenharmony_ci					"clk_uart_baud3";
15962306a36Sopenharmony_ci			clocks = <&clocks PCLK_UART3>, <&clocks PCLK_UART3>,
16062306a36Sopenharmony_ci					<&clocks SCLK_UART>;
16162306a36Sopenharmony_ci			status = "disabled";
16262306a36Sopenharmony_ci		};
16362306a36Sopenharmony_ci
16462306a36Sopenharmony_ci		pwm: pwm@7f006000 {
16562306a36Sopenharmony_ci			compatible = "samsung,s3c6400-pwm";
16662306a36Sopenharmony_ci			reg = <0x7f006000 0x1000>;
16762306a36Sopenharmony_ci			interrupt-parent = <&vic0>;
16862306a36Sopenharmony_ci			interrupts = <23>, <24>, <25>, <27>, <28>;
16962306a36Sopenharmony_ci			clock-names = "timers";
17062306a36Sopenharmony_ci			clocks = <&clocks PCLK_PWM>;
17162306a36Sopenharmony_ci			samsung,pwm-outputs = <0>, <1>;
17262306a36Sopenharmony_ci			#pwm-cells = <3>;
17362306a36Sopenharmony_ci		};
17462306a36Sopenharmony_ci
17562306a36Sopenharmony_ci		pinctrl0: pinctrl@7f008000 {
17662306a36Sopenharmony_ci			compatible = "samsung,s3c64xx-pinctrl";
17762306a36Sopenharmony_ci			reg = <0x7f008000 0x1000>;
17862306a36Sopenharmony_ci			interrupt-parent = <&vic1>;
17962306a36Sopenharmony_ci			interrupts = <21>;
18062306a36Sopenharmony_ci
18162306a36Sopenharmony_ci			wakeup-interrupt-controller {
18262306a36Sopenharmony_ci				compatible = "samsung,s3c64xx-wakeup-eint";
18362306a36Sopenharmony_ci				interrupts-extended = <&vic0 0>,
18462306a36Sopenharmony_ci						      <&vic0 1>,
18562306a36Sopenharmony_ci						      <&vic1 0>,
18662306a36Sopenharmony_ci						      <&vic1 1>;
18762306a36Sopenharmony_ci			};
18862306a36Sopenharmony_ci		};
18962306a36Sopenharmony_ci	};
19062306a36Sopenharmony_ci};
19162306a36Sopenharmony_ci
19262306a36Sopenharmony_ci#include "s3c64xx-pinctrl.dtsi"
193