• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Samsung's S5PV210 SoC device tree source
3 *
4 * Copyright (c) 2013-2014 Samsung Electronics, Co. Ltd.
5 *
6 * Mateusz Krawczuk <m.krawczuk@partner.samsung.com>
7 * Tomasz Figa <t.figa@samsung.com>
8 *
9 * Board device tree source for Samsung Goni board.
10 *
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 2 as
13 * published by the Free Software Foundation.
14 */
15
16/dts-v1/;
17#include <dt-bindings/input/input.h>
18#include "s5pv210.dtsi"
19
20/ {
21	model = "Samsung Goni based on S5PC110";
22	compatible = "samsung,goni", "samsung,s5pv210";
23
24	aliases {
25		i2c3 = &i2c_pmic;
26	};
27
28	chosen {
29		bootargs = "console=ttySAC0,115200n8 root=/dev/mmcblk0p5 rw rootwait ignore_loglevel earlyprintk";
30	};
31
32	memory {
33		device_type = "memory";
34		reg = <0x30000000 0x05000000
35			0x40000000 0x10000000
36			0x50000000 0x08000000>;
37	};
38
39	regulators {
40		compatible = "simple-bus";
41		#address-cells = <1>;
42		#size-cells = <0>;
43
44		vtf_reg: fixed-regulator@0 {
45			compatible = "regulator-fixed";
46			regulator-name = "V_TF_2.8V";
47			regulator-min-microvolt = <2800000>;
48			regulator-max-microvolt = <2800000>;
49			reg = <0>;
50			gpio = <&mp05 4 0>;
51			enable-active-high;
52		};
53
54		pda_reg: fixed-regulator@1 {
55			compatible = "regulator-fixed";
56			regulator-name = "VCC_1.8V_PDA";
57			regulator-min-microvolt = <1800000>;
58			regulator-max-microvolt = <1800000>;
59			reg = <1>;
60		};
61
62		bat_reg: fixed-regulator@2 {
63			compatible = "regulator-fixed";
64			regulator-name = "V_BAT";
65			regulator-min-microvolt = <3700000>;
66			regulator-max-microvolt = <3700000>;
67			reg = <2>;
68		};
69
70		tsp_reg: fixed-regulator@3 {
71			compatible = "regulator-fixed";
72			regulator-name = "TSP_VDD";
73			regulator-min-microvolt = <2800000>;
74			regulator-max-microvolt = <2800000>;
75			reg = <3>;
76			gpio = <&gpj1 3 0>;
77			enable-active-high;
78		};
79	};
80
81	i2c_pmic: i2c-pmic {
82		compatible = "i2c-gpio";
83		gpios = <&gpj4 0 0>, /* sda */
84			<&gpj4 3 0>; /* scl */
85		i2c-gpio,delay-us = <2>;        /* ~100 kHz */
86		#address-cells = <1>;
87		#size-cells = <0>;
88
89		pmic@66 {
90			compatible = "national,lp3974";
91			reg = <0x66>;
92
93			max8998,pmic-buck1-default-dvs-idx = <0>;
94			max8998,pmic-buck1-dvs-gpios = <&gph0 3 0>,
95							<&gph0 4 0>;
96			max8998,pmic-buck1-dvs-voltage = <1200000>, <1200000>,
97							<1200000>, <1200000>;
98
99			max8998,pmic-buck2-default-dvs-idx = <0>;
100			max8998,pmic-buck2-dvs-gpio = <&gph0 5 0>;
101			max8998,pmic-buck2-dvs-voltage = <1200000>, <1200000>;
102
103			regulators {
104				ldo2_reg: LDO2 {
105					regulator-name = "VALIVE_1.1V";
106					regulator-min-microvolt = <1100000>;
107					regulator-max-microvolt = <1100000>;
108					regulator-always-on;
109				};
110
111				ldo3_reg: LDO3 {
112					regulator-name = "VUSB+MIPI_1.1V";
113					regulator-min-microvolt = <1100000>;
114					regulator-max-microvolt = <1100000>;
115					regulator-always-on;
116				};
117
118				ldo4_reg: LDO4 {
119					regulator-name = "VADC_3.3V";
120					regulator-min-microvolt = <3300000>;
121					regulator-max-microvolt = <3300000>;
122				};
123
124				ldo5_reg: LDO5 {
125					regulator-name = "VTF_2.8V";
126					regulator-min-microvolt = <2800000>;
127					regulator-max-microvolt = <2800000>;
128				};
129
130				ldo6_reg: LDO6 {
131					regulator-name = "VCC_3.3V";
132					regulator-min-microvolt = <3300000>;
133					regulator-max-microvolt = <3300000>;
134				};
135
136				ldo7_reg: LDO7 {
137					regulator-name = "VLCD_1.8V";
138					regulator-min-microvolt = <1800000>;
139					regulator-max-microvolt = <1800000>;
140					regulator-always-on;
141				};
142
143				ldo8_reg: LDO8 {
144					regulator-name = "VUSB+VDAC_3.3V";
145					regulator-min-microvolt = <3300000>;
146					regulator-max-microvolt = <3300000>;
147				};
148
149				ldo9_reg: LDO9 {
150					regulator-name = "VCC+VCAM_2.8V";
151					regulator-min-microvolt = <2800000>;
152					regulator-max-microvolt = <2800000>;
153				};
154
155				ldo10_reg: LDO10 {
156					regulator-name = "VPLL_1.1V";
157					regulator-min-microvolt = <1100000>;
158					regulator-max-microvolt = <1100000>;
159					regulator-boot-on;
160				};
161
162				ldo11_reg: LDO11 {
163					regulator-name = "CAM_IO_2.8V";
164					regulator-min-microvolt = <2800000>;
165					regulator-max-microvolt = <2800000>;
166				};
167
168				ldo12_reg: LDO12 {
169					regulator-name = "CAM_ISP_1.2V";
170					regulator-min-microvolt = <1200000>;
171					regulator-max-microvolt = <1200000>;
172				};
173
174				ldo13_reg: LDO13 {
175					regulator-name = "CAM_A_2.8V";
176					regulator-min-microvolt = <2800000>;
177					regulator-max-microvolt = <2800000>;
178				};
179
180				ldo14_reg: LDO14 {
181					regulator-name = "CAM_CIF_1.8V";
182					regulator-min-microvolt = <1800000>;
183					regulator-max-microvolt = <1800000>;
184				};
185
186				ldo15_reg: LDO15 {
187					regulator-name = "CAM_AF_3.3V";
188					regulator-min-microvolt = <3300000>;
189					regulator-max-microvolt = <3300000>;
190				};
191
192				ldo16_reg: LDO16 {
193					regulator-name = "VMIPI_1.8V";
194					regulator-min-microvolt = <1800000>;
195					regulator-max-microvolt = <1800000>;
196				};
197
198				ldo17_reg: LDO17 {
199					regulator-name = "CAM_8M_1.8V";
200					regulator-min-microvolt = <1800000>;
201					regulator-max-microvolt = <1800000>;
202					regulator-always-on;
203				};
204
205				buck1_reg: BUCK1 {
206					regulator-name = "VARM_1.2V";
207					regulator-min-microvolt = <1200000>;
208					regulator-max-microvolt = <1200000>;
209				};
210
211				buck2_reg: BUCK2 {
212					regulator-name = "VINT_1.2V";
213					regulator-min-microvolt = <1200000>;
214					regulator-max-microvolt = <1200000>;
215				};
216
217				buck3_reg: BUCK3 {
218					regulator-name = "VCC_1.8V";
219					regulator-min-microvolt = <1800000>;
220					regulator-max-microvolt = <1800000>;
221					regulator-always-on;
222				};
223
224				buck4_reg: BUCK4 {
225					regulator-name = "CAM_CORE_1.2V";
226					regulator-min-microvolt = <1200000>;
227					regulator-max-microvolt = <1200000>;
228					regulator-always-on;
229				};
230			};
231		};
232	};
233
234	gpio-keys {
235		compatible = "gpio-keys";
236
237		power-key {
238			gpios = <&gph2 6 1>;
239			linux,code = <KEY_POWER>;
240			label = "power";
241			debounce-interval = <1>;
242			gpio-key,wakeup;
243		};
244	};
245};
246
247&xusbxti {
248	clock-frequency = <24000000>;
249};
250
251&keypad {
252	linux,input-no-autorepeat;
253	linux,input-wakeup;
254	samsung,keypad-num-rows = <3>;
255	samsung,keypad-num-columns = <3>;
256	pinctrl-names = "default";
257	pinctrl-0 = <&keypad_row0>, <&keypad_row1>, <&keypad_row2>,
258			<&keypad_col0>, <&keypad_col1>, <&keypad_col2>;
259	status = "okay";
260
261	key_1 {
262		keypad,row = <0>;
263		keypad,column = <1>;
264		linux,code = <KEY_CONNECT>;
265	};
266
267	key_2 {
268		keypad,row = <0>;
269		keypad,column = <2>;
270		linux,code = <KEY_BACK>;
271	};
272
273	key_3 {
274		keypad,row = <1>;
275		keypad,column = <1>;
276		linux,code = <KEY_CAMERA_FOCUS>;
277	};
278
279	key_4 {
280		keypad,row = <1>;
281		keypad,column = <2>;
282		linux,code = <KEY_VOLUMEUP>;
283	};
284
285	key_5 {
286		keypad,row = <2>;
287		keypad,column = <1>;
288		linux,code = <KEY_CAMERA>;
289	};
290
291	key_6 {
292		keypad,row = <2>;
293		keypad,column = <2>;
294		linux,code = <KEY_VOLUMEDOWN>;
295	};
296};
297
298&uart0 {
299	status = "okay";
300};
301
302&uart1 {
303	status = "okay";
304};
305
306&uart2 {
307	status = "okay";
308};
309
310&uart3 {
311	status = "okay";
312};
313
314&sdhci0 {
315	bus-width = <4>;
316	non-removable;
317	vmmc-supply = <&ldo5_reg>;
318	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus1 &sd0_bus4>;
319	pinctrl-names = "default";
320	status = "okay";
321};
322
323&sdhci2 {
324	bus-width = <4>;
325	cd-gpios = <&gph3 4 1>;
326	vmmc-supply = <&vtf_reg>;
327	cd-inverted;
328	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
329	pinctrl-names = "default";
330	status = "okay";
331};
332
333&hsotg {
334	vusb_a-supply = <&ldo3_reg>;
335	vusb_d-supply = <&ldo8_reg>;
336	dr_mode = "peripheral";
337	status = "okay";
338};
339
340&usbphy {
341	status = "okay";
342};
343
344&i2c2 {
345	samsung,i2c-sda-delay = <100>;
346	samsung,i2c-max-bus-freq = <400000>;
347	samsung,i2c-slave-addr = <0x10>;
348	status = "okay";
349
350	tsp@4a {
351		compatible = "atmel,maxtouch";
352		reg = <0x4a>;
353		interrupt-parent = <&gpj0>;
354		interrupts = <5 2>;
355
356		atmel,x-line = <17>;
357		atmel,y-line = <11>;
358		atmel,x-size = <800>;
359		atmel,y-size = <480>;
360		atmel,burst-length = <0x21>;
361		atmel,threshold = <0x28>;
362		atmel,orientation = <1>;
363
364		vdd-supply = <&tsp_reg>;
365	};
366};
367
368&i2c0 {
369	samsung,i2c-sda-delay = <100>;
370	samsung,i2c-max-bus-freq = <100000>;
371	samsung,i2c-slave-addr = <0x10>;
372	status = "okay";
373
374	noon010pc30: sensor@30 {
375		compatible = "siliconfile,noon010pc30";
376		reg = <0x30>;
377		vddio-supply = <&ldo11_reg>;
378		vdda-supply = <&ldo13_reg>;
379		vdd_core-supply = <&ldo14_reg>;
380
381		clock-frequency = <16000000>;
382		clocks = <&clock_cam 0>;
383		clock-names = "mclk";
384		nreset-gpios = <&gpb 2 0>;
385		nstby-gpios = <&gpb 0 0>;
386
387		port {
388			noon010pc30_ep: endpoint {
389				remote-endpoint = <&fimc0_ep>;
390				bus-width = <8>;
391				hsync-active = <0>;
392				vsync-active = <1>;
393				pclk-sample = <1>;
394			};
395		};
396	};
397};
398
399&camera {
400	pinctrl-0 = <&cam_port_a_io &cam_port_a_clk_active>;
401	pinctrl-1 = <&cam_port_a_io &cam_port_a_clk_idle>;
402	pinctrl-names = "default", "idle";
403
404	parallel-ports {
405		#address-cells = <1>;
406		#size-cells = <0>;
407
408		/* camera A input */
409		port@1 {
410			reg = <1>;
411			fimc0_ep: endpoint {
412				remote-endpoint = <&noon010pc30_ep>;
413				bus-width = <8>;
414				hsync-active = <1>;
415				vsync-active = <1>;
416				pclk-sample = <0>;
417			};
418		};
419	};
420};
421
422&fimd {
423	pinctrl-0 = <&lcd_clk &lcd_data24>;
424	pinctrl-names = "default";
425	status = "okay";
426
427	display-timings {
428		native-mode = <&timing0>;
429		timing0: timing {
430			/* 480x800@55Hz */
431			clock-frequency = <23439570>;
432			hactive = <480>;
433			hfront-porch = <16>;
434			hback-porch = <16>;
435			hsync-len = <2>;
436			vactive = <800>;
437			vback-porch = <2>;
438			vfront-porch = <28>;
439			vsync-len = <1>;
440			hsync-active = <0>;
441			vsync-active = <0>;
442			de-active = <0>;
443			pixelclk-active = <0>;
444		};
445	};
446};
447
448&onenand {
449	status = "okay";
450};
451