xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/spear1310-evb.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-or-later
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * DTS file for SPEAr1310 Evaluation Baord
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
6*4882a593Smuzhiyun */
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun/dts-v1/;
9*4882a593Smuzhiyun/include/ "spear1310.dtsi"
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun/ {
12*4882a593Smuzhiyun	model = "ST SPEAr1310 Evaluation Board";
13*4882a593Smuzhiyun	compatible = "st,spear1310-evb", "st,spear1310";
14*4882a593Smuzhiyun	#address-cells = <1>;
15*4882a593Smuzhiyun	#size-cells = <1>;
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun	memory {
18*4882a593Smuzhiyun		reg = <0 0x40000000>;
19*4882a593Smuzhiyun	};
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun	ahb {
22*4882a593Smuzhiyun		pinmux@e0700000 {
23*4882a593Smuzhiyun			pinctrl-names = "default";
24*4882a593Smuzhiyun			pinctrl-0 = <&state_default>;
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun			state_default: pinmux {
27*4882a593Smuzhiyun				i2c0 {
28*4882a593Smuzhiyun					st,pins = "i2c0_grp";
29*4882a593Smuzhiyun					st,function = "i2c0";
30*4882a593Smuzhiyun				};
31*4882a593Smuzhiyun				i2s0 {
32*4882a593Smuzhiyun					st,pins = "i2s0_grp";
33*4882a593Smuzhiyun					st,function = "i2s0";
34*4882a593Smuzhiyun				};
35*4882a593Smuzhiyun				i2s1 {
36*4882a593Smuzhiyun					st,pins = "i2s1_grp";
37*4882a593Smuzhiyun					st,function = "i2s1";
38*4882a593Smuzhiyun				};
39*4882a593Smuzhiyun				gpio {
40*4882a593Smuzhiyun					st,pins = "arm_gpio_grp";
41*4882a593Smuzhiyun					st,function = "arm_gpio";
42*4882a593Smuzhiyun				};
43*4882a593Smuzhiyun				clcd {
44*4882a593Smuzhiyun					st,pins = "clcd_grp" , "clcd_high_res";
45*4882a593Smuzhiyun					st,function = "clcd";
46*4882a593Smuzhiyun				};
47*4882a593Smuzhiyun				eth {
48*4882a593Smuzhiyun					st,pins = "gmii_grp";
49*4882a593Smuzhiyun					st,function = "gmii";
50*4882a593Smuzhiyun				};
51*4882a593Smuzhiyun				ssp0 {
52*4882a593Smuzhiyun					st,pins = "ssp0_grp";
53*4882a593Smuzhiyun					st,function = "ssp0";
54*4882a593Smuzhiyun				};
55*4882a593Smuzhiyun				kbd {
56*4882a593Smuzhiyun					st,pins = "keyboard_6x6_grp";
57*4882a593Smuzhiyun					st,function = "keyboard";
58*4882a593Smuzhiyun				};
59*4882a593Smuzhiyun				sdhci {
60*4882a593Smuzhiyun					st,pins = "sdhci_grp";
61*4882a593Smuzhiyun					st,function = "sdhci";
62*4882a593Smuzhiyun				};
63*4882a593Smuzhiyun				smi-pmx {
64*4882a593Smuzhiyun					st,pins = "smi_2_chips_grp";
65*4882a593Smuzhiyun					st,function = "smi";
66*4882a593Smuzhiyun				};
67*4882a593Smuzhiyun				uart0 {
68*4882a593Smuzhiyun					st,pins = "uart0_grp";
69*4882a593Smuzhiyun					st,function = "uart0";
70*4882a593Smuzhiyun				};
71*4882a593Smuzhiyun				rs485 {
72*4882a593Smuzhiyun					st,pins = "rs485_0_1_tdm_0_1_grp";
73*4882a593Smuzhiyun					st,function = "rs485_0_1_tdm_0_1";
74*4882a593Smuzhiyun				};
75*4882a593Smuzhiyun				i2c1_2 {
76*4882a593Smuzhiyun					st,pins = "i2c_1_2_grp";
77*4882a593Smuzhiyun					st,function = "i2c_1_2";
78*4882a593Smuzhiyun				};
79*4882a593Smuzhiyun				smii {
80*4882a593Smuzhiyun					st,pins = "smii_0_1_2_grp";
81*4882a593Smuzhiyun					st,function = "smii_0_1_2";
82*4882a593Smuzhiyun				};
83*4882a593Smuzhiyun				nand {
84*4882a593Smuzhiyun					st,pins = "nand_8bit_grp",
85*4882a593Smuzhiyun						"nand_16bit_grp";
86*4882a593Smuzhiyun					st,function = "nand";
87*4882a593Smuzhiyun				};
88*4882a593Smuzhiyun				sata {
89*4882a593Smuzhiyun					st,pins = "sata0_grp";
90*4882a593Smuzhiyun					st,function = "sata";
91*4882a593Smuzhiyun				};
92*4882a593Smuzhiyun				pcie {
93*4882a593Smuzhiyun					st,pins = "pcie1_grp", "pcie2_grp";
94*4882a593Smuzhiyun					st,function = "pci_express";
95*4882a593Smuzhiyun				};
96*4882a593Smuzhiyun			};
97*4882a593Smuzhiyun		};
98*4882a593Smuzhiyun
99*4882a593Smuzhiyun		ahci@b1000000 {
100*4882a593Smuzhiyun			status = "okay";
101*4882a593Smuzhiyun		};
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun		miphy@eb800000 {
104*4882a593Smuzhiyun			status = "okay";
105*4882a593Smuzhiyun		};
106*4882a593Smuzhiyun
107*4882a593Smuzhiyun		cf@b2800000 {
108*4882a593Smuzhiyun			status = "okay";
109*4882a593Smuzhiyun		};
110*4882a593Smuzhiyun
111*4882a593Smuzhiyun		dma@ea800000 {
112*4882a593Smuzhiyun			status = "okay";
113*4882a593Smuzhiyun		};
114*4882a593Smuzhiyun
115*4882a593Smuzhiyun		dma@eb000000 {
116*4882a593Smuzhiyun			status = "okay";
117*4882a593Smuzhiyun		};
118*4882a593Smuzhiyun
119*4882a593Smuzhiyun		fsmc: flash@b0000000 {
120*4882a593Smuzhiyun			status = "okay";
121*4882a593Smuzhiyun
122*4882a593Smuzhiyun			partition@0 {
123*4882a593Smuzhiyun				label = "xloader";
124*4882a593Smuzhiyun				reg = <0x0 0x80000>;
125*4882a593Smuzhiyun			};
126*4882a593Smuzhiyun			partition@80000 {
127*4882a593Smuzhiyun				label = "u-boot";
128*4882a593Smuzhiyun				reg = <0x80000 0x140000>;
129*4882a593Smuzhiyun			};
130*4882a593Smuzhiyun			partition@1C0000 {
131*4882a593Smuzhiyun				label = "environment";
132*4882a593Smuzhiyun				reg = <0x1C0000 0x40000>;
133*4882a593Smuzhiyun			};
134*4882a593Smuzhiyun			partition@200000 {
135*4882a593Smuzhiyun				label = "dtb";
136*4882a593Smuzhiyun				reg = <0x200000 0x40000>;
137*4882a593Smuzhiyun			};
138*4882a593Smuzhiyun			partition@240000 {
139*4882a593Smuzhiyun				label = "linux";
140*4882a593Smuzhiyun				reg = <0x240000 0xC00000>;
141*4882a593Smuzhiyun			};
142*4882a593Smuzhiyun			partition@E40000 {
143*4882a593Smuzhiyun				label = "rootfs";
144*4882a593Smuzhiyun				reg = <0xE40000 0x0>;
145*4882a593Smuzhiyun			};
146*4882a593Smuzhiyun		};
147*4882a593Smuzhiyun
148*4882a593Smuzhiyun		gpio_keys {
149*4882a593Smuzhiyun			compatible = "gpio-keys";
150*4882a593Smuzhiyun			#address-cells = <1>;
151*4882a593Smuzhiyun			#size-cells = <0>;
152*4882a593Smuzhiyun
153*4882a593Smuzhiyun			button@1 {
154*4882a593Smuzhiyun				label = "wakeup";
155*4882a593Smuzhiyun				linux,code = <0x100>;
156*4882a593Smuzhiyun				gpios = <&gpio0 7 0x4>;
157*4882a593Smuzhiyun				debounce-interval = <20>;
158*4882a593Smuzhiyun				wakeup-source;
159*4882a593Smuzhiyun			};
160*4882a593Smuzhiyun		};
161*4882a593Smuzhiyun
162*4882a593Smuzhiyun		gmac0: eth@e2000000 {
163*4882a593Smuzhiyun			phy-mode = "gmii";
164*4882a593Smuzhiyun			status = "okay";
165*4882a593Smuzhiyun		};
166*4882a593Smuzhiyun
167*4882a593Smuzhiyun		sdhci@b3000000 {
168*4882a593Smuzhiyun			status = "okay";
169*4882a593Smuzhiyun		};
170*4882a593Smuzhiyun
171*4882a593Smuzhiyun		smi: flash@ea000000 {
172*4882a593Smuzhiyun			status = "okay";
173*4882a593Smuzhiyun			clock-rate=<50000000>;
174*4882a593Smuzhiyun
175*4882a593Smuzhiyun			flash@e6000000 {
176*4882a593Smuzhiyun				#address-cells = <1>;
177*4882a593Smuzhiyun				#size-cells = <1>;
178*4882a593Smuzhiyun				reg = <0xe6000000 0x800000>;
179*4882a593Smuzhiyun				st,smi-fast-mode;
180*4882a593Smuzhiyun
181*4882a593Smuzhiyun				partition@0 {
182*4882a593Smuzhiyun					label = "xloader";
183*4882a593Smuzhiyun					reg = <0x0 0x10000>;
184*4882a593Smuzhiyun				};
185*4882a593Smuzhiyun				partition@10000 {
186*4882a593Smuzhiyun					label = "u-boot";
187*4882a593Smuzhiyun					reg = <0x10000 0x50000>;
188*4882a593Smuzhiyun				};
189*4882a593Smuzhiyun				partition@60000 {
190*4882a593Smuzhiyun					label = "environment";
191*4882a593Smuzhiyun					reg = <0x60000 0x10000>;
192*4882a593Smuzhiyun				};
193*4882a593Smuzhiyun				partition@70000 {
194*4882a593Smuzhiyun					label = "dtb";
195*4882a593Smuzhiyun					reg = <0x70000 0x10000>;
196*4882a593Smuzhiyun				};
197*4882a593Smuzhiyun				partition@80000 {
198*4882a593Smuzhiyun					label = "linux";
199*4882a593Smuzhiyun					reg = <0x80000 0x310000>;
200*4882a593Smuzhiyun				};
201*4882a593Smuzhiyun				partition@390000 {
202*4882a593Smuzhiyun					label = "rootfs";
203*4882a593Smuzhiyun					reg = <0x390000 0x0>;
204*4882a593Smuzhiyun				};
205*4882a593Smuzhiyun			};
206*4882a593Smuzhiyun		};
207*4882a593Smuzhiyun
208*4882a593Smuzhiyun		ehci@e4800000 {
209*4882a593Smuzhiyun			status = "okay";
210*4882a593Smuzhiyun		};
211*4882a593Smuzhiyun
212*4882a593Smuzhiyun		ehci@e5800000 {
213*4882a593Smuzhiyun			status = "okay";
214*4882a593Smuzhiyun		};
215*4882a593Smuzhiyun
216*4882a593Smuzhiyun		ohci@e4000000 {
217*4882a593Smuzhiyun			status = "okay";
218*4882a593Smuzhiyun		};
219*4882a593Smuzhiyun
220*4882a593Smuzhiyun		ohci@e5000000 {
221*4882a593Smuzhiyun			status = "okay";
222*4882a593Smuzhiyun		};
223*4882a593Smuzhiyun
224*4882a593Smuzhiyun		apb {
225*4882a593Smuzhiyun			adc@e0080000 {
226*4882a593Smuzhiyun				status = "okay";
227*4882a593Smuzhiyun			};
228*4882a593Smuzhiyun
229*4882a593Smuzhiyun			gpio0: gpio@e0600000 {
230*4882a593Smuzhiyun			       status = "okay";
231*4882a593Smuzhiyun			};
232*4882a593Smuzhiyun
233*4882a593Smuzhiyun			gpio1: gpio@e0680000 {
234*4882a593Smuzhiyun			       status = "okay";
235*4882a593Smuzhiyun			};
236*4882a593Smuzhiyun
237*4882a593Smuzhiyun			gpio@d8400000 {
238*4882a593Smuzhiyun			       status = "okay";
239*4882a593Smuzhiyun			};
240*4882a593Smuzhiyun
241*4882a593Smuzhiyun			i2c0: i2c@e0280000 {
242*4882a593Smuzhiyun			       status = "okay";
243*4882a593Smuzhiyun			};
244*4882a593Smuzhiyun
245*4882a593Smuzhiyun			kbd@e0300000 {
246*4882a593Smuzhiyun				linux,keymap = < 0x00000001
247*4882a593Smuzhiyun						 0x00010002
248*4882a593Smuzhiyun						 0x00020003
249*4882a593Smuzhiyun						 0x00030004
250*4882a593Smuzhiyun						 0x00040005
251*4882a593Smuzhiyun						 0x00050006
252*4882a593Smuzhiyun						 0x00060007
253*4882a593Smuzhiyun						 0x00070008
254*4882a593Smuzhiyun						 0x00080009
255*4882a593Smuzhiyun						 0x0100000a
256*4882a593Smuzhiyun						 0x0101000c
257*4882a593Smuzhiyun						 0x0102000d
258*4882a593Smuzhiyun						 0x0103000e
259*4882a593Smuzhiyun						 0x0104000f
260*4882a593Smuzhiyun						 0x01050010
261*4882a593Smuzhiyun						 0x01060011
262*4882a593Smuzhiyun						 0x01070012
263*4882a593Smuzhiyun						 0x01080013
264*4882a593Smuzhiyun						 0x02000014
265*4882a593Smuzhiyun						 0x02010015
266*4882a593Smuzhiyun						 0x02020016
267*4882a593Smuzhiyun						 0x02030017
268*4882a593Smuzhiyun						 0x02040018
269*4882a593Smuzhiyun						 0x02050019
270*4882a593Smuzhiyun						 0x0206001a
271*4882a593Smuzhiyun						 0x0207001b
272*4882a593Smuzhiyun						 0x0208001c
273*4882a593Smuzhiyun						 0x0300001d
274*4882a593Smuzhiyun						 0x0301001e
275*4882a593Smuzhiyun						 0x0302001f
276*4882a593Smuzhiyun						 0x03030020
277*4882a593Smuzhiyun						 0x03040021
278*4882a593Smuzhiyun						 0x03050022
279*4882a593Smuzhiyun						 0x03060023
280*4882a593Smuzhiyun						 0x03070024
281*4882a593Smuzhiyun						 0x03080025
282*4882a593Smuzhiyun						 0x04000026
283*4882a593Smuzhiyun						 0x04010027
284*4882a593Smuzhiyun						 0x04020028
285*4882a593Smuzhiyun						 0x04030029
286*4882a593Smuzhiyun						 0x0404002a
287*4882a593Smuzhiyun						 0x0405002b
288*4882a593Smuzhiyun						 0x0406002c
289*4882a593Smuzhiyun						 0x0407002d
290*4882a593Smuzhiyun						 0x0408002e
291*4882a593Smuzhiyun						 0x0500002f
292*4882a593Smuzhiyun						 0x05010030
293*4882a593Smuzhiyun						 0x05020031
294*4882a593Smuzhiyun						 0x05030032
295*4882a593Smuzhiyun						 0x05040033
296*4882a593Smuzhiyun						 0x05050034
297*4882a593Smuzhiyun						 0x05060035
298*4882a593Smuzhiyun						 0x05070036
299*4882a593Smuzhiyun						 0x05080037
300*4882a593Smuzhiyun						 0x06000038
301*4882a593Smuzhiyun						 0x06010039
302*4882a593Smuzhiyun						 0x0602003a
303*4882a593Smuzhiyun						 0x0603003b
304*4882a593Smuzhiyun						 0x0604003c
305*4882a593Smuzhiyun						 0x0605003d
306*4882a593Smuzhiyun						 0x0606003e
307*4882a593Smuzhiyun						 0x0607003f
308*4882a593Smuzhiyun						 0x06080040
309*4882a593Smuzhiyun						 0x07000041
310*4882a593Smuzhiyun						 0x07010042
311*4882a593Smuzhiyun						 0x07020043
312*4882a593Smuzhiyun						 0x07030044
313*4882a593Smuzhiyun						 0x07040045
314*4882a593Smuzhiyun						 0x07050046
315*4882a593Smuzhiyun						 0x07060047
316*4882a593Smuzhiyun						 0x07070048
317*4882a593Smuzhiyun						 0x07080049
318*4882a593Smuzhiyun						 0x0800004a
319*4882a593Smuzhiyun						 0x0801004b
320*4882a593Smuzhiyun						 0x0802004c
321*4882a593Smuzhiyun						 0x0803004d
322*4882a593Smuzhiyun						 0x0804004e
323*4882a593Smuzhiyun						 0x0805004f
324*4882a593Smuzhiyun						 0x08060050
325*4882a593Smuzhiyun						 0x08070051
326*4882a593Smuzhiyun						 0x08080052 >;
327*4882a593Smuzhiyun			       autorepeat;
328*4882a593Smuzhiyun			       st,mode = <0>;
329*4882a593Smuzhiyun			       suspended_rate = <2000000>;
330*4882a593Smuzhiyun			       status = "okay";
331*4882a593Smuzhiyun			};
332*4882a593Smuzhiyun
333*4882a593Smuzhiyun			rtc@e0580000 {
334*4882a593Smuzhiyun			       status = "okay";
335*4882a593Smuzhiyun			};
336*4882a593Smuzhiyun
337*4882a593Smuzhiyun			serial@e0000000 {
338*4882a593Smuzhiyun			       status = "okay";
339*4882a593Smuzhiyun				pinctrl-names = "default";
340*4882a593Smuzhiyun				pinctrl-0 = <>;
341*4882a593Smuzhiyun			};
342*4882a593Smuzhiyun
343*4882a593Smuzhiyun			spi0: spi@e0100000 {
344*4882a593Smuzhiyun				status = "okay";
345*4882a593Smuzhiyun				num-cs = <3>;
346*4882a593Smuzhiyun				cs-gpios = <&gpio1 7 0>, <&spics 0 0>, <&spics 1 0>;
347*4882a593Smuzhiyun
348*4882a593Smuzhiyun				stmpe610@0 {
349*4882a593Smuzhiyun					compatible = "st,stmpe610";
350*4882a593Smuzhiyun					reg = <0>;
351*4882a593Smuzhiyun					#address-cells = <1>;
352*4882a593Smuzhiyun					#size-cells = <0>;
353*4882a593Smuzhiyun					spi-max-frequency = <1000000>;
354*4882a593Smuzhiyun					spi-cpha;
355*4882a593Smuzhiyun					pl022,hierarchy = <0>;
356*4882a593Smuzhiyun					pl022,interface = <0>;
357*4882a593Smuzhiyun					pl022,slave-tx-disable;
358*4882a593Smuzhiyun					pl022,com-mode = <0>;
359*4882a593Smuzhiyun					pl022,rx-level-trig = <0>;
360*4882a593Smuzhiyun					pl022,tx-level-trig = <0>;
361*4882a593Smuzhiyun					pl022,ctrl-len = <0x7>;
362*4882a593Smuzhiyun					pl022,wait-state = <0>;
363*4882a593Smuzhiyun					pl022,duplex = <0>;
364*4882a593Smuzhiyun					interrupts = <6 0x4>;
365*4882a593Smuzhiyun					interrupt-parent = <&gpio1>;
366*4882a593Smuzhiyun					irq-trigger = <0x2>;
367*4882a593Smuzhiyun
368*4882a593Smuzhiyun					stmpe_touchscreen {
369*4882a593Smuzhiyun						compatible = "st,stmpe-ts";
370*4882a593Smuzhiyun						ts,sample-time = <4>;
371*4882a593Smuzhiyun						ts,mod-12b = <1>;
372*4882a593Smuzhiyun						ts,ref-sel = <0>;
373*4882a593Smuzhiyun						ts,adc-freq = <1>;
374*4882a593Smuzhiyun						ts,ave-ctrl = <1>;
375*4882a593Smuzhiyun						ts,touch-det-delay = <2>;
376*4882a593Smuzhiyun						ts,settling = <2>;
377*4882a593Smuzhiyun						ts,fraction-z = <7>;
378*4882a593Smuzhiyun						ts,i-drive = <1>;
379*4882a593Smuzhiyun					};
380*4882a593Smuzhiyun				};
381*4882a593Smuzhiyun
382*4882a593Smuzhiyun				m25p80@1 {
383*4882a593Smuzhiyun					compatible = "st,m25p80";
384*4882a593Smuzhiyun					reg = <1>;
385*4882a593Smuzhiyun					spi-max-frequency = <12000000>;
386*4882a593Smuzhiyun					spi-cpol;
387*4882a593Smuzhiyun					spi-cpha;
388*4882a593Smuzhiyun					pl022,hierarchy = <0>;
389*4882a593Smuzhiyun					pl022,interface = <0>;
390*4882a593Smuzhiyun					pl022,slave-tx-disable;
391*4882a593Smuzhiyun					pl022,com-mode = <0x2>;
392*4882a593Smuzhiyun					pl022,rx-level-trig = <0>;
393*4882a593Smuzhiyun					pl022,tx-level-trig = <0>;
394*4882a593Smuzhiyun					pl022,ctrl-len = <0x11>;
395*4882a593Smuzhiyun					pl022,wait-state = <0>;
396*4882a593Smuzhiyun					pl022,duplex = <0>;
397*4882a593Smuzhiyun				};
398*4882a593Smuzhiyun
399*4882a593Smuzhiyun				spidev@2 {
400*4882a593Smuzhiyun					compatible = "spidev";
401*4882a593Smuzhiyun					reg = <2>;
402*4882a593Smuzhiyun					spi-max-frequency = <25000000>;
403*4882a593Smuzhiyun					spi-cpha;
404*4882a593Smuzhiyun					pl022,hierarchy = <0>;
405*4882a593Smuzhiyun					pl022,interface = <0>;
406*4882a593Smuzhiyun					pl022,slave-tx-disable;
407*4882a593Smuzhiyun					pl022,com-mode = <0x2>;
408*4882a593Smuzhiyun					pl022,rx-level-trig = <0>;
409*4882a593Smuzhiyun					pl022,tx-level-trig = <0>;
410*4882a593Smuzhiyun					pl022,ctrl-len = <0x11>;
411*4882a593Smuzhiyun					pl022,wait-state = <0>;
412*4882a593Smuzhiyun					pl022,duplex = <0>;
413*4882a593Smuzhiyun				};
414*4882a593Smuzhiyun			};
415*4882a593Smuzhiyun
416*4882a593Smuzhiyun			wdt@ec800620 {
417*4882a593Smuzhiyun			       status = "okay";
418*4882a593Smuzhiyun			};
419*4882a593Smuzhiyun		};
420*4882a593Smuzhiyun	};
421*4882a593Smuzhiyun};
422