Linux Audio

Check our new training course

In-person Linux kernel drivers training

Jun 16-20, 2025
Register
Loading...
Note: File does not exist in v6.13.7.
  1// SPDX-License-Identifier: GPL-2.0
  2/*
  3 * Samsung's S5PV210 SoC device tree source
  4 *
  5 * Copyright (c) 2013-2014 Samsung Electronics, Co. Ltd.
  6 *
  7 * Mateusz Krawczuk <m.krawczuk@partner.samsung.com>
  8 * Tomasz Figa <t.figa@samsung.com>
  9 *
 10 * Board device tree source for Samsung Aquila board.
 11 */
 12
 13/dts-v1/;
 14#include <dt-bindings/gpio/gpio.h>
 15#include <dt-bindings/input/input.h>
 16#include "s5pv210.dtsi"
 17
 18/ {
 19	model = "Samsung Aquila based on S5PC110";
 20	compatible = "samsung,aquila", "samsung,s5pv210";
 21
 22	aliases {
 23		i2c3 = &i2c_pmic;
 24	};
 25
 26	chosen {
 27		bootargs = "console=ttySAC2,115200n8 root=/dev/mmcblk1p5 rw rootwait ignore_loglevel earlyprintk";
 28	};
 29
 30	memory@30000000 {
 31		device_type = "memory";
 32		reg = <0x30000000 0x05000000>, <0x40000000 0x18000000>;
 33	};
 34
 35	pmic_ap_clk: clock-0 {
 36		/* Workaround for missing clock on PMIC */
 37		compatible = "fixed-clock";
 38		#clock-cells = <0>;
 39		clock-frequency = <32768>;
 40	};
 41
 42	vtf_reg: regulator-0 {
 43		compatible = "regulator-fixed";
 44		regulator-name = "V_TF_2.8V";
 45		regulator-min-microvolt = <2800000>;
 46		regulator-max-microvolt = <2800000>;
 47		gpio = <&mp05 4 GPIO_ACTIVE_HIGH>;
 48		enable-active-high;
 49	};
 50
 51	pda_reg: regulator-1 {
 52		compatible = "regulator-fixed";
 53		regulator-name = "VCC_1.8V_PDA";
 54		regulator-min-microvolt = <1800000>;
 55		regulator-max-microvolt = <1800000>;
 56	};
 57
 58	bat_reg: regulator-2 {
 59		compatible = "regulator-fixed";
 60		regulator-name = "V_BAT";
 61		regulator-min-microvolt = <3700000>;
 62		regulator-max-microvolt = <3700000>;
 63	};
 64
 65	i2c_pmic: i2c-pmic {
 66		compatible = "i2c-gpio";
 67		sda-gpios = <&gpj4 0 GPIO_ACTIVE_HIGH>;
 68		scl-gpios = <&gpj4 3 GPIO_ACTIVE_HIGH>;
 69		i2c-gpio,delay-us = <2>;        /* ~100 kHz */
 70		#address-cells = <1>;
 71		#size-cells = <0>;
 72
 73		pmic@66 {
 74			compatible = "national,lp3974";
 75			reg = <0x66>;
 76
 77			max8998,pmic-buck1-default-dvs-idx = <0>;
 78			max8998,pmic-buck1-dvs-gpios = <&gph0 3 GPIO_ACTIVE_HIGH>,
 79							<&gph0 4 GPIO_ACTIVE_HIGH>;
 80			max8998,pmic-buck1-dvs-voltage = <1200000>, <1200000>,
 81							<1200000>, <1200000>;
 82
 83			max8998,pmic-buck2-default-dvs-idx = <0>;
 84			max8998,pmic-buck2-dvs-gpio = <&gph0 5 GPIO_ACTIVE_HIGH>;
 85			max8998,pmic-buck2-dvs-voltage = <1200000>, <1200000>;
 86
 87			regulators {
 88				ldo2_reg: LDO2 {
 89					regulator-name = "VALIVE_1.1V";
 90					regulator-min-microvolt = <1100000>;
 91					regulator-max-microvolt = <1100000>;
 92					regulator-always-on;
 93				};
 94
 95				ldo3_reg: LDO3 {
 96					regulator-name = "VUSB+MIPI_1.1V";
 97					regulator-min-microvolt = <1100000>;
 98					regulator-max-microvolt = <1100000>;
 99					regulator-always-on;
100				};
101
102				ldo4_reg: LDO4 {
103					regulator-name = "VADC_3.3V";
104					regulator-min-microvolt = <3300000>;
105					regulator-max-microvolt = <3300000>;
106				};
107
108				ldo5_reg: LDO5 {
109					regulator-name = "VTF_2.8V";
110					regulator-min-microvolt = <2800000>;
111					regulator-max-microvolt = <2800000>;
112					regulator-always-on;
113				};
114
115				ldo6_reg: LDO6 {
116					regulator-name = "VCC_3.3V";
117					regulator-min-microvolt = <3300000>;
118					regulator-max-microvolt = <3300000>;
119					regulator-always-on;
120				};
121
122				ldo7_reg: LDO7 {
123					regulator-name = "VCC_3.0V";
124					regulator-min-microvolt = <3000000>;
125					regulator-max-microvolt = <3000000>;
126					regulator-always-on;
127					regulator-boot-on;
128				};
129
130				ldo8_reg: LDO8 {
131					regulator-name = "VUSB+VDAC_3.3V";
132					regulator-min-microvolt = <3300000>;
133					regulator-max-microvolt = <3300000>;
134					regulator-always-on;
135				};
136
137				ldo9_reg: LDO9 {
138					regulator-name = "VCC+VCAM_2.8V";
139					regulator-min-microvolt = <2800000>;
140					regulator-max-microvolt = <2800000>;
141					regulator-always-on;
142				};
143
144				ldo10_reg: LDO10 {
145					regulator-name = "VPLL_1.1V";
146					regulator-min-microvolt = <1100000>;
147					regulator-max-microvolt = <1100000>;
148					regulator-always-on;
149					regulator-boot-on;
150				};
151
152				ldo11_reg: LDO11 {
153					regulator-name = "CAM_IO_2.8V";
154					regulator-min-microvolt = <2800000>;
155					regulator-max-microvolt = <2800000>;
156					regulator-always-on;
157				};
158
159				ldo12_reg: LDO12 {
160					regulator-name = "CAM_ISP_1.2V";
161					regulator-min-microvolt = <1200000>;
162					regulator-max-microvolt = <1200000>;
163					regulator-always-on;
164				};
165
166				ldo13_reg: LDO13 {
167					regulator-name = "CAM_A_2.8V";
168					regulator-min-microvolt = <2800000>;
169					regulator-max-microvolt = <2800000>;
170					regulator-always-on;
171				};
172
173				ldo14_reg: LDO14 {
174					regulator-name = "CAM_CIF_1.8V";
175					regulator-min-microvolt = <1800000>;
176					regulator-max-microvolt = <1800000>;
177					regulator-always-on;
178				};
179
180				ldo15_reg: LDO15 {
181					regulator-name = "CAM_AF_3.3V";
182					regulator-min-microvolt = <3300000>;
183					regulator-max-microvolt = <3300000>;
184					regulator-always-on;
185				};
186
187				ldo16_reg: LDO16 {
188					regulator-name = "VMIPI_1.8V";
189					regulator-min-microvolt = <1800000>;
190					regulator-max-microvolt = <1800000>;
191					regulator-always-on;
192				};
193
194				ldo17_reg: LDO17 {
195					regulator-name = "CAM_8M_1.8V";
196					regulator-min-microvolt = <1800000>;
197					regulator-max-microvolt = <1800000>;
198					regulator-always-on;
199				};
200
201				buck1_reg: BUCK1 {
202					regulator-name = "VARM_1.2V";
203					regulator-min-microvolt = <1200000>;
204					regulator-max-microvolt = <1200000>;
205					regulator-always-on;
206				};
207
208				buck2_reg: BUCK2 {
209					regulator-name = "VINT_1.2V";
210					regulator-min-microvolt = <1200000>;
211					regulator-max-microvolt = <1200000>;
212					regulator-always-on;
213				};
214
215				buck3_reg: BUCK3 {
216					regulator-name = "VCC_1.8V";
217					regulator-min-microvolt = <1800000>;
218					regulator-max-microvolt = <1800000>;
219					regulator-always-on;
220				};
221
222				buck4_reg: BUCK4 {
223					regulator-name = "CAM_CORE_1.2V";
224					regulator-min-microvolt = <1200000>;
225					regulator-max-microvolt = <1200000>;
226					regulator-always-on;
227				};
228
229				ap32khz_reg: EN32KHz-AP {
230					regulator-name = "32KHz AP";
231					regulator-always-on;
232				};
233
234				vichg_reg: ENVICHG {
235					regulator-name = "VICHG";
236				};
237
238				safeout1_reg: ESAFEOUT1 {
239					regulator-name = "SAFEOUT1";
240					regulator-always-on;
241				};
242
243				safeout2_reg: ESAFEOUT2 {
244					regulator-name = "SAFEOUT2";
245					regulator-boot-on;
246				};
247			};
248		};
249
250	};
251
252	gpio-keys {
253		compatible = "gpio-keys";
254
255		power-key {
256			gpios = <&gph2 6 1>;
257			linux,code = <KEY_POWER>;
258			label = "power";
259			debounce-interval = <1>;
260			wakeup-source;
261		};
262	};
263};
264
265&xusbxti {
266	clock-frequency = <24000000>;
267};
268
269&keypad {
270	linux,input-no-autorepeat;
271	wakeup-source;
272	samsung,keypad-num-rows = <3>;
273	samsung,keypad-num-columns = <3>;
274	pinctrl-names = "default";
275	pinctrl-0 = <&keypad_row0>, <&keypad_row1>, <&keypad_row2>,
276			<&keypad_col0>, <&keypad_col1>, <&keypad_col2>;
277	status = "okay";
278
279	key-1 {
280		keypad,row = <0>;
281		keypad,column = <1>;
282		linux,code = <KEY_CONNECT>;
283	};
284
285	key-2 {
286		keypad,row = <0>;
287		keypad,column = <2>;
288		linux,code = <KEY_BACK>;
289	};
290
291	key-3 {
292		keypad,row = <1>;
293		keypad,column = <1>;
294		linux,code = <KEY_CAMERA_FOCUS>;
295	};
296
297	key-4 {
298		keypad,row = <1>;
299		keypad,column = <2>;
300		linux,code = <KEY_VOLUMEUP>;
301	};
302
303	key-5 {
304		keypad,row = <2>;
305		keypad,column = <1>;
306		linux,code = <KEY_CAMERA>;
307	};
308
309	key-6 {
310		keypad,row = <2>;
311		keypad,column = <2>;
312		linux,code = <KEY_VOLUMEDOWN>;
313	};
314};
315
316&uart0 {
317	status = "okay";
318};
319
320&uart1 {
321	status = "okay";
322};
323
324&uart2 {
325	status = "okay";
326};
327
328&uart3 {
329	status = "okay";
330};
331
332&rtc {
333	clocks = <&clocks CLK_RTC>, <&pmic_ap_clk>;
334	clock-names = "rtc", "rtc_src";
335};
336
337&sdhci0 {
338	bus-width = <4>;
339	non-removable;
340	status = "okay";
341	vmmc-supply = <&ldo5_reg>;
342	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4>;
343	pinctrl-names = "default";
344};
345
346&sdhci2 {
347	bus-width = <4>;
348	cd-gpios = <&gph3 4 1>;
349	vmmc-supply = <&vtf_reg>;
350	cd-inverted;
351	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &t_flash_detect>;
352	pinctrl-names = "default";
353	status = "okay";
354};
355
356&onenand {
357	status = "okay";
358};
359
360&hsotg {
361	vusb_a-supply = <&ldo3_reg>;
362	vusb_d-supply = <&ldo8_reg>;
363	dr_mode = "peripheral";
364	status = "okay";
365};
366
367&usbphy {
368	status = "okay";
369};
370
371&fimd {
372	pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>;
373	pinctrl-names = "default";
374	status = "okay";
375
376	display-timings {
377		native-mode = <&timing0>;
378		timing0: timing {
379			clock-frequency = <0>;
380			hactive = <800>;
381			vactive = <480>;
382			hfront-porch = <16>;
383			hback-porch = <16>;
384			hsync-len = <2>;
385			vback-porch = <3>;
386			vfront-porch = <28>;
387			vsync-len = <1>;
388		};
389	};
390};
391
392&pinctrl0 {
393	t_flash_detect: t-flash-detect-pins {
394		samsung,pins = "gph3-4";
395		samsung,pin-function = <S5PV210_PIN_FUNC_INPUT>;
396		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
397	};
398};