]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - arch/arm64/boot/dts/exynos/exynos7.dtsi
Merge remote-tracking branches 'asoc/topic/omap', 'asoc/topic/qcom', 'asoc/topic...
[karo-tx-linux.git] / arch / arm64 / boot / dts / exynos / exynos7.dtsi
1 /*
2  * SAMSUNG EXYNOS7 SoC device tree source
3  *
4  * Copyright (c) 2014 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 <dt-bindings/clock/exynos7-clk.h>
13
14 / {
15         compatible = "samsung,exynos7";
16         interrupt-parent = <&gic>;
17         #address-cells = <2>;
18         #size-cells = <2>;
19
20         aliases {
21                 pinctrl0 = &pinctrl_alive;
22                 pinctrl1 = &pinctrl_bus0;
23                 pinctrl2 = &pinctrl_nfc;
24                 pinctrl3 = &pinctrl_touch;
25                 pinctrl4 = &pinctrl_ff;
26                 pinctrl5 = &pinctrl_ese;
27                 pinctrl6 = &pinctrl_fsys0;
28                 pinctrl7 = &pinctrl_fsys1;
29         };
30
31         cpus {
32                 #address-cells = <1>;
33                 #size-cells = <0>;
34
35                 cpu@0 {
36                         device_type = "cpu";
37                         compatible = "arm,cortex-a57", "arm,armv8";
38                         reg = <0x0>;
39                         enable-method = "psci";
40                 };
41
42                 cpu@1 {
43                         device_type = "cpu";
44                         compatible = "arm,cortex-a57", "arm,armv8";
45                         reg = <0x1>;
46                         enable-method = "psci";
47                 };
48
49                 cpu@2 {
50                         device_type = "cpu";
51                         compatible = "arm,cortex-a57", "arm,armv8";
52                         reg = <0x2>;
53                         enable-method = "psci";
54                 };
55
56                 cpu@3 {
57                         device_type = "cpu";
58                         compatible = "arm,cortex-a57", "arm,armv8";
59                         reg = <0x3>;
60                         enable-method = "psci";
61                 };
62         };
63
64         psci {
65                 compatible = "arm,psci-0.2";
66                 method = "smc";
67         };
68
69         soc: soc {
70                 compatible = "simple-bus";
71                 #address-cells = <1>;
72                 #size-cells = <1>;
73                 ranges = <0 0 0 0x18000000>;
74
75                 chipid@10000000 {
76                         compatible = "samsung,exynos4210-chipid";
77                         reg = <0x10000000 0x100>;
78                 };
79
80                 fin_pll: xxti {
81                         compatible = "fixed-clock";
82                         clock-output-names = "fin_pll";
83                         #clock-cells = <0>;
84                 };
85
86                 gic: interrupt-controller@11001000 {
87                         compatible = "arm,gic-400";
88                         #interrupt-cells = <3>;
89                         #address-cells = <0>;
90                         interrupt-controller;
91                         reg =   <0x11001000 0x1000>,
92                                 <0x11002000 0x1000>,
93                                 <0x11004000 0x2000>,
94                                 <0x11006000 0x2000>;
95                 };
96
97                 clock_topc: clock-controller@10570000 {
98                         compatible = "samsung,exynos7-clock-topc";
99                         reg = <0x10570000 0x10000>;
100                         #clock-cells = <1>;
101                 };
102
103                 clock_top0: clock-controller@105d0000 {
104                         compatible = "samsung,exynos7-clock-top0";
105                         reg = <0x105d0000 0xb000>;
106                         #clock-cells = <1>;
107                         clocks = <&fin_pll>, <&clock_topc DOUT_SCLK_BUS0_PLL>,
108                                  <&clock_topc DOUT_SCLK_BUS1_PLL>,
109                                  <&clock_topc DOUT_SCLK_CC_PLL>,
110                                  <&clock_topc DOUT_SCLK_MFC_PLL>;
111                         clock-names = "fin_pll", "dout_sclk_bus0_pll",
112                                       "dout_sclk_bus1_pll", "dout_sclk_cc_pll",
113                                       "dout_sclk_mfc_pll";
114                 };
115
116                 clock_top1: clock-controller@105e0000 {
117                         compatible = "samsung,exynos7-clock-top1";
118                         reg = <0x105e0000 0xb000>;
119                         #clock-cells = <1>;
120                         clocks = <&fin_pll>, <&clock_topc DOUT_SCLK_BUS0_PLL>,
121                                  <&clock_topc DOUT_SCLK_BUS1_PLL>,
122                                  <&clock_topc DOUT_SCLK_CC_PLL>,
123                                  <&clock_topc DOUT_SCLK_MFC_PLL>;
124                         clock-names = "fin_pll", "dout_sclk_bus0_pll",
125                                       "dout_sclk_bus1_pll", "dout_sclk_cc_pll",
126                                       "dout_sclk_mfc_pll";
127                 };
128
129                 clock_ccore: clock-controller@105b0000 {
130                         compatible = "samsung,exynos7-clock-ccore";
131                         reg = <0x105b0000 0xd00>;
132                         #clock-cells = <1>;
133                         clocks = <&fin_pll>, <&clock_topc DOUT_ACLK_CCORE_133>;
134                         clock-names = "fin_pll", "dout_aclk_ccore_133";
135                 };
136
137                 clock_peric0: clock-controller@13610000 {
138                         compatible = "samsung,exynos7-clock-peric0";
139                         reg = <0x13610000 0xd00>;
140                         #clock-cells = <1>;
141                         clocks = <&fin_pll>, <&clock_top0 DOUT_ACLK_PERIC0>,
142                                  <&clock_top0 CLK_SCLK_UART0>;
143                         clock-names = "fin_pll", "dout_aclk_peric0_66",
144                                       "sclk_uart0";
145                 };
146
147                 clock_peric1: clock-controller@14c80000 {
148                         compatible = "samsung,exynos7-clock-peric1";
149                         reg = <0x14c80000 0xd00>;
150                         #clock-cells = <1>;
151                         clocks = <&fin_pll>, <&clock_top0 DOUT_ACLK_PERIC1>,
152                                  <&clock_top0 CLK_SCLK_UART1>,
153                                  <&clock_top0 CLK_SCLK_UART2>,
154                                  <&clock_top0 CLK_SCLK_UART3>;
155                         clock-names = "fin_pll", "dout_aclk_peric1_66",
156                                       "sclk_uart1", "sclk_uart2", "sclk_uart3";
157                 };
158
159                 clock_peris: clock-controller@10040000 {
160                         compatible = "samsung,exynos7-clock-peris";
161                         reg = <0x10040000 0xd00>;
162                         #clock-cells = <1>;
163                         clocks = <&fin_pll>, <&clock_topc DOUT_ACLK_PERIS>;
164                         clock-names = "fin_pll", "dout_aclk_peris_66";
165                 };
166
167                 clock_fsys0: clock-controller@10e90000 {
168                         compatible = "samsung,exynos7-clock-fsys0";
169                         reg = <0x10e90000 0xd00>;
170                         #clock-cells = <1>;
171                         clocks = <&fin_pll>, <&clock_top1 DOUT_ACLK_FSYS0_200>,
172                                  <&clock_top1 DOUT_SCLK_MMC2>;
173                         clock-names = "fin_pll", "dout_aclk_fsys0_200",
174                                       "dout_sclk_mmc2";
175                 };
176
177                 clock_fsys1: clock-controller@156e0000 {
178                         compatible = "samsung,exynos7-clock-fsys1";
179                         reg = <0x156e0000 0xd00>;
180                         #clock-cells = <1>;
181                         clocks = <&fin_pll>, <&clock_top1 DOUT_ACLK_FSYS1_200>,
182                                  <&clock_top1 DOUT_SCLK_MMC0>,
183                                  <&clock_top1 DOUT_SCLK_MMC1>;
184                         clock-names = "fin_pll", "dout_aclk_fsys1_200",
185                                       "dout_sclk_mmc0", "dout_sclk_mmc1";
186                 };
187
188                 serial_0: serial@13630000 {
189                         compatible = "samsung,exynos4210-uart";
190                         reg = <0x13630000 0x100>;
191                         interrupts = <0 440 0>;
192                         clocks = <&clock_peric0 PCLK_UART0>,
193                                  <&clock_peric0 SCLK_UART0>;
194                         clock-names = "uart", "clk_uart_baud0";
195                         status = "disabled";
196                 };
197
198                 serial_1: serial@14c20000 {
199                         compatible = "samsung,exynos4210-uart";
200                         reg = <0x14c20000 0x100>;
201                         interrupts = <0 456 0>;
202                         clocks = <&clock_peric1 PCLK_UART1>,
203                                  <&clock_peric1 SCLK_UART1>;
204                         clock-names = "uart", "clk_uart_baud0";
205                         status = "disabled";
206                 };
207
208                 serial_2: serial@14c30000 {
209                         compatible = "samsung,exynos4210-uart";
210                         reg = <0x14c30000 0x100>;
211                         interrupts = <0 457 0>;
212                         clocks = <&clock_peric1 PCLK_UART2>,
213                                  <&clock_peric1 SCLK_UART2>;
214                         clock-names = "uart", "clk_uart_baud0";
215                         status = "disabled";
216                 };
217
218                 serial_3: serial@14c40000 {
219                         compatible = "samsung,exynos4210-uart";
220                         reg = <0x14c40000 0x100>;
221                         interrupts = <0 458 0>;
222                         clocks = <&clock_peric1 PCLK_UART3>,
223                                  <&clock_peric1 SCLK_UART3>;
224                         clock-names = "uart", "clk_uart_baud0";
225                         status = "disabled";
226                 };
227
228                 pinctrl_alive: pinctrl@10580000 {
229                         compatible = "samsung,exynos7-pinctrl";
230                         reg = <0x10580000 0x1000>;
231
232                         wakeup-interrupt-controller {
233                                 compatible = "samsung,exynos7-wakeup-eint";
234                                 interrupt-parent = <&gic>;
235                                 interrupts = <0 16 0>;
236                         };
237                 };
238
239                 pinctrl_bus0: pinctrl@13470000 {
240                         compatible = "samsung,exynos7-pinctrl";
241                         reg = <0x13470000 0x1000>;
242                         interrupts = <0 383 0>;
243                 };
244
245                 pinctrl_nfc: pinctrl@14cd0000 {
246                         compatible = "samsung,exynos7-pinctrl";
247                         reg = <0x14cd0000 0x1000>;
248                         interrupts = <0 473 0>;
249                 };
250
251                 pinctrl_touch: pinctrl@14ce0000 {
252                         compatible = "samsung,exynos7-pinctrl";
253                         reg = <0x14ce0000 0x1000>;
254                         interrupts = <0 474 0>;
255                 };
256
257                 pinctrl_ff: pinctrl@14c90000 {
258                         compatible = "samsung,exynos7-pinctrl";
259                         reg = <0x14c90000 0x1000>;
260                         interrupts = <0 475 0>;
261                 };
262
263                 pinctrl_ese: pinctrl@14ca0000 {
264                         compatible = "samsung,exynos7-pinctrl";
265                         reg = <0x14ca0000 0x1000>;
266                         interrupts = <0 476 0>;
267                 };
268
269                 pinctrl_fsys0: pinctrl@10e60000 {
270                         compatible = "samsung,exynos7-pinctrl";
271                         reg = <0x10e60000 0x1000>;
272                         interrupts = <0 221 0>;
273                 };
274
275                 pinctrl_fsys1: pinctrl@15690000 {
276                         compatible = "samsung,exynos7-pinctrl";
277                         reg = <0x15690000 0x1000>;
278                         interrupts = <0 203 0>;
279                 };
280
281                 hsi2c_0: hsi2c@13640000 {
282                         compatible = "samsung,exynos7-hsi2c";
283                         reg = <0x13640000 0x1000>;
284                         interrupts = <0 441 0>;
285                         #address-cells = <1>;
286                         #size-cells = <0>;
287                         pinctrl-names = "default";
288                         pinctrl-0 = <&hs_i2c0_bus>;
289                         clocks = <&clock_peric0 PCLK_HSI2C0>;
290                         clock-names = "hsi2c";
291                         status = "disabled";
292                 };
293
294                 hsi2c_1: hsi2c@13650000 {
295                         compatible = "samsung,exynos7-hsi2c";
296                         reg = <0x13650000 0x1000>;
297                         interrupts = <0 442 0>;
298                         #address-cells = <1>;
299                         #size-cells = <0>;
300                         pinctrl-names = "default";
301                         pinctrl-0 = <&hs_i2c1_bus>;
302                         clocks = <&clock_peric0 PCLK_HSI2C1>;
303                         clock-names = "hsi2c";
304                         status = "disabled";
305                 };
306
307                 hsi2c_2: hsi2c@14e60000 {
308                         compatible = "samsung,exynos7-hsi2c";
309                         reg = <0x14e60000 0x1000>;
310                         interrupts = <0 459 0>;
311                         #address-cells = <1>;
312                         #size-cells = <0>;
313                         pinctrl-names = "default";
314                         pinctrl-0 = <&hs_i2c2_bus>;
315                         clocks = <&clock_peric1 PCLK_HSI2C2>;
316                         clock-names = "hsi2c";
317                         status = "disabled";
318                 };
319
320                 hsi2c_3: hsi2c@14e70000 {
321                         compatible = "samsung,exynos7-hsi2c";
322                         reg = <0x14e70000 0x1000>;
323                         interrupts = <0 460 0>;
324                         #address-cells = <1>;
325                         #size-cells = <0>;
326                         pinctrl-names = "default";
327                         pinctrl-0 = <&hs_i2c3_bus>;
328                         clocks = <&clock_peric1 PCLK_HSI2C3>;
329                         clock-names = "hsi2c";
330                         status = "disabled";
331                 };
332
333                 hsi2c_4: hsi2c@13660000 {
334                         compatible = "samsung,exynos7-hsi2c";
335                         reg = <0x13660000 0x1000>;
336                         interrupts = <0 443 0>;
337                         #address-cells = <1>;
338                         #size-cells = <0>;
339                         pinctrl-names = "default";
340                         pinctrl-0 = <&hs_i2c4_bus>;
341                         clocks = <&clock_peric0 PCLK_HSI2C4>;
342                         clock-names = "hsi2c";
343                         status = "disabled";
344                 };
345
346                 hsi2c_5: hsi2c@13670000 {
347                         compatible = "samsung,exynos7-hsi2c";
348                         reg = <0x13670000 0x1000>;
349                         interrupts = <0 444 0>;
350                         #address-cells = <1>;
351                         #size-cells = <0>;
352                         pinctrl-names = "default";
353                         pinctrl-0 = <&hs_i2c5_bus>;
354                         clocks = <&clock_peric0 PCLK_HSI2C5>;
355                         clock-names = "hsi2c";
356                         status = "disabled";
357                 };
358
359                 hsi2c_6: hsi2c@14e00000 {
360                         compatible = "samsung,exynos7-hsi2c";
361                         reg = <0x14e00000 0x1000>;
362                         interrupts = <0 461 0>;
363                         #address-cells = <1>;
364                         #size-cells = <0>;
365                         pinctrl-names = "default";
366                         pinctrl-0 = <&hs_i2c6_bus>;
367                         clocks = <&clock_peric1 PCLK_HSI2C6>;
368                         clock-names = "hsi2c";
369                         status = "disabled";
370                 };
371
372                 hsi2c_7: hsi2c@13e10000 {
373                         compatible = "samsung,exynos7-hsi2c";
374                         reg = <0x13e10000 0x1000>;
375                         interrupts = <0 462 0>;
376                         #address-cells = <1>;
377                         #size-cells = <0>;
378                         pinctrl-names = "default";
379                         pinctrl-0 = <&hs_i2c7_bus>;
380                         clocks = <&clock_peric1 PCLK_HSI2C7>;
381                         clock-names = "hsi2c";
382                         status = "disabled";
383                 };
384
385                 hsi2c_8: hsi2c@14e20000 {
386                         compatible = "samsung,exynos7-hsi2c";
387                         reg = <0x14e20000 0x1000>;
388                         interrupts = <0 463 0>;
389                         #address-cells = <1>;
390                         #size-cells = <0>;
391                         pinctrl-names = "default";
392                         pinctrl-0 = <&hs_i2c8_bus>;
393                         clocks = <&clock_peric1 PCLK_HSI2C8>;
394                         clock-names = "hsi2c";
395                         status = "disabled";
396                 };
397
398                 hsi2c_9: hsi2c@13680000 {
399                         compatible = "samsung,exynos7-hsi2c";
400                         reg = <0x13680000 0x1000>;
401                         interrupts = <0 445 0>;
402                         #address-cells = <1>;
403                         #size-cells = <0>;
404                         pinctrl-names = "default";
405                         pinctrl-0 = <&hs_i2c9_bus>;
406                         clocks = <&clock_peric0 PCLK_HSI2C9>;
407                         clock-names = "hsi2c";
408                         status = "disabled";
409                 };
410
411                 hsi2c_10: hsi2c@13690000 {
412                         compatible = "samsung,exynos7-hsi2c";
413                         reg = <0x13690000 0x1000>;
414                         interrupts = <0 446 0>;
415                         #address-cells = <1>;
416                         #size-cells = <0>;
417                         pinctrl-names = "default";
418                         pinctrl-0 = <&hs_i2c10_bus>;
419                         clocks = <&clock_peric0 PCLK_HSI2C10>;
420                         clock-names = "hsi2c";
421                         status = "disabled";
422                 };
423
424                 hsi2c_11: hsi2c@136a0000 {
425                         compatible = "samsung,exynos7-hsi2c";
426                         reg = <0x136a0000 0x1000>;
427                         interrupts = <0 447 0>;
428                         #address-cells = <1>;
429                         #size-cells = <0>;
430                         pinctrl-names = "default";
431                         pinctrl-0 = <&hs_i2c11_bus>;
432                         clocks = <&clock_peric0 PCLK_HSI2C11>;
433                         clock-names = "hsi2c";
434                         status = "disabled";
435                 };
436
437                 timer {
438                         compatible = "arm,armv8-timer";
439                         interrupts = <1 13 0xff01>,
440                                      <1 14 0xff01>,
441                                      <1 11 0xff01>,
442                                      <1 10 0xff01>;
443                 };
444
445                 pmu_system_controller: system-controller@105c0000 {
446                         compatible = "samsung,exynos7-pmu", "syscon";
447                         reg = <0x105c0000 0x5000>;
448                 };
449
450                 rtc: rtc@10590000 {
451                         compatible = "samsung,s3c6410-rtc";
452                         reg = <0x10590000 0x100>;
453                         interrupts = <0 355 0>, <0 356 0>;
454                         clocks = <&clock_ccore PCLK_RTC>;
455                         clock-names = "rtc";
456                         status = "disabled";
457                 };
458
459                 watchdog: watchdog@101d0000 {
460                         compatible = "samsung,exynos7-wdt";
461                         reg = <0x101d0000 0x100>;
462                         interrupts = <0 110 0>;
463                         clocks = <&clock_peris PCLK_WDT>;
464                         clock-names = "watchdog";
465                         samsung,syscon-phandle = <&pmu_system_controller>;
466                         status = "disabled";
467                 };
468
469                 mmc_0: mmc@15740000 {
470                         compatible = "samsung,exynos7-dw-mshc-smu";
471                         interrupts = <0 201 0>;
472                         #address-cells = <1>;
473                         #size-cells = <0>;
474                         reg = <0x15740000 0x2000>;
475                         clocks = <&clock_fsys1 ACLK_MMC0>,
476                                  <&clock_top1 CLK_SCLK_MMC0>;
477                         clock-names = "biu", "ciu";
478                         fifo-depth = <0x40>;
479                         status = "disabled";
480                 };
481
482                 mmc_1: mmc@15750000 {
483                         compatible = "samsung,exynos7-dw-mshc";
484                         interrupts = <0 202 0>;
485                         #address-cells = <1>;
486                         #size-cells = <0>;
487                         reg = <0x15750000 0x2000>;
488                         clocks = <&clock_fsys1 ACLK_MMC1>,
489                                  <&clock_top1 CLK_SCLK_MMC1>;
490                         clock-names = "biu", "ciu";
491                         fifo-depth = <0x40>;
492                         status = "disabled";
493                 };
494
495                 mmc_2: mmc@15560000 {
496                         compatible = "samsung,exynos7-dw-mshc-smu";
497                         interrupts = <0 216 0>;
498                         #address-cells = <1>;
499                         #size-cells = <0>;
500                         reg = <0x15560000 0x2000>;
501                         clocks = <&clock_fsys0 ACLK_MMC2>,
502                                  <&clock_top1 CLK_SCLK_MMC2>;
503                         clock-names = "biu", "ciu";
504                         fifo-depth = <0x40>;
505                         status = "disabled";
506                 };
507
508                 adc: adc@13620000 {
509                         compatible = "samsung,exynos7-adc";
510                         reg = <0x13620000 0x100>;
511                         interrupts = <0 448 0>;
512                         clocks = <&clock_peric0 PCLK_ADCIF>;
513                         clock-names = "adc";
514                         #io-channel-cells = <1>;
515                         io-channel-ranges;
516                         status = "disabled";
517                 };
518
519                 pwm: pwm@136c0000 {
520                         compatible = "samsung,exynos4210-pwm";
521                         reg = <0x136c0000 0x100>;
522                         samsung,pwm-outputs = <0>, <1>, <2>, <3>;
523                         #pwm-cells = <3>;
524                         clocks = <&clock_peric0 PCLK_PWM>;
525                         clock-names = "timers";
526                 };
527         };
528 };
529
530 #include "exynos7-pinctrl.dtsi"