Merge tag 'exynos-dt-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / exynos5440.dtsi
1 /*
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
19         clock: clock-controller@0x160000 {
20                 compatible = "samsung,exynos5440-clock";
21                 reg = <0x160000 0x1000>;
22                 #clock-cells = <1>;
23         };
24
25         gic:interrupt-controller@2E0000 {
26                 compatible = "arm,cortex-a15-gic";
27                 #interrupt-cells = <3>;
28                 interrupt-controller;
29                 reg =   <0x2E1000 0x1000>,
30                         <0x2E2000 0x1000>,
31                         <0x2E4000 0x2000>,
32                         <0x2E6000 0x2000>;
33                 interrupts = <1 9 0xf04>;
34         };
35
36         cpus {
37                 #address-cells = <1>;
38                 #size-cells = <0>;
39
40                 cpu@0 {
41                         device_type = "cpu";
42                         compatible = "arm,cortex-a15";
43                         reg = <0>;
44                 };
45                 cpu@1 {
46                         device_type = "cpu";
47                         compatible = "arm,cortex-a15";
48                         reg = <1>;
49                 };
50                 cpu@2 {
51                         device_type = "cpu";
52                         compatible = "arm,cortex-a15";
53                         reg = <2>;
54                 };
55                 cpu@3 {
56                         device_type = "cpu";
57                         compatible = "arm,cortex-a15";
58                         reg = <3>;
59                 };
60         };
61
62         arm-pmu {
63                 compatible = "arm,cortex-a15-pmu", "arm,cortex-a9-pmu";
64                 interrupts = <0 52 4>,
65                              <0 53 4>,
66                              <0 54 4>,
67                              <0 55 4>;
68         };
69
70         timer {
71                 compatible = "arm,cortex-a15-timer",
72                              "arm,armv7-timer";
73                 interrupts = <1 13 0xf08>,
74                              <1 14 0xf08>,
75                              <1 11 0xf08>,
76                              <1 10 0xf08>;
77                 clock-frequency = <50000000>;
78         };
79
80         cpufreq@160000 {
81                 compatible = "samsung,exynos5440-cpufreq";
82                 reg = <0x160000 0x1000>;
83                 interrupts = <0 57 0>;
84                 operating-points = <
85                                 /* KHz    uV */
86                                 1200000 1025000
87                                 1000000 975000
88                                 800000  925000
89                 >;
90         };
91
92         serial@B0000 {
93                 compatible = "samsung,exynos4210-uart";
94                 reg = <0xB0000 0x1000>;
95                 interrupts = <0 2 0>;
96                 clocks = <&clock 21>, <&clock 21>;
97                 clock-names = "uart", "clk_uart_baud0";
98         };
99
100         serial@C0000 {
101                 compatible = "samsung,exynos4210-uart";
102                 reg = <0xC0000 0x1000>;
103                 interrupts = <0 3 0>;
104                 clocks = <&clock 21>, <&clock 21>;
105                 clock-names = "uart", "clk_uart_baud0";
106         };
107
108         spi {
109                 compatible = "samsung,exynos4210-spi";
110                 reg = <0xD0000 0x1000>;
111                 interrupts = <0 4 0>;
112                 tx-dma-channel = <&pdma0 5>; /* preliminary */
113                 rx-dma-channel = <&pdma0 4>; /* preliminary */
114                 #address-cells = <1>;
115                 #size-cells = <0>;
116                 clocks = <&clock 21>, <&clock 16>;
117                 clock-names = "spi", "spi_busclk0";
118         };
119
120         pinctrl {
121                 compatible = "samsung,exynos5440-pinctrl";
122                 reg = <0xE0000 0x1000>;
123                 interrupts = <0 37 0>, <0 38 0>, <0 39 0>, <0 40 0>,
124                              <0 41 0>, <0 42 0>, <0 43 0>, <0 44 0>;
125                 interrupt-controller;
126                 #interrupt-cells = <2>;
127                 #gpio-cells = <2>;
128
129                 fan: fan {
130                         samsung,exynos5440-pin-function = <1>;
131                 };
132
133                 hdd_led0: hdd_led0 {
134                         samsung,exynos5440-pin-function = <2>;
135                 };
136
137                 hdd_led1: hdd_led1 {
138                         samsung,exynos5440-pin-function = <3>;
139                 };
140
141                 uart1: uart1 {
142                         samsung,exynos5440-pin-function = <4>;
143                 };
144         };
145
146         i2c@F0000 {
147                 compatible = "samsung,exynos5440-i2c";
148                 reg = <0xF0000 0x1000>;
149                 interrupts = <0 5 0>;
150                 #address-cells = <1>;
151                 #size-cells = <0>;
152                 clocks = <&clock 21>;
153                 clock-names = "i2c";
154         };
155
156         i2c@100000 {
157                 compatible = "samsung,exynos5440-i2c";
158                 reg = <0x100000 0x1000>;
159                 interrupts = <0 6 0>;
160                 #address-cells = <1>;
161                 #size-cells = <0>;
162                 clocks = <&clock 21>;
163                 clock-names = "i2c";
164         };
165
166         watchdog {
167                 compatible = "samsung,s3c2410-wdt";
168                 reg = <0x110000 0x1000>;
169                 interrupts = <0 1 0>;
170                 clocks = <&clock 21>;
171                 clock-names = "watchdog";
172         };
173
174         gmac: ethernet@00230000 {
175                 compatible = "snps,dwmac-3.70a";
176                 reg = <0x00230000 0x8000>;
177                 interrupt-parent = <&gic>;
178                 interrupts = <0 31 4>;
179                 interrupt-names = "macirq";
180                 phy-mode = "sgmii";
181                 clocks = <&clock 25>;
182                 clock-names = "stmmaceth";
183         };
184
185         amba {
186                 #address-cells = <1>;
187                 #size-cells = <1>;
188                 compatible = "arm,amba-bus";
189                 interrupt-parent = <&gic>;
190                 ranges;
191
192                 pdma0: pdma@00121000 {
193                         compatible = "arm,pl330", "arm,primecell";
194                         reg = <0x121000 0x1000>;
195                         interrupts = <0 46 0>;
196                         clocks = <&clock 8>;
197                         clock-names = "apb_pclk";
198                         #dma-cells = <1>;
199                         #dma-channels = <8>;
200                         #dma-requests = <32>;
201                 };
202
203                 pdma1: pdma@00120000 {
204                         compatible = "arm,pl330", "arm,primecell";
205                         reg = <0x120000 0x1000>;
206                         interrupts = <0 47 0>;
207                         clocks = <&clock 8>;
208                         clock-names = "apb_pclk";
209                         #dma-cells = <1>;
210                         #dma-channels = <8>;
211                         #dma-requests = <32>;
212                 };
213         };
214
215         rtc {
216                 compatible = "samsung,s3c6410-rtc";
217                 reg = <0x130000 0x1000>;
218                 interrupts = <0 17 0>, <0 16 0>;
219                 clocks = <&clock 21>;
220                 clock-names = "rtc";
221         };
222
223         sata@210000 {
224                 compatible = "snps,exynos5440-ahci";
225                 reg = <0x210000 0x10000>;
226                 interrupts = <0 30 0>;
227                 clocks = <&clock 23>;
228                 clock-names = "sata";
229         };
230
231         ohci@220000 {
232                 compatible = "samsung,exynos5440-ohci";
233                 reg = <0x220000 0x1000>;
234                 interrupts = <0 29 0>;
235                 clocks = <&clock 24>;
236                 clock-names = "usbhost";
237         };
238
239         ehci@221000 {
240                 compatible = "samsung,exynos5440-ehci";
241                 reg = <0x221000 0x1000>;
242                 interrupts = <0 29 0>;
243                 clocks = <&clock 24>;
244                 clock-names = "usbhost";
245         };
246 };