1256948Sganbold/*-
2266337Sian * 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/10.3/sys/boot/fdt/dts/arm/rk3188.dtsi 266397 2014-05-18 13:05:07Z ian $
27256948Sganbold */
28256948Sganbold
29256948Sganbold/ {
30256948Sganbold	compatible = "rockchip,rk3188";
31256948Sganbold	#address-cells = <1>;
32256948Sganbold	#size-cells = <1>;
33256948Sganbold
34266397Sian	interrupt-parent = <&GIC>;
35266397Sian
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 {
182256948Sganbold			compatible = "ns16550";
183256948Sganbold			reg = <0x10124000 0x400>;
184256948Sganbold			reg-shift = <2>;
185256948Sganbold			interrupts = <66>;
186256948Sganbold			interrupt-parent = <&GIC>;
187256948Sganbold			current-speed = <115200>;
188256948Sganbold			clock-frequency = < 24000000 >;
189256948Sganbold			busy-detect = <1>;
190256948Sganbold			broken-txfifo = <1>;
191256948Sganbold			status = "disabled";
192256948Sganbold		};
193256948Sganbold
194256948Sganbold		uart1: serial@10126000 {
195256948Sganbold			compatible = "ns16550";
196256948Sganbold			reg = <0x10126000 0x400>;
197256948Sganbold			reg-shift = <2>;
198256948Sganbold			interrupts = <67>;
199256948Sganbold			interrupt-parent = <&GIC>;
200256948Sganbold			current-speed = <115200>;
201256948Sganbold			clock-frequency = < 24000000 >;
202256948Sganbold			busy-detect = <1>;
203256948Sganbold			broken-txfifo = <1>;
204256948Sganbold			status = "disabled";
205256948Sganbold		};
206256948Sganbold
207256948Sganbold		uart2: serial@20064000 {
208256948Sganbold			compatible = "ns16550";
209256948Sganbold			reg = <0x20064000 0x400>;
210256948Sganbold			reg-shift = <2>;
211256948Sganbold			interrupts = <68>;
212256948Sganbold			interrupt-parent = <&GIC>;
213256948Sganbold			current-speed = <115200>;
214256948Sganbold			clock-frequency = < 24000000 >;
215256948Sganbold			busy-detect = <1>;
216256948Sganbold			broken-txfifo = <1>;
217256948Sganbold			status = "disabled";
218256948Sganbold		};
219256948Sganbold
220256948Sganbold		uart3: serial@20068000 {
221256948Sganbold			compatible = "ns16550";
222256948Sganbold			reg = <0x20068000 0x400>;
223256948Sganbold			reg-shift = <2>;
224256948Sganbold			interrupts = <69>;
225256948Sganbold			interrupt-parent = <&GIC>;
226256948Sganbold			current-speed = <115200>;
227256948Sganbold			clock-frequency = < 24000000 >;
228256948Sganbold			busy-detect = <1>;
229256948Sganbold			broken-txfifo = <1>;
230256948Sganbold			status = "disabled";
231256948Sganbold		};
232256948Sganbold
233256948Sganbold		mmc@10214000 {
234256948Sganbold			compatible = "rockchip,rk30xx-mmc";
235256948Sganbold			reg = <0x10214000 0x1000>;
236256948Sganbold			interrupts = <55>;
237256948Sganbold			#address-cells = <1>;
238256948Sganbold			#size-cells = <0>;
239258547Sganbold			clock-frequency = <24000000>;	/* TODO: verify freq */
240256948Sganbold			status = "disabled";
241256948Sganbold		};
242256948Sganbold
243256948Sganbold		mmc@10218000 {
244256948Sganbold			compatible = "rockchip,rk30xx-mmc";
245256948Sganbold			reg = <0x10218000 0x1000>;
246256948Sganbold			interrupts = <56>;
247256948Sganbold			#address-cells = <1>;
248256948Sganbold			#size-cells = <0>;
249258547Sganbold			clock-frequency = <24000000>;	/* TODO: verify freq */
250256948Sganbold			status = "disabled";
251256948Sganbold		};
252256948Sganbold	};
253256948Sganbold};
254256948Sganbold
255