xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/omap2.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun * Device Tree Source for OMAP2 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,omap2430", "ti,omap2420", "ti,omap2";
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		serial0 = &uart1;
25*4882a593Smuzhiyun		serial1 = &uart2;
26*4882a593Smuzhiyun		serial2 = &uart3;
27*4882a593Smuzhiyun		i2c0 = &i2c1;
28*4882a593Smuzhiyun		i2c1 = &i2c2;
29*4882a593Smuzhiyun	};
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun	cpus {
32*4882a593Smuzhiyun		#address-cells = <0>;
33*4882a593Smuzhiyun		#size-cells = <0>;
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun		cpu {
36*4882a593Smuzhiyun			compatible = "arm,arm1136jf-s";
37*4882a593Smuzhiyun			device_type = "cpu";
38*4882a593Smuzhiyun		};
39*4882a593Smuzhiyun	};
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun	pmu {
42*4882a593Smuzhiyun		compatible = "arm,arm1136-pmu";
43*4882a593Smuzhiyun		interrupts = <3>;
44*4882a593Smuzhiyun	};
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun	soc {
47*4882a593Smuzhiyun		compatible = "ti,omap-infra";
48*4882a593Smuzhiyun		mpu {
49*4882a593Smuzhiyun			compatible = "ti,omap2-mpu";
50*4882a593Smuzhiyun			ti,hwmods = "mpu";
51*4882a593Smuzhiyun		};
52*4882a593Smuzhiyun	};
53*4882a593Smuzhiyun
54*4882a593Smuzhiyun	ocp {
55*4882a593Smuzhiyun		compatible = "simple-bus";
56*4882a593Smuzhiyun		#address-cells = <1>;
57*4882a593Smuzhiyun		#size-cells = <1>;
58*4882a593Smuzhiyun		ranges;
59*4882a593Smuzhiyun		ti,hwmods = "l3_main";
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun		aes: aes@480a6000 {
62*4882a593Smuzhiyun			compatible = "ti,omap2-aes";
63*4882a593Smuzhiyun			ti,hwmods = "aes";
64*4882a593Smuzhiyun			reg = <0x480a6000 0x50>;
65*4882a593Smuzhiyun			dmas = <&sdma 9 &sdma 10>;
66*4882a593Smuzhiyun			dma-names = "tx", "rx";
67*4882a593Smuzhiyun		};
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun		hdq1w: 1w@480b2000 {
70*4882a593Smuzhiyun			compatible = "ti,omap2420-1w";
71*4882a593Smuzhiyun			ti,hwmods = "hdq1w";
72*4882a593Smuzhiyun			reg = <0x480b2000 0x1000>;
73*4882a593Smuzhiyun			interrupts = <58>;
74*4882a593Smuzhiyun		};
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun		intc: interrupt-controller@1 {
77*4882a593Smuzhiyun			compatible = "ti,omap2-intc";
78*4882a593Smuzhiyun			interrupt-controller;
79*4882a593Smuzhiyun			#interrupt-cells = <1>;
80*4882a593Smuzhiyun			reg = <0x480FE000 0x1000>;
81*4882a593Smuzhiyun		};
82*4882a593Smuzhiyun
83*4882a593Smuzhiyun		target-module@48056000 {
84*4882a593Smuzhiyun			compatible = "ti,sysc-omap2", "ti,sysc";
85*4882a593Smuzhiyun			reg = <0x48056000 0x4>,
86*4882a593Smuzhiyun			      <0x4805602c 0x4>,
87*4882a593Smuzhiyun			      <0x48056028 0x4>;
88*4882a593Smuzhiyun			reg-names = "rev", "sysc", "syss";
89*4882a593Smuzhiyun			ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
90*4882a593Smuzhiyun					 SYSC_OMAP2_EMUFREE |
91*4882a593Smuzhiyun					 SYSC_OMAP2_SOFTRESET |
92*4882a593Smuzhiyun					 SYSC_OMAP2_AUTOIDLE)>;
93*4882a593Smuzhiyun			ti,sysc-midle = <SYSC_IDLE_FORCE>,
94*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
95*4882a593Smuzhiyun					<SYSC_IDLE_SMART>;
96*4882a593Smuzhiyun			ti,syss-mask = <1>;
97*4882a593Smuzhiyun			clocks = <&core_l3_ck>;
98*4882a593Smuzhiyun			clock-names = "fck";
99*4882a593Smuzhiyun			#address-cells = <1>;
100*4882a593Smuzhiyun			#size-cells = <1>;
101*4882a593Smuzhiyun			ranges = <0 0x48056000 0x1000>;
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun			sdma: dma-controller@0 {
104*4882a593Smuzhiyun				compatible = "ti,omap2420-sdma", "ti,omap-sdma";
105*4882a593Smuzhiyun				reg = <0 0x1000>;
106*4882a593Smuzhiyun				interrupts = <12>,
107*4882a593Smuzhiyun					     <13>,
108*4882a593Smuzhiyun					     <14>,
109*4882a593Smuzhiyun					     <15>;
110*4882a593Smuzhiyun				#dma-cells = <1>;
111*4882a593Smuzhiyun				dma-channels = <32>;
112*4882a593Smuzhiyun				dma-requests = <64>;
113*4882a593Smuzhiyun			};
114*4882a593Smuzhiyun		};
115*4882a593Smuzhiyun
116*4882a593Smuzhiyun		i2c1: i2c@48070000 {
117*4882a593Smuzhiyun			compatible = "ti,omap2-i2c";
118*4882a593Smuzhiyun			ti,hwmods = "i2c1";
119*4882a593Smuzhiyun			reg = <0x48070000 0x80>;
120*4882a593Smuzhiyun			#address-cells = <1>;
121*4882a593Smuzhiyun			#size-cells = <0>;
122*4882a593Smuzhiyun			interrupts = <56>;
123*4882a593Smuzhiyun			dmas = <&sdma 27 &sdma 28>;
124*4882a593Smuzhiyun			dma-names = "tx", "rx";
125*4882a593Smuzhiyun		};
126*4882a593Smuzhiyun
127*4882a593Smuzhiyun		i2c2: i2c@48072000 {
128*4882a593Smuzhiyun			compatible = "ti,omap2-i2c";
129*4882a593Smuzhiyun			ti,hwmods = "i2c2";
130*4882a593Smuzhiyun			reg = <0x48072000 0x80>;
131*4882a593Smuzhiyun			#address-cells = <1>;
132*4882a593Smuzhiyun			#size-cells = <0>;
133*4882a593Smuzhiyun			interrupts = <57>;
134*4882a593Smuzhiyun			dmas = <&sdma 29 &sdma 30>;
135*4882a593Smuzhiyun			dma-names = "tx", "rx";
136*4882a593Smuzhiyun		};
137*4882a593Smuzhiyun
138*4882a593Smuzhiyun		mcspi1: spi@48098000 {
139*4882a593Smuzhiyun			compatible = "ti,omap2-mcspi";
140*4882a593Smuzhiyun			ti,hwmods = "mcspi1";
141*4882a593Smuzhiyun			reg = <0x48098000 0x100>;
142*4882a593Smuzhiyun			interrupts = <65>;
143*4882a593Smuzhiyun			dmas = <&sdma 35 &sdma 36 &sdma 37 &sdma 38
144*4882a593Smuzhiyun				&sdma 39 &sdma 40 &sdma 41 &sdma 42>;
145*4882a593Smuzhiyun			dma-names = "tx0", "rx0", "tx1", "rx1",
146*4882a593Smuzhiyun				    "tx2", "rx2", "tx3", "rx3";
147*4882a593Smuzhiyun		};
148*4882a593Smuzhiyun
149*4882a593Smuzhiyun		mcspi2: spi@4809a000 {
150*4882a593Smuzhiyun			compatible = "ti,omap2-mcspi";
151*4882a593Smuzhiyun			ti,hwmods = "mcspi2";
152*4882a593Smuzhiyun			reg = <0x4809a000 0x100>;
153*4882a593Smuzhiyun			interrupts = <66>;
154*4882a593Smuzhiyun			dmas = <&sdma 43 &sdma 44 &sdma 45 &sdma 46>;
155*4882a593Smuzhiyun			dma-names = "tx0", "rx0", "tx1", "rx1";
156*4882a593Smuzhiyun		};
157*4882a593Smuzhiyun
158*4882a593Smuzhiyun		rng: rng@480a0000 {
159*4882a593Smuzhiyun			compatible = "ti,omap2-rng";
160*4882a593Smuzhiyun			ti,hwmods = "rng";
161*4882a593Smuzhiyun			reg = <0x480a0000 0x50>;
162*4882a593Smuzhiyun			interrupts = <52>;
163*4882a593Smuzhiyun		};
164*4882a593Smuzhiyun
165*4882a593Smuzhiyun		sham: sham@480a4000 {
166*4882a593Smuzhiyun			compatible = "ti,omap2-sham";
167*4882a593Smuzhiyun			ti,hwmods = "sham";
168*4882a593Smuzhiyun			reg = <0x480a4000 0x64>;
169*4882a593Smuzhiyun			interrupts = <51>;
170*4882a593Smuzhiyun			dmas = <&sdma 13>;
171*4882a593Smuzhiyun			dma-names = "rx";
172*4882a593Smuzhiyun		};
173*4882a593Smuzhiyun
174*4882a593Smuzhiyun		uart1: serial@4806a000 {
175*4882a593Smuzhiyun			compatible = "ti,omap2-uart";
176*4882a593Smuzhiyun			ti,hwmods = "uart1";
177*4882a593Smuzhiyun			reg = <0x4806a000 0x2000>;
178*4882a593Smuzhiyun			interrupts = <72>;
179*4882a593Smuzhiyun			dmas = <&sdma 49 &sdma 50>;
180*4882a593Smuzhiyun			dma-names = "tx", "rx";
181*4882a593Smuzhiyun			clock-frequency = <48000000>;
182*4882a593Smuzhiyun		};
183*4882a593Smuzhiyun
184*4882a593Smuzhiyun		uart2: serial@4806c000 {
185*4882a593Smuzhiyun			compatible = "ti,omap2-uart";
186*4882a593Smuzhiyun			ti,hwmods = "uart2";
187*4882a593Smuzhiyun			reg = <0x4806c000 0x400>;
188*4882a593Smuzhiyun			interrupts = <73>;
189*4882a593Smuzhiyun			dmas = <&sdma 51 &sdma 52>;
190*4882a593Smuzhiyun			dma-names = "tx", "rx";
191*4882a593Smuzhiyun			clock-frequency = <48000000>;
192*4882a593Smuzhiyun		};
193*4882a593Smuzhiyun
194*4882a593Smuzhiyun		uart3: serial@4806e000 {
195*4882a593Smuzhiyun			compatible = "ti,omap2-uart";
196*4882a593Smuzhiyun			ti,hwmods = "uart3";
197*4882a593Smuzhiyun			reg = <0x4806e000 0x400>;
198*4882a593Smuzhiyun			interrupts = <74>;
199*4882a593Smuzhiyun			dmas = <&sdma 53 &sdma 54>;
200*4882a593Smuzhiyun			dma-names = "tx", "rx";
201*4882a593Smuzhiyun			clock-frequency = <48000000>;
202*4882a593Smuzhiyun		};
203*4882a593Smuzhiyun
204*4882a593Smuzhiyun		timer2_target: target-module@4802a000 {
205*4882a593Smuzhiyun			compatible = "ti,sysc-omap2-timer", "ti,sysc";
206*4882a593Smuzhiyun			reg = <0x4802a000 0x4>,
207*4882a593Smuzhiyun			      <0x4802a010 0x4>,
208*4882a593Smuzhiyun			      <0x4802a014 0x4>;
209*4882a593Smuzhiyun			reg-names = "rev", "sysc", "syss";
210*4882a593Smuzhiyun			ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
211*4882a593Smuzhiyun					 SYSC_OMAP2_EMUFREE |
212*4882a593Smuzhiyun					 SYSC_OMAP2_ENAWAKEUP |
213*4882a593Smuzhiyun					 SYSC_OMAP2_SOFTRESET |
214*4882a593Smuzhiyun					 SYSC_OMAP2_AUTOIDLE)>;
215*4882a593Smuzhiyun			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
216*4882a593Smuzhiyun					<SYSC_IDLE_NO>,
217*4882a593Smuzhiyun					<SYSC_IDLE_SMART>;
218*4882a593Smuzhiyun			ti,syss-mask = <1>;
219*4882a593Smuzhiyun			clocks = <&gpt2_fck>, <&gpt2_ick>;
220*4882a593Smuzhiyun			clock-names = "fck", "ick";
221*4882a593Smuzhiyun			#address-cells = <1>;
222*4882a593Smuzhiyun			#size-cells = <1>;
223*4882a593Smuzhiyun			ranges = <0x0 0x4802a000 0x1000>;
224*4882a593Smuzhiyun
225*4882a593Smuzhiyun			timer2: timer@0 {
226*4882a593Smuzhiyun				compatible = "ti,omap2420-timer";
227*4882a593Smuzhiyun				reg = <0 0x400>;
228*4882a593Smuzhiyun				interrupts = <38>;
229*4882a593Smuzhiyun			};
230*4882a593Smuzhiyun		};
231*4882a593Smuzhiyun
232*4882a593Smuzhiyun		timer3: timer@48078000 {
233*4882a593Smuzhiyun			compatible = "ti,omap2420-timer";
234*4882a593Smuzhiyun			reg = <0x48078000 0x400>;
235*4882a593Smuzhiyun			interrupts = <39>;
236*4882a593Smuzhiyun			ti,hwmods = "timer3";
237*4882a593Smuzhiyun		};
238*4882a593Smuzhiyun
239*4882a593Smuzhiyun		timer4: timer@4807a000 {
240*4882a593Smuzhiyun			compatible = "ti,omap2420-timer";
241*4882a593Smuzhiyun			reg = <0x4807a000 0x400>;
242*4882a593Smuzhiyun			interrupts = <40>;
243*4882a593Smuzhiyun			ti,hwmods = "timer4";
244*4882a593Smuzhiyun		};
245*4882a593Smuzhiyun
246*4882a593Smuzhiyun		timer5: timer@4807c000 {
247*4882a593Smuzhiyun			compatible = "ti,omap2420-timer";
248*4882a593Smuzhiyun			reg = <0x4807c000 0x400>;
249*4882a593Smuzhiyun			interrupts = <41>;
250*4882a593Smuzhiyun			ti,hwmods = "timer5";
251*4882a593Smuzhiyun			ti,timer-dsp;
252*4882a593Smuzhiyun		};
253*4882a593Smuzhiyun
254*4882a593Smuzhiyun		timer6: timer@4807e000 {
255*4882a593Smuzhiyun			compatible = "ti,omap2420-timer";
256*4882a593Smuzhiyun			reg = <0x4807e000 0x400>;
257*4882a593Smuzhiyun			interrupts = <42>;
258*4882a593Smuzhiyun			ti,hwmods = "timer6";
259*4882a593Smuzhiyun			ti,timer-dsp;
260*4882a593Smuzhiyun		};
261*4882a593Smuzhiyun
262*4882a593Smuzhiyun		timer7: timer@48080000 {
263*4882a593Smuzhiyun			compatible = "ti,omap2420-timer";
264*4882a593Smuzhiyun			reg = <0x48080000 0x400>;
265*4882a593Smuzhiyun			interrupts = <43>;
266*4882a593Smuzhiyun			ti,hwmods = "timer7";
267*4882a593Smuzhiyun			ti,timer-dsp;
268*4882a593Smuzhiyun		};
269*4882a593Smuzhiyun
270*4882a593Smuzhiyun		timer8: timer@48082000 {
271*4882a593Smuzhiyun			compatible = "ti,omap2420-timer";
272*4882a593Smuzhiyun			reg = <0x48082000 0x400>;
273*4882a593Smuzhiyun			interrupts = <44>;
274*4882a593Smuzhiyun			ti,hwmods = "timer8";
275*4882a593Smuzhiyun			ti,timer-dsp;
276*4882a593Smuzhiyun		};
277*4882a593Smuzhiyun
278*4882a593Smuzhiyun		timer9: timer@48084000 {
279*4882a593Smuzhiyun			compatible = "ti,omap2420-timer";
280*4882a593Smuzhiyun			reg = <0x48084000 0x400>;
281*4882a593Smuzhiyun			interrupts = <45>;
282*4882a593Smuzhiyun			ti,hwmods = "timer9";
283*4882a593Smuzhiyun			ti,timer-pwm;
284*4882a593Smuzhiyun		};
285*4882a593Smuzhiyun
286*4882a593Smuzhiyun		timer10: timer@48086000 {
287*4882a593Smuzhiyun			compatible = "ti,omap2420-timer";
288*4882a593Smuzhiyun			reg = <0x48086000 0x400>;
289*4882a593Smuzhiyun			interrupts = <46>;
290*4882a593Smuzhiyun			ti,hwmods = "timer10";
291*4882a593Smuzhiyun			ti,timer-pwm;
292*4882a593Smuzhiyun		};
293*4882a593Smuzhiyun
294*4882a593Smuzhiyun		timer11: timer@48088000 {
295*4882a593Smuzhiyun			compatible = "ti,omap2420-timer";
296*4882a593Smuzhiyun			reg = <0x48088000 0x400>;
297*4882a593Smuzhiyun			interrupts = <47>;
298*4882a593Smuzhiyun			ti,hwmods = "timer11";
299*4882a593Smuzhiyun			ti,timer-pwm;
300*4882a593Smuzhiyun		};
301*4882a593Smuzhiyun
302*4882a593Smuzhiyun		timer12: timer@4808a000 {
303*4882a593Smuzhiyun			compatible = "ti,omap2420-timer";
304*4882a593Smuzhiyun			reg = <0x4808a000 0x400>;
305*4882a593Smuzhiyun			interrupts = <48>;
306*4882a593Smuzhiyun			ti,hwmods = "timer12";
307*4882a593Smuzhiyun			ti,timer-pwm;
308*4882a593Smuzhiyun		};
309*4882a593Smuzhiyun
310*4882a593Smuzhiyun		dss: dss@48050000 {
311*4882a593Smuzhiyun			compatible = "ti,omap2-dss";
312*4882a593Smuzhiyun			reg = <0x48050000 0x400>;
313*4882a593Smuzhiyun			status = "disabled";
314*4882a593Smuzhiyun			ti,hwmods = "dss_core";
315*4882a593Smuzhiyun			#address-cells = <1>;
316*4882a593Smuzhiyun			#size-cells = <1>;
317*4882a593Smuzhiyun			ranges;
318*4882a593Smuzhiyun
319*4882a593Smuzhiyun			dispc@48050400 {
320*4882a593Smuzhiyun				compatible = "ti,omap2-dispc";
321*4882a593Smuzhiyun				reg = <0x48050400 0x400>;
322*4882a593Smuzhiyun				interrupts = <25>;
323*4882a593Smuzhiyun				ti,hwmods = "dss_dispc";
324*4882a593Smuzhiyun			};
325*4882a593Smuzhiyun
326*4882a593Smuzhiyun			rfbi: encoder@48050800 {
327*4882a593Smuzhiyun				compatible = "ti,omap2-rfbi";
328*4882a593Smuzhiyun				reg = <0x48050800 0x400>;
329*4882a593Smuzhiyun				status = "disabled";
330*4882a593Smuzhiyun				ti,hwmods = "dss_rfbi";
331*4882a593Smuzhiyun			};
332*4882a593Smuzhiyun
333*4882a593Smuzhiyun			venc: encoder@48050c00 {
334*4882a593Smuzhiyun				compatible = "ti,omap2-venc";
335*4882a593Smuzhiyun				reg = <0x48050c00 0x400>;
336*4882a593Smuzhiyun				status = "disabled";
337*4882a593Smuzhiyun				ti,hwmods = "dss_venc";
338*4882a593Smuzhiyun			};
339*4882a593Smuzhiyun		};
340*4882a593Smuzhiyun	};
341*4882a593Smuzhiyun};
342