1256948Sganbold/*-
2263711Sganbold * Copyright (c) 2013 Ganbold Tsagaankhuu <ganbold@freebsd.org>
3256948Sganbold * All rights reserved.
4256948Sganbold *
5256948Sganbold * Redistribution and use in source and binary forms, with or without
6256948Sganbold * modification, are permitted provided that the following conditions
7256948Sganbold * are met:
8256948Sganbold * 1. Redistributions of source code must retain the above copyright
9256948Sganbold *    notice, this list of conditions and the following disclaimer.
10256948Sganbold * 2. Redistributions in binary form must reproduce the above copyright
11256948Sganbold *    notice, this list of conditions and the following disclaimer in the
12256948Sganbold *    documentation and/or other materials provided with the distribution.
13256948Sganbold *
14256948Sganbold * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15256948Sganbold * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16256948Sganbold * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17256948Sganbold * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18256948Sganbold * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19256948Sganbold * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20256948Sganbold * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21256948Sganbold * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22256948Sganbold * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23256948Sganbold * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24256948Sganbold * SUCH DAMAGE.
25256948Sganbold *
26256948Sganbold * $FreeBSD: releng/11.0/sys/boot/fdt/dts/arm/rk3188.dtsi 294424 2016-01-20 13:51:14Z zbb $
27256948Sganbold */
28256948Sganbold
29256948Sganbold/ {
30256948Sganbold	compatible = "rockchip,rk3188";
31256948Sganbold	#address-cells = <1>;
32256948Sganbold	#size-cells = <1>;
33256948Sganbold
34265624Sganbold	interrupt-parent = <&GIC>;
35265624Sganbold
36256948Sganbold	aliases {
37256948Sganbold		soc = &SOC;
38256948Sganbold	};
39256948Sganbold
40256948Sganbold	SOC: rk3188 {
41256948Sganbold		#address-cells = <1>;
42256948Sganbold		#size-cells = <1>;
43256948Sganbold		compatible = "simple-bus";
44256948Sganbold		ranges;
45256948Sganbold		bus-frequency = <0>;
46256948Sganbold
47256948Sganbold		GIC: interrupt-controller@1013d000 {
48256948Sganbold			compatible = "arm,gic";
49256948Sganbold			reg =	<0x1013d000 0x1000>,	/* Distributor Registers */
50256948Sganbold				<0x1013c100 0x0100>;	/* CPU Interface Registers */
51256948Sganbold			interrupt-controller;
52256948Sganbold			#interrupt-cells = <1>;
53256948Sganbold		};
54256948Sganbold
55256948Sganbold		pmu@20004000 {
56256948Sganbold			compatible = "rockchip,rk30xx-pmu";
57256948Sganbold			#address-cells = <1>;
58256948Sganbold			#size-cells = <1>;
59256948Sganbold			reg = <0x20004000 0x100>;
60256948Sganbold		};
61256948Sganbold
62256948Sganbold		grf@20008000 {
63256948Sganbold			compatible = "rockchip,rk30xx-grf";
64256948Sganbold			#address-cells = <1>;
65256948Sganbold			#size-cells = <1>;
66256948Sganbold			reg = < 0x20008000 0x2000 >;
67256948Sganbold		};
68256948Sganbold
69256948Sganbold		mp_tmr@1013c600 {
70256948Sganbold			compatible = "arm,mpcore-timers";
71256948Sganbold			#address-cells = <1>;
72256948Sganbold			#size-cells = <0>;
73256948Sganbold			clock-frequency = < 148500000 >;
74256948Sganbold			reg =	<0x1013c200 0x100>,	/* Global Timer Regs */
75256948Sganbold				<0x1013c600 0x20>;	/* Private Timer Regs */
76256948Sganbold			interrupts = < 27 29 >;
77256948Sganbold			interrupt-parent = <&GIC>;
78256948Sganbold		};
79256948Sganbold
80256948Sganbold		timer@20038000 {
81256948Sganbold			compatible = "rockchip,rk30xx-timer";
82256948Sganbold			reg = <0x20038000 0x20>;
83256948Sganbold			interrupts = <76>;
84258547Sganbold			clock-frequency = <24000000>;
85256948Sganbold			status = "disabled";
86256948Sganbold		};
87256948Sganbold
88256948Sganbold		timer@20038020 {
89256948Sganbold			compatible = "rockchip,rk30xx-timer";
90256948Sganbold			reg = <0x20038020 0x20>;
91256948Sganbold			interrupts = <77>;
92258547Sganbold			clock-frequency = <24000000>;
93256948Sganbold			status = "disabled";
94256948Sganbold		};
95256948Sganbold
96256948Sganbold		timer@20038060 {
97256948Sganbold			compatible = "rockchip,rk30xx-timer";
98256948Sganbold			reg = <0x20038060 0x20>;
99256948Sganbold			interrupts = <91>;
100258547Sganbold			clock-frequency = <24000000>;
101256948Sganbold			status = "disabled";
102256948Sganbold		};
103256948Sganbold
104256948Sganbold		timer@20038080 {
105256948Sganbold			compatible = "rockchip,rk30xx-timer";
106256948Sganbold			reg = <0x20038080 0x20>;
107256948Sganbold			interrupts = <92>;
108258547Sganbold			clock-frequency = <24000000>;
109256948Sganbold			status = "disabled";
110256948Sganbold		};
111256948Sganbold
112256948Sganbold		timer@200380a0 {
113256948Sganbold			compatible = "rockchip,rk30xx-timer";
114256948Sganbold			reg = <0x200380a0 0x20>;
115256948Sganbold			interrupts = <96>;
116258547Sganbold			clock-frequency = <24000000>;
117256948Sganbold			status = "disabled";
118256948Sganbold		};
119256948Sganbold
120256948Sganbold		watchdog@2004c000 {
121256948Sganbold			compatible = "rockchip,rk30xx-wdt";
122256948Sganbold			reg = <0x2004c000 0x100>;
123258547Sganbold			clock-frequency = < 66000000 >;
124256948Sganbold		};
125256948Sganbold
126256948Sganbold		gpio0: gpio@2000a000 {
127256948Sganbold			compatible = "rockchip,rk30xx-gpio";
128256948Sganbold			gpio-controller;
129256948Sganbold			#gpio-cells = <2>;
130256948Sganbold			reg = <0x2000a000 0x100>;
131256948Sganbold			interrupts = <86>;
132256948Sganbold			interrupt-parent = <&GIC>;
133256948Sganbold		};
134256948Sganbold
135256948Sganbold		gpio1: gpio@2003c000 {
136256948Sganbold			compatible = "rockchip,rk30xx-gpio";
137256948Sganbold			gpio-controller;
138256948Sganbold			#gpio-cells = <2>;
139256948Sganbold			reg = <0x2003c000 0x100>;
140256948Sganbold			interrupts = <87>;
141256948Sganbold			interrupt-parent = <&GIC>;
142256948Sganbold		};
143256948Sganbold
144256948Sganbold		gpio2: gpio@2003e000 {
145256948Sganbold			compatible = "rockchip,rk30xx-gpio";
146256948Sganbold			gpio-controller;
147256948Sganbold			#gpio-cells = <2>;
148256948Sganbold			reg = <0x2003e000 0x100>;
149256948Sganbold			interrupts = <88>;
150256948Sganbold			interrupt-parent = <&GIC>;
151256948Sganbold		};
152256948Sganbold
153256948Sganbold		gpio3: gpio@20080000 {
154256948Sganbold			compatible = "rockchip,rk30xx-gpio";
155256948Sganbold			gpio-controller;
156256948Sganbold			#gpio-cells = <2>;
157256948Sganbold			reg = <0x20080000 0x100>;
158256948Sganbold			interrupts = <89>;
159256948Sganbold			interrupt-parent = <&GIC>;
160256948Sganbold		};
161256948Sganbold
162256948Sganbold		usb0: usb@10180000 {
163256948Sganbold			compatible = "synopsys,designware-hs-otg2";
164256948Sganbold			reg = <0x10180000 0x40000>;
165256948Sganbold			interrupts = <48>;
166256948Sganbold			interrupt-parent = <&GIC>;
167256948Sganbold			#address-cells = <1>;
168256948Sganbold			#size-cells = <0>;
169256948Sganbold		};
170256948Sganbold
171256948Sganbold		usb1: usb@101c0000 {
172256948Sganbold			compatible = "synopsys,designware-hs-otg2";
173256948Sganbold			reg = <0x101c0000 0x40000>;
174256948Sganbold			interrupts = < 49 >;
175256948Sganbold			interrupt-parent = <&GIC>;
176256948Sganbold			#address-cells = <1>;
177256948Sganbold			#size-cells = <0>;
178259122Sganbold			gpios = <&gpio0 3 2 2>;
179256948Sganbold		};
180256948Sganbold
181256948Sganbold		uart0: serial@10124000 {
182294424Szbb			compatible = "snps,dw-apb-uart";
183256948Sganbold			reg = <0x10124000 0x400>;
184256948Sganbold			reg-shift = <2>;
185256948Sganbold			interrupts = <66>;
186256948Sganbold			interrupt-parent = <&GIC>;
187256948Sganbold			current-speed = <115200>;
188256948Sganbold			clock-frequency = < 24000000 >;
189256948Sganbold			broken-txfifo = <1>;
190256948Sganbold			status = "disabled";
191256948Sganbold		};
192256948Sganbold
193256948Sganbold		uart1: serial@10126000 {
194294424Szbb			compatible = "snps,dw-apb-uart";
195256948Sganbold			reg = <0x10126000 0x400>;
196256948Sganbold			reg-shift = <2>;
197256948Sganbold			interrupts = <67>;
198256948Sganbold			interrupt-parent = <&GIC>;
199256948Sganbold			current-speed = <115200>;
200256948Sganbold			clock-frequency = < 24000000 >;
201256948Sganbold			broken-txfifo = <1>;
202256948Sganbold			status = "disabled";
203256948Sganbold		};
204256948Sganbold
205256948Sganbold		uart2: serial@20064000 {
206294424Szbb			compatible = "snps,dw-apb-uart";
207256948Sganbold			reg = <0x20064000 0x400>;
208256948Sganbold			reg-shift = <2>;
209256948Sganbold			interrupts = <68>;
210256948Sganbold			interrupt-parent = <&GIC>;
211256948Sganbold			current-speed = <115200>;
212256948Sganbold			clock-frequency = < 24000000 >;
213256948Sganbold			broken-txfifo = <1>;
214256948Sganbold			status = "disabled";
215256948Sganbold		};
216256948Sganbold
217256948Sganbold		uart3: serial@20068000 {
218294424Szbb			compatible = "snps,dw-apb-uart";
219256948Sganbold			reg = <0x20068000 0x400>;
220256948Sganbold			reg-shift = <2>;
221256948Sganbold			interrupts = <69>;
222256948Sganbold			interrupt-parent = <&GIC>;
223256948Sganbold			current-speed = <115200>;
224256948Sganbold			clock-frequency = < 24000000 >;
225256948Sganbold			broken-txfifo = <1>;
226256948Sganbold			status = "disabled";
227256948Sganbold		};
228256948Sganbold
229256948Sganbold		mmc@10214000 {
230277413Sganbold			compatible = "rockchip,rk2928-dw-mshc";
231256948Sganbold			reg = <0x10214000 0x1000>;
232256948Sganbold			interrupts = <55>;
233256948Sganbold			#address-cells = <1>;
234256948Sganbold			#size-cells = <0>;
235277413Sganbold			bus-frequency = <48000000>;	/* TODO: verify freq */
236277413Sganbold			fifo-depth = <0x40>;
237277413Sganbold			num-slots = <1>;
238256948Sganbold			status = "disabled";
239256948Sganbold		};
240256948Sganbold
241256948Sganbold		mmc@10218000 {
242277413Sganbold			compatible = "rockchip,rk2928-dw-mshc";
243256948Sganbold			reg = <0x10218000 0x1000>;
244256948Sganbold			interrupts = <56>;
245256948Sganbold			#address-cells = <1>;
246256948Sganbold			#size-cells = <0>;
247277413Sganbold			bus-frequency = <48000000>;	/* TODO: verify freq */
248277413Sganbold			fifo-depth = <0x40>;
249277413Sganbold			num-slots = <1>;
250256948Sganbold			status = "disabled";
251256948Sganbold		};
252256948Sganbold	};
253256948Sganbold};
254256948Sganbold
255