1249774Sgonzo/*-
2249774Sgonzo * Copyright (c) 2012 Damjan Marion <dmarion@Freebsd.org>
3249774Sgonzo * All rights reserved.
4249774Sgonzo *
5249774Sgonzo * Redistribution and use in source and binary forms, with or without
6249774Sgonzo * modification, are permitted provided that the following conditions
7249774Sgonzo * are met:
8249774Sgonzo * 1. Redistributions of source code must retain the above copyright
9249774Sgonzo *    notice, this list of conditions and the following disclaimer.
10249774Sgonzo * 2. Redistributions in binary form must reproduce the above copyright
11249774Sgonzo *    notice, this list of conditions and the following disclaimer in the
12249774Sgonzo *    documentation and/or other materials provided with the distribution.
13249774Sgonzo *
14249774Sgonzo * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15249774Sgonzo * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16249774Sgonzo * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17249774Sgonzo * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18249774Sgonzo * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19249774Sgonzo * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20249774Sgonzo * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21249774Sgonzo * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22249774Sgonzo * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23249774Sgonzo * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24249774Sgonzo * SUCH DAMAGE.
25249774Sgonzo * 
26249774Sgonzo * $FreeBSD: releng/10.2/sys/boot/fdt/dts/arm/am335x.dtsi 278079 2015-02-02 12:48:13Z loos $
27249774Sgonzo */
28249774Sgonzo
29249774Sgonzo/ {
30249774Sgonzo	#address-cells = <1>;
31249774Sgonzo	#size-cells = <1>;
32249774Sgonzo
33249774Sgonzo	interrupt-parent = <&AINTC>;
34249774Sgonzo
35249774Sgonzo	SOC: am335x {
36249774Sgonzo		#address-cells = <1>;
37249774Sgonzo		#size-cells = <1>;
38249774Sgonzo		compatible = "simple-bus";
39249774Sgonzo		ranges;
40249774Sgonzo		bus-frequency = <0>;
41249774Sgonzo
42249774Sgonzo		AINTC: interrupt-controller@48200000 {
43249774Sgonzo			compatible = "ti,aintc";
44249774Sgonzo			interrupt-controller;
45249774Sgonzo			#address-cells = <0>;
46249774Sgonzo			#interrupt-cells = <1>;
47249774Sgonzo			reg =	< 0x48200000 0x1000 >;
48249774Sgonzo		};
49249774Sgonzo
50249774Sgonzo		scm@44e10000 {
51249774Sgonzo			compatible = "ti,scm";
52249774Sgonzo			reg =	< 0x44e10000 0x2000 >;
53249774Sgonzo		};
54249774Sgonzo
55249774Sgonzo		prcm@44E00000 {
56249774Sgonzo			compatible = "am335x,prcm";
57249774Sgonzo			#address-cells = <1>;
58249774Sgonzo			#size-cells = <1>;
59249774Sgonzo			reg = < 0x44E00000 0x1300 >;
60249774Sgonzo		};
61249774Sgonzo
62249774Sgonzo		dmtimers@44E05000 {
63249774Sgonzo			compatible = "ti,am335x-dmtimer";
64249774Sgonzo			#address-cells = <1>;
65249774Sgonzo			#size-cells = <1>;
66249774Sgonzo			reg =	< 0x44E05000 0x1000
67249774Sgonzo				  0x44E31000 0x1000
68249774Sgonzo				  0x48040000 0x1000
69249774Sgonzo				  0x48042000 0x1000
70249774Sgonzo				  0x48044000 0x1000
71249774Sgonzo				  0x48046000 0x1000
72249774Sgonzo				  0x48048000 0x1000
73249774Sgonzo				  0x4804A000 0x1000 >;
74249774Sgonzo			interrupts = < 66 67 68 69 92 93 94 95 >;
75249774Sgonzo			interrupt-parent = <&AINTC>;
76249774Sgonzo		};
77249774Sgonzo
78278079Sloos		rtc: rtc@44E3E000 {
79278079Sloos			compatible = "ti,da830-rtc";
80278079Sloos			reg = <0x44E3E000 0x1000>;
81278079Sloos			interrupts = < 75 76 >;
82278079Sloos			interrupt-parent = <&AINTC>;
83278079Sloos		};
84278079Sloos
85266338Sloos		adc0: adc@44E0D000 {
86266338Sloos			compatible = "ti,adc";
87266338Sloos			reg = <0x44E0D000 0x2000>;
88266338Sloos			interrupts = < 16 >;
89266338Sloos			interrupt-parent = <&AINTC>;
90266338Sloos 		};
91273622Srpaulo
92273622Srpaulo		wdt1@44E35000 {
93273623Srpaulo			compatible = "ti,omap3-wdt";
94273622Srpaulo			reg = <0x44E35000 0x1000>;
95273622Srpaulo			interrupts = <91>;
96273622Srpaulo			interrupt-parent = <&AINTC>;
97273622Srpaulo		};
98266338Sloos 		
99249774Sgonzo		GPIO: gpio {
100249774Sgonzo			#gpio-cells = <3>;
101249774Sgonzo			compatible = "ti,gpio";
102249774Sgonzo			gpio-controller;
103249774Sgonzo			reg =<	0x44E07000 0x1000
104249774Sgonzo				0x4804C000 0x1000
105249774Sgonzo				0x481AC000 0x1000
106249774Sgonzo				0x481AE000 0x1000 >;
107249774Sgonzo			interrupts = < 96 97 98 99 32 33 62 63 >;
108249774Sgonzo			interrupt-parent = <&AINTC>;
109249774Sgonzo		};
110249774Sgonzo
111249774Sgonzo		uart0: serial@44E09000 {
112254598Sian			compatible = "ti,ns16550";
113249774Sgonzo			reg = <0x44E09000 0x1000>;
114249774Sgonzo			reg-shift = <2>;
115249774Sgonzo			interrupts = < 72 >;
116249774Sgonzo			interrupt-parent = <&AINTC>;
117254598Sian 			clock-frequency = < 48000000 >;
118254598Sian			uart-device-id = < 0 >;
119254598Sian 		};
120254598Sian 		
121254598Sian 		uart1: serial@48022000 {
122254598Sian 			compatible = "ti,ns16550";
123254598Sian 			reg = <0x48022000 0x1000>;
124254598Sian 			reg-shift = <2>;
125254598Sian 			interrupts = < 73 >;
126254598Sian 			interrupt-parent = <&AINTC>;
127254598Sian 			clock-frequency = < 48000000 >; 
128254598Sian			uart-device-id = < 1 >;
129254598Sian			status = "disabled";
130254598Sian 		};
131254598Sian 		
132254598Sian 		uart2: serial@48024000 {
133254598Sian 			compatible = "ti,ns16550";
134254598Sian 			reg = <0x48024000 0x1000>;
135254598Sian 			reg-shift = <2>;
136254598Sian 			interrupts = < 74 >;
137254598Sian 			interrupt-parent = <&AINTC>;
138254598Sian 			clock-frequency = < 48000000 >; 
139254598Sian			uart-device-id = < 2 >;
140254598Sian			status = "disabled";
141254598Sian 		};
142254598Sian 		
143254598Sian 		uart3: serial@481a6000 {
144254598Sian 			compatible = "ti,ns16550";
145254598Sian 			reg = <0x481A6000 0x1000>;
146254598Sian 			reg-shift = <2>;
147254598Sian 			interrupts = < 44 >;
148254598Sian 			interrupt-parent = <&AINTC>;
149254598Sian 			clock-frequency = < 48000000 >; 
150254598Sian			uart-device-id = < 3 >;
151254598Sian			status = "disabled";
152254598Sian 		};
153254598Sian 
154254598Sian 		uart4: serial@481a8000 {
155254598Sian 			compatible = "ti,ns16550";
156254598Sian 			reg = <0x481A8000 0x1000>;
157254598Sian 			reg-shift = <2>;
158254598Sian 			interrupts = < 45 >;
159254598Sian 			interrupt-parent = <&AINTC>;
160254598Sian 			clock-frequency = < 48000000 >; 
161254598Sian			uart-device-id = < 4 >;
162254598Sian			status = "disabled";
163254598Sian 		};
164254598Sian 
165254598Sian 		uart5: serial@481aa000 {
166254598Sian 			compatible = "ti,ns16550";
167254598Sian 			reg = <0x481AA000 0x1000>;
168254598Sian 			reg-shift = <2>;
169254598Sian 			interrupts = < 46 >;
170254598Sian 			interrupt-parent = <&AINTC>;
171254598Sian 			clock-frequency = < 48000000 >; 
172254598Sian			uart-device-id = < 5 >;
173254598Sian			status = "disabled";
174254598Sian  		};
175249774Sgonzo
176249774Sgonzo		edma3@49000000 {
177249774Sgonzo			compatible = "ti,edma3";
178249774Sgonzo			reg =<	0x49000000 0x100000	/* Channel Controller Regs */
179249774Sgonzo				0x49800000 0x100000	/* Transfer Controller 0 Regs */
180249774Sgonzo				0x49900000 0x100000	/* Transfer Controller 1 Regs */
181249774Sgonzo				0x49a00000 0x100000 >;	/* Transfer Controller 2 Regs */
182249774Sgonzo			interrupts = <12 13 14>;
183249774Sgonzo			interrupt-parent = <&AINTC>;
184249774Sgonzo		};
185249774Sgonzo
186250435Skientzle		mmchs0@48060000 {
187257518Sian			compatible = "ti,omap3-hsmmc", "ti,mmchs";
188249774Sgonzo			reg =<0x48060000 0x1000 >;
189249774Sgonzo			interrupts = <64>;
190249774Sgonzo			interrupt-parent = <&AINTC>;
191249774Sgonzo			mmchs-device-id = <0>;
192254559Sian			mmchs-wp-gpio-pin = <0xffffffff>;
193257518Sian			ti,dual-volt;
194249774Sgonzo		};
195249774Sgonzo
196250435Skientzle		mmchs1@481D8000 {
197257518Sian			compatible = "ti,omap3-hsmmc", "ti,mmchs";
198250435Skientzle			reg =<0x481D8000 0x1000 >;
199250435Skientzle			interrupts = <28>;
200250435Skientzle			interrupt-parent = <&AINTC>;
201250435Skientzle			mmchs-device-id = <1>;
202254559Sian			mmchs-wp-gpio-pin = <0xffffffff>;
203250435Skientzle			status = "disabled";
204250435Skientzle		};
205250435Skientzle
206249774Sgonzo		enet0: ethernet@4A100000 {
207249774Sgonzo			#address-cells = <1>;
208249774Sgonzo			#size-cells = <1>;
209249774Sgonzo			compatible = "ti,cpsw";
210249774Sgonzo			reg = <0x4A100000 0x4000>;
211249774Sgonzo			interrupts = <40 41 42 43>;
212249774Sgonzo			interrupt-parent = <&AINTC>;
213249774Sgonzo			phy-handle = <&phy0>;
214249774Sgonzo			mdio@0 {
215249774Sgonzo				#address-cells = <1>;
216249774Sgonzo				#size-cells = <0>;
217249774Sgonzo				compatible = "ti,cpsw-mdio";
218249774Sgonzo				phy0: ethernet-phy@0 {
219249774Sgonzo					reg = <0x0>;
220249774Sgonzo				};
221249774Sgonzo			};
222249774Sgonzo		};
223249774Sgonzo
224249774Sgonzo		i2c0: i2c@44e0b000 {
225249774Sgonzo			#address-cells = <1>;
226249774Sgonzo			#size-cells = <0>;
227249774Sgonzo			compatible = "ti,i2c";
228249774Sgonzo			reg =<	0x44e0b000 0x1000 >;
229249774Sgonzo			interrupts = <70>;
230249774Sgonzo			interrupt-parent = <&AINTC>;
231249774Sgonzo			i2c-device-id = <0>;
232249774Sgonzo		};
233251019Sgonzo
234262440Sloos		i2c1: i2c@4802a000 {
235262440Sloos			#address-cells = <1>;
236262440Sloos			#size-cells = <0>;
237262440Sloos			compatible = "ti,i2c";
238262440Sloos			reg =<  0x4802a000 0x1000 >;
239262440Sloos			interrupts = <71>;
240262440Sloos			interrupt-parent = <&AINTC>;
241262440Sloos			i2c-device-id = <1>;
242262440Sloos		};
243262440Sloos
244262440Sloos		i2c2: i2c@4819c000 {
245262440Sloos			#address-cells = <1>;
246262440Sloos			#size-cells = <0>;
247262440Sloos			compatible = "ti,i2c";
248262440Sloos			reg =<  0x4819c000 0x1000 >;
249262440Sloos			interrupts = <30>;
250262440Sloos			interrupt-parent = <&AINTC>;
251262440Sloos			i2c-device-id = <2>;
252262440Sloos		};
253262440Sloos
254251019Sgonzo		pwm@48300000 {
255251019Sgonzo			compatible = "ti,am335x-pwm";
256251019Sgonzo			#address-cells = <1>;
257251019Sgonzo			#size-cells = <1>;
258252719Sgonzo			reg = < 0x48300000 0x100	/* PWMSS0 */
259251019Sgonzo				0x48300100 0x80		/* eCAP0 */
260251019Sgonzo				0x48300180 0x80		/* eQEP0 */
261251019Sgonzo				0x48300200 0x60		/* ePWM0 */
262251019Sgonzo			>;
263251019Sgonzo			interrupts = <86 58>; /* ePWM0INT, ePWM0_TZINT */
264251019Sgonzo			interrupt-parent = <&AINTC>;
265251019Sgonzo			pwm-device-id = <0>;
266251019Sgonzo		};
267251019Sgonzo
268252719Sgonzo		pwm@48302000 {
269252719Sgonzo			compatible = "ti,am335x-pwm";
270252719Sgonzo			#address-cells = <1>;
271252719Sgonzo			#size-cells = <1>;
272252719Sgonzo			reg = < 0x48302000 0x100	/* PWMSS1 */
273252719Sgonzo				0x48302100 0x80		/* eCAP1 */
274252719Sgonzo				0x48302180 0x80		/* eQEP1 */
275252719Sgonzo				0x48302200 0x60		/* ePWM1 */
276252719Sgonzo			>;
277252719Sgonzo			interrupts = <87 59>; /* ePWM1INT, ePWM1_TZINT */
278252719Sgonzo			interrupt-parent = <&AINTC>;
279252719Sgonzo			pwm-device-id = <1>;
280252719Sgonzo		};
281252719Sgonzo
282252719Sgonzo		pwm@48304000 {
283252719Sgonzo			compatible = "ti,am335x-pwm";
284252719Sgonzo			#address-cells = <1>;
285252719Sgonzo			#size-cells = <1>;
286252719Sgonzo			reg = < 0x48304000 0x100	/* PWMSS2 */
287252719Sgonzo				0x48304100 0x80		/* eCAP2 */
288252719Sgonzo				0x48304180 0x80		/* eQEP2 */
289252719Sgonzo				0x48304200 0x60		/* ePWM2 */
290252719Sgonzo			>;
291252719Sgonzo			interrupts = <88 60>; /* ePWM2INT, ePWM2_TZINT */
292252719Sgonzo			interrupt-parent = <&AINTC>;
293252719Sgonzo			pwm-device-id = <2>;
294252719Sgonzo		};
295252719Sgonzo
296251019Sgonzo		lcd: lcd@4830e000 {
297251019Sgonzo			#address-cells = <1>;
298251019Sgonzo			#size-cells = <0>;
299251019Sgonzo			compatible = "ti,am335x-lcd";
300251019Sgonzo			reg =<	0x4830e000 0x1000 >;
301251019Sgonzo			interrupts = <36>;
302251019Sgonzo			interrupt-parent = <&AINTC>;
303251019Sgonzo		};
304252914Sgonzo
305252914Sgonzo 		usb@47400000 {
306252914Sgonzo 			#address-cells = <1>;
307252914Sgonzo 			#size-cells = <0>;
308252914Sgonzo 			compatible = "ti,musb-am33xx";
309252914Sgonzo 			reg =<	0x47400000 0x1000	/* USBSS */
310252914Sgonzo 				0x47401000 0x300	/* USB0 */
311252914Sgonzo 				0x47401300 0x100 	/* USB0_PHY */
312252914Sgonzo 				0x47401400 0x400 	/* USB0_CORE */
313252914Sgonzo 				0x47401800 0x300 	/* USB1 */
314252914Sgonzo 				0x47401B00 0x100 	/* USB1_PHY */
315252914Sgonzo 				0x47401C00 0x400 	/* USB1_CORE */
316252914Sgonzo 			>;
317252914Sgonzo 			interrupts = <17 18 19>;
318252914Sgonzo 			interrupt-parent = <&AINTC>;
319252914Sgonzo 			/* 1 - Host Mode, 0 - Device Mode */
320252914Sgonzo 			modemask = <2>;
321252914Sgonzo 		};
322253832Srpaulo
323253832Srpaulo		mbox0@480C8000 {
324253832Srpaulo			compatible = "am335x,system-mbox";
325253832Srpaulo			reg = < 0x480C8000 0x1000 >;
326253832Srpaulo			interrupts = <77>;
327253832Srpaulo			interrupt-parent = <&AINTC>;
328253832Srpaulo		};
329253832Srpaulo
330253832Srpaulo		spinlock0@480CA000 {
331253832Srpaulo			compatible = "am335x,spinlock";
332253832Srpaulo			reg = < 0x480CA000 0x1000 >;
333253832Srpaulo		};
334253832Srpaulo
335253832Srpaulo		pruss@4A300000 {
336253832Srpaulo			compatible = "ti,pruss-v2";
337253832Srpaulo			reg = <0x4A300000 0x80000>;
338253832Srpaulo 			interrupt-parent = <&AINTC>;
339253832Srpaulo			interrupts = <20 21 22 23 24 25 26 27>;
340253832Srpaulo		};
341249774Sgonzo	};
342249774Sgonzo};
343