dm816x.dtsi revision 279377
1279377Simp/*
2279377Simp * This file is licensed under the terms of the GNU General Public License
3279377Simp * version 2.  This program is licensed "as is" without any warranty of any
4279377Simp * kind, whether express or implied.
5279377Simp */
6279377Simp
7279377Simp#include <dt-bindings/gpio/gpio.h>
8279377Simp#include <dt-bindings/pinctrl/omap.h>
9279377Simp
10279377Simp#include "skeleton.dtsi"
11279377Simp
12279377Simp/ {
13279377Simp	compatible = "ti,dm816";
14279377Simp	interrupt-parent = <&intc>;
15279377Simp
16279377Simp	aliases {
17279377Simp		i2c0 = &i2c1;
18279377Simp		i2c1 = &i2c2;
19279377Simp		serial0 = &uart1;
20279377Simp		serial1 = &uart2;
21279377Simp		serial2 = &uart3;
22279377Simp		ethernet0 = &eth0;
23279377Simp		ethernet1 = &eth1;
24279377Simp	};
25279377Simp
26279377Simp	cpus {
27279377Simp		#address-cells = <1>;
28279377Simp		#size-cells = <0>;
29279377Simp		cpu@0 {
30279377Simp			compatible = "arm,cortex-a8";
31279377Simp			device_type = "cpu";
32279377Simp			reg = <0>;
33279377Simp		};
34279377Simp	};
35279377Simp
36279377Simp	pmu {
37279377Simp		compatible = "arm,cortex-a8-pmu";
38279377Simp		interrupts = <3>;
39279377Simp	};
40279377Simp
41279377Simp	/*
42279377Simp	 * The soc node represents the soc top level view. It is used for IPs
43279377Simp	 * that are not memory mapped in the MPU view or for the MPU itself.
44279377Simp	 */
45279377Simp	soc {
46279377Simp		compatible = "ti,omap-infra";
47279377Simp		mpu {
48279377Simp			compatible = "ti,omap3-mpu";
49279377Simp			ti,hwmods = "mpu";
50279377Simp		};
51279377Simp	};
52279377Simp
53279377Simp	/*
54279377Simp	 * XXX: Use a flat representation of the dm816x interconnect.
55279377Simp	 * The real dm816x interconnect network is quite complex. Since
56279377Simp	 * it will not bring real advantage to represent that in DT
57279377Simp	 * for the moment, just use a fake OCP bus entry to represent
58279377Simp	 * the whole bus hierarchy.
59279377Simp	 */
60279377Simp	ocp {
61279377Simp		compatible = "ti,omap3-l3-smx", "simple-bus";
62279377Simp		reg = <0x44000000 0x10000>;
63279377Simp		interrupts = <9 10>;
64279377Simp		#address-cells = <1>;
65279377Simp		#size-cells = <1>;
66279377Simp		ranges;
67279377Simp		ti,hwmods = "l3_main";
68279377Simp
69279377Simp		prcm: prcm@48180000 {
70279377Simp			compatible = "ti,dm816-prcm";
71279377Simp			reg = <0x48180000 0x4000>;
72279377Simp
73279377Simp			prcm_clocks: clocks {
74279377Simp				#address-cells = <1>;
75279377Simp				#size-cells = <0>;
76279377Simp			};
77279377Simp
78279377Simp			prcm_clockdomains: clockdomains {
79279377Simp			};
80279377Simp		};
81279377Simp
82279377Simp		scrm: scrm@48140000 {
83279377Simp			compatible = "ti,dm816-scrm", "simple-bus";
84279377Simp			reg = <0x48140000 0x21000>;
85279377Simp			#address-cells = <1>;
86279377Simp			#size-cells = <1>;
87279377Simp			ranges = <0 0x48140000 0x21000>;
88279377Simp
89279377Simp			dm816x_pinmux: pinmux@800 {
90279377Simp				compatible = "pinctrl-single";
91279377Simp				reg = <0x800 0x50a>;
92279377Simp				#address-cells = <1>;
93279377Simp				#size-cells = <0>;
94279377Simp				pinctrl-single,register-width = <16>;
95279377Simp				pinctrl-single,function-mask = <0xf>;
96279377Simp			};
97279377Simp
98279377Simp			/* Device Configuration Registers */
99279377Simp			scm_conf: syscon@600 {
100279377Simp				compatible = "syscon";
101279377Simp				reg = <0x600 0x110>;
102279377Simp				#address-cells = <1>;
103279377Simp				#size-cells = <1>;
104279377Simp			};
105279377Simp
106279377Simp			scrm_clocks: clocks {
107279377Simp				#address-cells = <1>;
108279377Simp				#size-cells = <0>;
109279377Simp			};
110279377Simp
111279377Simp			scrm_clockdomains: clockdomains {
112279377Simp			};
113279377Simp		};
114279377Simp
115279377Simp		edma: edma@49000000 {
116279377Simp			compatible = "ti,edma3";
117279377Simp			ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2", "tptc3";
118279377Simp			reg =   <0x49000000 0x10000>,
119279377Simp			        <0x44e10f90 0x40>;
120279377Simp			interrupts = <12 13 14>;
121279377Simp			#dma-cells = <1>;
122279377Simp		};
123279377Simp
124279377Simp		elm: elm@48080000 {
125279377Simp			compatible = "ti,816-elm";
126279377Simp			ti,hwmods = "elm";
127279377Simp			reg = <0x48080000 0x2000>;
128279377Simp			interrupts = <4>;
129279377Simp		};
130279377Simp
131279377Simp		gpio1: gpio@48032000 {
132279377Simp			compatible = "ti,omap3-gpio";
133279377Simp			ti,hwmods = "gpio1";
134279377Simp			reg = <0x48032000 0x1000>;
135279377Simp			interrupts = <97>;
136279377Simp		};
137279377Simp
138279377Simp		gpio2: gpio@4804c000 {
139279377Simp			compatible = "ti,omap3-gpio";
140279377Simp			ti,hwmods = "gpio2";
141279377Simp			reg = <0x4804c000 0x1000>;
142279377Simp			interrupts = <99>;
143279377Simp		};
144279377Simp
145279377Simp		gpmc: gpmc@50000000 {
146279377Simp			compatible = "ti,am3352-gpmc";
147279377Simp			ti,hwmods = "gpmc";
148279377Simp			reg = <0x50000000 0x2000>;
149279377Simp			#address-cells = <2>;
150279377Simp			#size-cells = <1>;
151279377Simp			interrupts = <100>;
152279377Simp			gpmc,num-cs = <6>;
153279377Simp			gpmc,num-waitpins = <2>;
154279377Simp		};
155279377Simp
156279377Simp		i2c1: i2c@48028000 {
157279377Simp			compatible = "ti,omap4-i2c";
158279377Simp			ti,hwmods = "i2c1";
159279377Simp			reg = <0x48028000 0x1000>;
160279377Simp			#address-cells = <1>;
161279377Simp			#size-cells = <0>;
162279377Simp			interrupts = <70>;
163279377Simp			dmas = <&edma 58 &edma 59>;
164279377Simp			dma-names = "tx", "rx";
165279377Simp		};
166279377Simp
167279377Simp		i2c2: i2c@4802a000 {
168279377Simp			compatible = "ti,omap4-i2c";
169279377Simp			ti,hwmods = "i2c2";
170279377Simp			reg = <0x4802a000 0x1000>;
171279377Simp			#address-cells = <1>;
172279377Simp			#size-cells = <0>;
173279377Simp			interrupts = <71>;
174279377Simp			dmas = <&edma 60 &edma 61>;
175279377Simp			dma-names = "tx", "rx";
176279377Simp		};
177279377Simp
178279377Simp		intc: interrupt-controller@48200000 {
179279377Simp			compatible = "ti,dm816-intc";
180279377Simp			interrupt-controller;
181279377Simp			#interrupt-cells = <1>;
182279377Simp			reg = <0x48200000 0x1000>;
183279377Simp		};
184279377Simp
185279377Simp		mailbox: mailbox@480c8000 {
186279377Simp			compatible = "ti,omap4-mailbox";
187279377Simp			reg = <0x480c8000 0x2000>;
188279377Simp			interrupts = <77>;
189279377Simp			ti,hwmods = "mailbox";
190279377Simp			ti,mbox-num-users = <4>;
191279377Simp			ti,mbox-num-fifos = <12>;
192279377Simp			mbox_dsp: mbox_dsp {
193279377Simp				ti,mbox-tx = <3 0 0>;
194279377Simp				ti,mbox-rx = <0 0 0>;
195279377Simp			};
196279377Simp		};
197279377Simp
198279377Simp		mdio: mdio@4a100800 {
199279377Simp			compatible = "ti,davinci_mdio";
200279377Simp			#address-cells = <1>;
201279377Simp			#size-cells = <0>;
202279377Simp			reg = <0x4a100800 0x100>;
203279377Simp			ti,hwmods = "davinci_mdio";
204279377Simp			bus_freq = <1000000>;
205279377Simp			phy0: ethernet-phy@0 {
206279377Simp				reg = <1>;
207279377Simp			};
208279377Simp			phy1: ethernet-phy@1 {
209279377Simp				reg = <2>;
210279377Simp			};
211279377Simp		};
212279377Simp
213279377Simp		eth0: ethernet@4a100000 {
214279377Simp			compatible = "ti,dm816-emac";
215279377Simp			ti,hwmods = "emac0";
216279377Simp			reg = <0x4a100000 0x800
217279377Simp			       0x4a100900 0x3700>;
218279377Simp			clocks = <&sysclk24_ck>;
219279377Simp			syscon = <&scm_conf>;
220279377Simp			ti,davinci-ctrl-reg-offset = <0>;
221279377Simp			ti,davinci-ctrl-mod-reg-offset = <0x900>;
222279377Simp			ti,davinci-ctrl-ram-offset = <0x2000>;
223279377Simp			ti,davinci-ctrl-ram-size = <0x2000>;
224279377Simp			interrupts = <40 41 42 43>;
225279377Simp			phy-handle = <&phy0>;
226279377Simp		};
227279377Simp
228279377Simp		eth1: ethernet@4a120000 {
229279377Simp			compatible = "ti,dm816-emac";
230279377Simp			ti,hwmods = "emac1";
231279377Simp			reg = <0x4a120000 0x4000>;
232279377Simp			clocks = <&sysclk24_ck>;
233279377Simp			syscon = <&scm_conf>;
234279377Simp			ti,davinci-ctrl-reg-offset = <0>;
235279377Simp			ti,davinci-ctrl-mod-reg-offset = <0x900>;
236279377Simp			ti,davinci-ctrl-ram-offset = <0x2000>;
237279377Simp			ti,davinci-ctrl-ram-size = <0x2000>;
238279377Simp			interrupts = <44 45 46 47>;
239279377Simp			phy-handle = <&phy1>;
240279377Simp		};
241279377Simp
242279377Simp		mcspi1: spi@48030000 {
243279377Simp			compatible = "ti,omap4-mcspi";
244279377Simp			reg = <0x48030000 0x1000>;
245279377Simp			#address-cells = <1>;
246279377Simp			#size-cells = <0>;
247279377Simp			interrupts = <65>;
248279377Simp			ti,spi-num-cs = <4>;
249279377Simp			ti,hwmods = "mcspi1";
250279377Simp			dmas = <&edma 16 &edma 17
251279377Simp				&edma 18 &edma 19>;
252279377Simp			dma-names = "tx0", "rx0", "tx1", "rx1";
253279377Simp		};
254279377Simp
255279377Simp		mmc1: mmc@48060000 {
256279377Simp			compatible = "ti,omap4-hsmmc";
257279377Simp			reg = <0x48060000 0x11000>;
258279377Simp			ti,hwmods = "mmc1";
259279377Simp			interrupts = <64>;
260279377Simp			dmas = <&edma 24 &edma 25>;
261279377Simp			dma-names = "tx", "rx";
262279377Simp		};
263279377Simp
264279377Simp		timer1: timer@4802e000 {
265279377Simp			compatible = "ti,dm816-timer";
266279377Simp			reg = <0x4802e000 0x2000>;
267279377Simp			interrupts = <67>;
268279377Simp			ti,hwmods = "timer1";
269279377Simp			ti,timer-alwon;
270279377Simp		};
271279377Simp
272279377Simp		timer2: timer@48040000 {
273279377Simp			compatible = "ti,dm816-timer";
274279377Simp			reg = <0x48040000 0x2000>;
275279377Simp			interrupts = <68>;
276279377Simp			ti,hwmods = "timer2";
277279377Simp		};
278279377Simp
279279377Simp		timer3: timer@48042000 {
280279377Simp			compatible = "ti,dm816-timer";
281279377Simp			reg = <0x48042000 0x2000>;
282279377Simp			interrupts = <69>;
283279377Simp			ti,hwmods = "timer3";
284279377Simp		};
285279377Simp
286279377Simp		timer4: timer@48044000 {
287279377Simp			compatible = "ti,dm816-timer";
288279377Simp			reg = <0x48044000 0x2000>;
289279377Simp			interrupts = <92>;
290279377Simp			ti,hwmods = "timer4";
291279377Simp		};
292279377Simp
293279377Simp		timer5: timer@48046000 {
294279377Simp			compatible = "ti,dm816-timer";
295279377Simp			reg = <0x48046000 0x2000>;
296279377Simp			interrupts = <93>;
297279377Simp			ti,hwmods = "timer5";
298279377Simp		};
299279377Simp
300279377Simp		timer6: timer@48048000 {
301279377Simp			compatible = "ti,dm816-timer";
302279377Simp			reg = <0x48048000 0x2000>;
303279377Simp			interrupts = <94>;
304279377Simp			ti,hwmods = "timer6";
305279377Simp		};
306279377Simp
307279377Simp		timer7: timer@4804a000 {
308279377Simp			compatible = "ti,dm816-timer";
309279377Simp			reg = <0x4804a000 0x2000>;
310279377Simp			interrupts = <95>;
311279377Simp			ti,hwmods = "timer7";
312279377Simp		};
313279377Simp
314279377Simp		uart1: uart@48020000 {
315279377Simp			compatible = "ti,omap3-uart";
316279377Simp			ti,hwmods = "uart1";
317279377Simp			reg = <0x48020000 0x2000>;
318279377Simp			clock-frequency = <48000000>;
319279377Simp			interrupts = <72>;
320279377Simp			dmas = <&edma 26 &edma 27>;
321279377Simp			dma-names = "tx", "rx";
322279377Simp		};
323279377Simp
324279377Simp		uart2: uart@48022000 {
325279377Simp			compatible = "ti,omap3-uart";
326279377Simp			ti,hwmods = "uart2";
327279377Simp			reg = <0x48022000 0x2000>;
328279377Simp			clock-frequency = <48000000>;
329279377Simp			interrupts = <73>;
330279377Simp			dmas = <&edma 28 &edma 29>;
331279377Simp			dma-names = "tx", "rx";
332279377Simp		};
333279377Simp
334279377Simp		uart3: uart@48024000 {
335279377Simp			compatible = "ti,omap3-uart";
336279377Simp			ti,hwmods = "uart3";
337279377Simp			reg = <0x48024000 0x2000>;
338279377Simp			clock-frequency = <48000000>;
339279377Simp			interrupts = <74>;
340279377Simp			dmas = <&edma 30 &edma 31>;
341279377Simp			dma-names = "tx", "rx";
342279377Simp		};
343279377Simp
344279377Simp		/* NOTE: USB needs a transceiver driver for phys to work */
345279377Simp		usb: usb_otg_hs@47401000 {
346279377Simp			compatible = "ti,am33xx-usb";
347279377Simp			reg = <0x47401000 0x400000>;
348279377Simp			ranges;
349279377Simp			#address-cells = <1>;
350279377Simp			#size-cells = <1>;
351279377Simp			ti,hwmods = "usb_otg_hs";
352279377Simp
353279377Simp			usb0: usb@47401000 {
354279377Simp				compatible = "ti,musb-am33xx";
355279377Simp				reg = <0x47401400 0x400
356279377Simp				       0x47401000 0x200>;
357279377Simp				reg-names = "mc", "control";
358279377Simp				interrupts = <18>;
359279377Simp				interrupt-names = "mc";
360279377Simp				dr_mode = "otg";
361279377Simp				mentor,multipoint = <1>;
362279377Simp				mentor,num-eps = <16>;
363279377Simp				mentor,ram-bits = <12>;
364279377Simp				mentor,power = <500>;
365279377Simp			};
366279377Simp
367279377Simp			usb1: usb@47401800 {
368279377Simp				compatible = "ti,musb-am33xx";
369279377Simp				status = "disabled";
370279377Simp				reg = <0x47401c00 0x400
371279377Simp				       0x47401800 0x200>;
372279377Simp				reg-names = "mc", "control";
373279377Simp				interrupts = <19>;
374279377Simp				interrupt-names = "mc";
375279377Simp				dr_mode = "otg";
376279377Simp				mentor,multipoint = <1>;
377279377Simp				mentor,num-eps = <16>;
378279377Simp				mentor,ram-bits = <12>;
379279377Simp				mentor,power = <500>;
380279377Simp			};
381279377Simp		};
382279377Simp
383279377Simp		wd_timer2: wd_timer@480c2000 {
384279377Simp			compatible = "ti,omap3-wdt";
385279377Simp			ti,hwmods = "wd_timer";
386279377Simp			reg = <0x480c2000 0x1000>;
387279377Simp			interrupts = <0>;
388279377Simp		};
389279377Simp	};
390279377Simp};
391279377Simp
392279377Simp#include "dm816x-clocks.dtsi"
393