1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Samsung's S3C64xx SoC series common device tree source
4*724ba675SRob Herring *
5*724ba675SRob Herring * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com>
6*724ba675SRob Herring *
7*724ba675SRob Herring * Samsung's S3C64xx SoC series device nodes are listed in this file.
8*724ba675SRob Herring * Particular SoCs from S3C64xx series can include this file and provide
9*724ba675SRob Herring * values for SoCs specific bindings.
10*724ba675SRob Herring *
11*724ba675SRob Herring * Note: This file does not include device nodes for all the controllers in
12*724ba675SRob Herring * S3C64xx SoCs. As device tree coverage for S3C64xx increases, additional
13*724ba675SRob Herring * nodes can be added to this file.
14*724ba675SRob Herring */
15*724ba675SRob Herring
16*724ba675SRob Herring#include <dt-bindings/clock/samsung,s3c64xx-clock.h>
17*724ba675SRob Herring
18*724ba675SRob Herring/ {
19*724ba675SRob Herring	#address-cells = <1>;
20*724ba675SRob Herring	#size-cells = <1>;
21*724ba675SRob Herring
22*724ba675SRob Herring	aliases {
23*724ba675SRob Herring		i2c0 = &i2c0;
24*724ba675SRob Herring		pinctrl0 = &pinctrl0;
25*724ba675SRob Herring		serial0 = &uart0;
26*724ba675SRob Herring		serial1 = &uart1;
27*724ba675SRob Herring		serial2 = &uart2;
28*724ba675SRob Herring		serial3 = &uart3;
29*724ba675SRob Herring	};
30*724ba675SRob Herring
31*724ba675SRob Herring	cpus {
32*724ba675SRob Herring		#address-cells = <1>;
33*724ba675SRob Herring		#size-cells = <0>;
34*724ba675SRob Herring
35*724ba675SRob Herring		cpu@0 {
36*724ba675SRob Herring			device_type = "cpu";
37*724ba675SRob Herring			compatible = "arm,arm1176jzf-s";
38*724ba675SRob Herring			reg = <0x0>;
39*724ba675SRob Herring		};
40*724ba675SRob Herring	};
41*724ba675SRob Herring
42*724ba675SRob Herring	soc: soc {
43*724ba675SRob Herring		compatible = "simple-bus";
44*724ba675SRob Herring		#address-cells = <1>;
45*724ba675SRob Herring		#size-cells = <1>;
46*724ba675SRob Herring		ranges;
47*724ba675SRob Herring
48*724ba675SRob Herring		vic0: interrupt-controller@71200000 {
49*724ba675SRob Herring			compatible = "arm,pl192-vic";
50*724ba675SRob Herring			interrupt-controller;
51*724ba675SRob Herring			reg = <0x71200000 0x1000>;
52*724ba675SRob Herring			#interrupt-cells = <1>;
53*724ba675SRob Herring		};
54*724ba675SRob Herring
55*724ba675SRob Herring		vic1: interrupt-controller@71300000 {
56*724ba675SRob Herring			compatible = "arm,pl192-vic";
57*724ba675SRob Herring			interrupt-controller;
58*724ba675SRob Herring			reg = <0x71300000 0x1000>;
59*724ba675SRob Herring			#interrupt-cells = <1>;
60*724ba675SRob Herring		};
61*724ba675SRob Herring
62*724ba675SRob Herring		sdhci0: mmc@7c200000 {
63*724ba675SRob Herring			compatible = "samsung,s3c6410-sdhci";
64*724ba675SRob Herring			reg = <0x7c200000 0x100>;
65*724ba675SRob Herring			interrupt-parent = <&vic1>;
66*724ba675SRob Herring			interrupts = <24>;
67*724ba675SRob Herring			clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
68*724ba675SRob Herring			clocks = <&clocks HCLK_HSMMC0>, <&clocks HCLK_HSMMC0>,
69*724ba675SRob Herring					<&clocks SCLK_MMC0>;
70*724ba675SRob Herring			status = "disabled";
71*724ba675SRob Herring		};
72*724ba675SRob Herring
73*724ba675SRob Herring		sdhci1: mmc@7c300000 {
74*724ba675SRob Herring			compatible = "samsung,s3c6410-sdhci";
75*724ba675SRob Herring			reg = <0x7c300000 0x100>;
76*724ba675SRob Herring			interrupt-parent = <&vic1>;
77*724ba675SRob Herring			interrupts = <25>;
78*724ba675SRob Herring			clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
79*724ba675SRob Herring			clocks = <&clocks HCLK_HSMMC1>, <&clocks HCLK_HSMMC1>,
80*724ba675SRob Herring					<&clocks SCLK_MMC1>;
81*724ba675SRob Herring			status = "disabled";
82*724ba675SRob Herring		};
83*724ba675SRob Herring
84*724ba675SRob Herring		sdhci2: mmc@7c400000 {
85*724ba675SRob Herring			compatible = "samsung,s3c6410-sdhci";
86*724ba675SRob Herring			reg = <0x7c400000 0x100>;
87*724ba675SRob Herring			interrupt-parent = <&vic1>;
88*724ba675SRob Herring			interrupts = <17>;
89*724ba675SRob Herring			clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
90*724ba675SRob Herring			clocks = <&clocks HCLK_HSMMC2>, <&clocks HCLK_HSMMC2>,
91*724ba675SRob Herring					<&clocks SCLK_MMC2>;
92*724ba675SRob Herring			status = "disabled";
93*724ba675SRob Herring		};
94*724ba675SRob Herring
95*724ba675SRob Herring		watchdog: watchdog@7e004000 {
96*724ba675SRob Herring			compatible = "samsung,s3c6410-wdt";
97*724ba675SRob Herring			reg = <0x7e004000 0x1000>;
98*724ba675SRob Herring			interrupt-parent = <&vic0>;
99*724ba675SRob Herring			interrupts = <26>;
100*724ba675SRob Herring			clock-names = "watchdog";
101*724ba675SRob Herring			clocks = <&clocks PCLK_WDT>;
102*724ba675SRob Herring		};
103*724ba675SRob Herring
104*724ba675SRob Herring		i2c0: i2c@7f004000 {
105*724ba675SRob Herring			compatible = "samsung,s3c2440-i2c";
106*724ba675SRob Herring			reg = <0x7f004000 0x1000>;
107*724ba675SRob Herring			interrupt-parent = <&vic1>;
108*724ba675SRob Herring			interrupts = <18>;
109*724ba675SRob Herring			clock-names = "i2c";
110*724ba675SRob Herring			clocks = <&clocks PCLK_IIC0>;
111*724ba675SRob Herring			status = "disabled";
112*724ba675SRob Herring			#address-cells = <1>;
113*724ba675SRob Herring			#size-cells = <0>;
114*724ba675SRob Herring		};
115*724ba675SRob Herring
116*724ba675SRob Herring		uart0: serial@7f005000 {
117*724ba675SRob Herring			compatible = "samsung,s3c6400-uart";
118*724ba675SRob Herring			reg = <0x7f005000 0x100>;
119*724ba675SRob Herring			interrupt-parent = <&vic1>;
120*724ba675SRob Herring			interrupts = <5>;
121*724ba675SRob Herring			clock-names = "uart", "clk_uart_baud2",
122*724ba675SRob Herring					"clk_uart_baud3";
123*724ba675SRob Herring			clocks = <&clocks PCLK_UART0>, <&clocks PCLK_UART0>,
124*724ba675SRob Herring					<&clocks SCLK_UART>;
125*724ba675SRob Herring			status = "disabled";
126*724ba675SRob Herring		};
127*724ba675SRob Herring
128*724ba675SRob Herring		uart1: serial@7f005400 {
129*724ba675SRob Herring			compatible = "samsung,s3c6400-uart";
130*724ba675SRob Herring			reg = <0x7f005400 0x100>;
131*724ba675SRob Herring			interrupt-parent = <&vic1>;
132*724ba675SRob Herring			interrupts = <6>;
133*724ba675SRob Herring			clock-names = "uart", "clk_uart_baud2",
134*724ba675SRob Herring					"clk_uart_baud3";
135*724ba675SRob Herring			clocks = <&clocks PCLK_UART1>, <&clocks PCLK_UART1>,
136*724ba675SRob Herring					<&clocks SCLK_UART>;
137*724ba675SRob Herring			status = "disabled";
138*724ba675SRob Herring		};
139*724ba675SRob Herring
140*724ba675SRob Herring		uart2: serial@7f005800 {
141*724ba675SRob Herring			compatible = "samsung,s3c6400-uart";
142*724ba675SRob Herring			reg = <0x7f005800 0x100>;
143*724ba675SRob Herring			interrupt-parent = <&vic1>;
144*724ba675SRob Herring			interrupts = <7>;
145*724ba675SRob Herring			clock-names = "uart", "clk_uart_baud2",
146*724ba675SRob Herring					"clk_uart_baud3";
147*724ba675SRob Herring			clocks = <&clocks PCLK_UART2>, <&clocks PCLK_UART2>,
148*724ba675SRob Herring					<&clocks SCLK_UART>;
149*724ba675SRob Herring			status = "disabled";
150*724ba675SRob Herring		};
151*724ba675SRob Herring
152*724ba675SRob Herring		uart3: serial@7f005c00 {
153*724ba675SRob Herring			compatible = "samsung,s3c6400-uart";
154*724ba675SRob Herring			reg = <0x7f005c00 0x100>;
155*724ba675SRob Herring			interrupt-parent = <&vic1>;
156*724ba675SRob Herring			interrupts = <8>;
157*724ba675SRob Herring			clock-names = "uart", "clk_uart_baud2",
158*724ba675SRob Herring					"clk_uart_baud3";
159*724ba675SRob Herring			clocks = <&clocks PCLK_UART3>, <&clocks PCLK_UART3>,
160*724ba675SRob Herring					<&clocks SCLK_UART>;
161*724ba675SRob Herring			status = "disabled";
162*724ba675SRob Herring		};
163*724ba675SRob Herring
164*724ba675SRob Herring		pwm: pwm@7f006000 {
165*724ba675SRob Herring			compatible = "samsung,s3c6400-pwm";
166*724ba675SRob Herring			reg = <0x7f006000 0x1000>;
167*724ba675SRob Herring			interrupt-parent = <&vic0>;
168*724ba675SRob Herring			interrupts = <23>, <24>, <25>, <27>, <28>;
169*724ba675SRob Herring			clock-names = "timers";
170*724ba675SRob Herring			clocks = <&clocks PCLK_PWM>;
171*724ba675SRob Herring			samsung,pwm-outputs = <0>, <1>;
172*724ba675SRob Herring			#pwm-cells = <3>;
173*724ba675SRob Herring		};
174*724ba675SRob Herring
175*724ba675SRob Herring		pinctrl0: pinctrl@7f008000 {
176*724ba675SRob Herring			compatible = "samsung,s3c64xx-pinctrl";
177*724ba675SRob Herring			reg = <0x7f008000 0x1000>;
178*724ba675SRob Herring			interrupt-parent = <&vic1>;
179*724ba675SRob Herring			interrupts = <21>;
180*724ba675SRob Herring
181*724ba675SRob Herring			wakeup-interrupt-controller {
182*724ba675SRob Herring				compatible = "samsung,s3c64xx-wakeup-eint";
183*724ba675SRob Herring				interrupts-extended = <&vic0 0>,
184*724ba675SRob Herring						      <&vic0 1>,
185*724ba675SRob Herring						      <&vic1 0>,
186*724ba675SRob Herring						      <&vic1 1>;
187*724ba675SRob Herring			};
188*724ba675SRob Herring		};
189*724ba675SRob Herring	};
190*724ba675SRob Herring};
191*724ba675SRob Herring
192*724ba675SRob Herring#include "s3c64xx-pinctrl.dtsi"
193