]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/dts/arm/exynos5.dtsi
MFV: r335802
[FreeBSD/FreeBSD.git] / sys / dts / arm / exynos5.dtsi
1 /*-
2  * Copyright (c) 2013-2014 Ruslan Bukin <br@bsdpad.com>
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  *    notice, this list of conditions and the following disclaimer in the
12  *    documentation and/or other materials provided with the distribution.
13  *
14  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24  * SUCH DAMAGE.
25  *
26  * $FreeBSD$
27  */
28
29 / {
30         compatible = "samsung,exynos5";
31         #address-cells = <1>;
32         #size-cells = <1>;
33         interrupt-parent = <&GIC>;
34
35         aliases {
36                 soc = &SOC;
37                 serial0 = &serial0;
38                 serial1 = &serial1;
39                 serial2 = &serial2;
40                 serial3 = &serial3;
41                 clk0 = &clk0;
42                 dp0 = &dp0;
43                 fimd0 = &fimd0;
44         };
45
46         SOC: Exynos5@0 {
47                 #address-cells = <1>;
48                 #size-cells = <1>;
49                 compatible = "simple-bus";
50                 ranges;
51                 bus-frequency = <0>;
52
53                 pmu_system_controller: system-controller@10040000 {
54                         reg = <0x10040000 0x5000>;
55                         status = "disabled";
56                 };
57
58                 GIC: interrupt-controller@10481000 {
59                         compatible = "arm,gic";
60                         reg =   < 0x10481000 0x1000 >,  /* Distributor Registers */
61                                 < 0x10482000 0x2000 >;  /* CPU Interface Registers */
62                         interrupt-controller;
63                         #address-cells = <0>;
64                         #interrupt-cells = <1>;
65                 };
66
67                 combiner: interrupt-controller@10440000 {
68                         compatible = "exynos,combiner";
69                         reg = <0x10440000 0x1000>;
70                         interrupts = < 32 33 34 35 36 37 38 39
71                                        40 41 42 43 44 45 46 47
72                                        48 49 50 51 52 53 54 55
73                                        56 57 58 59 60 61 62 63 >;
74                         interrupt-parent = <&GIC>;
75                 };
76
77                 clk0: clk@10010000 {
78                         compatible = "exynos,clk";
79                         reg = < 0x10020000 0x20000 >;
80                 };
81
82                 mct {
83                         compatible = "exynos,mct";
84                         reg = < 0x101C0000 0x1000 >;
85                         clock-frequency = <24000000>;
86                 };
87
88                 generic_timer {
89                         compatible = "arm,armv7-timer";
90                         clock-frequency = <24000000>;
91                         interrupts = < 29 30 27 26 >;
92                         interrupt-parent = <&GIC>;
93                 };
94
95                 pwm {
96                         compatible = "samsung,s3c24x0-timer";
97                         reg = <0x12DD0000 0x1000>;
98                         interrupts = < 71 >;
99                         interrupt-parent = <&GIC>;
100                         clock-frequency = <24000000>;
101                 };
102
103                 pad0: pad@11400000 {
104                         status = "disabled";
105                 };
106
107                 usbdrd_phy0: phy@12100000 {
108                         compatible = "samsung,exynos5420-usbdrd-phy";
109                         status = "disabled";
110                         reg = <0x12100000 0x100>;
111                         samsung,pmu-syscon = <&pmu_system_controller>;
112                 };
113
114                 usbdrd_phy1: phy@12500000 {
115                         compatible = "samsung,exynos5420-usbdrd-phy";
116                         status = "disabled";
117                         reg = <0x12500000 0x100>;
118                         samsung,pmu-syscon = <&pmu_system_controller>;
119                 };
120
121                 xhci@12000000 {
122                         compatible = "samsung,exynos5250-dwusb3";
123                         status = "disabled";
124                         reg = <0x12000000 0x1000>,
125                               <0x1200c100 0x1000>;
126                         interrupts = < 104 >;
127                         interrupt-parent = <&GIC>;
128                 };
129
130                 xhci@12400000 {
131                         compatible = "samsung,exynos5250-dwusb3";
132                         status = "disabled";
133                         reg = <0x12400000 0x1000>,
134                               <0x1240c100 0x1000>;
135                         interrupts = < 105 >;
136                         interrupt-parent = <&GIC>;
137                 };
138
139                 usb@12110000 {
140                         compatible = "exynos,usb-ehci", "usb-ehci";
141                         status = "disabled";
142                         reg = <0x12110000 0x1000>, /* EHCI */
143                               <0x12130000 0x1000>, /* EHCI host ctrl */
144                               <0x10050230 0x10>; /* Sysreg */
145                         interrupts = < 103 >;
146                         interrupt-parent = <&GIC>;
147                 };
148
149                 usb@12120000 {
150                         compatible = "exynos,usb-ohci", "usb-ohci";
151                         status = "disabled";
152                         reg = <0x12120000 0x10000>;
153                         interrupts = < 103 >;
154                         interrupt-parent = <&GIC>;
155                 };
156
157                 sdhci@12200000 {
158                         compatible = "sdhci_generic";
159                         status = "disabled";
160                         reg = <0x12200000 0x1000>;
161                         interrupts = <107>;
162                         interrupt-parent = <&GIC>;
163                         max-frequency = <24000000>; /* TODO: verify freq */
164                 };
165
166                 sdhci@12210000 {
167                         compatible = "sdhci_generic";
168                         status = "disabled";
169                         reg = <0x12210000 0x1000>;
170                         interrupts = <108>;
171                         interrupt-parent = <&GIC>;
172                         max-frequency = <24000000>;
173                 };
174
175                 sdhci@12220000 {
176                         compatible = "sdhci_generic";
177                         status = "disabled";
178                         reg = <0x12220000 0x1000>;
179                         interrupts = <109>;
180                         interrupt-parent = <&GIC>;
181                         max-frequency = <24000000>;
182                 };
183
184                 sdhci@12230000 {
185                         compatible = "sdhci_generic";
186                         status = "disabled";
187                         reg = <0x12230000 0x1000>;
188                         interrupts = <110>;
189                         interrupt-parent = <&GIC>;
190                         max-frequency = <24000000>;
191                 };
192
193                 serial0: serial@12C00000 {
194                         compatible = "exynos";
195                         status = "disabled";
196                         reg = <0x12C00000 0x100>;
197                         interrupts = < 83 >;
198                         interrupt-parent = <&GIC>;
199                         clock-frequency = < 100000000 >;
200                         current-speed = <115200>;
201                 };
202
203                 serial1: serial@12C10000 {
204                         compatible = "exynos";
205                         status = "disabled";
206                         reg = <0x12C10000 0x100>;
207                         interrupts = < 84 >;
208                         interrupt-parent = <&GIC>;
209                         clock-frequency = < 100000000 >;
210                         current-speed = <115200>;
211                 };
212
213                 serial2: serial@12C20000 {
214                         compatible = "exynos";
215                         status = "disabled";
216                         reg = <0x12C20000 0x100>;
217                         interrupts = < 85 >;
218                         interrupt-parent = <&GIC>;
219                         clock-frequency = < 100000000 >;
220                         current-speed = <115200>;
221                 };
222
223                 serial3: serial@12C30000 {
224                         compatible = "exynos";
225                         status = "disabled";
226                         reg = <0x12C30000 0x100>;
227                         interrupts = < 86 >;
228                         interrupt-parent = <&GIC>;
229                         clock-frequency = < 100000000 >;
230                         current-speed = <115200>;
231                 };
232
233                 spi0: spi@12d20000 {
234                         compatible = "samsung,exynos5-spi";
235                         status = "disabled";
236                         reg = <0x12d20000 0x100>;
237                         interrupts = < 100 >;
238                         interrupt-parent = <&GIC>;
239                 };
240
241                 spi1: spi@12d30000 {
242                         compatible = "samsung,exynos5-spi";
243                         status = "disabled";
244                         reg = <0x12d30000 0x100>;
245                         interrupts = < 101 >;
246                         interrupt-parent = <&GIC>;
247                 };
248
249                 spi2: spi@12d40000 {
250                         compatible = "samsung,exynos5-spi";
251                         status = "disabled";
252                         reg = <0x12d40000 0x100>;
253                         interrupts = < 102 >;
254                         interrupt-parent = <&GIC>;
255                 };
256
257                 i2c0: i2c@12C60000 {
258                         compatible = "exynos,i2c";
259                         status = "disabled";
260                         reg = <0x12C60000 0x10000>;
261                         interrupts = < 88 >;
262                         interrupt-parent = <&GIC>;
263                 };
264
265                 i2c1: i2c@12C70000 {
266                         compatible = "exynos,i2c";
267                         status = "disabled";
268                         reg = <0x12C70000 0x10000>;
269                         interrupts = < 89 >;
270                         interrupt-parent = <&GIC>;
271                 };
272
273                 i2c2: i2c@12C80000 {
274                         compatible = "exynos,i2c";
275                         status = "disabled";
276                         reg = <0x12C80000 0x10000>;
277                         interrupts = < 90 >;
278                         interrupt-parent = <&GIC>;
279                 };
280
281                 i2c3: i2c@12C90000 {
282                         compatible = "exynos,i2c";
283                         status = "disabled";
284                         reg = <0x12C90000 0x10000>;
285                         interrupts = < 91 >;
286                         interrupt-parent = <&GIC>;
287                 };
288
289                 i2c4: i2c@12CA0000 {
290                         compatible = "exynos,i2c";
291                         status = "disabled";
292                         reg = <0x12CA0000 0x10000>;
293                         interrupts = < 92 >;
294                         interrupt-parent = <&GIC>;
295                 };
296
297                 i2c5: i2c@12CB0000 {
298                         compatible = "exynos,i2c";
299                         status = "disabled";
300                         reg = <0x12CB0000 0x10000>;
301                         interrupts = < 93 >;
302                         interrupt-parent = <&GIC>;
303                 };
304
305                 i2c6: i2c@12CC0000 {
306                         compatible = "exynos,i2c";
307                         status = "disabled";
308                         reg = <0x12CC0000 0x10000>;
309                         interrupts = < 94 >;
310                         interrupt-parent = <&GIC>;
311                 };
312
313                 i2c7: i2c@12CD0000 {
314                         compatible = "exynos,i2c";
315                         status = "disabled";
316                         reg = <0x12CD0000 0x10000>;
317                         interrupts = < 95 >;
318                         interrupt-parent = <&GIC>;
319                 };
320
321                 fimd0: fimd@14400000 {
322                         compatible = "exynos,fimd";
323                         status = "disabled";
324                         reg = < 0x14400000 0x10000 >, /* fimd */
325                               < 0x14420000 0x10000 >, /* disp */
326                               < 0x10050000 0x220 >; /* sysreg */
327                         interrupt-parent = <&GIC>;
328                 };
329
330                 dp0: dp@145B0000 {
331                         compatible = "exynos,dp";
332                         status = "disabled";
333                         reg = < 0x145B0000 0x10000 >;
334                         interrupt-parent = <&GIC>;
335                 };
336         };
337 };