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