Linux Audio

Check our new training course

Linux kernel drivers training

May 6-19, 2025
Register
Loading...
Note: File does not exist in v6.9.4.
  1/*
  2 * DTS file for SPEAr320 Evaluation Baord
  3 *
  4 * Copyright 2012 Shiraz Hashim <shiraz.linux.kernel@gmail.com>
  5 *
  6 * The code contained herein is licensed under the GNU General Public
  7 * License. You may obtain a copy of the GNU General Public License
  8 * Version 2 or later at the following locations:
  9 *
 10 * http://www.opensource.org/licenses/gpl-license.html
 11 * http://www.gnu.org/copyleft/gpl.html
 12 */
 13
 14/dts-v1/;
 15/include/ "spear320.dtsi"
 16
 17/ {
 18	model = "ST SPEAr320 HMI Board";
 19	compatible = "st,spear320-hmi", "st,spear320";
 20	#address-cells = <1>;
 21	#size-cells = <1>;
 22
 23	memory {
 24		reg = <0 0x40000000>;
 25	};
 26
 27	ahb {
 28		pinmux@b3000000 {
 29			st,pinmux-mode = <4>;
 30			pinctrl-names = "default";
 31			pinctrl-0 = <&state_default>;
 32
 33			state_default: pinmux {
 34				i2c0 {
 35					st,pins = "i2c0_grp";
 36					st,function = "i2c0";
 37				};
 38				ssp0 {
 39					st,pins = "ssp0_grp";
 40					st,function = "ssp0";
 41				};
 42				uart0 {
 43					st,pins = "uart0_grp";
 44					st,function = "uart0";
 45				};
 46				clcd {
 47					st,pins = "clcd_grp";
 48					st,function = "clcd";
 49				};
 50				fsmc {
 51					st,pins = "fsmc_8bit_grp";
 52					st,function = "fsmc";
 53				};
 54				sdhci {
 55					st,pins = "sdhci_cd_12_grp";
 56					st,function = "sdhci";
 57				};
 58				i2s {
 59					st,pins = "i2s_grp";
 60					st,function = "i2s";
 61				};
 62				uart1 {
 63					st,pins = "uart1_grp";
 64					st,function = "uart1";
 65				};
 66				uart2 {
 67					st,pins = "uart2_grp";
 68					st,function = "uart2";
 69				};
 70				can0 {
 71					st,pins = "can0_grp";
 72					st,function = "can0";
 73				};
 74				can1 {
 75					st,pins = "can1_grp";
 76					st,function = "can1";
 77				};
 78				mii0_1 {
 79					st,pins = "rmii0_1_grp";
 80					st,function = "mii0_1";
 81				};
 82				pwm0_1 {
 83					st,pins = "pwm0_1_pin_37_38_grp";
 84					st,function = "pwm0_1";
 85				};
 86				pwm2 {
 87					st,pins = "pwm2_pin_34_grp";
 88					st,function = "pwm2";
 89				};
 90			};
 91		};
 92
 93		clcd@90000000 {
 94			status = "okay";
 95		};
 96
 97		dma@fc400000 {
 98			status = "okay";
 99		};
100
101		ehci@e1800000 {
102			status = "okay";
103		};
104
105		fsmc: flash@4c000000 {
106			status = "okay";
107
108			partition@0 {
109				label = "xloader";
110				reg = <0x0 0x80000>;
111			};
112			partition@80000 {
113				label = "u-boot";
114				reg = <0x80000 0x140000>;
115			};
116			partition@1C0000 {
117				label = "environment";
118				reg = <0x1C0000 0x40000>;
119			};
120			partition@200000 {
121				label = "dtb";
122				reg = <0x200000 0x40000>;
123			};
124			partition@240000 {
125				label = "linux";
126				reg = <0x240000 0xC00000>;
127			};
128			partition@E40000 {
129				label = "rootfs";
130				reg = <0xE40000 0x0>;
131			};
132		};
133
134		gpio_keys {
135			compatible = "gpio-keys";
136			#address-cells = <1>;
137			#size-cells = <0>;
138
139			button@1 {
140				label = "user button 1";
141				linux,code = <0x100>;
142				gpios = <&stmpegpio 3 0x4>;
143				debounce-interval = <20>;
144				wakeup-source;
145			};
146
147			button@2 {
148				label = "user button 2";
149				linux,code = <0x200>;
150				gpios = <&stmpegpio 2 0x4>;
151				debounce-interval = <20>;
152				wakeup-source;
153			};
154		};
155
156		ohci@e1900000 {
157			status = "okay";
158		};
159
160		ohci@e2100000 {
161			status = "okay";
162		};
163
164		pwm: pwm@a8000000 {
165			status = "okay";
166		};
167
168		sdhci@70000000 {
169			power-gpio = <&gpiopinctrl 50 1>;
170			power_always_enb;
171			status = "okay";
172		};
173
174		smi: flash@fc000000 {
175			status = "okay";
176			clock-rate=<50000000>;
177
178			flash@f8000000 {
179				#address-cells = <1>;
180				#size-cells = <1>;
181				reg = <0xf8000000 0x800000>;
182				st,smi-fast-mode;
183
184				partition@0 {
185					label = "xloader";
186					reg = <0x0 0x10000>;
187				};
188				partition@10000 {
189					label = "u-boot";
190					reg = <0x10000 0x50000>;
191				};
192				partition@60000 {
193					label = "environment";
194					reg = <0x60000 0x10000>;
195				};
196				partition@70000 {
197					label = "dtb";
198					reg = <0x70000 0x10000>;
199				};
200				partition@80000 {
201					label = "linux";
202					reg = <0x80000 0x310000>;
203				};
204				partition@390000 {
205					label = "rootfs";
206					reg = <0x390000 0x0>;
207				};
208			};
209		};
210
211		spi0: spi@d0100000 {
212			status = "okay";
213		};
214
215		spi1: spi@a5000000 {
216			status = "okay";
217		};
218
219		spi2: spi@a6000000 {
220			status = "okay";
221		};
222
223		usbd@e1100000 {
224			status = "okay";
225		};
226
227		apb {
228			gpio0: gpio@fc980000 {
229			       status = "okay";
230			};
231
232			gpio@b3000000 {
233				status = "okay";
234			};
235
236			i2c0: i2c@d0180000 {
237				status = "okay";
238
239				stmpe811@41 {
240					compatible = "st,stmpe811";
241					#address-cells = <1>;
242					#size-cells = <0>;
243					reg = <0x41>;
244					irq-over-gpio;
245					irq-gpios = <&gpiopinctrl 29 0x4>;
246					id = <0>;
247					blocks = <0x5>;
248					irq-trigger = <0x1>;
249
250					stmpegpio: stmpe-gpio {
251						compatible = "stmpe,gpio";
252						reg = <0>;
253						gpio-controller;
254						#gpio-cells = <2>;
255						gpio,norequest-mask = <0xF3>;
256					};
257
258					stmpe610-ts {
259						compatible = "stmpe,ts";
260						reg = <0>;
261						ts,sample-time = <4>;
262						ts,mod-12b = <1>;
263						ts,ref-sel = <0>;
264						ts,adc-freq = <1>;
265						ts,ave-ctrl = <1>;
266						ts,touch-det-delay = <3>;
267						ts,settling = <4>;
268						ts,fraction-z = <7>;
269						ts,i-drive = <1>;
270					};
271				};
272			};
273
274			i2c1: i2c@a7000000 {
275			       status = "okay";
276			};
277
278			rtc@fc900000 {
279			       status = "okay";
280			};
281
282			serial@d0000000 {
283			       status = "okay";
284				pinctrl-names = "default";
285				pinctrl-0 = <>;
286			};
287
288			serial@a3000000 {
289			       status = "okay";
290				pinctrl-names = "default";
291				pinctrl-0 = <>;
292			};
293
294			serial@a4000000 {
295			       status = "okay";
296				pinctrl-names = "default";
297				pinctrl-0 = <>;
298			};
299
300			wdt@fc880000 {
301			       status = "okay";
302			};
303		};
304	};
305};