xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/omap3.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun * Device Tree Source for OMAP3 SoC
3*4882a593Smuzhiyun *
4*4882a593Smuzhiyun * Copyright (C) 2011 Texas Instruments Incorporated - https://www.ti.com/
5*4882a593Smuzhiyun *
6*4882a593Smuzhiyun * This file is licensed under the terms of the GNU General Public License
7*4882a593Smuzhiyun * version 2.  This program is licensed "as is" without any warranty of any
8*4882a593Smuzhiyun * kind, whether express or implied.
9*4882a593Smuzhiyun */
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun#include <dt-bindings/bus/ti-sysc.h>
12*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
13*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h>
14*4882a593Smuzhiyun#include <dt-bindings/pinctrl/omap.h>
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun/ {
17*4882a593Smuzhiyun	compatible = "ti,omap3430", "ti,omap3";
18*4882a593Smuzhiyun	interrupt-parent = <&intc>;
19*4882a593Smuzhiyun	#address-cells = <1>;
20*4882a593Smuzhiyun	#size-cells = <1>;
21*4882a593Smuzhiyun	chosen { };
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun	aliases {
24*4882a593Smuzhiyun		i2c0 = &i2c1;
25*4882a593Smuzhiyun		i2c1 = &i2c2;
26*4882a593Smuzhiyun		i2c2 = &i2c3;
27*4882a593Smuzhiyun		mmc0 = &mmc1;
28*4882a593Smuzhiyun		mmc1 = &mmc2;
29*4882a593Smuzhiyun		mmc2 = &mmc3;
30*4882a593Smuzhiyun		serial0 = &uart1;
31*4882a593Smuzhiyun		serial1 = &uart2;
32*4882a593Smuzhiyun		serial2 = &uart3;
33*4882a593Smuzhiyun	};
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun	cpus {
36*4882a593Smuzhiyun		#address-cells = <1>;
37*4882a593Smuzhiyun		#size-cells = <0>;
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun		cpu@0 {
40*4882a593Smuzhiyun			compatible = "arm,cortex-a8";
41*4882a593Smuzhiyun			device_type = "cpu";
42*4882a593Smuzhiyun			reg = <0x0>;
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun			clocks = <&dpll1_ck>;
45*4882a593Smuzhiyun			clock-names = "cpu";
46*4882a593Smuzhiyun
47*4882a593Smuzhiyun			clock-latency = <300000>; /* From omap-cpufreq driver */
48*4882a593Smuzhiyun		};
49*4882a593Smuzhiyun	};
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun	pmu@54000000 {
52*4882a593Smuzhiyun		compatible = "arm,cortex-a8-pmu";
53*4882a593Smuzhiyun		reg = <0x54000000 0x800000>;
54*4882a593Smuzhiyun		interrupts = <3>;
55*4882a593Smuzhiyun		ti,hwmods = "debugss";
56*4882a593Smuzhiyun	};
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun	/*
59*4882a593Smuzhiyun	 * The soc node represents the soc top level view. It is used for IPs
60*4882a593Smuzhiyun	 * that are not memory mapped in the MPU view or for the MPU itself.
61*4882a593Smuzhiyun	 */
62*4882a593Smuzhiyun	soc {
63*4882a593Smuzhiyun		compatible = "ti,omap-infra";
64*4882a593Smuzhiyun		mpu {
65*4882a593Smuzhiyun			compatible = "ti,omap3-mpu";
66*4882a593Smuzhiyun			ti,hwmods = "mpu";
67*4882a593Smuzhiyun		};
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun		iva: iva {
70*4882a593Smuzhiyun			compatible = "ti,iva2.2";
71*4882a593Smuzhiyun			ti,hwmods = "iva";
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun			dsp {
74*4882a593Smuzhiyun				compatible = "ti,omap3-c64";
75*4882a593Smuzhiyun			};
76*4882a593Smuzhiyun		};
77*4882a593Smuzhiyun	};
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun	/*
80*4882a593Smuzhiyun	 * XXX: Use a flat representation of the OMAP3 interconnect.
81*4882a593Smuzhiyun	 * The real OMAP interconnect network is quite complex.
82*4882a593Smuzhiyun	 * Since it will not bring real advantage to represent that in DT for
83*4882a593Smuzhiyun	 * the moment, just use a fake OCP bus entry to represent the whole bus
84*4882a593Smuzhiyun	 * hierarchy.
85*4882a593Smuzhiyun	 */
86*4882a593Smuzhiyun	ocp@68000000 {
87*4882a593Smuzhiyun		compatible = "ti,omap3-l3-smx", "simple-bus";
88*4882a593Smuzhiyun		reg = <0x68000000 0x10000>;
89*4882a593Smuzhiyun		interrupts = <9 10>;
90*4882a593Smuzhiyun		#address-cells = <1>;
91*4882a593Smuzhiyun		#size-cells = <1>;
92*4882a593Smuzhiyun		ranges;
93*4882a593Smuzhiyun		ti,hwmods = "l3_main";
94*4882a593Smuzhiyun
95*4882a593Smuzhiyun		l4_core: l4@48000000 {
96*4882a593Smuzhiyun			compatible = "ti,omap3-l4-core", "simple-bus";
97*4882a593Smuzhiyun			#address-cells = <1>;
98*4882a593Smuzhiyun			#size-cells = <1>;
99*4882a593Smuzhiyun			ranges = <0 0x48000000 0x1000000>;
100*4882a593Smuzhiyun
101*4882a593Smuzhiyun			scm: scm@2000 {
102*4882a593Smuzhiyun				compatible = "ti,omap3-scm", "simple-bus";
103*4882a593Smuzhiyun				reg = <0x2000 0x2000>;
104*4882a593Smuzhiyun				#address-cells = <1>;
105*4882a593Smuzhiyun				#size-cells = <1>;
106*4882a593Smuzhiyun				ranges = <0 0x2000 0x2000>;
107*4882a593Smuzhiyun
108*4882a593Smuzhiyun				omap3_pmx_core: pinmux@30 {
109*4882a593Smuzhiyun					compatible = "ti,omap3-padconf",
110*4882a593Smuzhiyun						     "pinctrl-single";
111*4882a593Smuzhiyun					reg = <0x30 0x238>;
112*4882a593Smuzhiyun					#address-cells = <1>;
113*4882a593Smuzhiyun					#size-cells = <0>;
114*4882a593Smuzhiyun					#pinctrl-cells = <1>;
115*4882a593Smuzhiyun					#interrupt-cells = <1>;
116*4882a593Smuzhiyun					interrupt-controller;
117*4882a593Smuzhiyun					pinctrl-single,register-width = <16>;
118*4882a593Smuzhiyun					pinctrl-single,function-mask = <0xff1f>;
119*4882a593Smuzhiyun				};
120*4882a593Smuzhiyun
121*4882a593Smuzhiyun				scm_conf: scm_conf@270 {
122*4882a593Smuzhiyun					compatible = "syscon", "simple-bus";
123*4882a593Smuzhiyun					reg = <0x270 0x330>;
124*4882a593Smuzhiyun					#address-cells = <1>;
125*4882a593Smuzhiyun					#size-cells = <1>;
126*4882a593Smuzhiyun					ranges = <0 0x270 0x330>;
127*4882a593Smuzhiyun
128*4882a593Smuzhiyun					pbias_regulator: pbias_regulator@2b0 {
129*4882a593Smuzhiyun						compatible = "ti,pbias-omap3", "ti,pbias-omap";
130*4882a593Smuzhiyun						reg = <0x2b0 0x4>;
131*4882a593Smuzhiyun						syscon = <&scm_conf>;
132*4882a593Smuzhiyun						pbias_mmc_reg: pbias_mmc_omap2430 {
133*4882a593Smuzhiyun							regulator-name = "pbias_mmc_omap2430";
134*4882a593Smuzhiyun							regulator-min-microvolt = <1800000>;
135*4882a593Smuzhiyun							regulator-max-microvolt = <3000000>;
136*4882a593Smuzhiyun						};
137*4882a593Smuzhiyun					};
138*4882a593Smuzhiyun
139*4882a593Smuzhiyun					scm_clocks: clocks {
140*4882a593Smuzhiyun						#address-cells = <1>;
141*4882a593Smuzhiyun						#size-cells = <0>;
142*4882a593Smuzhiyun					};
143*4882a593Smuzhiyun				};
144*4882a593Smuzhiyun
145*4882a593Smuzhiyun				scm_clockdomains: clockdomains {
146*4882a593Smuzhiyun				};
147*4882a593Smuzhiyun
148*4882a593Smuzhiyun				omap3_pmx_wkup: pinmux@a00 {
149*4882a593Smuzhiyun					compatible = "ti,omap3-padconf",
150*4882a593Smuzhiyun						     "pinctrl-single";
151*4882a593Smuzhiyun					reg = <0xa00 0x5c>;
152*4882a593Smuzhiyun					#address-cells = <1>;
153*4882a593Smuzhiyun					#size-cells = <0>;
154*4882a593Smuzhiyun					#pinctrl-cells = <1>;
155*4882a593Smuzhiyun					#interrupt-cells = <1>;
156*4882a593Smuzhiyun					interrupt-controller;
157*4882a593Smuzhiyun					pinctrl-single,register-width = <16>;
158*4882a593Smuzhiyun					pinctrl-single,function-mask = <0xff1f>;
159*4882a593Smuzhiyun				};
160*4882a593Smuzhiyun			};
161*4882a593Smuzhiyun		};
162*4882a593Smuzhiyun
163*4882a593Smuzhiyun		aes1_target: target-module@480a6000 {
164*4882a593Smuzhiyun			compatible = "ti,sysc-omap2", "ti,sysc";
165*4882a593Smuzhiyun			reg = <0x480a6044 0x4>,
166*4882a593Smuzhiyun			      <0x480a6048 0x4>,
167*4882a593Smuzhiyun			      <0x480a604c 0x4>;
168*4882a593Smuzhiyun			reg-names = "rev", "sysc", "syss";
169*4882a593Smuzhiyun			ti,sysc-mask = <(SYSC_OMAP2_AUTOIDLE)>;
170*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
171*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
172*4882a593Smuzhiyun					<SYSC_IDLE_SMART>;
173*4882a593Smuzhiyun			ti,syss-mask = <1>;
174*4882a593Smuzhiyun			clocks = <&aes1_ick>;
175*4882a593Smuzhiyun			clock-names = "ick";
176*4882a593Smuzhiyun			#address-cells = <1>;
177*4882a593Smuzhiyun			#size-cells = <1>;
178*4882a593Smuzhiyun			ranges = <0 0x480a6000 0x2000>;
179*4882a593Smuzhiyun
180*4882a593Smuzhiyun			aes1: aes1@0 {
181*4882a593Smuzhiyun				compatible = "ti,omap3-aes";
182*4882a593Smuzhiyun				reg = <0 0x50>;
183*4882a593Smuzhiyun				interrupts = <0>;
184*4882a593Smuzhiyun				dmas = <&sdma 9 &sdma 10>;
185*4882a593Smuzhiyun				dma-names = "tx", "rx";
186*4882a593Smuzhiyun			};
187*4882a593Smuzhiyun		};
188*4882a593Smuzhiyun
189*4882a593Smuzhiyun		aes2_target: target-module@480c5000 {
190*4882a593Smuzhiyun			compatible = "ti,sysc-omap2", "ti,sysc";
191*4882a593Smuzhiyun			reg = <0x480c5044 0x4>,
192*4882a593Smuzhiyun			      <0x480c5048 0x4>,
193*4882a593Smuzhiyun			      <0x480c504c 0x4>;
194*4882a593Smuzhiyun			reg-names = "rev", "sysc", "syss";
195*4882a593Smuzhiyun			ti,sysc-mask = <(SYSC_OMAP2_AUTOIDLE)>;
196*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
197*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
198*4882a593Smuzhiyun					<SYSC_IDLE_SMART>;
199*4882a593Smuzhiyun			ti,syss-mask = <1>;
200*4882a593Smuzhiyun			clocks = <&aes2_ick>;
201*4882a593Smuzhiyun			clock-names = "ick";
202*4882a593Smuzhiyun			#address-cells = <1>;
203*4882a593Smuzhiyun			#size-cells = <1>;
204*4882a593Smuzhiyun			ranges = <0 0x480c5000 0x2000>;
205*4882a593Smuzhiyun
206*4882a593Smuzhiyun			aes2: aes2@0 {
207*4882a593Smuzhiyun				compatible = "ti,omap3-aes";
208*4882a593Smuzhiyun				reg = <0 0x50>;
209*4882a593Smuzhiyun				interrupts = <0>;
210*4882a593Smuzhiyun				dmas = <&sdma 65 &sdma 66>;
211*4882a593Smuzhiyun				dma-names = "tx", "rx";
212*4882a593Smuzhiyun			};
213*4882a593Smuzhiyun		};
214*4882a593Smuzhiyun
215*4882a593Smuzhiyun		prm: prm@48306000 {
216*4882a593Smuzhiyun			compatible = "ti,omap3-prm";
217*4882a593Smuzhiyun			reg = <0x48306000 0x4000>;
218*4882a593Smuzhiyun			interrupts = <11>;
219*4882a593Smuzhiyun
220*4882a593Smuzhiyun			prm_clocks: clocks {
221*4882a593Smuzhiyun				#address-cells = <1>;
222*4882a593Smuzhiyun				#size-cells = <0>;
223*4882a593Smuzhiyun			};
224*4882a593Smuzhiyun
225*4882a593Smuzhiyun			prm_clockdomains: clockdomains {
226*4882a593Smuzhiyun			};
227*4882a593Smuzhiyun		};
228*4882a593Smuzhiyun
229*4882a593Smuzhiyun		cm: cm@48004000 {
230*4882a593Smuzhiyun			compatible = "ti,omap3-cm";
231*4882a593Smuzhiyun			reg = <0x48004000 0x4000>;
232*4882a593Smuzhiyun
233*4882a593Smuzhiyun			cm_clocks: clocks {
234*4882a593Smuzhiyun				#address-cells = <1>;
235*4882a593Smuzhiyun				#size-cells = <0>;
236*4882a593Smuzhiyun			};
237*4882a593Smuzhiyun
238*4882a593Smuzhiyun			cm_clockdomains: clockdomains {
239*4882a593Smuzhiyun			};
240*4882a593Smuzhiyun		};
241*4882a593Smuzhiyun
242*4882a593Smuzhiyun		target-module@48320000 {
243*4882a593Smuzhiyun			compatible = "ti,sysc-omap2", "ti,sysc";
244*4882a593Smuzhiyun			reg = <0x48320000 0x4>,
245*4882a593Smuzhiyun			      <0x48320004 0x4>;
246*4882a593Smuzhiyun			reg-names = "rev", "sysc";
247*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
248*4882a593Smuzhiyun					<SYSC_IDLE_NO>;
249*4882a593Smuzhiyun			clocks = <&wkup_32k_fck>, <&omap_32ksync_ick>;
250*4882a593Smuzhiyun			clock-names = "fck", "ick";
251*4882a593Smuzhiyun			#address-cells = <1>;
252*4882a593Smuzhiyun			#size-cells = <1>;
253*4882a593Smuzhiyun			ranges = <0x0 0x48320000 0x1000>;
254*4882a593Smuzhiyun
255*4882a593Smuzhiyun			counter32k: counter@0 {
256*4882a593Smuzhiyun				compatible = "ti,omap-counter32k";
257*4882a593Smuzhiyun				reg = <0x0 0x20>;
258*4882a593Smuzhiyun			};
259*4882a593Smuzhiyun		};
260*4882a593Smuzhiyun
261*4882a593Smuzhiyun		intc: interrupt-controller@48200000 {
262*4882a593Smuzhiyun			compatible = "ti,omap3-intc";
263*4882a593Smuzhiyun			interrupt-controller;
264*4882a593Smuzhiyun			#interrupt-cells = <1>;
265*4882a593Smuzhiyun			reg = <0x48200000 0x1000>;
266*4882a593Smuzhiyun		};
267*4882a593Smuzhiyun
268*4882a593Smuzhiyun		target-module@48056000 {
269*4882a593Smuzhiyun			compatible = "ti,sysc-omap2", "ti,sysc";
270*4882a593Smuzhiyun			reg = <0x48056000 0x4>,
271*4882a593Smuzhiyun			      <0x4805602c 0x4>,
272*4882a593Smuzhiyun			      <0x48056028 0x4>;
273*4882a593Smuzhiyun			reg-names = "rev", "sysc", "syss";
274*4882a593Smuzhiyun			ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
275*4882a593Smuzhiyun					 SYSC_OMAP2_EMUFREE |
276*4882a593Smuzhiyun					 SYSC_OMAP2_SOFTRESET |
277*4882a593Smuzhiyun					 SYSC_OMAP2_AUTOIDLE)>;
278*4882a593Smuzhiyun			ti,sysc-midle = <SYSC_IDLE_FORCE>,
279*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
280*4882a593Smuzhiyun					<SYSC_IDLE_SMART>;
281*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
282*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
283*4882a593Smuzhiyun					<SYSC_IDLE_SMART>;
284*4882a593Smuzhiyun			ti,syss-mask = <1>;
285*4882a593Smuzhiyun			/* Domains (V, P, C): core, core_pwrdm, core_l3_clkdm */
286*4882a593Smuzhiyun			clocks = <&core_l3_ick>;
287*4882a593Smuzhiyun			clock-names = "ick";
288*4882a593Smuzhiyun			#address-cells = <1>;
289*4882a593Smuzhiyun			#size-cells = <1>;
290*4882a593Smuzhiyun			ranges = <0 0x48056000 0x1000>;
291*4882a593Smuzhiyun
292*4882a593Smuzhiyun			sdma: dma-controller@0 {
293*4882a593Smuzhiyun				compatible = "ti,omap3430-sdma", "ti,omap-sdma";
294*4882a593Smuzhiyun				reg = <0x0 0x1000>;
295*4882a593Smuzhiyun				interrupts = <12>,
296*4882a593Smuzhiyun					     <13>,
297*4882a593Smuzhiyun					     <14>,
298*4882a593Smuzhiyun					     <15>;
299*4882a593Smuzhiyun				#dma-cells = <1>;
300*4882a593Smuzhiyun				dma-channels = <32>;
301*4882a593Smuzhiyun				dma-requests = <96>;
302*4882a593Smuzhiyun			};
303*4882a593Smuzhiyun		};
304*4882a593Smuzhiyun
305*4882a593Smuzhiyun		gpio1: gpio@48310000 {
306*4882a593Smuzhiyun			compatible = "ti,omap3-gpio";
307*4882a593Smuzhiyun			reg = <0x48310000 0x200>;
308*4882a593Smuzhiyun			interrupts = <29>;
309*4882a593Smuzhiyun			ti,hwmods = "gpio1";
310*4882a593Smuzhiyun			ti,gpio-always-on;
311*4882a593Smuzhiyun			gpio-controller;
312*4882a593Smuzhiyun			#gpio-cells = <2>;
313*4882a593Smuzhiyun			interrupt-controller;
314*4882a593Smuzhiyun			#interrupt-cells = <2>;
315*4882a593Smuzhiyun		};
316*4882a593Smuzhiyun
317*4882a593Smuzhiyun		gpio2: gpio@49050000 {
318*4882a593Smuzhiyun			compatible = "ti,omap3-gpio";
319*4882a593Smuzhiyun			reg = <0x49050000 0x200>;
320*4882a593Smuzhiyun			interrupts = <30>;
321*4882a593Smuzhiyun			ti,hwmods = "gpio2";
322*4882a593Smuzhiyun			gpio-controller;
323*4882a593Smuzhiyun			#gpio-cells = <2>;
324*4882a593Smuzhiyun			interrupt-controller;
325*4882a593Smuzhiyun			#interrupt-cells = <2>;
326*4882a593Smuzhiyun		};
327*4882a593Smuzhiyun
328*4882a593Smuzhiyun		gpio3: gpio@49052000 {
329*4882a593Smuzhiyun			compatible = "ti,omap3-gpio";
330*4882a593Smuzhiyun			reg = <0x49052000 0x200>;
331*4882a593Smuzhiyun			interrupts = <31>;
332*4882a593Smuzhiyun			ti,hwmods = "gpio3";
333*4882a593Smuzhiyun			gpio-controller;
334*4882a593Smuzhiyun			#gpio-cells = <2>;
335*4882a593Smuzhiyun			interrupt-controller;
336*4882a593Smuzhiyun			#interrupt-cells = <2>;
337*4882a593Smuzhiyun		};
338*4882a593Smuzhiyun
339*4882a593Smuzhiyun		gpio4: gpio@49054000 {
340*4882a593Smuzhiyun			compatible = "ti,omap3-gpio";
341*4882a593Smuzhiyun			reg = <0x49054000 0x200>;
342*4882a593Smuzhiyun			interrupts = <32>;
343*4882a593Smuzhiyun			ti,hwmods = "gpio4";
344*4882a593Smuzhiyun			gpio-controller;
345*4882a593Smuzhiyun			#gpio-cells = <2>;
346*4882a593Smuzhiyun			interrupt-controller;
347*4882a593Smuzhiyun			#interrupt-cells = <2>;
348*4882a593Smuzhiyun		};
349*4882a593Smuzhiyun
350*4882a593Smuzhiyun		gpio5: gpio@49056000 {
351*4882a593Smuzhiyun			compatible = "ti,omap3-gpio";
352*4882a593Smuzhiyun			reg = <0x49056000 0x200>;
353*4882a593Smuzhiyun			interrupts = <33>;
354*4882a593Smuzhiyun			ti,hwmods = "gpio5";
355*4882a593Smuzhiyun			gpio-controller;
356*4882a593Smuzhiyun			#gpio-cells = <2>;
357*4882a593Smuzhiyun			interrupt-controller;
358*4882a593Smuzhiyun			#interrupt-cells = <2>;
359*4882a593Smuzhiyun		};
360*4882a593Smuzhiyun
361*4882a593Smuzhiyun		gpio6: gpio@49058000 {
362*4882a593Smuzhiyun			compatible = "ti,omap3-gpio";
363*4882a593Smuzhiyun			reg = <0x49058000 0x200>;
364*4882a593Smuzhiyun			interrupts = <34>;
365*4882a593Smuzhiyun			ti,hwmods = "gpio6";
366*4882a593Smuzhiyun			gpio-controller;
367*4882a593Smuzhiyun			#gpio-cells = <2>;
368*4882a593Smuzhiyun			interrupt-controller;
369*4882a593Smuzhiyun			#interrupt-cells = <2>;
370*4882a593Smuzhiyun		};
371*4882a593Smuzhiyun
372*4882a593Smuzhiyun		uart1: serial@4806a000 {
373*4882a593Smuzhiyun			compatible = "ti,omap3-uart";
374*4882a593Smuzhiyun			reg = <0x4806a000 0x2000>;
375*4882a593Smuzhiyun			interrupts-extended = <&intc 72>;
376*4882a593Smuzhiyun			dmas = <&sdma 49 &sdma 50>;
377*4882a593Smuzhiyun			dma-names = "tx", "rx";
378*4882a593Smuzhiyun			ti,hwmods = "uart1";
379*4882a593Smuzhiyun			clock-frequency = <48000000>;
380*4882a593Smuzhiyun		};
381*4882a593Smuzhiyun
382*4882a593Smuzhiyun		uart2: serial@4806c000 {
383*4882a593Smuzhiyun			compatible = "ti,omap3-uart";
384*4882a593Smuzhiyun			reg = <0x4806c000 0x400>;
385*4882a593Smuzhiyun			interrupts-extended = <&intc 73>;
386*4882a593Smuzhiyun			dmas = <&sdma 51 &sdma 52>;
387*4882a593Smuzhiyun			dma-names = "tx", "rx";
388*4882a593Smuzhiyun			ti,hwmods = "uart2";
389*4882a593Smuzhiyun			clock-frequency = <48000000>;
390*4882a593Smuzhiyun		};
391*4882a593Smuzhiyun
392*4882a593Smuzhiyun		uart3: serial@49020000 {
393*4882a593Smuzhiyun			compatible = "ti,omap3-uart";
394*4882a593Smuzhiyun			reg = <0x49020000 0x400>;
395*4882a593Smuzhiyun			interrupts-extended = <&intc 74>;
396*4882a593Smuzhiyun			dmas = <&sdma 53 &sdma 54>;
397*4882a593Smuzhiyun			dma-names = "tx", "rx";
398*4882a593Smuzhiyun			ti,hwmods = "uart3";
399*4882a593Smuzhiyun			clock-frequency = <48000000>;
400*4882a593Smuzhiyun		};
401*4882a593Smuzhiyun
402*4882a593Smuzhiyun		i2c1: i2c@48070000 {
403*4882a593Smuzhiyun			compatible = "ti,omap3-i2c";
404*4882a593Smuzhiyun			reg = <0x48070000 0x80>;
405*4882a593Smuzhiyun			interrupts = <56>;
406*4882a593Smuzhiyun			dmas = <&sdma 27 &sdma 28>;
407*4882a593Smuzhiyun			dma-names = "tx", "rx";
408*4882a593Smuzhiyun			#address-cells = <1>;
409*4882a593Smuzhiyun			#size-cells = <0>;
410*4882a593Smuzhiyun			ti,hwmods = "i2c1";
411*4882a593Smuzhiyun		};
412*4882a593Smuzhiyun
413*4882a593Smuzhiyun		i2c2: i2c@48072000 {
414*4882a593Smuzhiyun			compatible = "ti,omap3-i2c";
415*4882a593Smuzhiyun			reg = <0x48072000 0x80>;
416*4882a593Smuzhiyun			interrupts = <57>;
417*4882a593Smuzhiyun			dmas = <&sdma 29 &sdma 30>;
418*4882a593Smuzhiyun			dma-names = "tx", "rx";
419*4882a593Smuzhiyun			#address-cells = <1>;
420*4882a593Smuzhiyun			#size-cells = <0>;
421*4882a593Smuzhiyun			ti,hwmods = "i2c2";
422*4882a593Smuzhiyun		};
423*4882a593Smuzhiyun
424*4882a593Smuzhiyun		i2c3: i2c@48060000 {
425*4882a593Smuzhiyun			compatible = "ti,omap3-i2c";
426*4882a593Smuzhiyun			reg = <0x48060000 0x80>;
427*4882a593Smuzhiyun			interrupts = <61>;
428*4882a593Smuzhiyun			dmas = <&sdma 25 &sdma 26>;
429*4882a593Smuzhiyun			dma-names = "tx", "rx";
430*4882a593Smuzhiyun			#address-cells = <1>;
431*4882a593Smuzhiyun			#size-cells = <0>;
432*4882a593Smuzhiyun			ti,hwmods = "i2c3";
433*4882a593Smuzhiyun		};
434*4882a593Smuzhiyun
435*4882a593Smuzhiyun		mailbox: mailbox@48094000 {
436*4882a593Smuzhiyun			compatible = "ti,omap3-mailbox";
437*4882a593Smuzhiyun			ti,hwmods = "mailbox";
438*4882a593Smuzhiyun			reg = <0x48094000 0x200>;
439*4882a593Smuzhiyun			interrupts = <26>;
440*4882a593Smuzhiyun			#mbox-cells = <1>;
441*4882a593Smuzhiyun			ti,mbox-num-users = <2>;
442*4882a593Smuzhiyun			ti,mbox-num-fifos = <2>;
443*4882a593Smuzhiyun			mbox_dsp: dsp {
444*4882a593Smuzhiyun				ti,mbox-tx = <0 0 0>;
445*4882a593Smuzhiyun				ti,mbox-rx = <1 0 0>;
446*4882a593Smuzhiyun			};
447*4882a593Smuzhiyun		};
448*4882a593Smuzhiyun
449*4882a593Smuzhiyun		mcspi1: spi@48098000 {
450*4882a593Smuzhiyun			compatible = "ti,omap2-mcspi";
451*4882a593Smuzhiyun			reg = <0x48098000 0x100>;
452*4882a593Smuzhiyun			interrupts = <65>;
453*4882a593Smuzhiyun			#address-cells = <1>;
454*4882a593Smuzhiyun			#size-cells = <0>;
455*4882a593Smuzhiyun			ti,hwmods = "mcspi1";
456*4882a593Smuzhiyun			ti,spi-num-cs = <4>;
457*4882a593Smuzhiyun			dmas = <&sdma 35>,
458*4882a593Smuzhiyun			       <&sdma 36>,
459*4882a593Smuzhiyun			       <&sdma 37>,
460*4882a593Smuzhiyun			       <&sdma 38>,
461*4882a593Smuzhiyun			       <&sdma 39>,
462*4882a593Smuzhiyun			       <&sdma 40>,
463*4882a593Smuzhiyun			       <&sdma 41>,
464*4882a593Smuzhiyun			       <&sdma 42>;
465*4882a593Smuzhiyun			dma-names = "tx0", "rx0", "tx1", "rx1",
466*4882a593Smuzhiyun				    "tx2", "rx2", "tx3", "rx3";
467*4882a593Smuzhiyun		};
468*4882a593Smuzhiyun
469*4882a593Smuzhiyun		mcspi2: spi@4809a000 {
470*4882a593Smuzhiyun			compatible = "ti,omap2-mcspi";
471*4882a593Smuzhiyun			reg = <0x4809a000 0x100>;
472*4882a593Smuzhiyun			interrupts = <66>;
473*4882a593Smuzhiyun			#address-cells = <1>;
474*4882a593Smuzhiyun			#size-cells = <0>;
475*4882a593Smuzhiyun			ti,hwmods = "mcspi2";
476*4882a593Smuzhiyun			ti,spi-num-cs = <2>;
477*4882a593Smuzhiyun			dmas = <&sdma 43>,
478*4882a593Smuzhiyun			       <&sdma 44>,
479*4882a593Smuzhiyun			       <&sdma 45>,
480*4882a593Smuzhiyun			       <&sdma 46>;
481*4882a593Smuzhiyun			dma-names = "tx0", "rx0", "tx1", "rx1";
482*4882a593Smuzhiyun		};
483*4882a593Smuzhiyun
484*4882a593Smuzhiyun		mcspi3: spi@480b8000 {
485*4882a593Smuzhiyun			compatible = "ti,omap2-mcspi";
486*4882a593Smuzhiyun			reg = <0x480b8000 0x100>;
487*4882a593Smuzhiyun			interrupts = <91>;
488*4882a593Smuzhiyun			#address-cells = <1>;
489*4882a593Smuzhiyun			#size-cells = <0>;
490*4882a593Smuzhiyun			ti,hwmods = "mcspi3";
491*4882a593Smuzhiyun			ti,spi-num-cs = <2>;
492*4882a593Smuzhiyun			dmas = <&sdma 15>,
493*4882a593Smuzhiyun			       <&sdma 16>,
494*4882a593Smuzhiyun			       <&sdma 23>,
495*4882a593Smuzhiyun			       <&sdma 24>;
496*4882a593Smuzhiyun			dma-names = "tx0", "rx0", "tx1", "rx1";
497*4882a593Smuzhiyun		};
498*4882a593Smuzhiyun
499*4882a593Smuzhiyun		mcspi4: spi@480ba000 {
500*4882a593Smuzhiyun			compatible = "ti,omap2-mcspi";
501*4882a593Smuzhiyun			reg = <0x480ba000 0x100>;
502*4882a593Smuzhiyun			interrupts = <48>;
503*4882a593Smuzhiyun			#address-cells = <1>;
504*4882a593Smuzhiyun			#size-cells = <0>;
505*4882a593Smuzhiyun			ti,hwmods = "mcspi4";
506*4882a593Smuzhiyun			ti,spi-num-cs = <1>;
507*4882a593Smuzhiyun			dmas = <&sdma 70>, <&sdma 71>;
508*4882a593Smuzhiyun			dma-names = "tx0", "rx0";
509*4882a593Smuzhiyun		};
510*4882a593Smuzhiyun
511*4882a593Smuzhiyun		hdqw1w: 1w@480b2000 {
512*4882a593Smuzhiyun			compatible = "ti,omap3-1w";
513*4882a593Smuzhiyun			reg = <0x480b2000 0x1000>;
514*4882a593Smuzhiyun			interrupts = <58>;
515*4882a593Smuzhiyun			ti,hwmods = "hdq1w";
516*4882a593Smuzhiyun		};
517*4882a593Smuzhiyun
518*4882a593Smuzhiyun		mmc1: mmc@4809c000 {
519*4882a593Smuzhiyun			compatible = "ti,omap3-hsmmc";
520*4882a593Smuzhiyun			reg = <0x4809c000 0x200>;
521*4882a593Smuzhiyun			interrupts = <83>;
522*4882a593Smuzhiyun			ti,hwmods = "mmc1";
523*4882a593Smuzhiyun			ti,dual-volt;
524*4882a593Smuzhiyun			dmas = <&sdma 61>, <&sdma 62>;
525*4882a593Smuzhiyun			dma-names = "tx", "rx";
526*4882a593Smuzhiyun			pbias-supply = <&pbias_mmc_reg>;
527*4882a593Smuzhiyun		};
528*4882a593Smuzhiyun
529*4882a593Smuzhiyun		mmc2: mmc@480b4000 {
530*4882a593Smuzhiyun			compatible = "ti,omap3-hsmmc";
531*4882a593Smuzhiyun			reg = <0x480b4000 0x200>;
532*4882a593Smuzhiyun			interrupts = <86>;
533*4882a593Smuzhiyun			ti,hwmods = "mmc2";
534*4882a593Smuzhiyun			dmas = <&sdma 47>, <&sdma 48>;
535*4882a593Smuzhiyun			dma-names = "tx", "rx";
536*4882a593Smuzhiyun		};
537*4882a593Smuzhiyun
538*4882a593Smuzhiyun		mmc3: mmc@480ad000 {
539*4882a593Smuzhiyun			compatible = "ti,omap3-hsmmc";
540*4882a593Smuzhiyun			reg = <0x480ad000 0x200>;
541*4882a593Smuzhiyun			interrupts = <94>;
542*4882a593Smuzhiyun			ti,hwmods = "mmc3";
543*4882a593Smuzhiyun			dmas = <&sdma 77>, <&sdma 78>;
544*4882a593Smuzhiyun			dma-names = "tx", "rx";
545*4882a593Smuzhiyun		};
546*4882a593Smuzhiyun
547*4882a593Smuzhiyun		mmu_isp: mmu@480bd400 {
548*4882a593Smuzhiyun			#iommu-cells = <0>;
549*4882a593Smuzhiyun			compatible = "ti,omap2-iommu";
550*4882a593Smuzhiyun			reg = <0x480bd400 0x80>;
551*4882a593Smuzhiyun			interrupts = <24>;
552*4882a593Smuzhiyun			ti,hwmods = "mmu_isp";
553*4882a593Smuzhiyun			ti,#tlb-entries = <8>;
554*4882a593Smuzhiyun		};
555*4882a593Smuzhiyun
556*4882a593Smuzhiyun		mmu_iva: mmu@5d000000 {
557*4882a593Smuzhiyun			#iommu-cells = <0>;
558*4882a593Smuzhiyun			compatible = "ti,omap2-iommu";
559*4882a593Smuzhiyun			reg = <0x5d000000 0x80>;
560*4882a593Smuzhiyun			interrupts = <28>;
561*4882a593Smuzhiyun			ti,hwmods = "mmu_iva";
562*4882a593Smuzhiyun			status = "disabled";
563*4882a593Smuzhiyun		};
564*4882a593Smuzhiyun
565*4882a593Smuzhiyun		wdt2: wdt@48314000 {
566*4882a593Smuzhiyun			compatible = "ti,omap3-wdt";
567*4882a593Smuzhiyun			reg = <0x48314000 0x80>;
568*4882a593Smuzhiyun			ti,hwmods = "wd_timer2";
569*4882a593Smuzhiyun		};
570*4882a593Smuzhiyun
571*4882a593Smuzhiyun		mcbsp1: mcbsp@48074000 {
572*4882a593Smuzhiyun			compatible = "ti,omap3-mcbsp";
573*4882a593Smuzhiyun			reg = <0x48074000 0xff>;
574*4882a593Smuzhiyun			reg-names = "mpu";
575*4882a593Smuzhiyun			interrupts = <16>, /* OCP compliant interrupt */
576*4882a593Smuzhiyun				     <59>, /* TX interrupt */
577*4882a593Smuzhiyun				     <60>; /* RX interrupt */
578*4882a593Smuzhiyun			interrupt-names = "common", "tx", "rx";
579*4882a593Smuzhiyun			ti,buffer-size = <128>;
580*4882a593Smuzhiyun			ti,hwmods = "mcbsp1";
581*4882a593Smuzhiyun			dmas = <&sdma 31>,
582*4882a593Smuzhiyun			       <&sdma 32>;
583*4882a593Smuzhiyun			dma-names = "tx", "rx";
584*4882a593Smuzhiyun			clocks = <&mcbsp1_fck>;
585*4882a593Smuzhiyun			clock-names = "fck";
586*4882a593Smuzhiyun			status = "disabled";
587*4882a593Smuzhiyun		};
588*4882a593Smuzhiyun
589*4882a593Smuzhiyun		/* Likely needs to be tagged disabled on HS devices */
590*4882a593Smuzhiyun		rng_target: target-module@480a0000 {
591*4882a593Smuzhiyun			compatible = "ti,sysc-omap2", "ti,sysc";
592*4882a593Smuzhiyun			reg = <0x480a003c 0x4>,
593*4882a593Smuzhiyun			      <0x480a0040 0x4>,
594*4882a593Smuzhiyun			      <0x480a0044 0x4>;
595*4882a593Smuzhiyun			reg-names = "rev", "sysc", "syss";
596*4882a593Smuzhiyun			ti,sysc-mask = <(SYSC_OMAP2_AUTOIDLE)>;
597*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
598*4882a593Smuzhiyun					<SYSC_IDLE_NO>;
599*4882a593Smuzhiyun			ti,syss-mask = <1>;
600*4882a593Smuzhiyun			clocks = <&rng_ick>;
601*4882a593Smuzhiyun			clock-names = "ick";
602*4882a593Smuzhiyun			#address-cells = <1>;
603*4882a593Smuzhiyun			#size-cells = <1>;
604*4882a593Smuzhiyun			ranges = <0 0x480a0000 0x2000>;
605*4882a593Smuzhiyun
606*4882a593Smuzhiyun			rng: rng@0 {
607*4882a593Smuzhiyun				compatible = "ti,omap2-rng";
608*4882a593Smuzhiyun				reg = <0x0 0x2000>;
609*4882a593Smuzhiyun				interrupts = <52>;
610*4882a593Smuzhiyun			};
611*4882a593Smuzhiyun		};
612*4882a593Smuzhiyun
613*4882a593Smuzhiyun		mcbsp2: mcbsp@49022000 {
614*4882a593Smuzhiyun			compatible = "ti,omap3-mcbsp";
615*4882a593Smuzhiyun			reg = <0x49022000 0xff>,
616*4882a593Smuzhiyun			      <0x49028000 0xff>;
617*4882a593Smuzhiyun			reg-names = "mpu", "sidetone";
618*4882a593Smuzhiyun			interrupts = <17>, /* OCP compliant interrupt */
619*4882a593Smuzhiyun				     <62>, /* TX interrupt */
620*4882a593Smuzhiyun				     <63>, /* RX interrupt */
621*4882a593Smuzhiyun				     <4>;  /* Sidetone */
622*4882a593Smuzhiyun			interrupt-names = "common", "tx", "rx", "sidetone";
623*4882a593Smuzhiyun			ti,buffer-size = <1280>;
624*4882a593Smuzhiyun			ti,hwmods = "mcbsp2", "mcbsp2_sidetone";
625*4882a593Smuzhiyun			dmas = <&sdma 33>,
626*4882a593Smuzhiyun			       <&sdma 34>;
627*4882a593Smuzhiyun			dma-names = "tx", "rx";
628*4882a593Smuzhiyun			clocks = <&mcbsp2_fck>, <&mcbsp2_ick>;
629*4882a593Smuzhiyun			clock-names = "fck", "ick";
630*4882a593Smuzhiyun			status = "disabled";
631*4882a593Smuzhiyun		};
632*4882a593Smuzhiyun
633*4882a593Smuzhiyun		mcbsp3: mcbsp@49024000 {
634*4882a593Smuzhiyun			compatible = "ti,omap3-mcbsp";
635*4882a593Smuzhiyun			reg = <0x49024000 0xff>,
636*4882a593Smuzhiyun			      <0x4902a000 0xff>;
637*4882a593Smuzhiyun			reg-names = "mpu", "sidetone";
638*4882a593Smuzhiyun			interrupts = <22>, /* OCP compliant interrupt */
639*4882a593Smuzhiyun				     <89>, /* TX interrupt */
640*4882a593Smuzhiyun				     <90>, /* RX interrupt */
641*4882a593Smuzhiyun				     <5>;  /* Sidetone */
642*4882a593Smuzhiyun			interrupt-names = "common", "tx", "rx", "sidetone";
643*4882a593Smuzhiyun			ti,buffer-size = <128>;
644*4882a593Smuzhiyun			ti,hwmods = "mcbsp3", "mcbsp3_sidetone";
645*4882a593Smuzhiyun			dmas = <&sdma 17>,
646*4882a593Smuzhiyun			       <&sdma 18>;
647*4882a593Smuzhiyun			dma-names = "tx", "rx";
648*4882a593Smuzhiyun			clocks = <&mcbsp3_fck>, <&mcbsp3_ick>;
649*4882a593Smuzhiyun			clock-names = "fck", "ick";
650*4882a593Smuzhiyun			status = "disabled";
651*4882a593Smuzhiyun		};
652*4882a593Smuzhiyun
653*4882a593Smuzhiyun		mcbsp4: mcbsp@49026000 {
654*4882a593Smuzhiyun			compatible = "ti,omap3-mcbsp";
655*4882a593Smuzhiyun			reg = <0x49026000 0xff>;
656*4882a593Smuzhiyun			reg-names = "mpu";
657*4882a593Smuzhiyun			interrupts = <23>, /* OCP compliant interrupt */
658*4882a593Smuzhiyun				     <54>, /* TX interrupt */
659*4882a593Smuzhiyun				     <55>; /* RX interrupt */
660*4882a593Smuzhiyun			interrupt-names = "common", "tx", "rx";
661*4882a593Smuzhiyun			ti,buffer-size = <128>;
662*4882a593Smuzhiyun			ti,hwmods = "mcbsp4";
663*4882a593Smuzhiyun			dmas = <&sdma 19>,
664*4882a593Smuzhiyun			       <&sdma 20>;
665*4882a593Smuzhiyun			dma-names = "tx", "rx";
666*4882a593Smuzhiyun			clocks = <&mcbsp4_fck>;
667*4882a593Smuzhiyun			clock-names = "fck";
668*4882a593Smuzhiyun			#sound-dai-cells = <0>;
669*4882a593Smuzhiyun			status = "disabled";
670*4882a593Smuzhiyun		};
671*4882a593Smuzhiyun
672*4882a593Smuzhiyun		mcbsp5: mcbsp@48096000 {
673*4882a593Smuzhiyun			compatible = "ti,omap3-mcbsp";
674*4882a593Smuzhiyun			reg = <0x48096000 0xff>;
675*4882a593Smuzhiyun			reg-names = "mpu";
676*4882a593Smuzhiyun			interrupts = <27>, /* OCP compliant interrupt */
677*4882a593Smuzhiyun				     <81>, /* TX interrupt */
678*4882a593Smuzhiyun				     <82>; /* RX interrupt */
679*4882a593Smuzhiyun			interrupt-names = "common", "tx", "rx";
680*4882a593Smuzhiyun			ti,buffer-size = <128>;
681*4882a593Smuzhiyun			ti,hwmods = "mcbsp5";
682*4882a593Smuzhiyun			dmas = <&sdma 21>,
683*4882a593Smuzhiyun			       <&sdma 22>;
684*4882a593Smuzhiyun			dma-names = "tx", "rx";
685*4882a593Smuzhiyun			clocks = <&mcbsp5_fck>;
686*4882a593Smuzhiyun			clock-names = "fck";
687*4882a593Smuzhiyun			status = "disabled";
688*4882a593Smuzhiyun		};
689*4882a593Smuzhiyun
690*4882a593Smuzhiyun		sham: sham@480c3000 {
691*4882a593Smuzhiyun			compatible = "ti,omap3-sham";
692*4882a593Smuzhiyun			ti,hwmods = "sham";
693*4882a593Smuzhiyun			reg = <0x480c3000 0x64>;
694*4882a593Smuzhiyun			interrupts = <49>;
695*4882a593Smuzhiyun			dmas = <&sdma 69>;
696*4882a593Smuzhiyun			dma-names = "rx";
697*4882a593Smuzhiyun		};
698*4882a593Smuzhiyun
699*4882a593Smuzhiyun		timer1_target: target-module@48318000 {
700*4882a593Smuzhiyun			compatible = "ti,sysc-omap2-timer", "ti,sysc";
701*4882a593Smuzhiyun			reg = <0x48318000 0x4>,
702*4882a593Smuzhiyun			      <0x48318010 0x4>,
703*4882a593Smuzhiyun			      <0x48318014 0x4>;
704*4882a593Smuzhiyun			reg-names = "rev", "sysc", "syss";
705*4882a593Smuzhiyun			ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
706*4882a593Smuzhiyun					 SYSC_OMAP2_EMUFREE |
707*4882a593Smuzhiyun					 SYSC_OMAP2_ENAWAKEUP |
708*4882a593Smuzhiyun					 SYSC_OMAP2_SOFTRESET |
709*4882a593Smuzhiyun					 SYSC_OMAP2_AUTOIDLE)>;
710*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
711*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
712*4882a593Smuzhiyun					<SYSC_IDLE_SMART>;
713*4882a593Smuzhiyun			ti,syss-mask = <1>;
714*4882a593Smuzhiyun			clocks = <&gpt1_fck>, <&gpt1_ick>;
715*4882a593Smuzhiyun			clock-names = "fck", "ick";
716*4882a593Smuzhiyun			#address-cells = <1>;
717*4882a593Smuzhiyun			#size-cells = <1>;
718*4882a593Smuzhiyun			ranges = <0x0 0x48318000 0x1000>;
719*4882a593Smuzhiyun
720*4882a593Smuzhiyun			timer1: timer@0 {
721*4882a593Smuzhiyun				compatible = "ti,omap3430-timer";
722*4882a593Smuzhiyun				reg = <0x0 0x80>;
723*4882a593Smuzhiyun				clocks = <&gpt1_fck>;
724*4882a593Smuzhiyun				clock-names = "fck";
725*4882a593Smuzhiyun				interrupts = <37>;
726*4882a593Smuzhiyun				ti,timer-alwon;
727*4882a593Smuzhiyun			};
728*4882a593Smuzhiyun		};
729*4882a593Smuzhiyun
730*4882a593Smuzhiyun		timer2_target: target-module@49032000 {
731*4882a593Smuzhiyun			compatible = "ti,sysc-omap2-timer", "ti,sysc";
732*4882a593Smuzhiyun			reg = <0x49032000 0x4>,
733*4882a593Smuzhiyun			      <0x49032010 0x4>,
734*4882a593Smuzhiyun			      <0x49032014 0x4>;
735*4882a593Smuzhiyun			reg-names = "rev", "sysc", "syss";
736*4882a593Smuzhiyun			ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
737*4882a593Smuzhiyun					 SYSC_OMAP2_EMUFREE |
738*4882a593Smuzhiyun					 SYSC_OMAP2_ENAWAKEUP |
739*4882a593Smuzhiyun					 SYSC_OMAP2_SOFTRESET |
740*4882a593Smuzhiyun					 SYSC_OMAP2_AUTOIDLE)>;
741*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
742*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
743*4882a593Smuzhiyun					<SYSC_IDLE_SMART>;
744*4882a593Smuzhiyun			ti,syss-mask = <1>;
745*4882a593Smuzhiyun			clocks = <&gpt2_fck>, <&gpt2_ick>;
746*4882a593Smuzhiyun			clock-names = "fck", "ick";
747*4882a593Smuzhiyun			#address-cells = <1>;
748*4882a593Smuzhiyun			#size-cells = <1>;
749*4882a593Smuzhiyun			ranges = <0x0 0x49032000 0x1000>;
750*4882a593Smuzhiyun
751*4882a593Smuzhiyun			timer2: timer@0 {
752*4882a593Smuzhiyun				compatible = "ti,omap3430-timer";
753*4882a593Smuzhiyun				reg = <0 0x400>;
754*4882a593Smuzhiyun				interrupts = <38>;
755*4882a593Smuzhiyun			};
756*4882a593Smuzhiyun		};
757*4882a593Smuzhiyun
758*4882a593Smuzhiyun		timer3: timer@49034000 {
759*4882a593Smuzhiyun			compatible = "ti,omap3430-timer";
760*4882a593Smuzhiyun			reg = <0x49034000 0x400>;
761*4882a593Smuzhiyun			interrupts = <39>;
762*4882a593Smuzhiyun			ti,hwmods = "timer3";
763*4882a593Smuzhiyun		};
764*4882a593Smuzhiyun
765*4882a593Smuzhiyun		timer4: timer@49036000 {
766*4882a593Smuzhiyun			compatible = "ti,omap3430-timer";
767*4882a593Smuzhiyun			reg = <0x49036000 0x400>;
768*4882a593Smuzhiyun			interrupts = <40>;
769*4882a593Smuzhiyun			ti,hwmods = "timer4";
770*4882a593Smuzhiyun		};
771*4882a593Smuzhiyun
772*4882a593Smuzhiyun		timer5: timer@49038000 {
773*4882a593Smuzhiyun			compatible = "ti,omap3430-timer";
774*4882a593Smuzhiyun			reg = <0x49038000 0x400>;
775*4882a593Smuzhiyun			interrupts = <41>;
776*4882a593Smuzhiyun			ti,hwmods = "timer5";
777*4882a593Smuzhiyun			ti,timer-dsp;
778*4882a593Smuzhiyun		};
779*4882a593Smuzhiyun
780*4882a593Smuzhiyun		timer6: timer@4903a000 {
781*4882a593Smuzhiyun			compatible = "ti,omap3430-timer";
782*4882a593Smuzhiyun			reg = <0x4903a000 0x400>;
783*4882a593Smuzhiyun			interrupts = <42>;
784*4882a593Smuzhiyun			ti,hwmods = "timer6";
785*4882a593Smuzhiyun			ti,timer-dsp;
786*4882a593Smuzhiyun		};
787*4882a593Smuzhiyun
788*4882a593Smuzhiyun		timer7: timer@4903c000 {
789*4882a593Smuzhiyun			compatible = "ti,omap3430-timer";
790*4882a593Smuzhiyun			reg = <0x4903c000 0x400>;
791*4882a593Smuzhiyun			interrupts = <43>;
792*4882a593Smuzhiyun			ti,hwmods = "timer7";
793*4882a593Smuzhiyun			ti,timer-dsp;
794*4882a593Smuzhiyun		};
795*4882a593Smuzhiyun
796*4882a593Smuzhiyun		timer8: timer@4903e000 {
797*4882a593Smuzhiyun			compatible = "ti,omap3430-timer";
798*4882a593Smuzhiyun			reg = <0x4903e000 0x400>;
799*4882a593Smuzhiyun			interrupts = <44>;
800*4882a593Smuzhiyun			ti,hwmods = "timer8";
801*4882a593Smuzhiyun			ti,timer-pwm;
802*4882a593Smuzhiyun			ti,timer-dsp;
803*4882a593Smuzhiyun		};
804*4882a593Smuzhiyun
805*4882a593Smuzhiyun		timer9: timer@49040000 {
806*4882a593Smuzhiyun			compatible = "ti,omap3430-timer";
807*4882a593Smuzhiyun			reg = <0x49040000 0x400>;
808*4882a593Smuzhiyun			interrupts = <45>;
809*4882a593Smuzhiyun			ti,hwmods = "timer9";
810*4882a593Smuzhiyun			ti,timer-pwm;
811*4882a593Smuzhiyun		};
812*4882a593Smuzhiyun
813*4882a593Smuzhiyun		timer10: timer@48086000 {
814*4882a593Smuzhiyun			compatible = "ti,omap3430-timer";
815*4882a593Smuzhiyun			reg = <0x48086000 0x400>;
816*4882a593Smuzhiyun			interrupts = <46>;
817*4882a593Smuzhiyun			ti,hwmods = "timer10";
818*4882a593Smuzhiyun			ti,timer-pwm;
819*4882a593Smuzhiyun		};
820*4882a593Smuzhiyun
821*4882a593Smuzhiyun		timer11: timer@48088000 {
822*4882a593Smuzhiyun			compatible = "ti,omap3430-timer";
823*4882a593Smuzhiyun			reg = <0x48088000 0x400>;
824*4882a593Smuzhiyun			interrupts = <47>;
825*4882a593Smuzhiyun			ti,hwmods = "timer11";
826*4882a593Smuzhiyun			ti,timer-pwm;
827*4882a593Smuzhiyun		};
828*4882a593Smuzhiyun
829*4882a593Smuzhiyun		timer12_target: target-module@48304000 {
830*4882a593Smuzhiyun			compatible = "ti,sysc-omap2-timer", "ti,sysc";
831*4882a593Smuzhiyun			reg = <0x48304000 0x4>,
832*4882a593Smuzhiyun			      <0x48304010 0x4>,
833*4882a593Smuzhiyun			      <0x48304014 0x4>;
834*4882a593Smuzhiyun			reg-names = "rev", "sysc", "syss";
835*4882a593Smuzhiyun			ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
836*4882a593Smuzhiyun					 SYSC_OMAP2_EMUFREE |
837*4882a593Smuzhiyun					 SYSC_OMAP2_ENAWAKEUP |
838*4882a593Smuzhiyun					 SYSC_OMAP2_SOFTRESET |
839*4882a593Smuzhiyun					 SYSC_OMAP2_AUTOIDLE)>;
840*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
841*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
842*4882a593Smuzhiyun					<SYSC_IDLE_SMART>;
843*4882a593Smuzhiyun			ti,syss-mask = <1>;
844*4882a593Smuzhiyun			clocks = <&gpt12_fck>, <&gpt12_ick>;
845*4882a593Smuzhiyun			clock-names = "fck", "ick";
846*4882a593Smuzhiyun			#address-cells = <1>;
847*4882a593Smuzhiyun			#size-cells = <1>;
848*4882a593Smuzhiyun			ranges = <0x0 0x48304000 0x1000>;
849*4882a593Smuzhiyun
850*4882a593Smuzhiyun			timer12: timer@0 {
851*4882a593Smuzhiyun				compatible = "ti,omap3430-timer";
852*4882a593Smuzhiyun				reg = <0 0x400>;
853*4882a593Smuzhiyun				interrupts = <95>;
854*4882a593Smuzhiyun				ti,timer-alwon;
855*4882a593Smuzhiyun				ti,timer-secure;
856*4882a593Smuzhiyun			};
857*4882a593Smuzhiyun		};
858*4882a593Smuzhiyun
859*4882a593Smuzhiyun		usbhstll: usbhstll@48062000 {
860*4882a593Smuzhiyun			compatible = "ti,usbhs-tll";
861*4882a593Smuzhiyun			reg = <0x48062000 0x1000>;
862*4882a593Smuzhiyun			interrupts = <78>;
863*4882a593Smuzhiyun			ti,hwmods = "usb_tll_hs";
864*4882a593Smuzhiyun		};
865*4882a593Smuzhiyun
866*4882a593Smuzhiyun		usbhshost: usbhshost@48064000 {
867*4882a593Smuzhiyun			compatible = "ti,usbhs-host";
868*4882a593Smuzhiyun			reg = <0x48064000 0x400>;
869*4882a593Smuzhiyun			ti,hwmods = "usb_host_hs";
870*4882a593Smuzhiyun			#address-cells = <1>;
871*4882a593Smuzhiyun			#size-cells = <1>;
872*4882a593Smuzhiyun			ranges;
873*4882a593Smuzhiyun
874*4882a593Smuzhiyun			usbhsohci: ohci@48064400 {
875*4882a593Smuzhiyun				compatible = "ti,ohci-omap3";
876*4882a593Smuzhiyun				reg = <0x48064400 0x400>;
877*4882a593Smuzhiyun				interrupts = <76>;
878*4882a593Smuzhiyun				remote-wakeup-connected;
879*4882a593Smuzhiyun			};
880*4882a593Smuzhiyun
881*4882a593Smuzhiyun			usbhsehci: ehci@48064800 {
882*4882a593Smuzhiyun				compatible = "ti,ehci-omap";
883*4882a593Smuzhiyun				reg = <0x48064800 0x400>;
884*4882a593Smuzhiyun				interrupts = <77>;
885*4882a593Smuzhiyun			};
886*4882a593Smuzhiyun		};
887*4882a593Smuzhiyun
888*4882a593Smuzhiyun		gpmc: gpmc@6e000000 {
889*4882a593Smuzhiyun			compatible = "ti,omap3430-gpmc";
890*4882a593Smuzhiyun			ti,hwmods = "gpmc";
891*4882a593Smuzhiyun			reg = <0x6e000000 0x02d0>;
892*4882a593Smuzhiyun			interrupts = <20>;
893*4882a593Smuzhiyun			dmas = <&sdma 4>;
894*4882a593Smuzhiyun			dma-names = "rxtx";
895*4882a593Smuzhiyun			gpmc,num-cs = <8>;
896*4882a593Smuzhiyun			gpmc,num-waitpins = <4>;
897*4882a593Smuzhiyun			#address-cells = <2>;
898*4882a593Smuzhiyun			#size-cells = <1>;
899*4882a593Smuzhiyun			interrupt-controller;
900*4882a593Smuzhiyun			#interrupt-cells = <2>;
901*4882a593Smuzhiyun			gpio-controller;
902*4882a593Smuzhiyun			#gpio-cells = <2>;
903*4882a593Smuzhiyun		};
904*4882a593Smuzhiyun
905*4882a593Smuzhiyun		usb_otg_hs: usb_otg_hs@480ab000 {
906*4882a593Smuzhiyun			compatible = "ti,omap3-musb";
907*4882a593Smuzhiyun			reg = <0x480ab000 0x1000>;
908*4882a593Smuzhiyun			interrupts = <92>, <93>;
909*4882a593Smuzhiyun			interrupt-names = "mc", "dma";
910*4882a593Smuzhiyun			ti,hwmods = "usb_otg_hs";
911*4882a593Smuzhiyun			multipoint = <1>;
912*4882a593Smuzhiyun			num-eps = <16>;
913*4882a593Smuzhiyun			ram-bits = <12>;
914*4882a593Smuzhiyun		};
915*4882a593Smuzhiyun
916*4882a593Smuzhiyun		dss: dss@48050000 {
917*4882a593Smuzhiyun			compatible = "ti,omap3-dss";
918*4882a593Smuzhiyun			reg = <0x48050000 0x200>;
919*4882a593Smuzhiyun			status = "disabled";
920*4882a593Smuzhiyun			ti,hwmods = "dss_core";
921*4882a593Smuzhiyun			clocks = <&dss1_alwon_fck>;
922*4882a593Smuzhiyun			clock-names = "fck";
923*4882a593Smuzhiyun			#address-cells = <1>;
924*4882a593Smuzhiyun			#size-cells = <1>;
925*4882a593Smuzhiyun			ranges;
926*4882a593Smuzhiyun
927*4882a593Smuzhiyun			dispc@48050400 {
928*4882a593Smuzhiyun				compatible = "ti,omap3-dispc";
929*4882a593Smuzhiyun				reg = <0x48050400 0x400>;
930*4882a593Smuzhiyun				interrupts = <25>;
931*4882a593Smuzhiyun				ti,hwmods = "dss_dispc";
932*4882a593Smuzhiyun				clocks = <&dss1_alwon_fck>;
933*4882a593Smuzhiyun				clock-names = "fck";
934*4882a593Smuzhiyun			};
935*4882a593Smuzhiyun
936*4882a593Smuzhiyun			dsi: encoder@4804fc00 {
937*4882a593Smuzhiyun				compatible = "ti,omap3-dsi";
938*4882a593Smuzhiyun				reg = <0x4804fc00 0x200>,
939*4882a593Smuzhiyun				      <0x4804fe00 0x40>,
940*4882a593Smuzhiyun				      <0x4804ff00 0x20>;
941*4882a593Smuzhiyun				reg-names = "proto", "phy", "pll";
942*4882a593Smuzhiyun				interrupts = <25>;
943*4882a593Smuzhiyun				status = "disabled";
944*4882a593Smuzhiyun				ti,hwmods = "dss_dsi1";
945*4882a593Smuzhiyun				clocks = <&dss1_alwon_fck>, <&dss2_alwon_fck>;
946*4882a593Smuzhiyun				clock-names = "fck", "sys_clk";
947*4882a593Smuzhiyun
948*4882a593Smuzhiyun				#address-cells = <1>;
949*4882a593Smuzhiyun				#size-cells = <0>;
950*4882a593Smuzhiyun			};
951*4882a593Smuzhiyun
952*4882a593Smuzhiyun			rfbi: encoder@48050800 {
953*4882a593Smuzhiyun				compatible = "ti,omap3-rfbi";
954*4882a593Smuzhiyun				reg = <0x48050800 0x100>;
955*4882a593Smuzhiyun				status = "disabled";
956*4882a593Smuzhiyun				ti,hwmods = "dss_rfbi";
957*4882a593Smuzhiyun				clocks = <&dss1_alwon_fck>, <&dss_ick>;
958*4882a593Smuzhiyun				clock-names = "fck", "ick";
959*4882a593Smuzhiyun			};
960*4882a593Smuzhiyun
961*4882a593Smuzhiyun			venc: encoder@48050c00 {
962*4882a593Smuzhiyun				compatible = "ti,omap3-venc";
963*4882a593Smuzhiyun				reg = <0x48050c00 0x100>;
964*4882a593Smuzhiyun				status = "disabled";
965*4882a593Smuzhiyun				ti,hwmods = "dss_venc";
966*4882a593Smuzhiyun				clocks = <&dss_tv_fck>;
967*4882a593Smuzhiyun				clock-names = "fck";
968*4882a593Smuzhiyun			};
969*4882a593Smuzhiyun		};
970*4882a593Smuzhiyun
971*4882a593Smuzhiyun		ssi: ssi-controller@48058000 {
972*4882a593Smuzhiyun			compatible = "ti,omap3-ssi";
973*4882a593Smuzhiyun			ti,hwmods = "ssi";
974*4882a593Smuzhiyun
975*4882a593Smuzhiyun			status = "disabled";
976*4882a593Smuzhiyun
977*4882a593Smuzhiyun			reg = <0x48058000 0x1000>,
978*4882a593Smuzhiyun			      <0x48059000 0x1000>;
979*4882a593Smuzhiyun			reg-names = "sys",
980*4882a593Smuzhiyun				    "gdd";
981*4882a593Smuzhiyun
982*4882a593Smuzhiyun			interrupts = <71>;
983*4882a593Smuzhiyun			interrupt-names = "gdd_mpu";
984*4882a593Smuzhiyun
985*4882a593Smuzhiyun			#address-cells = <1>;
986*4882a593Smuzhiyun			#size-cells = <1>;
987*4882a593Smuzhiyun			ranges;
988*4882a593Smuzhiyun
989*4882a593Smuzhiyun			ssi_port1: ssi-port@4805a000 {
990*4882a593Smuzhiyun				compatible = "ti,omap3-ssi-port";
991*4882a593Smuzhiyun
992*4882a593Smuzhiyun				reg = <0x4805a000 0x800>,
993*4882a593Smuzhiyun				      <0x4805a800 0x800>;
994*4882a593Smuzhiyun				reg-names = "tx",
995*4882a593Smuzhiyun					    "rx";
996*4882a593Smuzhiyun
997*4882a593Smuzhiyun				interrupts = <67>,
998*4882a593Smuzhiyun					     <68>;
999*4882a593Smuzhiyun			};
1000*4882a593Smuzhiyun
1001*4882a593Smuzhiyun			ssi_port2: ssi-port@4805b000 {
1002*4882a593Smuzhiyun				compatible = "ti,omap3-ssi-port";
1003*4882a593Smuzhiyun
1004*4882a593Smuzhiyun				reg = <0x4805b000 0x800>,
1005*4882a593Smuzhiyun				      <0x4805b800 0x800>;
1006*4882a593Smuzhiyun				reg-names = "tx",
1007*4882a593Smuzhiyun					    "rx";
1008*4882a593Smuzhiyun
1009*4882a593Smuzhiyun				interrupts = <69>,
1010*4882a593Smuzhiyun					     <70>;
1011*4882a593Smuzhiyun			};
1012*4882a593Smuzhiyun		};
1013*4882a593Smuzhiyun	};
1014*4882a593Smuzhiyun};
1015*4882a593Smuzhiyun
1016*4882a593Smuzhiyun#include "omap3xxx-clocks.dtsi"
1017*4882a593Smuzhiyun
1018*4882a593Smuzhiyun/* Preferred always-on timer for clockevent. Some boards must use dmtimer12 */
1019*4882a593Smuzhiyun&timer1_target {
1020*4882a593Smuzhiyun	ti,no-reset-on-init;
1021*4882a593Smuzhiyun	ti,no-idle;
1022*4882a593Smuzhiyun	timer@0 {
1023*4882a593Smuzhiyun		assigned-clocks = <&gpt1_fck>;
1024*4882a593Smuzhiyun		assigned-clock-parents = <&omap_32k_fck>;
1025*4882a593Smuzhiyun	};
1026*4882a593Smuzhiyun};
1027