1279377Simp/*
2279377Simp * Device Tree Source for AM33XX SoC
3279377Simp *
4279377Simp * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
5279377Simp *
6279377Simp * This file is licensed under the terms of the GNU General Public License
7279377Simp * version 2.  This program is licensed "as is" without any warranty of any
8279377Simp * kind, whether express or implied.
9279377Simp */
10279377Simp
11279377Simp#include <dt-bindings/gpio/gpio.h>
12279377Simp#include <dt-bindings/pinctrl/am33xx.h>
13279377Simp
14279377Simp#include "skeleton.dtsi"
15279377Simp
16279377Simp/ {
17279377Simp	compatible = "ti,am33xx";
18279377Simp	interrupt-parent = <&intc>;
19279377Simp
20279377Simp	aliases {
21279377Simp		i2c0 = &i2c0;
22279377Simp		i2c1 = &i2c1;
23279377Simp		i2c2 = &i2c2;
24279377Simp		serial0 = &uart0;
25279377Simp		serial1 = &uart1;
26279377Simp		serial2 = &uart2;
27279377Simp		serial3 = &uart3;
28279377Simp		serial4 = &uart4;
29279377Simp		serial5 = &uart5;
30279377Simp		d_can0 = &dcan0;
31279377Simp		d_can1 = &dcan1;
32279377Simp		usb0 = &usb0;
33279377Simp		usb1 = &usb1;
34279377Simp		phy0 = &usb0_phy;
35279377Simp		phy1 = &usb1_phy;
36279377Simp		ethernet0 = &cpsw_emac0;
37279377Simp		ethernet1 = &cpsw_emac1;
38279377Simp	};
39279377Simp
40279377Simp	cpus {
41279377Simp		#address-cells = <1>;
42279377Simp		#size-cells = <0>;
43279377Simp		cpu@0 {
44279377Simp			compatible = "arm,cortex-a8";
45279377Simp			device_type = "cpu";
46279377Simp			reg = <0>;
47279377Simp
48279377Simp			/*
49279377Simp			 * To consider voltage drop between PMIC and SoC,
50279377Simp			 * tolerance value is reduced to 2% from 4% and
51279377Simp			 * voltage value is increased as a precaution.
52279377Simp			 */
53279377Simp			operating-points = <
54279377Simp				/* kHz    uV */
55279377Simp				720000  1285000
56279377Simp				600000  1225000
57279377Simp				500000  1125000
58279377Simp				275000  1125000
59279377Simp			>;
60279377Simp			voltage-tolerance = <2>; /* 2 percentage */
61279377Simp
62279377Simp			clocks = <&dpll_mpu_ck>;
63279377Simp			clock-names = "cpu";
64279377Simp
65279377Simp			clock-latency = <300000>; /* From omap-cpufreq driver */
66279377Simp		};
67279377Simp	};
68279377Simp
69279377Simp	pmu {
70279377Simp		compatible = "arm,cortex-a8-pmu";
71279377Simp		interrupts = <3>;
72279377Simp	};
73279377Simp
74279377Simp	/*
75279377Simp	 * The soc node represents the soc top level view. It is used for IPs
76279377Simp	 * that are not memory mapped in the MPU view or for the MPU itself.
77279377Simp	 */
78279377Simp	soc {
79279377Simp		compatible = "ti,omap-infra";
80279377Simp		mpu {
81279377Simp			compatible = "ti,omap3-mpu";
82279377Simp			ti,hwmods = "mpu";
83279377Simp		};
84279377Simp	};
85279377Simp
86279377Simp	/*
87279377Simp	 * XXX: Use a flat representation of the AM33XX interconnect.
88279377Simp	 * The real AM33XX interconnect network is quite complex. Since
89279377Simp	 * it will not bring real advantage to represent that in DT
90279377Simp	 * for the moment, just use a fake OCP bus entry to represent
91279377Simp	 * the whole bus hierarchy.
92279377Simp	 */
93279377Simp	ocp {
94279377Simp		compatible = "simple-bus";
95279377Simp		#address-cells = <1>;
96279377Simp		#size-cells = <1>;
97279377Simp		ranges;
98279377Simp		ti,hwmods = "l3_main";
99279377Simp
100295436Sandrew		l4_wkup: l4_wkup@44c00000 {
101295436Sandrew			compatible = "ti,am3-l4-wkup", "simple-bus";
102295436Sandrew			#address-cells = <1>;
103295436Sandrew			#size-cells = <1>;
104295436Sandrew			ranges = <0 0x44c00000 0x280000>;
105279377Simp
106295436Sandrew			wkup_m3: wkup_m3@100000 {
107295436Sandrew				compatible = "ti,am3352-wkup-m3";
108295436Sandrew				reg = <0x100000 0x4000>,
109295436Sandrew				      <0x180000	0x2000>;
110295436Sandrew				reg-names = "umem", "dmem";
111295436Sandrew				ti,hwmods = "wkup_m3";
112295436Sandrew				ti,pm-firmware = "am335x-pm-firmware.elf";
113279377Simp			};
114279377Simp
115295436Sandrew			prcm: prcm@200000 {
116295436Sandrew				compatible = "ti,am3-prcm";
117295436Sandrew				reg = <0x200000 0x4000>;
118279377Simp
119295436Sandrew				prcm_clocks: clocks {
120295436Sandrew					#address-cells = <1>;
121295436Sandrew					#size-cells = <0>;
122295436Sandrew				};
123279377Simp
124295436Sandrew				prcm_clockdomains: clockdomains {
125295436Sandrew				};
126279377Simp			};
127279377Simp
128295436Sandrew			scm: scm@210000 {
129295436Sandrew				compatible = "ti,am3-scm", "simple-bus";
130295436Sandrew				reg = <0x210000 0x2000>;
131295436Sandrew				#address-cells = <1>;
132295436Sandrew				#size-cells = <1>;
133295436Sandrew				ranges = <0 0x210000 0x2000>;
134295436Sandrew
135295436Sandrew				am33xx_pinmux: pinmux@800 {
136295436Sandrew					compatible = "pinctrl-single";
137295436Sandrew					reg = <0x800 0x238>;
138295436Sandrew					#address-cells = <1>;
139295436Sandrew					#size-cells = <0>;
140295436Sandrew					pinctrl-single,register-width = <32>;
141295436Sandrew					pinctrl-single,function-mask = <0x7f>;
142295436Sandrew				};
143295436Sandrew
144295436Sandrew				scm_conf: scm_conf@0 {
145295436Sandrew					compatible = "syscon";
146295436Sandrew					reg = <0x0 0x800>;
147295436Sandrew					#address-cells = <1>;
148295436Sandrew					#size-cells = <1>;
149295436Sandrew
150295436Sandrew					scm_clocks: clocks {
151295436Sandrew						#address-cells = <1>;
152295436Sandrew						#size-cells = <0>;
153295436Sandrew					};
154295436Sandrew				};
155295436Sandrew
156295436Sandrew				wkup_m3_ipc: wkup_m3_ipc@1324 {
157295436Sandrew					compatible = "ti,am3352-wkup-m3-ipc";
158295436Sandrew					reg = <0x1324 0x24>;
159295436Sandrew					interrupts = <78>;
160295436Sandrew					ti,rproc = <&wkup_m3>;
161295436Sandrew					mboxes = <&mailbox &mbox_wkupm3>;
162295436Sandrew				};
163295436Sandrew
164295436Sandrew				edma_xbar: dma-router@f90 {
165295436Sandrew					compatible = "ti,am335x-edma-crossbar";
166295436Sandrew					reg = <0xf90 0x40>;
167295436Sandrew					#dma-cells = <3>;
168295436Sandrew					dma-requests = <32>;
169295436Sandrew					dma-masters = <&edma>;
170295436Sandrew				};
171295436Sandrew
172295436Sandrew				scm_clockdomains: clockdomains {
173295436Sandrew				};
174279377Simp			};
175279377Simp		};
176279377Simp
177279377Simp		intc: interrupt-controller@48200000 {
178279377Simp			compatible = "ti,am33xx-intc";
179279377Simp			interrupt-controller;
180279377Simp			#interrupt-cells = <1>;
181279377Simp			reg = <0x48200000 0x1000>;
182279377Simp		};
183279377Simp
184279377Simp		edma: edma@49000000 {
185295436Sandrew			compatible = "ti,edma3-tpcc";
186295436Sandrew			ti,hwmods = "tpcc";
187295436Sandrew			reg =	<0x49000000 0x10000>;
188295436Sandrew			reg-names = "edma3_cc";
189279377Simp			interrupts = <12 13 14>;
190295436Sandrew			interrupt-names = "edma3_ccint", "emda3_mperr",
191295436Sandrew					  "edma3_ccerrint";
192295436Sandrew			dma-requests = <64>;
193295436Sandrew			#dma-cells = <2>;
194295436Sandrew
195295436Sandrew			ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
196295436Sandrew				   <&edma_tptc2 0>;
197295436Sandrew
198295436Sandrew			ti,edma-memcpy-channels = <20 21>;
199279377Simp		};
200279377Simp
201295436Sandrew		edma_tptc0: tptc@49800000 {
202295436Sandrew			compatible = "ti,edma3-tptc";
203295436Sandrew			ti,hwmods = "tptc0";
204295436Sandrew			reg =	<0x49800000 0x100000>;
205295436Sandrew			interrupts = <112>;
206295436Sandrew			interrupt-names = "edma3_tcerrint";
207295436Sandrew		};
208295436Sandrew
209295436Sandrew		edma_tptc1: tptc@49900000 {
210295436Sandrew			compatible = "ti,edma3-tptc";
211295436Sandrew			ti,hwmods = "tptc1";
212295436Sandrew			reg =	<0x49900000 0x100000>;
213295436Sandrew			interrupts = <113>;
214295436Sandrew			interrupt-names = "edma3_tcerrint";
215295436Sandrew		};
216295436Sandrew
217295436Sandrew		edma_tptc2: tptc@49a00000 {
218295436Sandrew			compatible = "ti,edma3-tptc";
219295436Sandrew			ti,hwmods = "tptc2";
220295436Sandrew			reg =	<0x49a00000 0x100000>;
221295436Sandrew			interrupts = <114>;
222295436Sandrew			interrupt-names = "edma3_tcerrint";
223295436Sandrew		};
224295436Sandrew
225279377Simp		gpio0: gpio@44e07000 {
226279377Simp			compatible = "ti,omap4-gpio";
227279377Simp			ti,hwmods = "gpio1";
228279377Simp			gpio-controller;
229279377Simp			#gpio-cells = <2>;
230279377Simp			interrupt-controller;
231279377Simp			#interrupt-cells = <2>;
232279377Simp			reg = <0x44e07000 0x1000>;
233279377Simp			interrupts = <96>;
234279377Simp		};
235279377Simp
236279377Simp		gpio1: gpio@4804c000 {
237279377Simp			compatible = "ti,omap4-gpio";
238279377Simp			ti,hwmods = "gpio2";
239279377Simp			gpio-controller;
240279377Simp			#gpio-cells = <2>;
241279377Simp			interrupt-controller;
242279377Simp			#interrupt-cells = <2>;
243279377Simp			reg = <0x4804c000 0x1000>;
244279377Simp			interrupts = <98>;
245279377Simp		};
246279377Simp
247279377Simp		gpio2: gpio@481ac000 {
248279377Simp			compatible = "ti,omap4-gpio";
249279377Simp			ti,hwmods = "gpio3";
250279377Simp			gpio-controller;
251279377Simp			#gpio-cells = <2>;
252279377Simp			interrupt-controller;
253279377Simp			#interrupt-cells = <2>;
254279377Simp			reg = <0x481ac000 0x1000>;
255279377Simp			interrupts = <32>;
256279377Simp		};
257279377Simp
258279377Simp		gpio3: gpio@481ae000 {
259279377Simp			compatible = "ti,omap4-gpio";
260279377Simp			ti,hwmods = "gpio4";
261279377Simp			gpio-controller;
262279377Simp			#gpio-cells = <2>;
263279377Simp			interrupt-controller;
264279377Simp			#interrupt-cells = <2>;
265279377Simp			reg = <0x481ae000 0x1000>;
266279377Simp			interrupts = <62>;
267279377Simp		};
268279377Simp
269279377Simp		uart0: serial@44e09000 {
270295436Sandrew			compatible = "ti,am3352-uart", "ti,omap3-uart";
271279377Simp			ti,hwmods = "uart1";
272279377Simp			clock-frequency = <48000000>;
273279377Simp			reg = <0x44e09000 0x2000>;
274279377Simp			interrupts = <72>;
275279377Simp			status = "disabled";
276295436Sandrew			dmas = <&edma 26 0>, <&edma 27 0>;
277279377Simp			dma-names = "tx", "rx";
278279377Simp		};
279279377Simp
280279377Simp		uart1: serial@48022000 {
281295436Sandrew			compatible = "ti,am3352-uart", "ti,omap3-uart";
282279377Simp			ti,hwmods = "uart2";
283279377Simp			clock-frequency = <48000000>;
284279377Simp			reg = <0x48022000 0x2000>;
285279377Simp			interrupts = <73>;
286279377Simp			status = "disabled";
287295436Sandrew			dmas = <&edma 28 0>, <&edma 29 0>;
288279377Simp			dma-names = "tx", "rx";
289279377Simp		};
290279377Simp
291279377Simp		uart2: serial@48024000 {
292295436Sandrew			compatible = "ti,am3352-uart", "ti,omap3-uart";
293279377Simp			ti,hwmods = "uart3";
294279377Simp			clock-frequency = <48000000>;
295279377Simp			reg = <0x48024000 0x2000>;
296279377Simp			interrupts = <74>;
297279377Simp			status = "disabled";
298295436Sandrew			dmas = <&edma 30 0>, <&edma 31 0>;
299279377Simp			dma-names = "tx", "rx";
300279377Simp		};
301279377Simp
302279377Simp		uart3: serial@481a6000 {
303295436Sandrew			compatible = "ti,am3352-uart", "ti,omap3-uart";
304279377Simp			ti,hwmods = "uart4";
305279377Simp			clock-frequency = <48000000>;
306279377Simp			reg = <0x481a6000 0x2000>;
307279377Simp			interrupts = <44>;
308279377Simp			status = "disabled";
309279377Simp		};
310279377Simp
311279377Simp		uart4: serial@481a8000 {
312295436Sandrew			compatible = "ti,am3352-uart", "ti,omap3-uart";
313279377Simp			ti,hwmods = "uart5";
314279377Simp			clock-frequency = <48000000>;
315279377Simp			reg = <0x481a8000 0x2000>;
316279377Simp			interrupts = <45>;
317279377Simp			status = "disabled";
318279377Simp		};
319279377Simp
320279377Simp		uart5: serial@481aa000 {
321295436Sandrew			compatible = "ti,am3352-uart", "ti,omap3-uart";
322279377Simp			ti,hwmods = "uart6";
323279377Simp			clock-frequency = <48000000>;
324279377Simp			reg = <0x481aa000 0x2000>;
325279377Simp			interrupts = <46>;
326279377Simp			status = "disabled";
327279377Simp		};
328279377Simp
329279377Simp		i2c0: i2c@44e0b000 {
330279377Simp			compatible = "ti,omap4-i2c";
331279377Simp			#address-cells = <1>;
332279377Simp			#size-cells = <0>;
333279377Simp			ti,hwmods = "i2c1";
334279377Simp			reg = <0x44e0b000 0x1000>;
335279377Simp			interrupts = <70>;
336279377Simp			status = "disabled";
337279377Simp		};
338279377Simp
339279377Simp		i2c1: i2c@4802a000 {
340279377Simp			compatible = "ti,omap4-i2c";
341279377Simp			#address-cells = <1>;
342279377Simp			#size-cells = <0>;
343279377Simp			ti,hwmods = "i2c2";
344279377Simp			reg = <0x4802a000 0x1000>;
345279377Simp			interrupts = <71>;
346279377Simp			status = "disabled";
347279377Simp		};
348279377Simp
349279377Simp		i2c2: i2c@4819c000 {
350279377Simp			compatible = "ti,omap4-i2c";
351279377Simp			#address-cells = <1>;
352279377Simp			#size-cells = <0>;
353279377Simp			ti,hwmods = "i2c3";
354279377Simp			reg = <0x4819c000 0x1000>;
355279377Simp			interrupts = <30>;
356279377Simp			status = "disabled";
357279377Simp		};
358279377Simp
359279377Simp		mmc1: mmc@48060000 {
360279377Simp			compatible = "ti,omap4-hsmmc";
361279377Simp			ti,hwmods = "mmc1";
362279377Simp			ti,dual-volt;
363279377Simp			ti,needs-special-reset;
364279377Simp			ti,needs-special-hs-handling;
365295436Sandrew			dmas = <&edma_xbar 24 0 0
366295436Sandrew				&edma_xbar 25 0 0>;
367279377Simp			dma-names = "tx", "rx";
368279377Simp			interrupts = <64>;
369279377Simp			interrupt-parent = <&intc>;
370279377Simp			reg = <0x48060000 0x1000>;
371279377Simp			status = "disabled";
372279377Simp		};
373279377Simp
374279377Simp		mmc2: mmc@481d8000 {
375279377Simp			compatible = "ti,omap4-hsmmc";
376279377Simp			ti,hwmods = "mmc2";
377279377Simp			ti,needs-special-reset;
378295436Sandrew			dmas = <&edma 2 0
379295436Sandrew				&edma 3 0>;
380279377Simp			dma-names = "tx", "rx";
381279377Simp			interrupts = <28>;
382279377Simp			interrupt-parent = <&intc>;
383279377Simp			reg = <0x481d8000 0x1000>;
384279377Simp			status = "disabled";
385279377Simp		};
386279377Simp
387279377Simp		mmc3: mmc@47810000 {
388279377Simp			compatible = "ti,omap4-hsmmc";
389279377Simp			ti,hwmods = "mmc3";
390279377Simp			ti,needs-special-reset;
391279377Simp			interrupts = <29>;
392279377Simp			interrupt-parent = <&intc>;
393279377Simp			reg = <0x47810000 0x1000>;
394279377Simp			status = "disabled";
395279377Simp		};
396279377Simp
397279377Simp		hwspinlock: spinlock@480ca000 {
398279377Simp			compatible = "ti,omap4-hwspinlock";
399279377Simp			reg = <0x480ca000 0x1000>;
400279377Simp			ti,hwmods = "spinlock";
401279377Simp			#hwlock-cells = <1>;
402279377Simp		};
403279377Simp
404279377Simp		wdt2: wdt@44e35000 {
405279377Simp			compatible = "ti,omap3-wdt";
406279377Simp			ti,hwmods = "wd_timer2";
407279377Simp			reg = <0x44e35000 0x1000>;
408279377Simp			interrupts = <91>;
409279377Simp		};
410279377Simp
411279377Simp		dcan0: can@481cc000 {
412279377Simp			compatible = "ti,am3352-d_can";
413279377Simp			ti,hwmods = "d_can0";
414279377Simp			reg = <0x481cc000 0x2000>;
415279377Simp			clocks = <&dcan0_fck>;
416279377Simp			clock-names = "fck";
417295436Sandrew			syscon-raminit = <&scm_conf 0x644 0>;
418279377Simp			interrupts = <52>;
419279377Simp			status = "disabled";
420279377Simp		};
421279377Simp
422279377Simp		dcan1: can@481d0000 {
423279377Simp			compatible = "ti,am3352-d_can";
424279377Simp			ti,hwmods = "d_can1";
425279377Simp			reg = <0x481d0000 0x2000>;
426279377Simp			clocks = <&dcan1_fck>;
427279377Simp			clock-names = "fck";
428295436Sandrew			syscon-raminit = <&scm_conf 0x644 1>;
429279377Simp			interrupts = <55>;
430279377Simp			status = "disabled";
431279377Simp		};
432279377Simp
433279377Simp		mailbox: mailbox@480C8000 {
434279377Simp			compatible = "ti,omap4-mailbox";
435279377Simp			reg = <0x480C8000 0x200>;
436279377Simp			interrupts = <77>;
437279377Simp			ti,hwmods = "mailbox";
438279377Simp			#mbox-cells = <1>;
439279377Simp			ti,mbox-num-users = <4>;
440279377Simp			ti,mbox-num-fifos = <8>;
441279377Simp			mbox_wkupm3: wkup_m3 {
442279377Simp				ti,mbox-tx = <0 0 0>;
443279377Simp				ti,mbox-rx = <0 0 3>;
444279377Simp			};
445279377Simp		};
446279377Simp
447279377Simp		timer1: timer@44e31000 {
448279377Simp			compatible = "ti,am335x-timer-1ms";
449279377Simp			reg = <0x44e31000 0x400>;
450279377Simp			interrupts = <67>;
451279377Simp			ti,hwmods = "timer1";
452279377Simp			ti,timer-alwon;
453279377Simp		};
454279377Simp
455279377Simp		timer2: timer@48040000 {
456279377Simp			compatible = "ti,am335x-timer";
457279377Simp			reg = <0x48040000 0x400>;
458279377Simp			interrupts = <68>;
459279377Simp			ti,hwmods = "timer2";
460279377Simp		};
461279377Simp
462279377Simp		timer3: timer@48042000 {
463279377Simp			compatible = "ti,am335x-timer";
464279377Simp			reg = <0x48042000 0x400>;
465279377Simp			interrupts = <69>;
466279377Simp			ti,hwmods = "timer3";
467279377Simp		};
468279377Simp
469279377Simp		timer4: timer@48044000 {
470279377Simp			compatible = "ti,am335x-timer";
471279377Simp			reg = <0x48044000 0x400>;
472279377Simp			interrupts = <92>;
473279377Simp			ti,hwmods = "timer4";
474279377Simp			ti,timer-pwm;
475279377Simp		};
476279377Simp
477279377Simp		timer5: timer@48046000 {
478279377Simp			compatible = "ti,am335x-timer";
479279377Simp			reg = <0x48046000 0x400>;
480279377Simp			interrupts = <93>;
481279377Simp			ti,hwmods = "timer5";
482279377Simp			ti,timer-pwm;
483279377Simp		};
484279377Simp
485279377Simp		timer6: timer@48048000 {
486279377Simp			compatible = "ti,am335x-timer";
487279377Simp			reg = <0x48048000 0x400>;
488279377Simp			interrupts = <94>;
489279377Simp			ti,hwmods = "timer6";
490279377Simp			ti,timer-pwm;
491279377Simp		};
492279377Simp
493279377Simp		timer7: timer@4804a000 {
494279377Simp			compatible = "ti,am335x-timer";
495279377Simp			reg = <0x4804a000 0x400>;
496279377Simp			interrupts = <95>;
497279377Simp			ti,hwmods = "timer7";
498279377Simp			ti,timer-pwm;
499279377Simp		};
500279377Simp
501279377Simp		rtc: rtc@44e3e000 {
502279377Simp			compatible = "ti,am3352-rtc", "ti,da830-rtc";
503279377Simp			reg = <0x44e3e000 0x1000>;
504279377Simp			interrupts = <75
505279377Simp				      76>;
506279377Simp			ti,hwmods = "rtc";
507279377Simp		};
508279377Simp
509279377Simp		spi0: spi@48030000 {
510279377Simp			compatible = "ti,omap4-mcspi";
511279377Simp			#address-cells = <1>;
512279377Simp			#size-cells = <0>;
513279377Simp			reg = <0x48030000 0x400>;
514279377Simp			interrupts = <65>;
515279377Simp			ti,spi-num-cs = <2>;
516279377Simp			ti,hwmods = "spi0";
517295436Sandrew			dmas = <&edma 16 0
518295436Sandrew				&edma 17 0
519295436Sandrew				&edma 18 0
520295436Sandrew				&edma 19 0>;
521279377Simp			dma-names = "tx0", "rx0", "tx1", "rx1";
522279377Simp			status = "disabled";
523279377Simp		};
524279377Simp
525279377Simp		spi1: spi@481a0000 {
526279377Simp			compatible = "ti,omap4-mcspi";
527279377Simp			#address-cells = <1>;
528279377Simp			#size-cells = <0>;
529279377Simp			reg = <0x481a0000 0x400>;
530279377Simp			interrupts = <125>;
531279377Simp			ti,spi-num-cs = <2>;
532279377Simp			ti,hwmods = "spi1";
533295436Sandrew			dmas = <&edma 42 0
534295436Sandrew				&edma 43 0
535295436Sandrew				&edma 44 0
536295436Sandrew				&edma 45 0>;
537279377Simp			dma-names = "tx0", "rx0", "tx1", "rx1";
538279377Simp			status = "disabled";
539279377Simp		};
540279377Simp
541279377Simp		usb: usb@47400000 {
542279377Simp			compatible = "ti,am33xx-usb";
543279377Simp			reg = <0x47400000 0x1000>;
544279377Simp			ranges;
545279377Simp			#address-cells = <1>;
546279377Simp			#size-cells = <1>;
547279377Simp			ti,hwmods = "usb_otg_hs";
548279377Simp			status = "disabled";
549279377Simp
550279377Simp			usb_ctrl_mod: control@44e10620 {
551279377Simp				compatible = "ti,am335x-usb-ctrl-module";
552279377Simp				reg = <0x44e10620 0x10
553279377Simp					0x44e10648 0x4>;
554279377Simp				reg-names = "phy_ctrl", "wakeup";
555279377Simp				status = "disabled";
556279377Simp			};
557279377Simp
558279377Simp			usb0_phy: usb-phy@47401300 {
559279377Simp				compatible = "ti,am335x-usb-phy";
560279377Simp				reg = <0x47401300 0x100>;
561279377Simp				reg-names = "phy";
562279377Simp				status = "disabled";
563279377Simp				ti,ctrl_mod = <&usb_ctrl_mod>;
564279377Simp			};
565279377Simp
566279377Simp			usb0: usb@47401000 {
567279377Simp				compatible = "ti,musb-am33xx";
568279377Simp				status = "disabled";
569279377Simp				reg = <0x47401400 0x400
570279377Simp					0x47401000 0x200>;
571279377Simp				reg-names = "mc", "control";
572279377Simp
573279377Simp				interrupts = <18>;
574279377Simp				interrupt-names = "mc";
575279377Simp				dr_mode = "otg";
576279377Simp				mentor,multipoint = <1>;
577279377Simp				mentor,num-eps = <16>;
578279377Simp				mentor,ram-bits = <12>;
579279377Simp				mentor,power = <500>;
580279377Simp				phys = <&usb0_phy>;
581279377Simp
582279377Simp				dmas = <&cppi41dma  0 0 &cppi41dma  1 0
583279377Simp					&cppi41dma  2 0 &cppi41dma  3 0
584279377Simp					&cppi41dma  4 0 &cppi41dma  5 0
585279377Simp					&cppi41dma  6 0 &cppi41dma  7 0
586279377Simp					&cppi41dma  8 0 &cppi41dma  9 0
587279377Simp					&cppi41dma 10 0 &cppi41dma 11 0
588279377Simp					&cppi41dma 12 0 &cppi41dma 13 0
589279377Simp					&cppi41dma 14 0 &cppi41dma  0 1
590279377Simp					&cppi41dma  1 1 &cppi41dma  2 1
591279377Simp					&cppi41dma  3 1 &cppi41dma  4 1
592279377Simp					&cppi41dma  5 1 &cppi41dma  6 1
593279377Simp					&cppi41dma  7 1 &cppi41dma  8 1
594279377Simp					&cppi41dma  9 1 &cppi41dma 10 1
595279377Simp					&cppi41dma 11 1 &cppi41dma 12 1
596279377Simp					&cppi41dma 13 1 &cppi41dma 14 1>;
597279377Simp				dma-names =
598279377Simp					"rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
599279377Simp					"rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
600279377Simp					"rx14", "rx15",
601279377Simp					"tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
602279377Simp					"tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
603279377Simp					"tx14", "tx15";
604279377Simp			};
605279377Simp
606279377Simp			usb1_phy: usb-phy@47401b00 {
607279377Simp				compatible = "ti,am335x-usb-phy";
608279377Simp				reg = <0x47401b00 0x100>;
609279377Simp				reg-names = "phy";
610279377Simp				status = "disabled";
611279377Simp				ti,ctrl_mod = <&usb_ctrl_mod>;
612279377Simp			};
613279377Simp
614279377Simp			usb1: usb@47401800 {
615279377Simp				compatible = "ti,musb-am33xx";
616279377Simp				status = "disabled";
617279377Simp				reg = <0x47401c00 0x400
618279377Simp					0x47401800 0x200>;
619279377Simp				reg-names = "mc", "control";
620279377Simp				interrupts = <19>;
621279377Simp				interrupt-names = "mc";
622279377Simp				dr_mode = "otg";
623279377Simp				mentor,multipoint = <1>;
624279377Simp				mentor,num-eps = <16>;
625279377Simp				mentor,ram-bits = <12>;
626279377Simp				mentor,power = <500>;
627279377Simp				phys = <&usb1_phy>;
628279377Simp
629279377Simp				dmas = <&cppi41dma 15 0 &cppi41dma 16 0
630279377Simp					&cppi41dma 17 0 &cppi41dma 18 0
631279377Simp					&cppi41dma 19 0 &cppi41dma 20 0
632279377Simp					&cppi41dma 21 0 &cppi41dma 22 0
633279377Simp					&cppi41dma 23 0 &cppi41dma 24 0
634279377Simp					&cppi41dma 25 0 &cppi41dma 26 0
635279377Simp					&cppi41dma 27 0 &cppi41dma 28 0
636279377Simp					&cppi41dma 29 0 &cppi41dma 15 1
637279377Simp					&cppi41dma 16 1 &cppi41dma 17 1
638279377Simp					&cppi41dma 18 1 &cppi41dma 19 1
639279377Simp					&cppi41dma 20 1 &cppi41dma 21 1
640279377Simp					&cppi41dma 22 1 &cppi41dma 23 1
641279377Simp					&cppi41dma 24 1 &cppi41dma 25 1
642279377Simp					&cppi41dma 26 1 &cppi41dma 27 1
643279377Simp					&cppi41dma 28 1 &cppi41dma 29 1>;
644279377Simp				dma-names =
645279377Simp					"rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
646279377Simp					"rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
647279377Simp					"rx14", "rx15",
648279377Simp					"tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
649279377Simp					"tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
650279377Simp					"tx14", "tx15";
651279377Simp			};
652279377Simp
653279377Simp			cppi41dma: dma-controller@47402000 {
654279377Simp				compatible = "ti,am3359-cppi41";
655279377Simp				reg =  <0x47400000 0x1000
656279377Simp					0x47402000 0x1000
657279377Simp					0x47403000 0x1000
658279377Simp					0x47404000 0x4000>;
659279377Simp				reg-names = "glue", "controller", "scheduler", "queuemgr";
660279377Simp				interrupts = <17>;
661279377Simp				interrupt-names = "glue";
662279377Simp				#dma-cells = <2>;
663279377Simp				#dma-channels = <30>;
664279377Simp				#dma-requests = <256>;
665279377Simp				status = "disabled";
666279377Simp			};
667279377Simp		};
668279377Simp
669279377Simp		epwmss0: epwmss@48300000 {
670279377Simp			compatible = "ti,am33xx-pwmss";
671279377Simp			reg = <0x48300000 0x10>;
672279377Simp			ti,hwmods = "epwmss0";
673279377Simp			#address-cells = <1>;
674279377Simp			#size-cells = <1>;
675279377Simp			status = "disabled";
676279377Simp			ranges = <0x48300100 0x48300100 0x80   /* ECAP */
677279377Simp				  0x48300180 0x48300180 0x80   /* EQEP */
678279377Simp				  0x48300200 0x48300200 0x80>; /* EHRPWM */
679279377Simp
680279377Simp			ecap0: ecap@48300100 {
681279377Simp				compatible = "ti,am33xx-ecap";
682279377Simp				#pwm-cells = <3>;
683279377Simp				reg = <0x48300100 0x80>;
684279377Simp				interrupts = <31>;
685279377Simp				interrupt-names = "ecap0";
686279377Simp				ti,hwmods = "ecap0";
687279377Simp				status = "disabled";
688279377Simp			};
689279377Simp
690279377Simp			ehrpwm0: ehrpwm@48300200 {
691279377Simp				compatible = "ti,am33xx-ehrpwm";
692279377Simp				#pwm-cells = <3>;
693279377Simp				reg = <0x48300200 0x80>;
694279377Simp				ti,hwmods = "ehrpwm0";
695279377Simp				status = "disabled";
696279377Simp			};
697279377Simp		};
698279377Simp
699279377Simp		epwmss1: epwmss@48302000 {
700279377Simp			compatible = "ti,am33xx-pwmss";
701279377Simp			reg = <0x48302000 0x10>;
702279377Simp			ti,hwmods = "epwmss1";
703279377Simp			#address-cells = <1>;
704279377Simp			#size-cells = <1>;
705279377Simp			status = "disabled";
706279377Simp			ranges = <0x48302100 0x48302100 0x80   /* ECAP */
707279377Simp				  0x48302180 0x48302180 0x80   /* EQEP */
708279377Simp				  0x48302200 0x48302200 0x80>; /* EHRPWM */
709279377Simp
710279377Simp			ecap1: ecap@48302100 {
711279377Simp				compatible = "ti,am33xx-ecap";
712279377Simp				#pwm-cells = <3>;
713279377Simp				reg = <0x48302100 0x80>;
714279377Simp				interrupts = <47>;
715279377Simp				interrupt-names = "ecap1";
716279377Simp				ti,hwmods = "ecap1";
717279377Simp				status = "disabled";
718279377Simp			};
719279377Simp
720279377Simp			ehrpwm1: ehrpwm@48302200 {
721279377Simp				compatible = "ti,am33xx-ehrpwm";
722279377Simp				#pwm-cells = <3>;
723279377Simp				reg = <0x48302200 0x80>;
724279377Simp				ti,hwmods = "ehrpwm1";
725279377Simp				status = "disabled";
726279377Simp			};
727279377Simp		};
728279377Simp
729279377Simp		epwmss2: epwmss@48304000 {
730279377Simp			compatible = "ti,am33xx-pwmss";
731279377Simp			reg = <0x48304000 0x10>;
732279377Simp			ti,hwmods = "epwmss2";
733279377Simp			#address-cells = <1>;
734279377Simp			#size-cells = <1>;
735279377Simp			status = "disabled";
736279377Simp			ranges = <0x48304100 0x48304100 0x80   /* ECAP */
737279377Simp				  0x48304180 0x48304180 0x80   /* EQEP */
738279377Simp				  0x48304200 0x48304200 0x80>; /* EHRPWM */
739279377Simp
740279377Simp			ecap2: ecap@48304100 {
741279377Simp				compatible = "ti,am33xx-ecap";
742279377Simp				#pwm-cells = <3>;
743279377Simp				reg = <0x48304100 0x80>;
744279377Simp				interrupts = <61>;
745279377Simp				interrupt-names = "ecap2";
746279377Simp				ti,hwmods = "ecap2";
747279377Simp				status = "disabled";
748279377Simp			};
749279377Simp
750279377Simp			ehrpwm2: ehrpwm@48304200 {
751279377Simp				compatible = "ti,am33xx-ehrpwm";
752279377Simp				#pwm-cells = <3>;
753279377Simp				reg = <0x48304200 0x80>;
754279377Simp				ti,hwmods = "ehrpwm2";
755279377Simp				status = "disabled";
756279377Simp			};
757279377Simp		};
758279377Simp
759279377Simp		mac: ethernet@4a100000 {
760295436Sandrew			compatible = "ti,am335x-cpsw","ti,cpsw";
761279377Simp			ti,hwmods = "cpgmac0";
762279377Simp			clocks = <&cpsw_125mhz_gclk>, <&cpsw_cpts_rft_clk>;
763279377Simp			clock-names = "fck", "cpts";
764279377Simp			cpdma_channels = <8>;
765279377Simp			ale_entries = <1024>;
766279377Simp			bd_ram_size = <0x2000>;
767279377Simp			no_bd_ram = <0>;
768279377Simp			rx_descs = <64>;
769279377Simp			mac_control = <0x20>;
770279377Simp			slaves = <2>;
771279377Simp			active_slave = <0>;
772279377Simp			cpts_clock_mult = <0x80000000>;
773279377Simp			cpts_clock_shift = <29>;
774279377Simp			reg = <0x4a100000 0x800
775279377Simp			       0x4a101200 0x100>;
776279377Simp			#address-cells = <1>;
777279377Simp			#size-cells = <1>;
778279377Simp			interrupt-parent = <&intc>;
779279377Simp			/*
780279377Simp			 * c0_rx_thresh_pend
781279377Simp			 * c0_rx_pend
782279377Simp			 * c0_tx_pend
783279377Simp			 * c0_misc_pend
784279377Simp			 */
785279377Simp			interrupts = <40 41 42 43>;
786279377Simp			ranges;
787295436Sandrew			syscon = <&scm_conf>;
788279377Simp			status = "disabled";
789279377Simp
790279377Simp			davinci_mdio: mdio@4a101000 {
791279377Simp				compatible = "ti,davinci_mdio";
792279377Simp				#address-cells = <1>;
793279377Simp				#size-cells = <0>;
794279377Simp				ti,hwmods = "davinci_mdio";
795279377Simp				bus_freq = <1000000>;
796279377Simp				reg = <0x4a101000 0x100>;
797279377Simp				status = "disabled";
798279377Simp			};
799279377Simp
800279377Simp			cpsw_emac0: slave@4a100200 {
801279377Simp				/* Filled in by U-Boot */
802279377Simp				mac-address = [ 00 00 00 00 00 00 ];
803279377Simp			};
804279377Simp
805279377Simp			cpsw_emac1: slave@4a100300 {
806279377Simp				/* Filled in by U-Boot */
807279377Simp				mac-address = [ 00 00 00 00 00 00 ];
808279377Simp			};
809279377Simp
810279377Simp			phy_sel: cpsw-phy-sel@44e10650 {
811279377Simp				compatible = "ti,am3352-cpsw-phy-sel";
812279377Simp				reg= <0x44e10650 0x4>;
813279377Simp				reg-names = "gmii-sel";
814279377Simp			};
815279377Simp		};
816279377Simp
817279377Simp		ocmcram: ocmcram@40300000 {
818279377Simp			compatible = "mmio-sram";
819279377Simp			reg = <0x40300000 0x10000>; /* 64k */
820279377Simp		};
821279377Simp
822279377Simp		elm: elm@48080000 {
823279377Simp			compatible = "ti,am3352-elm";
824279377Simp			reg = <0x48080000 0x2000>;
825279377Simp			interrupts = <4>;
826279377Simp			ti,hwmods = "elm";
827279377Simp			status = "disabled";
828279377Simp		};
829279377Simp
830279377Simp		lcdc: lcdc@4830e000 {
831279377Simp			compatible = "ti,am33xx-tilcdc";
832279377Simp			reg = <0x4830e000 0x1000>;
833279377Simp			interrupt-parent = <&intc>;
834279377Simp			interrupts = <36>;
835279377Simp			ti,hwmods = "lcdc";
836279377Simp			status = "disabled";
837279377Simp		};
838279377Simp
839279377Simp		tscadc: tscadc@44e0d000 {
840279377Simp			compatible = "ti,am3359-tscadc";
841279377Simp			reg = <0x44e0d000 0x1000>;
842279377Simp			interrupt-parent = <&intc>;
843279377Simp			interrupts = <16>;
844279377Simp			ti,hwmods = "adc_tsc";
845279377Simp			status = "disabled";
846279377Simp
847279377Simp			tsc {
848279377Simp				compatible = "ti,am3359-tsc";
849279377Simp			};
850279377Simp			am335x_adc: adc {
851279377Simp				#io-channel-cells = <1>;
852279377Simp				compatible = "ti,am3359-adc";
853279377Simp			};
854279377Simp		};
855279377Simp
856279377Simp		gpmc: gpmc@50000000 {
857279377Simp			compatible = "ti,am3352-gpmc";
858279377Simp			ti,hwmods = "gpmc";
859279377Simp			ti,no-idle-on-init;
860279377Simp			reg = <0x50000000 0x2000>;
861279377Simp			interrupts = <100>;
862295436Sandrew			dmas = <&edma 52>;
863295436Sandrew			dma-names = "rxtx";
864279377Simp			gpmc,num-cs = <7>;
865279377Simp			gpmc,num-waitpins = <2>;
866279377Simp			#address-cells = <2>;
867279377Simp			#size-cells = <1>;
868279377Simp			status = "disabled";
869279377Simp		};
870279377Simp
871279377Simp		sham: sham@53100000 {
872279377Simp			compatible = "ti,omap4-sham";
873279377Simp			ti,hwmods = "sham";
874279377Simp			reg = <0x53100000 0x200>;
875279377Simp			interrupts = <109>;
876295436Sandrew			dmas = <&edma 36 0>;
877279377Simp			dma-names = "rx";
878279377Simp		};
879279377Simp
880279377Simp		aes: aes@53500000 {
881279377Simp			compatible = "ti,omap4-aes";
882279377Simp			ti,hwmods = "aes";
883279377Simp			reg = <0x53500000 0xa0>;
884279377Simp			interrupts = <103>;
885295436Sandrew			dmas = <&edma 6 0>,
886295436Sandrew			       <&edma 5 0>;
887279377Simp			dma-names = "tx", "rx";
888279377Simp		};
889279377Simp
890279377Simp		mcasp0: mcasp@48038000 {
891279377Simp			compatible = "ti,am33xx-mcasp-audio";
892279377Simp			ti,hwmods = "mcasp0";
893279377Simp			reg = <0x48038000 0x2000>,
894279377Simp			      <0x46000000 0x400000>;
895279377Simp			reg-names = "mpu", "dat";
896279377Simp			interrupts = <80>, <81>;
897279377Simp			interrupt-names = "tx", "rx";
898279377Simp			status = "disabled";
899295436Sandrew			dmas = <&edma 8 2>,
900295436Sandrew				<&edma 9 2>;
901279377Simp			dma-names = "tx", "rx";
902279377Simp		};
903279377Simp
904279377Simp		mcasp1: mcasp@4803C000 {
905279377Simp			compatible = "ti,am33xx-mcasp-audio";
906279377Simp			ti,hwmods = "mcasp1";
907279377Simp			reg = <0x4803C000 0x2000>,
908279377Simp			      <0x46400000 0x400000>;
909279377Simp			reg-names = "mpu", "dat";
910279377Simp			interrupts = <82>, <83>;
911279377Simp			interrupt-names = "tx", "rx";
912279377Simp			status = "disabled";
913295436Sandrew			dmas = <&edma 10 2>,
914295436Sandrew				<&edma 11 2>;
915279377Simp			dma-names = "tx", "rx";
916279377Simp		};
917279377Simp
918279377Simp		rng: rng@48310000 {
919279377Simp			compatible = "ti,omap4-rng";
920279377Simp			ti,hwmods = "rng";
921279377Simp			reg = <0x48310000 0x2000>;
922279377Simp			interrupts = <111>;
923279377Simp		};
924279377Simp	};
925279377Simp};
926279377Simp
927279377Simp/include/ "am33xx-clocks.dtsi"
928