blob: b7ffc4dfe2196ab7faca0a81552ab8b67160f559 [file] [log] [blame]
Kukjin Kim1355bbc2012-10-24 13:41:15 +09001/*
2 * SAMSUNG EXYNOS5440 SoC device tree source
3 *
4 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 * http://www.samsung.com
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10*/
11
12/include/ "skeleton.dtsi"
13
14/ {
15 compatible = "samsung,exynos5440";
16
17 interrupt-parent = <&gic>;
18
Thomas Abrahamd8bafc82013-03-09 17:11:33 +090019 clock: clock-controller@0x160000 {
20 compatible = "samsung,exynos5440-clock";
21 reg = <0x160000 0x1000>;
22 #clock-cells = <1>;
23 };
24
Kukjin Kim1355bbc2012-10-24 13:41:15 +090025 gic:interrupt-controller@2E0000 {
26 compatible = "arm,cortex-a15-gic";
27 #interrupt-cells = <3>;
28 interrupt-controller;
Giridhar Maruthy3279dd32013-04-04 15:25:00 +090029 reg = <0x2E1000 0x1000>,
30 <0x2E2000 0x1000>,
31 <0x2E4000 0x2000>,
32 <0x2E6000 0x2000>;
33 interrupts = <1 9 0xf04>;
Kukjin Kim1355bbc2012-10-24 13:41:15 +090034 };
35
36 cpus {
Kukjin Kimf5108e12012-12-06 16:54:10 +090037 #address-cells = <1>;
38 #size-cells = <0>;
39
Kukjin Kim1355bbc2012-10-24 13:41:15 +090040 cpu@0 {
41 compatible = "arm,cortex-a15";
Kukjin Kimf5108e12012-12-06 16:54:10 +090042 reg = <0>;
Kukjin Kim1355bbc2012-10-24 13:41:15 +090043 };
44 cpu@1 {
45 compatible = "arm,cortex-a15";
Kukjin Kimf5108e12012-12-06 16:54:10 +090046 reg = <1>;
Kukjin Kim1355bbc2012-10-24 13:41:15 +090047 };
48 cpu@2 {
49 compatible = "arm,cortex-a15";
Kukjin Kimf5108e12012-12-06 16:54:10 +090050 reg = <2>;
Kukjin Kim1355bbc2012-10-24 13:41:15 +090051 };
52 cpu@3 {
53 compatible = "arm,cortex-a15";
Kukjin Kimf5108e12012-12-06 16:54:10 +090054 reg = <3>;
Kukjin Kim1355bbc2012-10-24 13:41:15 +090055 };
56 };
57
Subash Patel4c46f512013-04-05 15:22:59 +090058 arm-pmu {
59 compatible = "arm,cortex-a15-pmu", "arm,cortex-a9-pmu";
60 interrupts = <0 52 4>,
61 <0 53 4>,
62 <0 54 4>,
63 <0 55 4>;
64 };
65
Kukjin Kimf5108e12012-12-06 16:54:10 +090066 timer {
67 compatible = "arm,cortex-a15-timer",
68 "arm,armv7-timer";
69 interrupts = <1 13 0xf08>,
70 <1 14 0xf08>,
71 <1 11 0xf08>,
72 <1 10 0xf08>;
73 clock-frequency = <50000000>;
74 };
75
Amit Daniel Kachhap7f7b8ed2013-04-08 21:48:17 +090076 cpufreq@160000 {
77 compatible = "samsung,exynos5440-cpufreq";
78 reg = <0x160000 0x1000>;
79 interrupts = <0 57 0>;
80 operating-points = <
81 /* KHz uV */
82 1200000 1025000
83 1000000 975000
84 800000 925000
85 >;
86 };
87
Kukjin Kim1355bbc2012-10-24 13:41:15 +090088 serial@B0000 {
89 compatible = "samsung,exynos4210-uart";
90 reg = <0xB0000 0x1000>;
91 interrupts = <0 2 0>;
Thomas Abraham6a0338c2013-03-09 17:19:17 +090092 clocks = <&clock 21>, <&clock 21>;
93 clock-names = "uart", "clk_uart_baud0";
Kukjin Kim1355bbc2012-10-24 13:41:15 +090094 };
95
96 serial@C0000 {
97 compatible = "samsung,exynos4210-uart";
98 reg = <0xC0000 0x1000>;
99 interrupts = <0 3 0>;
Thomas Abraham6a0338c2013-03-09 17:19:17 +0900100 clocks = <&clock 21>, <&clock 21>;
101 clock-names = "uart", "clk_uart_baud0";
Kukjin Kim1355bbc2012-10-24 13:41:15 +0900102 };
103
104 spi {
105 compatible = "samsung,exynos4210-spi";
106 reg = <0xD0000 0x1000>;
107 interrupts = <0 4 0>;
108 tx-dma-channel = <&pdma0 5>; /* preliminary */
109 rx-dma-channel = <&pdma0 4>; /* preliminary */
110 #address-cells = <1>;
111 #size-cells = <0>;
Thomas Abraham6a0338c2013-03-09 17:19:17 +0900112 clocks = <&clock 21>, <&clock 16>;
113 clock-names = "spi", "spi_busclk0";
Kukjin Kim1355bbc2012-10-24 13:41:15 +0900114 };
115
Jingoo Hanb342e642013-06-21 16:26:14 +0900116 pin_ctrl: pinctrl {
Thomas Abrahamf6925432012-12-27 13:25:02 -0800117 compatible = "samsung,exynos5440-pinctrl";
Kukjin Kim1355bbc2012-10-24 13:41:15 +0900118 reg = <0xE0000 0x1000>;
Thomas Abraham71d87da2013-04-05 15:20:03 +0900119 interrupts = <0 37 0>, <0 38 0>, <0 39 0>, <0 40 0>,
120 <0 41 0>, <0 42 0>, <0 43 0>, <0 44 0>;
Kukjin Kim1355bbc2012-10-24 13:41:15 +0900121 interrupt-controller;
122 #interrupt-cells = <2>;
Thomas Abrahamb1ce1012012-10-24 17:18:52 +0900123 #gpio-cells = <2>;
124
125 fan: fan {
126 samsung,exynos5440-pin-function = <1>;
127 };
128
129 hdd_led0: hdd_led0 {
130 samsung,exynos5440-pin-function = <2>;
131 };
132
133 hdd_led1: hdd_led1 {
134 samsung,exynos5440-pin-function = <3>;
135 };
136
137 uart1: uart1 {
138 samsung,exynos5440-pin-function = <4>;
139 };
Kukjin Kim1355bbc2012-10-24 13:41:15 +0900140 };
141
142 i2c@F0000 {
Giridhar Maruthy49498c52012-12-28 09:33:58 -0800143 compatible = "samsung,exynos5440-i2c";
Kukjin Kim1355bbc2012-10-24 13:41:15 +0900144 reg = <0xF0000 0x1000>;
145 interrupts = <0 5 0>;
146 #address-cells = <1>;
147 #size-cells = <0>;
Thomas Abraham6a0338c2013-03-09 17:19:17 +0900148 clocks = <&clock 21>;
149 clock-names = "i2c";
Kukjin Kim1355bbc2012-10-24 13:41:15 +0900150 };
151
152 i2c@100000 {
Giridhar Maruthy49498c52012-12-28 09:33:58 -0800153 compatible = "samsung,exynos5440-i2c";
Kukjin Kim1355bbc2012-10-24 13:41:15 +0900154 reg = <0x100000 0x1000>;
155 interrupts = <0 6 0>;
156 #address-cells = <1>;
157 #size-cells = <0>;
Thomas Abraham6a0338c2013-03-09 17:19:17 +0900158 clocks = <&clock 21>;
159 clock-names = "i2c";
Kukjin Kim1355bbc2012-10-24 13:41:15 +0900160 };
161
162 watchdog {
163 compatible = "samsung,s3c2410-wdt";
164 reg = <0x110000 0x1000>;
165 interrupts = <0 1 0>;
Thomas Abraham6a0338c2013-03-09 17:19:17 +0900166 clocks = <&clock 21>;
167 clock-names = "watchdog";
Kukjin Kim1355bbc2012-10-24 13:41:15 +0900168 };
169
Byungho Anc038c4d2013-04-05 15:22:58 +0900170 gmac: ethernet@00230000 {
171 compatible = "snps,dwmac-3.70a";
172 reg = <0x00230000 0x8000>;
173 interrupt-parent = <&gic>;
174 interrupts = <0 31 4>;
175 interrupt-names = "macirq";
176 phy-mode = "sgmii";
Thomas Abrahamdce3b8e2013-04-08 21:47:02 +0900177 clocks = <&clock 25>;
Byungho Anc038c4d2013-04-05 15:22:58 +0900178 clock-names = "stmmaceth";
179 };
180
Kukjin Kim1355bbc2012-10-24 13:41:15 +0900181 amba {
182 #address-cells = <1>;
183 #size-cells = <1>;
184 compatible = "arm,amba-bus";
185 interrupt-parent = <&gic>;
186 ranges;
187
Subash Patel58a7bbf2013-04-05 15:22:58 +0900188 pdma0: pdma@00121000 {
Kukjin Kim1355bbc2012-10-24 13:41:15 +0900189 compatible = "arm,pl330", "arm,primecell";
Subash Patel58a7bbf2013-04-05 15:22:58 +0900190 reg = <0x121000 0x1000>;
191 interrupts = <0 46 0>;
192 clocks = <&clock 8>;
Thomas Abraham6a0338c2013-03-09 17:19:17 +0900193 clock-names = "apb_pclk";
Padmavathi Venna0a96d4d2013-03-07 10:33:07 +0900194 #dma-cells = <1>;
195 #dma-channels = <8>;
196 #dma-requests = <32>;
Kukjin Kim1355bbc2012-10-24 13:41:15 +0900197 };
198
Subash Patel58a7bbf2013-04-05 15:22:58 +0900199 pdma1: pdma@00120000 {
Kukjin Kim1355bbc2012-10-24 13:41:15 +0900200 compatible = "arm,pl330", "arm,primecell";
Subash Patel58a7bbf2013-04-05 15:22:58 +0900201 reg = <0x120000 0x1000>;
202 interrupts = <0 47 0>;
203 clocks = <&clock 8>;
Thomas Abraham6a0338c2013-03-09 17:19:17 +0900204 clock-names = "apb_pclk";
Padmavathi Venna0a96d4d2013-03-07 10:33:07 +0900205 #dma-cells = <1>;
206 #dma-channels = <8>;
207 #dma-requests = <32>;
Kukjin Kim1355bbc2012-10-24 13:41:15 +0900208 };
209 };
210
211 rtc {
212 compatible = "samsung,s3c6410-rtc";
213 reg = <0x130000 0x1000>;
Giridhar Maruthye877a5a2012-12-27 18:02:58 -0800214 interrupts = <0 17 0>, <0 16 0>;
Thomas Abraham6a0338c2013-03-09 17:19:17 +0900215 clocks = <&clock 21>;
216 clock-names = "rtc";
Doug Anderson522ccdb2013-04-09 03:26:32 +0900217 status = "disabled";
Kukjin Kim1355bbc2012-10-24 13:41:15 +0900218 };
Jingoo Han406a9322013-06-21 16:25:51 +0900219
220 pcie@290000 {
221 compatible = "samsung,exynos5440-pcie", "snps,dw-pcie";
222 reg = <0x290000 0x1000
223 0x270000 0x1000
224 0x271000 0x40>;
225 interrupts = <0 20 0>, <0 21 0>, <0 22 0>;
226 clocks = <&clock 28>, <&clock 27>;
227 clock-names = "pcie", "pcie_bus";
228 #address-cells = <3>;
229 #size-cells = <2>;
230 device_type = "pci";
231 ranges = <0x00000800 0 0x40000000 0x40000000 0 0x00001000 /* configuration space */
232 0x81000000 0 0 0x40001000 0 0x00010000 /* downstream I/O */
233 0x82000000 0 0x40011000 0x40011000 0 0x1ffef000>; /* non-prefetchable memory */
234 #interrupt-cells = <1>;
235 interrupt-map-mask = <0 0 0 0>;
236 interrupt-map = <0x0 0 &gic 53>;
237 };
238
239 pcie@2a0000 {
240 compatible = "samsung,exynos5440-pcie", "snps,dw-pcie";
241 reg = <0x2a0000 0x1000
242 0x272000 0x1000
243 0x271040 0x40>;
244 interrupts = <0 23 0>, <0 24 0>, <0 25 0>;
245 clocks = <&clock 29>, <&clock 27>;
246 clock-names = "pcie", "pcie_bus";
247 #address-cells = <3>;
248 #size-cells = <2>;
249 device_type = "pci";
250 ranges = <0x00000800 0 0x60000000 0x60000000 0 0x00001000 /* configuration space */
251 0x81000000 0 0 0x60001000 0 0x00010000 /* downstream I/O */
252 0x82000000 0 0x60011000 0x60011000 0 0x1ffef000>; /* non-prefetchable memory */
253 #interrupt-cells = <1>;
254 interrupt-map-mask = <0 0 0 0>;
255 interrupt-map = <0x0 0 &gic 56>;
256 };
Kukjin Kim1355bbc2012-10-24 13:41:15 +0900257};