GNU Linux-libre 4.9.331-gnu1
[releases.git] / arch / arm / boot / dts / exynos5410.dtsi
1 /*
2  * SAMSUNG EXYNOS5410 SoC device tree source
3  *
4  * Copyright (c) 2013 Samsung Electronics Co., Ltd.
5  *              http://www.samsung.com
6  *
7  * SAMSUNG EXYNOS5410 SoC device nodes are listed in this file.
8  * EXYNOS5410 based board files can include this file and provide
9  * values for board specfic bindings.
10  *
11  * This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License version 2 as
13  * published by the Free Software Foundation.
14  */
15
16 #include "exynos54xx.dtsi"
17 #include "exynos-syscon-restart.dtsi"
18 #include <dt-bindings/clock/exynos5410.h>
19 #include <dt-bindings/interrupt-controller/arm-gic.h>
20
21 / {
22         compatible = "samsung,exynos5410", "samsung,exynos5";
23         interrupt-parent = <&gic>;
24
25         aliases {
26                 pinctrl0 = &pinctrl_0;
27                 pinctrl1 = &pinctrl_1;
28                 pinctrl2 = &pinctrl_2;
29                 pinctrl3 = &pinctrl_3;
30         };
31
32         cpus {
33                 #address-cells = <1>;
34                 #size-cells = <0>;
35
36                 cpu0: cpu@0 {
37                         device_type = "cpu";
38                         compatible = "arm,cortex-a15";
39                         reg = <0x0>;
40                         clock-frequency = <1600000000>;
41                 };
42
43                 cpu1: cpu@1 {
44                         device_type = "cpu";
45                         compatible = "arm,cortex-a15";
46                         reg = <0x1>;
47                         clock-frequency = <1600000000>;
48                 };
49
50                 cpu2: cpu@2 {
51                         device_type = "cpu";
52                         compatible = "arm,cortex-a15";
53                         reg = <0x2>;
54                         clock-frequency = <1600000000>;
55                 };
56
57                 cpu3: cpu@3 {
58                         device_type = "cpu";
59                         compatible = "arm,cortex-a15";
60                         reg = <0x3>;
61                         clock-frequency = <1600000000>;
62                 };
63         };
64
65         soc: soc {
66                 compatible = "simple-bus";
67                 #address-cells = <1>;
68                 #size-cells = <1>;
69                 ranges;
70
71                 pmu_system_controller: system-controller@10040000 {
72                         compatible = "samsung,exynos5410-pmu", "syscon";
73                         reg = <0x10040000 0x5000>;
74                         clock-names = "clkout16";
75                         clocks = <&fin_pll>;
76                         #clock-cells = <1>;
77                 };
78
79                 clock: clock-controller@10010000 {
80                         compatible = "samsung,exynos5410-clock";
81                         reg = <0x10010000 0x30000>;
82                         #clock-cells = <1>;
83                 };
84
85                 tmu_cpu0: tmu@10060000 {
86                         compatible = "samsung,exynos5420-tmu";
87                         reg = <0x10060000 0x100>;
88                         interrupts = <GIC_SPI 65 0>;
89                         clocks = <&clock CLK_TMU>;
90                         clock-names = "tmu_apbif";
91                         #include "exynos4412-tmu-sensor-conf.dtsi"
92                 };
93
94                 tmu_cpu1: tmu@10064000 {
95                         compatible = "samsung,exynos5420-tmu";
96                         reg = <0x10064000 0x100>;
97                         interrupts = <GIC_SPI 183 0>;
98                         clocks = <&clock CLK_TMU>;
99                         clock-names = "tmu_apbif";
100                         #include "exynos4412-tmu-sensor-conf.dtsi"
101                 };
102
103                 tmu_cpu2: tmu@10068000 {
104                         compatible = "samsung,exynos5420-tmu";
105                         reg = <0x10068000 0x100>;
106                         interrupts = <GIC_SPI 184 0>;
107                         clocks = <&clock CLK_TMU>;
108                         clock-names = "tmu_apbif";
109                         #include "exynos4412-tmu-sensor-conf.dtsi"
110                 };
111
112                 tmu_cpu3: tmu@1006c000 {
113                         compatible = "samsung,exynos5420-tmu";
114                         reg = <0x1006c000 0x100>;
115                         interrupts = <GIC_SPI 185 0>;
116                         clocks = <&clock CLK_TMU>;
117                         clock-names = "tmu_apbif";
118                         #include "exynos4412-tmu-sensor-conf.dtsi"
119                 };
120
121                 mmc_0: mmc@12200000 {
122                         compatible = "samsung,exynos5250-dw-mshc";
123                         reg = <0x12200000 0x1000>;
124                         interrupts = <0 75 0>;
125                         #address-cells = <1>;
126                         #size-cells = <0>;
127                         clocks = <&clock CLK_MMC0>, <&clock CLK_SCLK_MMC0>;
128                         clock-names = "biu", "ciu";
129                         fifo-depth = <0x80>;
130                         status = "disabled";
131                 };
132
133                 mmc_1: mmc@12210000 {
134                         compatible = "samsung,exynos5250-dw-mshc";
135                         reg = <0x12210000 0x1000>;
136                         interrupts = <0 76 0>;
137                         #address-cells = <1>;
138                         #size-cells = <0>;
139                         clocks = <&clock CLK_MMC1>, <&clock CLK_SCLK_MMC1>;
140                         clock-names = "biu", "ciu";
141                         fifo-depth = <0x80>;
142                         status = "disabled";
143                 };
144
145                 mmc_2: mmc@12220000 {
146                         compatible = "samsung,exynos5250-dw-mshc";
147                         reg = <0x12220000 0x1000>;
148                         interrupts = <0 77 0>;
149                         #address-cells = <1>;
150                         #size-cells = <0>;
151                         clocks = <&clock CLK_MMC2>, <&clock CLK_SCLK_MMC2>;
152                         clock-names = "biu", "ciu";
153                         fifo-depth = <0x80>;
154                         status = "disabled";
155                 };
156
157                 pinctrl_0: pinctrl@13400000 {
158                         compatible = "samsung,exynos5410-pinctrl";
159                         reg = <0x13400000 0x1000>;
160                         interrupts = <0 45 0>;
161
162                         wakeup-interrupt-controller {
163                                 compatible = "samsung,exynos4210-wakeup-eint";
164                                 interrupt-parent = <&gic>;
165                                 interrupts = <0 32 0>;
166                         };
167                 };
168
169                 pinctrl_1: pinctrl@14000000 {
170                         compatible = "samsung,exynos5410-pinctrl";
171                         reg = <0x14000000 0x1000>;
172                         interrupts = <0 46 0>;
173                 };
174
175                 pinctrl_2: pinctrl@10d10000 {
176                         compatible = "samsung,exynos5410-pinctrl";
177                         reg = <0x10d10000 0x1000>;
178                         interrupts = <0 50 0>;
179                 };
180
181                 pinctrl_3: pinctrl@03860000 {
182                         compatible = "samsung,exynos5410-pinctrl";
183                         reg = <0x03860000 0x1000>;
184                         interrupts = <0 47 0>;
185                 };
186         };
187
188         thermal-zones {
189                 cpu0_thermal: cpu0-thermal {
190                         thermal-sensors = <&tmu_cpu0>;
191                         #include "exynos5420-trip-points.dtsi"
192                 };
193                 cpu1_thermal: cpu1-thermal {
194                        thermal-sensors = <&tmu_cpu1>;
195                        #include "exynos5420-trip-points.dtsi"
196                 };
197                 cpu2_thermal: cpu2-thermal {
198                        thermal-sensors = <&tmu_cpu2>;
199                        #include "exynos5420-trip-points.dtsi"
200                 };
201                 cpu3_thermal: cpu3-thermal {
202                        thermal-sensors = <&tmu_cpu3>;
203                        #include "exynos5420-trip-points.dtsi"
204                 };
205         };
206 };
207
208 &i2c_0 {
209         clocks = <&clock CLK_I2C0>;
210         clock-names = "i2c";
211         pinctrl-names = "default";
212         pinctrl-0 = <&i2c0_bus>;
213 };
214
215 &i2c_1 {
216         clocks = <&clock CLK_I2C1>;
217         clock-names = "i2c";
218         pinctrl-names = "default";
219         pinctrl-0 = <&i2c1_bus>;
220 };
221
222 &i2c_2 {
223         clocks = <&clock CLK_I2C2>;
224         clock-names = "i2c";
225         pinctrl-names = "default";
226         pinctrl-0 = <&i2c2_bus>;
227 };
228
229 &i2c_3 {
230         clocks = <&clock CLK_I2C3>;
231         clock-names = "i2c";
232         pinctrl-names = "default";
233         pinctrl-0 = <&i2c3_bus>;
234 };
235
236 &hsi2c_4 {
237         clocks = <&clock CLK_USI0>;
238         clock-names = "hsi2c";
239         pinctrl-names = "default";
240         pinctrl-0 = <&i2c4_hs_bus>;
241 };
242
243 &hsi2c_5 {
244         clocks = <&clock CLK_USI1>;
245         clock-names = "hsi2c";
246         pinctrl-names = "default";
247         pinctrl-0 = <&i2c5_hs_bus>;
248 };
249
250 &hsi2c_6 {
251         clocks = <&clock CLK_USI2>;
252         clock-names = "hsi2c";
253         pinctrl-names = "default";
254         pinctrl-0 = <&i2c6_hs_bus>;
255 };
256
257 &hsi2c_7 {
258         clocks = <&clock CLK_USI3>;
259         clock-names = "hsi2c";
260         pinctrl-names = "default";
261         pinctrl-0 = <&i2c7_hs_bus>;
262 };
263
264 &mct {
265         clocks = <&fin_pll>, <&clock CLK_MCT>;
266         clock-names = "fin_pll", "mct";
267 };
268
269 &pwm {
270         clocks = <&clock CLK_PWM>;
271         clock-names = "timers";
272 };
273
274 &rtc {
275         clocks = <&clock CLK_RTC>;
276         clock-names = "rtc";
277         status = "disabled";
278 };
279
280 &serial_0 {
281         clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
282         clock-names = "uart", "clk_uart_baud0";
283 };
284
285 &serial_1 {
286         clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
287         clock-names = "uart", "clk_uart_baud0";
288 };
289
290 &serial_2 {
291         clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
292         clock-names = "uart", "clk_uart_baud0";
293 };
294
295 &serial_3 {
296         clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
297         clock-names = "uart", "clk_uart_baud0";
298 };
299
300 &sss {
301         clocks = <&clock CLK_SSS>;
302         clock-names = "secss";
303 };
304
305 &sromc {
306         #address-cells = <2>;
307         #size-cells = <1>;
308         ranges = <0 0 0x04000000 0x20000
309                   1 0 0x05000000 0x20000
310                   2 0 0x06000000 0x20000
311                   3 0 0x07000000 0x20000>;
312 };
313
314 &usbdrd3_0 {
315         clocks = <&clock CLK_USBD300>;
316         clock-names = "usbdrd30";
317         pinctrl-names = "default";
318         pinctrl-0 = <&usb3_0_oc>, <&usb3_0_vbusctrl>;
319 };
320
321 &usbdrd_phy0 {
322         clocks = <&clock CLK_USBD300>, <&clock CLK_SCLK_USBPHY300>;
323         clock-names = "phy", "ref";
324         samsung,pmu-syscon = <&pmu_system_controller>;
325 };
326
327 &usbdrd3_1 {
328         clocks = <&clock CLK_USBD301>;
329         clock-names = "usbdrd30";
330         pinctrl-names = "default";
331         pinctrl-0 = <&usb3_1_oc>, <&usb3_1_vbusctrl>;
332 };
333
334 &usbdrd_dwc3_1 {
335         interrupts = <GIC_SPI 200 0>;
336 };
337
338 &usbdrd_phy1 {
339         clocks = <&clock CLK_USBD301>, <&clock CLK_SCLK_USBPHY301>;
340         clock-names = "phy", "ref";
341         samsung,pmu-syscon = <&pmu_system_controller>;
342 };
343
344 &usbhost1 {
345         clocks = <&clock CLK_USBH20>;
346         clock-names = "usbhost";
347 };
348
349 &usbhost2 {
350         clocks = <&clock CLK_USBH20>;
351         clock-names = "usbhost";
352 };
353
354 &usb2_phy {
355         clocks = <&clock CLK_USBH20>, <&clock CLK_SCLK_USBPHY300>;
356         clock-names = "phy", "ref";
357         samsung,sysreg-phandle = <&sysreg_system_controller>;
358         samsung,pmureg-phandle = <&pmu_system_controller>;
359 };
360
361 &watchdog {
362         clocks = <&clock CLK_WDT>;
363         clock-names = "watchdog";
364         samsung,syscon-phandle = <&pmu_system_controller>;
365 };
366
367 #include "exynos5410-pinctrl.dtsi"