xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/omap4-l4-abe.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun&l4_abe {						/* 0x40100000 */
2*4882a593Smuzhiyun	compatible = "ti,omap4-l4-abe", "simple-pm-bus";
3*4882a593Smuzhiyun	reg = <0x40100000 0x400>,
4*4882a593Smuzhiyun	      <0x40100400 0x400>;
5*4882a593Smuzhiyun	reg-names = "la", "ap";
6*4882a593Smuzhiyun	power-domains = <&prm_abe>;
7*4882a593Smuzhiyun	/* OMAP4_L4_ABE_CLKCTRL is read-only */
8*4882a593Smuzhiyun	#address-cells = <1>;
9*4882a593Smuzhiyun	#size-cells = <1>;
10*4882a593Smuzhiyun	ranges = <0x00000000 0x40100000 0x100000>,	/* segment 0 */
11*4882a593Smuzhiyun		 <0x49000000 0x49000000 0x100000>;
12*4882a593Smuzhiyun	segment@0 {					/* 0x40100000 */
13*4882a593Smuzhiyun		compatible = "simple-pm-bus";
14*4882a593Smuzhiyun		#address-cells = <1>;
15*4882a593Smuzhiyun		#size-cells = <1>;
16*4882a593Smuzhiyun		ranges =
17*4882a593Smuzhiyun			 /* CPU to L4 ABE mapping */
18*4882a593Smuzhiyun			 <0x00000000 0x00000000 0x000400>,	/* ap 0 */
19*4882a593Smuzhiyun			 <0x00000400 0x00000400 0x000400>,	/* ap 1 */
20*4882a593Smuzhiyun			 <0x00022000 0x00022000 0x001000>,	/* ap 2 */
21*4882a593Smuzhiyun			 <0x00023000 0x00023000 0x001000>,	/* ap 3 */
22*4882a593Smuzhiyun			 <0x00024000 0x00024000 0x001000>,	/* ap 4 */
23*4882a593Smuzhiyun			 <0x00025000 0x00025000 0x001000>,	/* ap 5 */
24*4882a593Smuzhiyun			 <0x00026000 0x00026000 0x001000>,	/* ap 6 */
25*4882a593Smuzhiyun			 <0x00027000 0x00027000 0x001000>,	/* ap 7 */
26*4882a593Smuzhiyun			 <0x00028000 0x00028000 0x001000>,	/* ap 8 */
27*4882a593Smuzhiyun			 <0x00029000 0x00029000 0x001000>,	/* ap 9 */
28*4882a593Smuzhiyun			 <0x0002a000 0x0002a000 0x001000>,	/* ap 10 */
29*4882a593Smuzhiyun			 <0x0002b000 0x0002b000 0x001000>,	/* ap 11 */
30*4882a593Smuzhiyun			 <0x0002e000 0x0002e000 0x001000>,	/* ap 12 */
31*4882a593Smuzhiyun			 <0x0002f000 0x0002f000 0x001000>,	/* ap 13 */
32*4882a593Smuzhiyun			 <0x00030000 0x00030000 0x001000>,	/* ap 14 */
33*4882a593Smuzhiyun			 <0x00031000 0x00031000 0x001000>,	/* ap 15 */
34*4882a593Smuzhiyun			 <0x00032000 0x00032000 0x001000>,	/* ap 16 */
35*4882a593Smuzhiyun			 <0x00033000 0x00033000 0x001000>,	/* ap 17 */
36*4882a593Smuzhiyun			 <0x00038000 0x00038000 0x001000>,	/* ap 18 */
37*4882a593Smuzhiyun			 <0x00039000 0x00039000 0x001000>,	/* ap 19 */
38*4882a593Smuzhiyun			 <0x0003a000 0x0003a000 0x001000>,	/* ap 20 */
39*4882a593Smuzhiyun			 <0x0003b000 0x0003b000 0x001000>,	/* ap 21 */
40*4882a593Smuzhiyun			 <0x0003c000 0x0003c000 0x001000>,	/* ap 22 */
41*4882a593Smuzhiyun			 <0x0003d000 0x0003d000 0x001000>,	/* ap 23 */
42*4882a593Smuzhiyun			 <0x0003e000 0x0003e000 0x001000>,	/* ap 24 */
43*4882a593Smuzhiyun			 <0x0003f000 0x0003f000 0x001000>,	/* ap 25 */
44*4882a593Smuzhiyun			 <0x00080000 0x00080000 0x010000>,	/* ap 26 */
45*4882a593Smuzhiyun			 <0x00080000 0x00080000 0x001000>,	/* ap 27 */
46*4882a593Smuzhiyun			 <0x000a0000 0x000a0000 0x010000>,	/* ap 28 */
47*4882a593Smuzhiyun			 <0x000a0000 0x000a0000 0x001000>,	/* ap 29 */
48*4882a593Smuzhiyun			 <0x000c0000 0x000c0000 0x010000>,	/* ap 30 */
49*4882a593Smuzhiyun			 <0x000c0000 0x000c0000 0x001000>,	/* ap 31 */
50*4882a593Smuzhiyun			 <0x000f1000 0x000f1000 0x001000>,	/* ap 32 */
51*4882a593Smuzhiyun			 <0x000f2000 0x000f2000 0x001000>,	/* ap 33 */
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun			 /* L3 to L4 ABE mapping */
54*4882a593Smuzhiyun			 <0x49000000 0x49000000 0x000400>,	/* ap 0 */
55*4882a593Smuzhiyun			 <0x49000400 0x49000400 0x000400>,	/* ap 1 */
56*4882a593Smuzhiyun			 <0x49022000 0x49022000 0x001000>,	/* ap 2 */
57*4882a593Smuzhiyun			 <0x49023000 0x49023000 0x001000>,	/* ap 3 */
58*4882a593Smuzhiyun			 <0x49024000 0x49024000 0x001000>,	/* ap 4 */
59*4882a593Smuzhiyun			 <0x49025000 0x49025000 0x001000>,	/* ap 5 */
60*4882a593Smuzhiyun			 <0x49026000 0x49026000 0x001000>,	/* ap 6 */
61*4882a593Smuzhiyun			 <0x49027000 0x49027000 0x001000>,	/* ap 7 */
62*4882a593Smuzhiyun			 <0x49028000 0x49028000 0x001000>,	/* ap 8 */
63*4882a593Smuzhiyun			 <0x49029000 0x49029000 0x001000>,	/* ap 9 */
64*4882a593Smuzhiyun			 <0x4902a000 0x4902a000 0x001000>,	/* ap 10 */
65*4882a593Smuzhiyun			 <0x4902b000 0x4902b000 0x001000>,	/* ap 11 */
66*4882a593Smuzhiyun			 <0x4902e000 0x4902e000 0x001000>,	/* ap 12 */
67*4882a593Smuzhiyun			 <0x4902f000 0x4902f000 0x001000>,	/* ap 13 */
68*4882a593Smuzhiyun			 <0x49030000 0x49030000 0x001000>,	/* ap 14 */
69*4882a593Smuzhiyun			 <0x49031000 0x49031000 0x001000>,	/* ap 15 */
70*4882a593Smuzhiyun			 <0x49032000 0x49032000 0x001000>,	/* ap 16 */
71*4882a593Smuzhiyun			 <0x49033000 0x49033000 0x001000>,	/* ap 17 */
72*4882a593Smuzhiyun			 <0x49038000 0x49038000 0x001000>,	/* ap 18 */
73*4882a593Smuzhiyun			 <0x49039000 0x49039000 0x001000>,	/* ap 19 */
74*4882a593Smuzhiyun			 <0x4903a000 0x4903a000 0x001000>,	/* ap 20 */
75*4882a593Smuzhiyun			 <0x4903b000 0x4903b000 0x001000>,	/* ap 21 */
76*4882a593Smuzhiyun			 <0x4903c000 0x4903c000 0x001000>,	/* ap 22 */
77*4882a593Smuzhiyun			 <0x4903d000 0x4903d000 0x001000>,	/* ap 23 */
78*4882a593Smuzhiyun			 <0x4903e000 0x4903e000 0x001000>,	/* ap 24 */
79*4882a593Smuzhiyun			 <0x4903f000 0x4903f000 0x001000>,	/* ap 25 */
80*4882a593Smuzhiyun			 <0x49080000 0x49080000 0x010000>,	/* ap 26 */
81*4882a593Smuzhiyun			 <0x49080000 0x49080000 0x001000>,	/* ap 27 */
82*4882a593Smuzhiyun			 <0x490a0000 0x490a0000 0x010000>,	/* ap 28 */
83*4882a593Smuzhiyun			 <0x490a0000 0x490a0000 0x001000>,	/* ap 29 */
84*4882a593Smuzhiyun			 <0x490c0000 0x490c0000 0x010000>,	/* ap 30 */
85*4882a593Smuzhiyun			 <0x490c0000 0x490c0000 0x001000>,	/* ap 31 */
86*4882a593Smuzhiyun			 <0x490f1000 0x490f1000 0x001000>,	/* ap 32 */
87*4882a593Smuzhiyun			 <0x490f2000 0x490f2000 0x001000>;	/* ap 33 */
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun		target-module@22000 {			/* 0x40122000, ap 2 02.0 */
90*4882a593Smuzhiyun			compatible = "ti,sysc-omap2", "ti,sysc";
91*4882a593Smuzhiyun			reg = <0x2208c 0x4>;
92*4882a593Smuzhiyun			reg-names = "sysc";
93*4882a593Smuzhiyun			ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
94*4882a593Smuzhiyun					 SYSC_OMAP2_ENAWAKEUP |
95*4882a593Smuzhiyun					 SYSC_OMAP2_SOFTRESET)>;
96*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
97*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
98*4882a593Smuzhiyun					<SYSC_IDLE_SMART>;
99*4882a593Smuzhiyun			/* Domains (V, P, C): iva, abe_pwrdm, abe_clkdm */
100*4882a593Smuzhiyun			clocks = <&abe_clkctrl OMAP4_MCBSP1_CLKCTRL 0>;
101*4882a593Smuzhiyun			clock-names = "fck";
102*4882a593Smuzhiyun			#address-cells = <1>;
103*4882a593Smuzhiyun			#size-cells = <1>;
104*4882a593Smuzhiyun			ranges = <0x0 0x22000 0x1000>,
105*4882a593Smuzhiyun				 <0x49022000 0x49022000 0x1000>;
106*4882a593Smuzhiyun
107*4882a593Smuzhiyun			mcbsp1: mcbsp@0 {
108*4882a593Smuzhiyun				compatible = "ti,omap4-mcbsp";
109*4882a593Smuzhiyun				reg = <0x0 0xff>, /* MPU private access */
110*4882a593Smuzhiyun				      <0x49022000 0xff>; /* L3 Interconnect */
111*4882a593Smuzhiyun				reg-names = "mpu", "dma";
112*4882a593Smuzhiyun				interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
113*4882a593Smuzhiyun				interrupt-names = "common";
114*4882a593Smuzhiyun				ti,buffer-size = <128>;
115*4882a593Smuzhiyun				dmas = <&sdma 33>,
116*4882a593Smuzhiyun				       <&sdma 34>;
117*4882a593Smuzhiyun				dma-names = "tx", "rx";
118*4882a593Smuzhiyun				status = "disabled";
119*4882a593Smuzhiyun			};
120*4882a593Smuzhiyun		};
121*4882a593Smuzhiyun
122*4882a593Smuzhiyun		target-module@24000 {			/* 0x40124000, ap 4 04.0 */
123*4882a593Smuzhiyun			compatible = "ti,sysc-omap2", "ti,sysc";
124*4882a593Smuzhiyun			reg = <0x2408c 0x4>;
125*4882a593Smuzhiyun			reg-names = "sysc";
126*4882a593Smuzhiyun			ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
127*4882a593Smuzhiyun					 SYSC_OMAP2_ENAWAKEUP |
128*4882a593Smuzhiyun					 SYSC_OMAP2_SOFTRESET)>;
129*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
130*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
131*4882a593Smuzhiyun					<SYSC_IDLE_SMART>;
132*4882a593Smuzhiyun			/* Domains (V, P, C): iva, abe_pwrdm, abe_clkdm */
133*4882a593Smuzhiyun			clocks = <&abe_clkctrl OMAP4_MCBSP2_CLKCTRL 0>;
134*4882a593Smuzhiyun			clock-names = "fck";
135*4882a593Smuzhiyun			#address-cells = <1>;
136*4882a593Smuzhiyun			#size-cells = <1>;
137*4882a593Smuzhiyun			ranges = <0x0 0x24000 0x1000>,
138*4882a593Smuzhiyun				 <0x49024000 0x49024000 0x1000>;
139*4882a593Smuzhiyun
140*4882a593Smuzhiyun			mcbsp2: mcbsp@0 {
141*4882a593Smuzhiyun				compatible = "ti,omap4-mcbsp";
142*4882a593Smuzhiyun				reg = <0x0 0xff>, /* MPU private access */
143*4882a593Smuzhiyun				      <0x49024000 0xff>; /* L3 Interconnect */
144*4882a593Smuzhiyun				reg-names = "mpu", "dma";
145*4882a593Smuzhiyun				interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
146*4882a593Smuzhiyun				interrupt-names = "common";
147*4882a593Smuzhiyun				ti,buffer-size = <128>;
148*4882a593Smuzhiyun				dmas = <&sdma 17>,
149*4882a593Smuzhiyun				       <&sdma 18>;
150*4882a593Smuzhiyun				dma-names = "tx", "rx";
151*4882a593Smuzhiyun				status = "disabled";
152*4882a593Smuzhiyun			};
153*4882a593Smuzhiyun		};
154*4882a593Smuzhiyun
155*4882a593Smuzhiyun		target-module@26000 {			/* 0x40126000, ap 6 06.0 */
156*4882a593Smuzhiyun			compatible = "ti,sysc-omap2", "ti,sysc";
157*4882a593Smuzhiyun			reg = <0x2608c 0x4>;
158*4882a593Smuzhiyun			reg-names = "sysc";
159*4882a593Smuzhiyun			ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
160*4882a593Smuzhiyun					 SYSC_OMAP2_ENAWAKEUP |
161*4882a593Smuzhiyun					 SYSC_OMAP2_SOFTRESET)>;
162*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
163*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
164*4882a593Smuzhiyun					<SYSC_IDLE_SMART>;
165*4882a593Smuzhiyun			/* Domains (V, P, C): iva, abe_pwrdm, abe_clkdm */
166*4882a593Smuzhiyun			clocks = <&abe_clkctrl OMAP4_MCBSP3_CLKCTRL 0>;
167*4882a593Smuzhiyun			clock-names = "fck";
168*4882a593Smuzhiyun			#address-cells = <1>;
169*4882a593Smuzhiyun			#size-cells = <1>;
170*4882a593Smuzhiyun			ranges = <0x0 0x26000 0x1000>,
171*4882a593Smuzhiyun				 <0x49026000 0x49026000 0x1000>;
172*4882a593Smuzhiyun
173*4882a593Smuzhiyun			mcbsp3: mcbsp@0 {
174*4882a593Smuzhiyun				compatible = "ti,omap4-mcbsp";
175*4882a593Smuzhiyun				reg = <0x0 0xff>, /* MPU private access */
176*4882a593Smuzhiyun				      <0x49026000 0xff>; /* L3 Interconnect */
177*4882a593Smuzhiyun				reg-names = "mpu", "dma";
178*4882a593Smuzhiyun				interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
179*4882a593Smuzhiyun				interrupt-names = "common";
180*4882a593Smuzhiyun				ti,buffer-size = <128>;
181*4882a593Smuzhiyun				dmas = <&sdma 19>,
182*4882a593Smuzhiyun				       <&sdma 20>;
183*4882a593Smuzhiyun				dma-names = "tx", "rx";
184*4882a593Smuzhiyun				status = "disabled";
185*4882a593Smuzhiyun			};
186*4882a593Smuzhiyun		};
187*4882a593Smuzhiyun
188*4882a593Smuzhiyun		target-module@28000 {			/* 0x40128000, ap 8 08.0 */
189*4882a593Smuzhiyun			compatible = "ti,sysc-mcasp", "ti,sysc";
190*4882a593Smuzhiyun			reg = <0x28000 0x4>,
191*4882a593Smuzhiyun			      <0x28004 0x4>;
192*4882a593Smuzhiyun			reg-names = "rev", "sysc";
193*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
194*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
195*4882a593Smuzhiyun					<SYSC_IDLE_SMART>,
196*4882a593Smuzhiyun					<SYSC_IDLE_SMART_WKUP>;
197*4882a593Smuzhiyun			/* Domains (V, P, C): iva, abe_pwrdm, abe_clkdm */
198*4882a593Smuzhiyun			clocks = <&abe_clkctrl OMAP4_MCASP_CLKCTRL 0>;
199*4882a593Smuzhiyun			clock-names = "fck";
200*4882a593Smuzhiyun			#address-cells = <1>;
201*4882a593Smuzhiyun			#size-cells = <1>;
202*4882a593Smuzhiyun			ranges = <0x0 0x28000 0x1000>,
203*4882a593Smuzhiyun				 <0x49028000 0x49028000 0x1000>;
204*4882a593Smuzhiyun
205*4882a593Smuzhiyun			/*
206*4882a593Smuzhiyun			 * Child device unsupported by davinci-mcasp. At least
207*4882a593Smuzhiyun			 * RX path is disabled for omap4, and only DIT mode
208*4882a593Smuzhiyun			 * works with no I2S. See also old Android kernel
209*4882a593Smuzhiyun			 * omap-mcasp driver for more information.
210*4882a593Smuzhiyun			 */
211*4882a593Smuzhiyun		};
212*4882a593Smuzhiyun
213*4882a593Smuzhiyun		target-module@2a000 {			/* 0x4012a000, ap 10 0a.0 */
214*4882a593Smuzhiyun			compatible = "ti,sysc";
215*4882a593Smuzhiyun			status = "disabled";
216*4882a593Smuzhiyun			#address-cells = <1>;
217*4882a593Smuzhiyun			#size-cells = <1>;
218*4882a593Smuzhiyun			ranges = <0x0 0x2a000 0x1000>,
219*4882a593Smuzhiyun				 <0x4902a000 0x4902a000 0x1000>;
220*4882a593Smuzhiyun		};
221*4882a593Smuzhiyun
222*4882a593Smuzhiyun		target-module@2e000 {			/* 0x4012e000, ap 12 0c.0 */
223*4882a593Smuzhiyun			compatible = "ti,sysc-omap4", "ti,sysc";
224*4882a593Smuzhiyun			reg = <0x2e000 0x4>,
225*4882a593Smuzhiyun			      <0x2e010 0x4>;
226*4882a593Smuzhiyun			reg-names = "rev", "sysc";
227*4882a593Smuzhiyun			ti,sysc-mask = <(SYSC_OMAP4_FREEEMU |
228*4882a593Smuzhiyun					 SYSC_OMAP4_SOFTRESET)>;
229*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
230*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
231*4882a593Smuzhiyun					<SYSC_IDLE_SMART>,
232*4882a593Smuzhiyun					<SYSC_IDLE_SMART_WKUP>;
233*4882a593Smuzhiyun			/* Domains (V, P, C): iva, abe_pwrdm, abe_clkdm */
234*4882a593Smuzhiyun			clocks = <&abe_clkctrl OMAP4_DMIC_CLKCTRL 0>;
235*4882a593Smuzhiyun			clock-names = "fck";
236*4882a593Smuzhiyun			#address-cells = <1>;
237*4882a593Smuzhiyun			#size-cells = <1>;
238*4882a593Smuzhiyun			ranges = <0x0 0x2e000 0x1000>,
239*4882a593Smuzhiyun				 <0x4902e000 0x4902e000 0x1000>;
240*4882a593Smuzhiyun
241*4882a593Smuzhiyun			dmic: dmic@0 {
242*4882a593Smuzhiyun				compatible = "ti,omap4-dmic";
243*4882a593Smuzhiyun				reg = <0x0 0x7f>, /* MPU private access */
244*4882a593Smuzhiyun				      <0x4902e000 0x7f>; /* L3 Interconnect */
245*4882a593Smuzhiyun				reg-names = "mpu", "dma";
246*4882a593Smuzhiyun				interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
247*4882a593Smuzhiyun				dmas = <&sdma 67>;
248*4882a593Smuzhiyun				dma-names = "up_link";
249*4882a593Smuzhiyun				status = "disabled";
250*4882a593Smuzhiyun			};
251*4882a593Smuzhiyun		};
252*4882a593Smuzhiyun
253*4882a593Smuzhiyun		target-module@30000 {			/* 0x40130000, ap 14 0e.0 */
254*4882a593Smuzhiyun			compatible = "ti,sysc-omap2", "ti,sysc";
255*4882a593Smuzhiyun			reg = <0x30000 0x4>,
256*4882a593Smuzhiyun			      <0x30010 0x4>,
257*4882a593Smuzhiyun			      <0x30014 0x4>;
258*4882a593Smuzhiyun			reg-names = "rev", "sysc", "syss";
259*4882a593Smuzhiyun			ti,sysc-mask = <(SYSC_OMAP2_EMUFREE |
260*4882a593Smuzhiyun					 SYSC_OMAP2_SOFTRESET)>;
261*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
262*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
263*4882a593Smuzhiyun					<SYSC_IDLE_SMART>,
264*4882a593Smuzhiyun					<SYSC_IDLE_SMART_WKUP>;
265*4882a593Smuzhiyun			ti,syss-mask = <1>;
266*4882a593Smuzhiyun			/* Domains (V, P, C): iva, abe_pwrdm, abe_clkdm */
267*4882a593Smuzhiyun			clocks = <&abe_clkctrl OMAP4_WD_TIMER3_CLKCTRL 0>;
268*4882a593Smuzhiyun			clock-names = "fck";
269*4882a593Smuzhiyun			#address-cells = <1>;
270*4882a593Smuzhiyun			#size-cells = <1>;
271*4882a593Smuzhiyun			ranges = <0x0 0x30000 0x1000>,
272*4882a593Smuzhiyun				 <0x49030000 0x49030000 0x1000>;
273*4882a593Smuzhiyun
274*4882a593Smuzhiyun			wdt3: wdt@0 {
275*4882a593Smuzhiyun				compatible = "ti,omap4-wdt", "ti,omap3-wdt";
276*4882a593Smuzhiyun				reg = <0x0 0x80>;
277*4882a593Smuzhiyun				interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
278*4882a593Smuzhiyun			};
279*4882a593Smuzhiyun		};
280*4882a593Smuzhiyun
281*4882a593Smuzhiyun		mcpdm_module: target-module@32000 {	/* 0x40132000, ap 16 10.0 */
282*4882a593Smuzhiyun			compatible = "ti,sysc-omap4", "ti,sysc";
283*4882a593Smuzhiyun			reg = <0x32000 0x4>,
284*4882a593Smuzhiyun			      <0x32010 0x4>;
285*4882a593Smuzhiyun			reg-names = "rev", "sysc";
286*4882a593Smuzhiyun			ti,sysc-mask = <(SYSC_OMAP4_FREEEMU |
287*4882a593Smuzhiyun					 SYSC_OMAP4_SOFTRESET)>;
288*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
289*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
290*4882a593Smuzhiyun					<SYSC_IDLE_SMART>,
291*4882a593Smuzhiyun					<SYSC_IDLE_SMART_WKUP>;
292*4882a593Smuzhiyun			/* Domains (V, P, C): iva, abe_pwrdm, abe_clkdm */
293*4882a593Smuzhiyun			clocks = <&abe_clkctrl OMAP4_MCPDM_CLKCTRL 0>;
294*4882a593Smuzhiyun			clock-names = "fck";
295*4882a593Smuzhiyun			#address-cells = <1>;
296*4882a593Smuzhiyun			#size-cells = <1>;
297*4882a593Smuzhiyun			ranges = <0x0 0x32000 0x1000>,
298*4882a593Smuzhiyun				 <0x49032000 0x49032000 0x1000>;
299*4882a593Smuzhiyun
300*4882a593Smuzhiyun			/* Must be only enabled for boards with pdmclk wired */
301*4882a593Smuzhiyun			status = "disabled";
302*4882a593Smuzhiyun
303*4882a593Smuzhiyun			mcpdm: mcpdm@0 {
304*4882a593Smuzhiyun				compatible = "ti,omap4-mcpdm";
305*4882a593Smuzhiyun				reg = <0x0 0x7f>, /* MPU private access */
306*4882a593Smuzhiyun				      <0x49032000 0x7f>; /* L3 Interconnect */
307*4882a593Smuzhiyun				reg-names = "mpu", "dma";
308*4882a593Smuzhiyun				interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
309*4882a593Smuzhiyun				dmas = <&sdma 65>,
310*4882a593Smuzhiyun				       <&sdma 66>;
311*4882a593Smuzhiyun				dma-names = "up_link", "dn_link";
312*4882a593Smuzhiyun			};
313*4882a593Smuzhiyun		};
314*4882a593Smuzhiyun
315*4882a593Smuzhiyun		target-module@38000 {			/* 0x40138000, ap 18 12.0 */
316*4882a593Smuzhiyun			compatible = "ti,sysc-omap4-timer", "ti,sysc";
317*4882a593Smuzhiyun			reg = <0x38000 0x4>,
318*4882a593Smuzhiyun			      <0x38010 0x4>;
319*4882a593Smuzhiyun			reg-names = "rev", "sysc";
320*4882a593Smuzhiyun			ti,sysc-mask = <(SYSC_OMAP4_FREEEMU |
321*4882a593Smuzhiyun					 SYSC_OMAP4_SOFTRESET)>;
322*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
323*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
324*4882a593Smuzhiyun					<SYSC_IDLE_SMART>,
325*4882a593Smuzhiyun					<SYSC_IDLE_SMART_WKUP>;
326*4882a593Smuzhiyun			/* Domains (V, P, C): iva, abe_pwrdm, abe_clkdm */
327*4882a593Smuzhiyun			clocks = <&abe_clkctrl OMAP4_TIMER5_CLKCTRL 0>;
328*4882a593Smuzhiyun			clock-names = "fck";
329*4882a593Smuzhiyun			#address-cells = <1>;
330*4882a593Smuzhiyun			#size-cells = <1>;
331*4882a593Smuzhiyun			ranges = <0x0 0x38000 0x1000>,
332*4882a593Smuzhiyun				 <0x49038000 0x49038000 0x1000>;
333*4882a593Smuzhiyun
334*4882a593Smuzhiyun			timer5: timer@0 {
335*4882a593Smuzhiyun				compatible = "ti,omap4430-timer";
336*4882a593Smuzhiyun				reg = <0x00000000 0x80>,
337*4882a593Smuzhiyun				      <0x49038000 0x80>;
338*4882a593Smuzhiyun				clocks = <&abe_clkctrl OMAP4_TIMER5_CLKCTRL 24>,
339*4882a593Smuzhiyun					 <&syc_clk_div_ck>;
340*4882a593Smuzhiyun				clock-names = "fck", "timer_sys_ck";
341*4882a593Smuzhiyun				interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
342*4882a593Smuzhiyun				ti,timer-dsp;
343*4882a593Smuzhiyun			};
344*4882a593Smuzhiyun		};
345*4882a593Smuzhiyun
346*4882a593Smuzhiyun		target-module@3a000 {			/* 0x4013a000, ap 20 14.0 */
347*4882a593Smuzhiyun			compatible = "ti,sysc-omap4-timer", "ti,sysc";
348*4882a593Smuzhiyun			reg = <0x3a000 0x4>,
349*4882a593Smuzhiyun			      <0x3a010 0x4>;
350*4882a593Smuzhiyun			reg-names = "rev", "sysc";
351*4882a593Smuzhiyun			ti,sysc-mask = <(SYSC_OMAP4_FREEEMU |
352*4882a593Smuzhiyun					 SYSC_OMAP4_SOFTRESET)>;
353*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
354*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
355*4882a593Smuzhiyun					<SYSC_IDLE_SMART>,
356*4882a593Smuzhiyun					<SYSC_IDLE_SMART_WKUP>;
357*4882a593Smuzhiyun			/* Domains (V, P, C): iva, abe_pwrdm, abe_clkdm */
358*4882a593Smuzhiyun			clocks = <&abe_clkctrl OMAP4_TIMER6_CLKCTRL 0>;
359*4882a593Smuzhiyun			clock-names = "fck";
360*4882a593Smuzhiyun			#address-cells = <1>;
361*4882a593Smuzhiyun			#size-cells = <1>;
362*4882a593Smuzhiyun			ranges = <0x0 0x3a000 0x1000>,
363*4882a593Smuzhiyun				 <0x4903a000 0x4903a000 0x1000>;
364*4882a593Smuzhiyun
365*4882a593Smuzhiyun			timer6: timer@0 {
366*4882a593Smuzhiyun				compatible = "ti,omap4430-timer";
367*4882a593Smuzhiyun				reg = <0x00000000 0x80>,
368*4882a593Smuzhiyun				      <0x4903a000 0x80>;
369*4882a593Smuzhiyun				clocks = <&abe_clkctrl OMAP4_TIMER6_CLKCTRL 24>,
370*4882a593Smuzhiyun					 <&syc_clk_div_ck>;
371*4882a593Smuzhiyun				clock-names = "fck", "timer_sys_ck";
372*4882a593Smuzhiyun				interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
373*4882a593Smuzhiyun				ti,timer-dsp;
374*4882a593Smuzhiyun			};
375*4882a593Smuzhiyun		};
376*4882a593Smuzhiyun
377*4882a593Smuzhiyun		target-module@3c000 {			/* 0x4013c000, ap 22 16.0 */
378*4882a593Smuzhiyun			compatible = "ti,sysc-omap4-timer", "ti,sysc";
379*4882a593Smuzhiyun			reg = <0x3c000 0x4>,
380*4882a593Smuzhiyun			      <0x3c010 0x4>;
381*4882a593Smuzhiyun			reg-names = "rev", "sysc";
382*4882a593Smuzhiyun			ti,sysc-mask = <(SYSC_OMAP4_FREEEMU |
383*4882a593Smuzhiyun					 SYSC_OMAP4_SOFTRESET)>;
384*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
385*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
386*4882a593Smuzhiyun					<SYSC_IDLE_SMART>,
387*4882a593Smuzhiyun					<SYSC_IDLE_SMART_WKUP>;
388*4882a593Smuzhiyun			/* Domains (V, P, C): iva, abe_pwrdm, abe_clkdm */
389*4882a593Smuzhiyun			clocks = <&abe_clkctrl OMAP4_TIMER7_CLKCTRL 0>;
390*4882a593Smuzhiyun			clock-names = "fck";
391*4882a593Smuzhiyun			#address-cells = <1>;
392*4882a593Smuzhiyun			#size-cells = <1>;
393*4882a593Smuzhiyun			ranges = <0x0 0x3c000 0x1000>,
394*4882a593Smuzhiyun				 <0x4903c000 0x4903c000 0x1000>;
395*4882a593Smuzhiyun
396*4882a593Smuzhiyun			timer7: timer@0 {
397*4882a593Smuzhiyun				compatible = "ti,omap4430-timer";
398*4882a593Smuzhiyun				reg = <0x00000000 0x80>,
399*4882a593Smuzhiyun				      <0x4903c000 0x80>;
400*4882a593Smuzhiyun				clocks = <&abe_clkctrl OMAP4_TIMER7_CLKCTRL 24>,
401*4882a593Smuzhiyun					 <&syc_clk_div_ck>;
402*4882a593Smuzhiyun				clock-names = "fck", "timer_sys_ck";
403*4882a593Smuzhiyun				interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
404*4882a593Smuzhiyun				ti,timer-dsp;
405*4882a593Smuzhiyun			};
406*4882a593Smuzhiyun		};
407*4882a593Smuzhiyun
408*4882a593Smuzhiyun		target-module@3e000 {			/* 0x4013e000, ap 24 18.0 */
409*4882a593Smuzhiyun			compatible = "ti,sysc-omap4-timer", "ti,sysc";
410*4882a593Smuzhiyun			reg = <0x3e000 0x4>,
411*4882a593Smuzhiyun			      <0x3e010 0x4>;
412*4882a593Smuzhiyun			reg-names = "rev", "sysc";
413*4882a593Smuzhiyun			ti,sysc-mask = <(SYSC_OMAP4_FREEEMU |
414*4882a593Smuzhiyun					 SYSC_OMAP4_SOFTRESET)>;
415*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
416*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
417*4882a593Smuzhiyun					<SYSC_IDLE_SMART>,
418*4882a593Smuzhiyun					<SYSC_IDLE_SMART_WKUP>;
419*4882a593Smuzhiyun			/* Domains (V, P, C): iva, abe_pwrdm, abe_clkdm */
420*4882a593Smuzhiyun			clocks = <&abe_clkctrl OMAP4_TIMER8_CLKCTRL 0>;
421*4882a593Smuzhiyun			clock-names = "fck";
422*4882a593Smuzhiyun			#address-cells = <1>;
423*4882a593Smuzhiyun			#size-cells = <1>;
424*4882a593Smuzhiyun			ranges = <0x0 0x3e000 0x1000>,
425*4882a593Smuzhiyun				 <0x4903e000 0x4903e000 0x1000>;
426*4882a593Smuzhiyun
427*4882a593Smuzhiyun			timer8: timer@0 {
428*4882a593Smuzhiyun				compatible = "ti,omap4430-timer";
429*4882a593Smuzhiyun				reg = <0x00000000 0x80>,
430*4882a593Smuzhiyun				      <0x4903e000 0x80>;
431*4882a593Smuzhiyun				clocks = <&abe_clkctrl OMAP4_TIMER8_CLKCTRL 24>,
432*4882a593Smuzhiyun					 <&syc_clk_div_ck>;
433*4882a593Smuzhiyun				clock-names = "fck", "timer_sys_ck";
434*4882a593Smuzhiyun				interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
435*4882a593Smuzhiyun				ti,timer-pwm;
436*4882a593Smuzhiyun				ti,timer-dsp;
437*4882a593Smuzhiyun			};
438*4882a593Smuzhiyun		};
439*4882a593Smuzhiyun
440*4882a593Smuzhiyun		target-module@80000 {			/* 0x40180000, ap 26 1a.0 */
441*4882a593Smuzhiyun			compatible = "ti,sysc";
442*4882a593Smuzhiyun			status = "disabled";
443*4882a593Smuzhiyun			#address-cells = <1>;
444*4882a593Smuzhiyun			#size-cells = <1>;
445*4882a593Smuzhiyun			ranges = <0x0 0x80000 0x10000>,
446*4882a593Smuzhiyun				 <0x49080000 0x49080000 0x10000>;
447*4882a593Smuzhiyun		};
448*4882a593Smuzhiyun
449*4882a593Smuzhiyun		target-module@a0000 {			/* 0x401a0000, ap 28 1c.0 */
450*4882a593Smuzhiyun			compatible = "ti,sysc";
451*4882a593Smuzhiyun			status = "disabled";
452*4882a593Smuzhiyun			#address-cells = <1>;
453*4882a593Smuzhiyun			#size-cells = <1>;
454*4882a593Smuzhiyun			ranges = <0x0 0xa0000 0x10000>,
455*4882a593Smuzhiyun				 <0x490a0000 0x490a0000 0x10000>;
456*4882a593Smuzhiyun		};
457*4882a593Smuzhiyun
458*4882a593Smuzhiyun		target-module@c0000 {			/* 0x401c0000, ap 30 1e.0 */
459*4882a593Smuzhiyun			compatible = "ti,sysc";
460*4882a593Smuzhiyun			status = "disabled";
461*4882a593Smuzhiyun			#address-cells = <1>;
462*4882a593Smuzhiyun			#size-cells = <1>;
463*4882a593Smuzhiyun			ranges = <0x0 0xc0000 0x10000>,
464*4882a593Smuzhiyun				 <0x490c0000 0x490c0000 0x10000>;
465*4882a593Smuzhiyun		};
466*4882a593Smuzhiyun
467*4882a593Smuzhiyun		target-module@f1000 {			/* 0x401f1000, ap 32 20.0 */
468*4882a593Smuzhiyun			compatible = "ti,sysc-omap4", "ti,sysc";
469*4882a593Smuzhiyun			reg = <0xf1000 0x4>,
470*4882a593Smuzhiyun			      <0xf1010 0x4>;
471*4882a593Smuzhiyun			reg-names = "rev", "sysc";
472*4882a593Smuzhiyun			ti,sysc-midle = <SYSC_IDLE_FORCE>,
473*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
474*4882a593Smuzhiyun					<SYSC_IDLE_SMART>,
475*4882a593Smuzhiyun					<SYSC_IDLE_SMART_WKUP>;
476*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
477*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
478*4882a593Smuzhiyun					<SYSC_IDLE_SMART>;
479*4882a593Smuzhiyun			/* Domains (V, P, C): iva, abe_pwrdm, abe_clkdm */
480*4882a593Smuzhiyun			clocks = <&abe_clkctrl OMAP4_AESS_CLKCTRL 0>;
481*4882a593Smuzhiyun			clock-names = "fck";
482*4882a593Smuzhiyun			#address-cells = <1>;
483*4882a593Smuzhiyun			#size-cells = <1>;
484*4882a593Smuzhiyun			ranges = <0x0 0xf1000 0x1000>,
485*4882a593Smuzhiyun				 <0x490f1000 0x490f1000 0x1000>;
486*4882a593Smuzhiyun
487*4882a593Smuzhiyun			/*
488*4882a593Smuzhiyun			 * No child device binding or driver in mainline.
489*4882a593Smuzhiyun			 * See Android tree and related upstreaming efforts
490*4882a593Smuzhiyun			 * for the old driver.
491*4882a593Smuzhiyun			 */
492*4882a593Smuzhiyun		};
493*4882a593Smuzhiyun	};
494*4882a593Smuzhiyun};
495*4882a593Smuzhiyun
496