]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - sys/boot/fdt/dts/arm/rk3188.dtsi
MFC 263631, 263637, 263664, 263676, 263679, 263698, 263711,
[FreeBSD/stable/10.git] / sys / boot / fdt / dts / arm / rk3188.dtsi
1 /*-
2  * Copyright (c) 2013 Ganbold Tsagaankhuu <ganbold@freebsd.org>
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 = "rockchip,rk3188";
31         #address-cells = <1>;
32         #size-cells = <1>;
33
34         aliases {
35                 soc = &SOC;
36         };
37
38         SOC: rk3188 {
39                 #address-cells = <1>;
40                 #size-cells = <1>;
41                 compatible = "simple-bus";
42                 ranges;
43                 bus-frequency = <0>;
44
45                 GIC: interrupt-controller@1013d000 {
46                         compatible = "arm,gic";
47                         reg =   <0x1013d000 0x1000>,    /* Distributor Registers */
48                                 <0x1013c100 0x0100>;    /* CPU Interface Registers */
49                         interrupt-controller;
50                         #interrupt-cells = <1>;
51                 };
52
53                 pmu@20004000 {
54                         compatible = "rockchip,rk30xx-pmu";
55                         #address-cells = <1>;
56                         #size-cells = <1>;
57                         reg = <0x20004000 0x100>;
58                 };
59
60                 grf@20008000 {
61                         compatible = "rockchip,rk30xx-grf";
62                         #address-cells = <1>;
63                         #size-cells = <1>;
64                         reg = < 0x20008000 0x2000 >;
65                 };
66
67                 mp_tmr@1013c600 {
68                         compatible = "arm,mpcore-timers";
69                         #address-cells = <1>;
70                         #size-cells = <0>;
71                         clock-frequency = < 148500000 >;
72                         reg =   <0x1013c200 0x100>,     /* Global Timer Regs */
73                                 <0x1013c600 0x20>;      /* Private Timer Regs */
74                         interrupts = < 27 29 >;
75                         interrupt-parent = <&GIC>;
76                 };
77
78                 timer@20038000 {
79                         compatible = "rockchip,rk30xx-timer";
80                         reg = <0x20038000 0x20>;
81                         interrupts = <76>;
82                         clock-frequency = <24000000>;
83                         status = "disabled";
84                 };
85
86                 timer@20038020 {
87                         compatible = "rockchip,rk30xx-timer";
88                         reg = <0x20038020 0x20>;
89                         interrupts = <77>;
90                         clock-frequency = <24000000>;
91                         status = "disabled";
92                 };
93
94                 timer@20038060 {
95                         compatible = "rockchip,rk30xx-timer";
96                         reg = <0x20038060 0x20>;
97                         interrupts = <91>;
98                         clock-frequency = <24000000>;
99                         status = "disabled";
100                 };
101
102                 timer@20038080 {
103                         compatible = "rockchip,rk30xx-timer";
104                         reg = <0x20038080 0x20>;
105                         interrupts = <92>;
106                         clock-frequency = <24000000>;
107                         status = "disabled";
108                 };
109
110                 timer@200380a0 {
111                         compatible = "rockchip,rk30xx-timer";
112                         reg = <0x200380a0 0x20>;
113                         interrupts = <96>;
114                         clock-frequency = <24000000>;
115                         status = "disabled";
116                 };
117
118                 watchdog@2004c000 {
119                         compatible = "rockchip,rk30xx-wdt";
120                         reg = <0x2004c000 0x100>;
121                         clock-frequency = < 66000000 >;
122                 };
123
124                 gpio0: gpio@2000a000 {
125                         compatible = "rockchip,rk30xx-gpio";
126                         gpio-controller;
127                         #gpio-cells = <2>;
128                         reg = <0x2000a000 0x100>;
129                         interrupts = <86>;
130                         interrupt-parent = <&GIC>;
131                 };
132
133                 gpio1: gpio@2003c000 {
134                         compatible = "rockchip,rk30xx-gpio";
135                         gpio-controller;
136                         #gpio-cells = <2>;
137                         reg = <0x2003c000 0x100>;
138                         interrupts = <87>;
139                         interrupt-parent = <&GIC>;
140                 };
141
142                 gpio2: gpio@2003e000 {
143                         compatible = "rockchip,rk30xx-gpio";
144                         gpio-controller;
145                         #gpio-cells = <2>;
146                         reg = <0x2003e000 0x100>;
147                         interrupts = <88>;
148                         interrupt-parent = <&GIC>;
149                 };
150
151                 gpio3: gpio@20080000 {
152                         compatible = "rockchip,rk30xx-gpio";
153                         gpio-controller;
154                         #gpio-cells = <2>;
155                         reg = <0x20080000 0x100>;
156                         interrupts = <89>;
157                         interrupt-parent = <&GIC>;
158                 };
159
160                 usb0: usb@10180000 {
161                         compatible = "synopsys,designware-hs-otg2";
162                         reg = <0x10180000 0x40000>;
163                         interrupts = <48>;
164                         interrupt-parent = <&GIC>;
165                         #address-cells = <1>;
166                         #size-cells = <0>;
167                 };
168
169                 usb1: usb@101c0000 {
170                         compatible = "synopsys,designware-hs-otg2";
171                         reg = <0x101c0000 0x40000>;
172                         interrupts = < 49 >;
173                         interrupt-parent = <&GIC>;
174                         #address-cells = <1>;
175                         #size-cells = <0>;
176                         gpios = <&gpio0 3 2 2>;
177                 };
178
179                 uart0: serial@10124000 {
180                         compatible = "ns16550";
181                         reg = <0x10124000 0x400>;
182                         reg-shift = <2>;
183                         interrupts = <66>;
184                         interrupt-parent = <&GIC>;
185                         current-speed = <115200>;
186                         clock-frequency = < 24000000 >;
187                         busy-detect = <1>;
188                         broken-txfifo = <1>;
189                         status = "disabled";
190                 };
191
192                 uart1: serial@10126000 {
193                         compatible = "ns16550";
194                         reg = <0x10126000 0x400>;
195                         reg-shift = <2>;
196                         interrupts = <67>;
197                         interrupt-parent = <&GIC>;
198                         current-speed = <115200>;
199                         clock-frequency = < 24000000 >;
200                         busy-detect = <1>;
201                         broken-txfifo = <1>;
202                         status = "disabled";
203                 };
204
205                 uart2: serial@20064000 {
206                         compatible = "ns16550";
207                         reg = <0x20064000 0x400>;
208                         reg-shift = <2>;
209                         interrupts = <68>;
210                         interrupt-parent = <&GIC>;
211                         current-speed = <115200>;
212                         clock-frequency = < 24000000 >;
213                         busy-detect = <1>;
214                         broken-txfifo = <1>;
215                         status = "disabled";
216                 };
217
218                 uart3: serial@20068000 {
219                         compatible = "ns16550";
220                         reg = <0x20068000 0x400>;
221                         reg-shift = <2>;
222                         interrupts = <69>;
223                         interrupt-parent = <&GIC>;
224                         current-speed = <115200>;
225                         clock-frequency = < 24000000 >;
226                         busy-detect = <1>;
227                         broken-txfifo = <1>;
228                         status = "disabled";
229                 };
230
231                 mmc@10214000 {
232                         compatible = "rockchip,rk30xx-mmc";
233                         reg = <0x10214000 0x1000>;
234                         interrupts = <55>;
235                         #address-cells = <1>;
236                         #size-cells = <0>;
237                         clock-frequency = <24000000>;   /* TODO: verify freq */
238                         status = "disabled";
239                 };
240
241                 mmc@10218000 {
242                         compatible = "rockchip,rk30xx-mmc";
243                         reg = <0x10218000 0x1000>;
244                         interrupts = <56>;
245                         #address-cells = <1>;
246                         #size-cells = <0>;
247                         clock-frequency = <24000000>;   /* TODO: verify freq */
248                         status = "disabled";
249                 };
250         };
251 };
252