xref: /openbmc/linux/arch/arm/boot/dts/ti/omap/omap2420.dtsi (revision 724ba675)
1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Device Tree Source for OMAP2420 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,omap2420", "ti,omap2";
12*724ba675SRob Herring
13*724ba675SRob Herring	ocp {
14*724ba675SRob Herring		l4: l4@48000000 {
15*724ba675SRob Herring			compatible = "ti,omap2-l4", "simple-bus";
16*724ba675SRob Herring			#address-cells = <1>;
17*724ba675SRob Herring			#size-cells = <1>;
18*724ba675SRob Herring			ranges = <0 0x48000000 0x100000>;
19*724ba675SRob Herring
20*724ba675SRob Herring			prcm: prcm@8000 {
21*724ba675SRob Herring				compatible = "ti,omap2-prcm";
22*724ba675SRob Herring				reg = <0x8000 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@0 {
34*724ba675SRob Herring				compatible = "ti,omap2-scm", "simple-bus";
35*724ba675SRob Herring				reg = <0x0 0x1000>;
36*724ba675SRob Herring				#address-cells = <1>;
37*724ba675SRob Herring				#size-cells = <1>;
38*724ba675SRob Herring				#pinctrl-cells = <1>;
39*724ba675SRob Herring				ranges = <0 0x0 0x1000>;
40*724ba675SRob Herring
41*724ba675SRob Herring				omap2420_pmx: pinmux@30 {
42*724ba675SRob Herring					compatible = "ti,omap2420-padconf",
43*724ba675SRob Herring						     "pinctrl-single";
44*724ba675SRob Herring					reg = <0x30 0x0113>;
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					reg = <0x270 0x100>;
55*724ba675SRob Herring					#address-cells = <1>;
56*724ba675SRob Herring					#size-cells = <1>;
57*724ba675SRob Herring
58*724ba675SRob Herring					scm_clocks: clocks {
59*724ba675SRob Herring						#address-cells = <1>;
60*724ba675SRob Herring						#size-cells = <0>;
61*724ba675SRob Herring					};
62*724ba675SRob Herring				};
63*724ba675SRob Herring
64*724ba675SRob Herring				scm_clockdomains: clockdomains {
65*724ba675SRob Herring				};
66*724ba675SRob Herring			};
67*724ba675SRob Herring
68*724ba675SRob Herring			target-module@4000 {
69*724ba675SRob Herring				compatible = "ti,sysc-omap2", "ti,sysc";
70*724ba675SRob Herring				reg = <0x4000 0x4>,
71*724ba675SRob Herring				      <0x4004 0x4>;
72*724ba675SRob Herring				reg-names = "rev", "sysc";
73*724ba675SRob Herring				ti,sysc-sidle = <SYSC_IDLE_FORCE>,
74*724ba675SRob Herring						<SYSC_IDLE_NO>;
75*724ba675SRob Herring				clocks = <&func_32k_ck>;
76*724ba675SRob Herring				clock-names = "fck";
77*724ba675SRob Herring				#address-cells = <1>;
78*724ba675SRob Herring				#size-cells = <1>;
79*724ba675SRob Herring				ranges = <0x0 0x4000 0x1000>;
80*724ba675SRob Herring
81*724ba675SRob Herring				counter32k: counter@0 {
82*724ba675SRob Herring					compatible = "ti,omap-counter32k";
83*724ba675SRob Herring					reg = <0 0x20>;
84*724ba675SRob Herring				};
85*724ba675SRob Herring			};
86*724ba675SRob Herring		};
87*724ba675SRob Herring
88*724ba675SRob Herring		gpio1: gpio@48018000 {
89*724ba675SRob Herring			compatible = "ti,omap2-gpio";
90*724ba675SRob Herring			reg = <0x48018000 0x200>;
91*724ba675SRob Herring			interrupts = <29>;
92*724ba675SRob Herring			ti,hwmods = "gpio1";
93*724ba675SRob Herring			ti,gpio-always-on;
94*724ba675SRob Herring			#gpio-cells = <2>;
95*724ba675SRob Herring			gpio-controller;
96*724ba675SRob Herring			#interrupt-cells = <2>;
97*724ba675SRob Herring			interrupt-controller;
98*724ba675SRob Herring		};
99*724ba675SRob Herring
100*724ba675SRob Herring		gpio2: gpio@4801a000 {
101*724ba675SRob Herring			compatible = "ti,omap2-gpio";
102*724ba675SRob Herring			reg = <0x4801a000 0x200>;
103*724ba675SRob Herring			interrupts = <30>;
104*724ba675SRob Herring			ti,hwmods = "gpio2";
105*724ba675SRob Herring			ti,gpio-always-on;
106*724ba675SRob Herring			#gpio-cells = <2>;
107*724ba675SRob Herring			gpio-controller;
108*724ba675SRob Herring			#interrupt-cells = <2>;
109*724ba675SRob Herring			interrupt-controller;
110*724ba675SRob Herring		};
111*724ba675SRob Herring
112*724ba675SRob Herring		gpio3: gpio@4801c000 {
113*724ba675SRob Herring			compatible = "ti,omap2-gpio";
114*724ba675SRob Herring			reg = <0x4801c000 0x200>;
115*724ba675SRob Herring			interrupts = <31>;
116*724ba675SRob Herring			ti,hwmods = "gpio3";
117*724ba675SRob Herring			ti,gpio-always-on;
118*724ba675SRob Herring			#gpio-cells = <2>;
119*724ba675SRob Herring			gpio-controller;
120*724ba675SRob Herring			#interrupt-cells = <2>;
121*724ba675SRob Herring			interrupt-controller;
122*724ba675SRob Herring		};
123*724ba675SRob Herring
124*724ba675SRob Herring		gpio4: gpio@4801e000 {
125*724ba675SRob Herring			compatible = "ti,omap2-gpio";
126*724ba675SRob Herring			reg = <0x4801e000 0x200>;
127*724ba675SRob Herring			interrupts = <32>;
128*724ba675SRob Herring			ti,hwmods = "gpio4";
129*724ba675SRob Herring			ti,gpio-always-on;
130*724ba675SRob Herring			#gpio-cells = <2>;
131*724ba675SRob Herring			gpio-controller;
132*724ba675SRob Herring			#interrupt-cells = <2>;
133*724ba675SRob Herring			interrupt-controller;
134*724ba675SRob Herring		};
135*724ba675SRob Herring
136*724ba675SRob Herring		gpmc: gpmc@6800a000 {
137*724ba675SRob Herring			compatible = "ti,omap2420-gpmc";
138*724ba675SRob Herring			reg = <0x6800a000 0x1000>;
139*724ba675SRob Herring			#address-cells = <2>;
140*724ba675SRob Herring			#size-cells = <1>;
141*724ba675SRob Herring			interrupts = <20>;
142*724ba675SRob Herring			gpmc,num-cs = <8>;
143*724ba675SRob Herring			gpmc,num-waitpins = <4>;
144*724ba675SRob Herring			ti,hwmods = "gpmc";
145*724ba675SRob Herring			interrupt-controller;
146*724ba675SRob Herring			#interrupt-cells = <2>;
147*724ba675SRob Herring			gpio-controller;
148*724ba675SRob Herring			#gpio-cells = <2>;
149*724ba675SRob Herring		};
150*724ba675SRob Herring
151*724ba675SRob Herring		mcbsp1: mcbsp@48074000 {
152*724ba675SRob Herring			compatible = "ti,omap2420-mcbsp";
153*724ba675SRob Herring			reg = <0x48074000 0xff>;
154*724ba675SRob Herring			reg-names = "mpu";
155*724ba675SRob Herring			interrupts = <59>, /* TX interrupt */
156*724ba675SRob Herring				     <60>; /* RX interrupt */
157*724ba675SRob Herring			interrupt-names = "tx", "rx";
158*724ba675SRob Herring			ti,hwmods = "mcbsp1";
159*724ba675SRob Herring			dmas = <&sdma 31>,
160*724ba675SRob Herring			       <&sdma 32>;
161*724ba675SRob Herring			dma-names = "tx", "rx";
162*724ba675SRob Herring			status = "disabled";
163*724ba675SRob Herring		};
164*724ba675SRob Herring
165*724ba675SRob Herring		mcbsp2: mcbsp@48076000 {
166*724ba675SRob Herring			compatible = "ti,omap2420-mcbsp";
167*724ba675SRob Herring			reg = <0x48076000 0xff>;
168*724ba675SRob Herring			reg-names = "mpu";
169*724ba675SRob Herring			interrupts = <62>, /* TX interrupt */
170*724ba675SRob Herring				     <63>; /* RX interrupt */
171*724ba675SRob Herring			interrupt-names = "tx", "rx";
172*724ba675SRob Herring			ti,hwmods = "mcbsp2";
173*724ba675SRob Herring			dmas = <&sdma 33>,
174*724ba675SRob Herring			       <&sdma 34>;
175*724ba675SRob Herring			dma-names = "tx", "rx";
176*724ba675SRob Herring			status = "disabled";
177*724ba675SRob Herring		};
178*724ba675SRob Herring
179*724ba675SRob Herring		msdi1: mmc@4809c000 {
180*724ba675SRob Herring			compatible = "ti,omap2420-mmc";
181*724ba675SRob Herring			ti,hwmods = "msdi1";
182*724ba675SRob Herring			reg = <0x4809c000 0x80>;
183*724ba675SRob Herring			interrupts = <83>;
184*724ba675SRob Herring			dmas = <&sdma 61 &sdma 62>;
185*724ba675SRob Herring			dma-names = "tx", "rx";
186*724ba675SRob Herring		};
187*724ba675SRob Herring
188*724ba675SRob Herring		mailbox: mailbox@48094000 {
189*724ba675SRob Herring			compatible = "ti,omap2-mailbox";
190*724ba675SRob Herring			reg = <0x48094000 0x200>;
191*724ba675SRob Herring			interrupts = <26>, <34>;
192*724ba675SRob Herring			ti,hwmods = "mailbox";
193*724ba675SRob Herring			#mbox-cells = <1>;
194*724ba675SRob Herring			ti,mbox-num-users = <4>;
195*724ba675SRob Herring			ti,mbox-num-fifos = <6>;
196*724ba675SRob Herring			mbox_dsp: mbox-dsp {
197*724ba675SRob Herring				ti,mbox-tx = <0 0 0>;
198*724ba675SRob Herring				ti,mbox-rx = <1 0 0>;
199*724ba675SRob Herring			};
200*724ba675SRob Herring			mbox_iva: mbox-iva {
201*724ba675SRob Herring				ti,mbox-tx = <2 1 3>;
202*724ba675SRob Herring				ti,mbox-rx = <3 1 3>;
203*724ba675SRob Herring			};
204*724ba675SRob Herring		};
205*724ba675SRob Herring
206*724ba675SRob Herring		timer1_target: target-module@48028000 {
207*724ba675SRob Herring			compatible = "ti,sysc-omap2-timer", "ti,sysc";
208*724ba675SRob Herring			reg = <0x48028000 0x4>,
209*724ba675SRob Herring			      <0x48028010 0x4>,
210*724ba675SRob Herring			      <0x48028014 0x4>;
211*724ba675SRob Herring			reg-names = "rev", "sysc", "syss";
212*724ba675SRob Herring			ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
213*724ba675SRob Herring					 SYSC_OMAP2_EMUFREE |
214*724ba675SRob Herring					 SYSC_OMAP2_ENAWAKEUP |
215*724ba675SRob Herring					 SYSC_OMAP2_SOFTRESET |
216*724ba675SRob Herring					 SYSC_OMAP2_AUTOIDLE)>;
217*724ba675SRob Herring			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
218*724ba675SRob Herring					<SYSC_IDLE_NO>,
219*724ba675SRob Herring					<SYSC_IDLE_SMART>;
220*724ba675SRob Herring			ti,syss-mask = <1>;
221*724ba675SRob Herring			clocks = <&gpt1_fck>, <&gpt1_ick>;
222*724ba675SRob Herring			clock-names = "fck", "ick";
223*724ba675SRob Herring			#address-cells = <1>;
224*724ba675SRob Herring			#size-cells = <1>;
225*724ba675SRob Herring			ranges = <0x0 0x48028000 0x1000>;
226*724ba675SRob Herring
227*724ba675SRob Herring			timer1: timer@0 {
228*724ba675SRob Herring				compatible = "ti,omap2420-timer";
229*724ba675SRob Herring				reg = <0 0x400>;
230*724ba675SRob Herring				interrupts = <37>;
231*724ba675SRob Herring				ti,timer-alwon;
232*724ba675SRob Herring			};
233*724ba675SRob Herring		};
234*724ba675SRob Herring
235*724ba675SRob Herring		wd_timer2: wdt@48022000 {
236*724ba675SRob Herring			compatible = "ti,omap2-wdt";
237*724ba675SRob Herring			ti,hwmods = "wd_timer2";
238*724ba675SRob Herring			reg = <0x48022000 0x80>;
239*724ba675SRob Herring		};
240*724ba675SRob Herring	};
241*724ba675SRob Herring};
242*724ba675SRob Herring
243*724ba675SRob Herring&i2c1 {
244*724ba675SRob Herring	compatible = "ti,omap2420-i2c";
245*724ba675SRob Herring};
246*724ba675SRob Herring
247*724ba675SRob Herring&i2c2 {
248*724ba675SRob Herring	compatible = "ti,omap2420-i2c";
249*724ba675SRob Herring};
250*724ba675SRob Herring
251*724ba675SRob Herring#include "omap24xx-clocks.dtsi"
252*724ba675SRob Herring#include "omap2420-clocks.dtsi"
253*724ba675SRob Herring
254*724ba675SRob Herring/* Preferred always-on timer for clockevent */
255*724ba675SRob Herring&timer1_target {
256*724ba675SRob Herring	ti,no-reset-on-init;
257*724ba675SRob Herring	ti,no-idle;
258*724ba675SRob Herring	timer@0 {
259*724ba675SRob Herring		assigned-clocks = <&gpt1_fck>;
260*724ba675SRob Herring		assigned-clock-parents = <&func_32k_ck>;
261*724ba675SRob Herring	};
262*724ba675SRob Herring};
263