xref: /linux/arch/arm/boot/dts/ti/omap/omap2430.dtsi (revision cdd5b5a9761fd66d17586e4f4ba6588c70e640ea)
1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Device Tree Source for OMAP243x SoC
4*724ba675SRob Herring *
5*724ba675SRob Herring * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
6*724ba675SRob Herring */
7*724ba675SRob Herring
8*724ba675SRob Herring#include "omap2.dtsi"
9*724ba675SRob Herring
10*724ba675SRob Herring/ {
11*724ba675SRob Herring	compatible = "ti,omap2430", "ti,omap2";
12*724ba675SRob Herring
13*724ba675SRob Herring	ocp {
14*724ba675SRob Herring		l4_wkup: l4_wkup@49000000 {
15*724ba675SRob Herring			compatible = "ti,omap2-l4-wkup", "simple-bus";
16*724ba675SRob Herring			#address-cells = <1>;
17*724ba675SRob Herring			#size-cells = <1>;
18*724ba675SRob Herring			ranges = <0 0x49000000 0x31000>;
19*724ba675SRob Herring
20*724ba675SRob Herring			prcm: prcm@6000 {
21*724ba675SRob Herring				compatible = "ti,omap2-prcm";
22*724ba675SRob Herring				reg = <0x6000 0x1000>;
23*724ba675SRob Herring
24*724ba675SRob Herring				prcm_clocks: clocks {
25*724ba675SRob Herring					#address-cells = <1>;
26*724ba675SRob Herring					#size-cells = <0>;
27*724ba675SRob Herring				};
28*724ba675SRob Herring
29*724ba675SRob Herring				prcm_clockdomains: clockdomains {
30*724ba675SRob Herring				};
31*724ba675SRob Herring			};
32*724ba675SRob Herring
33*724ba675SRob Herring			scm: scm@2000 {
34*724ba675SRob Herring				compatible = "ti,omap2-scm", "simple-bus";
35*724ba675SRob Herring				reg = <0x2000 0x1000>;
36*724ba675SRob Herring				#address-cells = <1>;
37*724ba675SRob Herring				#size-cells = <1>;
38*724ba675SRob Herring				#pinctrl-cells = <1>;
39*724ba675SRob Herring				ranges = <0 0x2000 0x1000>;
40*724ba675SRob Herring
41*724ba675SRob Herring				omap2430_pmx: pinmux@30 {
42*724ba675SRob Herring					compatible = "ti,omap2430-padconf",
43*724ba675SRob Herring						     "pinctrl-single";
44*724ba675SRob Herring					reg = <0x30 0x0154>;
45*724ba675SRob Herring					#address-cells = <1>;
46*724ba675SRob Herring					#size-cells = <0>;
47*724ba675SRob Herring					#pinctrl-cells = <1>;
48*724ba675SRob Herring					pinctrl-single,register-width = <8>;
49*724ba675SRob Herring					pinctrl-single,function-mask = <0x3f>;
50*724ba675SRob Herring				};
51*724ba675SRob Herring
52*724ba675SRob Herring				scm_conf: scm_conf@270 {
53*724ba675SRob Herring					compatible = "syscon",
54*724ba675SRob Herring						     "simple-bus";
55*724ba675SRob Herring					reg = <0x270 0x240>;
56*724ba675SRob Herring					#address-cells = <1>;
57*724ba675SRob Herring					#size-cells = <1>;
58*724ba675SRob Herring					ranges = <0 0x270 0x240>;
59*724ba675SRob Herring
60*724ba675SRob Herring					scm_clocks: clocks {
61*724ba675SRob Herring						#address-cells = <1>;
62*724ba675SRob Herring						#size-cells = <0>;
63*724ba675SRob Herring					};
64*724ba675SRob Herring
65*724ba675SRob Herring					pbias_regulator: pbias_regulator@230 {
66*724ba675SRob Herring						compatible = "ti,pbias-omap2", "ti,pbias-omap";
67*724ba675SRob Herring						reg = <0x230 0x4>;
68*724ba675SRob Herring						syscon = <&scm_conf>;
69*724ba675SRob Herring						pbias_mmc_reg: pbias_mmc_omap2430 {
70*724ba675SRob Herring							regulator-name = "pbias_mmc_omap2430";
71*724ba675SRob Herring							regulator-min-microvolt = <1800000>;
72*724ba675SRob Herring							regulator-max-microvolt = <3000000>;
73*724ba675SRob Herring						};
74*724ba675SRob Herring					};
75*724ba675SRob Herring				};
76*724ba675SRob Herring
77*724ba675SRob Herring				scm_clockdomains: clockdomains {
78*724ba675SRob Herring				};
79*724ba675SRob Herring			};
80*724ba675SRob Herring
81*724ba675SRob Herring			target-module@20000 {
82*724ba675SRob Herring				compatible = "ti,sysc-omap2", "ti,sysc";
83*724ba675SRob Herring				reg = <0x20000 0x4>,
84*724ba675SRob Herring				      <0x20004 0x4>;
85*724ba675SRob Herring				reg-names = "rev", "sysc";
86*724ba675SRob Herring				ti,sysc-sidle = <SYSC_IDLE_FORCE>,
87*724ba675SRob Herring						<SYSC_IDLE_NO>;
88*724ba675SRob Herring				clocks = <&func_32k_ck>;
89*724ba675SRob Herring				clock-names = "fck";
90*724ba675SRob Herring				#address-cells = <1>;
91*724ba675SRob Herring				#size-cells = <1>;
92*724ba675SRob Herring				ranges = <0x0 0x20000 0x1000>;
93*724ba675SRob Herring
94*724ba675SRob Herring				counter32k: counter@0 {
95*724ba675SRob Herring					compatible = "ti,omap-counter32k";
96*724ba675SRob Herring					reg = <0 0x20>;
97*724ba675SRob Herring				};
98*724ba675SRob Herring			};
99*724ba675SRob Herring		};
100*724ba675SRob Herring
101*724ba675SRob Herring		gpio1: gpio@4900c000 {
102*724ba675SRob Herring			compatible = "ti,omap2-gpio";
103*724ba675SRob Herring			reg = <0x4900c000 0x200>;
104*724ba675SRob Herring			interrupts = <29>;
105*724ba675SRob Herring			ti,hwmods = "gpio1";
106*724ba675SRob Herring			ti,gpio-always-on;
107*724ba675SRob Herring			#gpio-cells = <2>;
108*724ba675SRob Herring			gpio-controller;
109*724ba675SRob Herring			#interrupt-cells = <2>;
110*724ba675SRob Herring			interrupt-controller;
111*724ba675SRob Herring		};
112*724ba675SRob Herring
113*724ba675SRob Herring		gpio2: gpio@4900e000 {
114*724ba675SRob Herring			compatible = "ti,omap2-gpio";
115*724ba675SRob Herring			reg = <0x4900e000 0x200>;
116*724ba675SRob Herring			interrupts = <30>;
117*724ba675SRob Herring			ti,hwmods = "gpio2";
118*724ba675SRob Herring			ti,gpio-always-on;
119*724ba675SRob Herring			#gpio-cells = <2>;
120*724ba675SRob Herring			gpio-controller;
121*724ba675SRob Herring			#interrupt-cells = <2>;
122*724ba675SRob Herring			interrupt-controller;
123*724ba675SRob Herring		};
124*724ba675SRob Herring
125*724ba675SRob Herring		gpio3: gpio@49010000 {
126*724ba675SRob Herring			compatible = "ti,omap2-gpio";
127*724ba675SRob Herring			reg = <0x49010000 0x200>;
128*724ba675SRob Herring			interrupts = <31>;
129*724ba675SRob Herring			ti,hwmods = "gpio3";
130*724ba675SRob Herring			ti,gpio-always-on;
131*724ba675SRob Herring			#gpio-cells = <2>;
132*724ba675SRob Herring			gpio-controller;
133*724ba675SRob Herring			#interrupt-cells = <2>;
134*724ba675SRob Herring			interrupt-controller;
135*724ba675SRob Herring		};
136*724ba675SRob Herring
137*724ba675SRob Herring		gpio4: gpio@49012000 {
138*724ba675SRob Herring			compatible = "ti,omap2-gpio";
139*724ba675SRob Herring			reg = <0x49012000 0x200>;
140*724ba675SRob Herring			interrupts = <32>;
141*724ba675SRob Herring			ti,hwmods = "gpio4";
142*724ba675SRob Herring			ti,gpio-always-on;
143*724ba675SRob Herring			#gpio-cells = <2>;
144*724ba675SRob Herring			gpio-controller;
145*724ba675SRob Herring			#interrupt-cells = <2>;
146*724ba675SRob Herring			interrupt-controller;
147*724ba675SRob Herring		};
148*724ba675SRob Herring
149*724ba675SRob Herring		gpio5: gpio@480b6000 {
150*724ba675SRob Herring			compatible = "ti,omap2-gpio";
151*724ba675SRob Herring			reg = <0x480b6000 0x200>;
152*724ba675SRob Herring			interrupts = <33>;
153*724ba675SRob Herring			ti,hwmods = "gpio5";
154*724ba675SRob Herring			#gpio-cells = <2>;
155*724ba675SRob Herring			gpio-controller;
156*724ba675SRob Herring			#interrupt-cells = <2>;
157*724ba675SRob Herring			interrupt-controller;
158*724ba675SRob Herring		};
159*724ba675SRob Herring
160*724ba675SRob Herring		gpmc: gpmc@6e000000 {
161*724ba675SRob Herring			compatible = "ti,omap2430-gpmc";
162*724ba675SRob Herring			reg = <0x6e000000 0x1000>;
163*724ba675SRob Herring			#address-cells = <2>;
164*724ba675SRob Herring			#size-cells = <1>;
165*724ba675SRob Herring			interrupts = <20>;
166*724ba675SRob Herring			gpmc,num-cs = <8>;
167*724ba675SRob Herring			gpmc,num-waitpins = <4>;
168*724ba675SRob Herring			ti,hwmods = "gpmc";
169*724ba675SRob Herring			interrupt-controller;
170*724ba675SRob Herring			#interrupt-cells = <2>;
171*724ba675SRob Herring			gpio-controller;
172*724ba675SRob Herring			#gpio-cells = <2>;
173*724ba675SRob Herring		};
174*724ba675SRob Herring
175*724ba675SRob Herring		mcbsp1: mcbsp@48074000 {
176*724ba675SRob Herring			compatible = "ti,omap2430-mcbsp";
177*724ba675SRob Herring			reg = <0x48074000 0xff>;
178*724ba675SRob Herring			reg-names = "mpu";
179*724ba675SRob Herring			interrupts = <64>, /* OCP compliant interrupt */
180*724ba675SRob Herring				     <59>, /* TX interrupt */
181*724ba675SRob Herring				     <60>, /* RX interrupt */
182*724ba675SRob Herring				     <61>; /* RX overflow interrupt */
183*724ba675SRob Herring			interrupt-names = "common", "tx", "rx", "rx_overflow";
184*724ba675SRob Herring			ti,buffer-size = <128>;
185*724ba675SRob Herring			ti,hwmods = "mcbsp1";
186*724ba675SRob Herring			dmas = <&sdma 31>,
187*724ba675SRob Herring			       <&sdma 32>;
188*724ba675SRob Herring			dma-names = "tx", "rx";
189*724ba675SRob Herring			status = "disabled";
190*724ba675SRob Herring		};
191*724ba675SRob Herring
192*724ba675SRob Herring		mcbsp2: mcbsp@48076000 {
193*724ba675SRob Herring			compatible = "ti,omap2430-mcbsp";
194*724ba675SRob Herring			reg = <0x48076000 0xff>;
195*724ba675SRob Herring			reg-names = "mpu";
196*724ba675SRob Herring			interrupts = <16>, /* OCP compliant interrupt */
197*724ba675SRob Herring				     <62>, /* TX interrupt */
198*724ba675SRob Herring				     <63>; /* RX interrupt */
199*724ba675SRob Herring			interrupt-names = "common", "tx", "rx";
200*724ba675SRob Herring			ti,buffer-size = <128>;
201*724ba675SRob Herring			ti,hwmods = "mcbsp2";
202*724ba675SRob Herring			dmas = <&sdma 33>,
203*724ba675SRob Herring			       <&sdma 34>;
204*724ba675SRob Herring			dma-names = "tx", "rx";
205*724ba675SRob Herring			status = "disabled";
206*724ba675SRob Herring		};
207*724ba675SRob Herring
208*724ba675SRob Herring		mcbsp3: mcbsp@4808c000 {
209*724ba675SRob Herring			compatible = "ti,omap2430-mcbsp";
210*724ba675SRob Herring			reg = <0x4808c000 0xff>;
211*724ba675SRob Herring			reg-names = "mpu";
212*724ba675SRob Herring			interrupts = <17>, /* OCP compliant interrupt */
213*724ba675SRob Herring				     <89>, /* TX interrupt */
214*724ba675SRob Herring				     <90>; /* RX interrupt */
215*724ba675SRob Herring			interrupt-names = "common", "tx", "rx";
216*724ba675SRob Herring			ti,buffer-size = <128>;
217*724ba675SRob Herring			ti,hwmods = "mcbsp3";
218*724ba675SRob Herring			dmas = <&sdma 17>,
219*724ba675SRob Herring			       <&sdma 18>;
220*724ba675SRob Herring			dma-names = "tx", "rx";
221*724ba675SRob Herring			status = "disabled";
222*724ba675SRob Herring		};
223*724ba675SRob Herring
224*724ba675SRob Herring		mcbsp4: mcbsp@4808e000 {
225*724ba675SRob Herring			compatible = "ti,omap2430-mcbsp";
226*724ba675SRob Herring			reg = <0x4808e000 0xff>;
227*724ba675SRob Herring			reg-names = "mpu";
228*724ba675SRob Herring			interrupts = <18>, /* OCP compliant interrupt */
229*724ba675SRob Herring				     <54>, /* TX interrupt */
230*724ba675SRob Herring				     <55>; /* RX interrupt */
231*724ba675SRob Herring			interrupt-names = "common", "tx", "rx";
232*724ba675SRob Herring			ti,buffer-size = <128>;
233*724ba675SRob Herring			ti,hwmods = "mcbsp4";
234*724ba675SRob Herring			dmas = <&sdma 19>,
235*724ba675SRob Herring			       <&sdma 20>;
236*724ba675SRob Herring			dma-names = "tx", "rx";
237*724ba675SRob Herring			status = "disabled";
238*724ba675SRob Herring		};
239*724ba675SRob Herring
240*724ba675SRob Herring		mcbsp5: mcbsp@48096000 {
241*724ba675SRob Herring			compatible = "ti,omap2430-mcbsp";
242*724ba675SRob Herring			reg = <0x48096000 0xff>;
243*724ba675SRob Herring			reg-names = "mpu";
244*724ba675SRob Herring			interrupts = <19>, /* OCP compliant interrupt */
245*724ba675SRob Herring				     <81>, /* TX interrupt */
246*724ba675SRob Herring				     <82>; /* RX interrupt */
247*724ba675SRob Herring			interrupt-names = "common", "tx", "rx";
248*724ba675SRob Herring			ti,buffer-size = <128>;
249*724ba675SRob Herring			ti,hwmods = "mcbsp5";
250*724ba675SRob Herring			dmas = <&sdma 21>,
251*724ba675SRob Herring			       <&sdma 22>;
252*724ba675SRob Herring			dma-names = "tx", "rx";
253*724ba675SRob Herring			status = "disabled";
254*724ba675SRob Herring		};
255*724ba675SRob Herring
256*724ba675SRob Herring		mmc1: mmc@4809c000 {
257*724ba675SRob Herring			compatible = "ti,omap2-hsmmc";
258*724ba675SRob Herring			reg = <0x4809c000 0x200>;
259*724ba675SRob Herring			interrupts = <83>;
260*724ba675SRob Herring			ti,hwmods = "mmc1";
261*724ba675SRob Herring			ti,dual-volt;
262*724ba675SRob Herring			dmas = <&sdma 61>, <&sdma 62>;
263*724ba675SRob Herring			dma-names = "tx", "rx";
264*724ba675SRob Herring			pbias-supply = <&pbias_mmc_reg>;
265*724ba675SRob Herring		};
266*724ba675SRob Herring
267*724ba675SRob Herring		mmc2: mmc@480b4000 {
268*724ba675SRob Herring			compatible = "ti,omap2-hsmmc";
269*724ba675SRob Herring			reg = <0x480b4000 0x200>;
270*724ba675SRob Herring			interrupts = <86>;
271*724ba675SRob Herring			ti,hwmods = "mmc2";
272*724ba675SRob Herring			dmas = <&sdma 47>, <&sdma 48>;
273*724ba675SRob Herring			dma-names = "tx", "rx";
274*724ba675SRob Herring		};
275*724ba675SRob Herring
276*724ba675SRob Herring		mailbox: mailbox@48094000 {
277*724ba675SRob Herring			compatible = "ti,omap2-mailbox";
278*724ba675SRob Herring			reg = <0x48094000 0x200>;
279*724ba675SRob Herring			interrupts = <26>;
280*724ba675SRob Herring			ti,hwmods = "mailbox";
281*724ba675SRob Herring			#mbox-cells = <1>;
282*724ba675SRob Herring			ti,mbox-num-users = <4>;
283*724ba675SRob Herring			ti,mbox-num-fifos = <6>;
284*724ba675SRob Herring			mbox_dsp: mbox-dsp {
285*724ba675SRob Herring				ti,mbox-tx = <0 0 0>;
286*724ba675SRob Herring				ti,mbox-rx = <1 0 0>;
287*724ba675SRob Herring			};
288*724ba675SRob Herring		};
289*724ba675SRob Herring
290*724ba675SRob Herring		timer1_target: target-module@49018000 {
291*724ba675SRob Herring			compatible = "ti,sysc-omap2-timer", "ti,sysc";
292*724ba675SRob Herring			reg = <0x49018000 0x4>,
293*724ba675SRob Herring			      <0x49018010 0x4>,
294*724ba675SRob Herring			      <0x49018014 0x4>;
295*724ba675SRob Herring			reg-names = "rev", "sysc", "syss";
296*724ba675SRob Herring			ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
297*724ba675SRob Herring					 SYSC_OMAP2_EMUFREE |
298*724ba675SRob Herring					 SYSC_OMAP2_ENAWAKEUP |
299*724ba675SRob Herring					 SYSC_OMAP2_SOFTRESET |
300*724ba675SRob Herring					 SYSC_OMAP2_AUTOIDLE)>;
301*724ba675SRob Herring			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
302*724ba675SRob Herring					<SYSC_IDLE_NO>,
303*724ba675SRob Herring					<SYSC_IDLE_SMART>;
304*724ba675SRob Herring			ti,syss-mask = <1>;
305*724ba675SRob Herring			clocks = <&gpt1_fck>, <&gpt1_ick>;
306*724ba675SRob Herring			clock-names = "fck", "ick";
307*724ba675SRob Herring			#address-cells = <1>;
308*724ba675SRob Herring			#size-cells = <1>;
309*724ba675SRob Herring			ranges = <0x0 0x49018000 0x1000>;
310*724ba675SRob Herring
311*724ba675SRob Herring			timer1: timer@0 {
312*724ba675SRob Herring				compatible = "ti,omap2420-timer";
313*724ba675SRob Herring				reg = <0 0x400>;
314*724ba675SRob Herring				interrupts = <37>;
315*724ba675SRob Herring				ti,timer-alwon;
316*724ba675SRob Herring			};
317*724ba675SRob Herring		};
318*724ba675SRob Herring
319*724ba675SRob Herring		mcspi3: spi@480b8000 {
320*724ba675SRob Herring			compatible = "ti,omap2-mcspi";
321*724ba675SRob Herring			ti,hwmods = "mcspi3";
322*724ba675SRob Herring			reg = <0x480b8000 0x100>;
323*724ba675SRob Herring			interrupts = <91>;
324*724ba675SRob Herring			dmas = <&sdma 15 &sdma 16 &sdma 23 &sdma 24>;
325*724ba675SRob Herring			dma-names = "tx0", "rx0", "tx1", "rx1";
326*724ba675SRob Herring		};
327*724ba675SRob Herring
328*724ba675SRob Herring		usb_otg_hs: usb_otg_hs@480ac000 {
329*724ba675SRob Herring			compatible = "ti,omap2-musb";
330*724ba675SRob Herring			ti,hwmods = "usb_otg_hs";
331*724ba675SRob Herring			reg = <0x480ac000 0x1000>;
332*724ba675SRob Herring			interrupts = <93>;
333*724ba675SRob Herring		};
334*724ba675SRob Herring
335*724ba675SRob Herring		wd_timer2: wdt@49016000 {
336*724ba675SRob Herring			compatible = "ti,omap2-wdt";
337*724ba675SRob Herring			ti,hwmods = "wd_timer2";
338*724ba675SRob Herring			reg = <0x49016000 0x80>;
339*724ba675SRob Herring		};
340*724ba675SRob Herring	};
341*724ba675SRob Herring};
342*724ba675SRob Herring
343*724ba675SRob Herring&sdma {
344*724ba675SRob Herring	compatible = "ti,omap2430-sdma", "ti,omap-sdma";
345*724ba675SRob Herring};
346*724ba675SRob Herring
347*724ba675SRob Herring&i2c1 {
348*724ba675SRob Herring	compatible = "ti,omap2430-i2c";
349*724ba675SRob Herring};
350*724ba675SRob Herring
351*724ba675SRob Herring&i2c2 {
352*724ba675SRob Herring	compatible = "ti,omap2430-i2c";
353*724ba675SRob Herring};
354*724ba675SRob Herring
355*724ba675SRob Herring#include "omap24xx-clocks.dtsi"
356*724ba675SRob Herring#include "omap2430-clocks.dtsi"
357*724ba675SRob Herring
358*724ba675SRob Herring/* Preferred always-on timer for clockevent */
359*724ba675SRob Herring&timer1_target {
360*724ba675SRob Herring	ti,no-reset-on-init;
361*724ba675SRob Herring	ti,no-idle;
362*724ba675SRob Herring	timer@0 {
363*724ba675SRob Herring		assigned-clocks = <&gpt1_fck>;
364*724ba675SRob Herring		assigned-clock-parents = <&func_32k_ck>;
365*724ba675SRob Herring	};
366*724ba675SRob Herring};
367