exynos4210-trats.dts revision 284090
1/*
2 * Samsung's Exynos4210 based Trats board device tree source
3 *
4 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 *		http://www.samsung.com
6 *
7 * Device tree source file for Samsung's Trats board which is based on
8 * Samsung's Exynos4210 SoC.
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13*/
14
15/dts-v1/;
16#include "exynos4210.dtsi"
17
18/ {
19	model = "Samsung Trats based on Exynos4210";
20	compatible = "samsung,trats", "samsung,exynos4210", "samsung,exynos4";
21
22	memory {
23		reg =  <0x40000000 0x10000000
24			0x50000000 0x10000000
25			0x60000000 0x10000000
26			0x70000000 0x10000000>;
27	};
28
29	chosen {
30		bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
31		stdout-path = &serial_2;
32	};
33
34	regulators {
35		compatible = "simple-bus";
36
37		vemmc_reg: regulator-0 {
38			compatible = "regulator-fixed";
39			regulator-name = "VMEM_VDD_2.8V";
40			regulator-min-microvolt = <2800000>;
41			regulator-max-microvolt = <2800000>;
42			gpio = <&gpk0 2 0>;
43			enable-active-high;
44		};
45
46		tsp_reg: regulator-1 {
47			compatible = "regulator-fixed";
48			regulator-name = "TSP_FIXED_VOLTAGES";
49			regulator-min-microvolt = <2800000>;
50			regulator-max-microvolt = <2800000>;
51			gpio = <&gpl0 3 0>;
52			enable-active-high;
53		};
54
55		cam_af_28v_reg: regulator-2 {
56			compatible = "regulator-fixed";
57			regulator-name = "8M_AF_2.8V_EN";
58			regulator-min-microvolt = <2800000>;
59			regulator-max-microvolt = <2800000>;
60			gpio = <&gpk1 1 0>;
61			enable-active-high;
62		};
63
64		cam_io_en_reg: regulator-3 {
65			compatible = "regulator-fixed";
66			regulator-name = "CAM_IO_EN";
67			regulator-min-microvolt = <2800000>;
68			regulator-max-microvolt = <2800000>;
69			gpio = <&gpe2 1 0>;
70			enable-active-high;
71		};
72
73		cam_io_12v_reg: regulator-4 {
74			compatible = "regulator-fixed";
75			regulator-name = "8M_1.2V_EN";
76			regulator-min-microvolt = <1200000>;
77			regulator-max-microvolt = <1200000>;
78			gpio = <&gpe2 5 0>;
79			enable-active-high;
80		};
81
82		vt_core_15v_reg: regulator-5 {
83			compatible = "regulator-fixed";
84			regulator-name = "VT_CORE_1.5V";
85			regulator-min-microvolt = <1500000>;
86			regulator-max-microvolt = <1500000>;
87			gpio = <&gpe2 2 0>;
88			enable-active-high;
89		};
90	};
91
92	hsotg@12480000 {
93		vusb_d-supply = <&vusb_reg>;
94		vusb_a-supply = <&vusbdac_reg>;
95		dr_mode = "peripheral";
96		status = "okay";
97	};
98
99	sdhci_emmc: sdhci@12510000 {
100		bus-width = <8>;
101		non-removable;
102		pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
103		pinctrl-names = "default";
104		vmmc-supply = <&vemmc_reg>;
105		status = "okay";
106	};
107
108	exynos-usbphy@125B0000 {
109		status = "okay";
110	};
111
112	serial@13800000 {
113		status = "okay";
114	};
115
116	serial@13810000 {
117		status = "okay";
118	};
119
120	serial@13820000 {
121		status = "okay";
122	};
123
124	serial@13830000 {
125		status = "okay";
126	};
127
128	gpio-keys {
129		compatible = "gpio-keys";
130
131		vol-down-key {
132			gpios = <&gpx2 1 1>;
133			linux,code = <114>;
134			label = "volume down";
135			debounce-interval = <10>;
136		};
137
138		vol-up-key {
139			gpios = <&gpx2 0 1>;
140			linux,code = <115>;
141			label = "volume up";
142			debounce-interval = <10>;
143		};
144
145		power-key {
146			gpios = <&gpx2 7 1>;
147			linux,code = <116>;
148			label = "power";
149			debounce-interval = <10>;
150			gpio-key,wakeup;
151		};
152
153		ok-key {
154			gpios = <&gpx3 5 1>;
155			linux,code = <352>;
156			label = "ok";
157			debounce-interval = <10>;
158		};
159	};
160
161	i2c@13890000 {
162		samsung,i2c-sda-delay = <100>;
163		samsung,i2c-slave-addr = <0x10>;
164		samsung,i2c-max-bus-freq = <400000>;
165		pinctrl-0 = <&i2c3_bus>;
166		pinctrl-names = "default";
167		status = "okay";
168
169		mms114-touchscreen@48 {
170			compatible = "melfas,mms114";
171			reg = <0x48>;
172			interrupt-parent = <&gpx0>;
173			interrupts = <4 2>;
174			x-size = <720>;
175			y-size = <1280>;
176			avdd-supply = <&tsp_reg>;
177			vdd-supply = <&tsp_reg>;
178		};
179	};
180
181	i2c@138B0000 {
182		samsung,i2c-sda-delay = <100>;
183		samsung,i2c-slave-addr = <0x10>;
184		samsung,i2c-max-bus-freq = <100000>;
185		pinctrl-0 = <&i2c5_bus>;
186		pinctrl-names = "default";
187		status = "okay";
188
189		max8997_pmic@66 {
190			compatible = "maxim,max8997-pmic";
191
192			reg = <0x66>;
193
194			max8997,pmic-buck1-uses-gpio-dvs;
195			max8997,pmic-buck2-uses-gpio-dvs;
196			max8997,pmic-buck5-uses-gpio-dvs;
197
198			max8997,pmic-ignore-gpiodvs-side-effect;
199			max8997,pmic-buck125-default-dvs-idx = <0>;
200
201			max8997,pmic-buck125-dvs-gpios = <&gpx0 5 0>,
202						         <&gpx0 6 0>,
203							 <&gpl0 0 0>;
204
205			max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
206							 <1250000>, <1200000>,
207							 <1150000>, <1100000>,
208							 <1000000>, <950000>;
209
210			max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
211							 <950000>,  <900000>,
212							 <1100000>, <1000000>,
213							 <950000>,  <900000>;
214
215			max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
216							 <1200000>, <1200000>,
217							 <1200000>, <1200000>,
218							 <1200000>, <1200000>;
219
220			regulators {
221				valive_reg: LDO2 {
222				     regulator-name = "VALIVE_1.1V_C210";
223				     regulator-min-microvolt = <1100000>;
224				     regulator-max-microvolt = <1100000>;
225				     regulator-always-on;
226				};
227
228				vusb_reg: LDO3 {
229				     regulator-name = "VUSB_1.1V_C210";
230				     regulator-min-microvolt = <1100000>;
231				     regulator-max-microvolt = <1100000>;
232				};
233
234				vmipi_reg: LDO4 {
235				     regulator-name = "VMIPI_1.8V";
236				     regulator-min-microvolt = <1800000>;
237				     regulator-max-microvolt = <1800000>;
238				};
239
240				vpda_reg: LDO6 {
241				     regulator-name = "VCC_1.8V_PDA";
242				     regulator-min-microvolt = <1800000>;
243				     regulator-max-microvolt = <1800000>;
244				     regulator-always-on;
245				};
246
247				vcam_reg: LDO7 {
248				     regulator-name = "CAM_ISP_1.8V";
249				     regulator-min-microvolt = <1800000>;
250				     regulator-max-microvolt = <1800000>;
251				};
252
253				vusbdac_reg: LDO8 {
254				     regulator-name = "VUSB/VDAC_3.3V_C210";
255				     regulator-min-microvolt = <3300000>;
256				     regulator-max-microvolt = <3300000>;
257				};
258
259				vccpda_reg: LDO9 {
260				     regulator-name = "VCC_2.8V_PDA";
261				     regulator-min-microvolt = <2800000>;
262				     regulator-max-microvolt = <2800000>;
263				     regulator-always-on;
264				};
265
266				vpll_reg: LDO10 {
267				     regulator-name = "VPLL_1.1V_C210";
268				     regulator-min-microvolt = <1100000>;
269				     regulator-max-microvolt = <1100000>;
270				     regulator-always-on;
271				};
272
273				vtcam_reg: LDO12 {
274				     regulator-name = "VT_CAM_1.8V";
275				     regulator-min-microvolt = <1800000>;
276				     regulator-max-microvolt = <1800000>;
277				};
278
279				vcclcd_reg: LDO13 {
280				     regulator-name = "VCC_3.3V_LCD";
281				     regulator-min-microvolt = <3300000>;
282				     regulator-max-microvolt = <3300000>;
283				};
284
285				vlcd_reg: LDO15 {
286				     regulator-name = "VLCD_2.2V";
287				     regulator-min-microvolt = <2200000>;
288				     regulator-max-microvolt = <2200000>;
289				};
290
291				camsensor_reg: LDO16 {
292				     regulator-name = "CAM_SENSOR_IO_1.8V";
293				     regulator-min-microvolt = <1800000>;
294				     regulator-max-microvolt = <1800000>;
295				};
296
297				vddq_reg: LDO21 {
298				     regulator-name = "VDDQ_M1M2_1.2V";
299				     regulator-min-microvolt = <1200000>;
300				     regulator-max-microvolt = <1200000>;
301				     regulator-always-on;
302				};
303
304				varm_breg: BUCK1 {
305				     /*
306				      * HACK: The real name is VARM_1.2V_C210,
307				      * but exynos-cpufreq does not support
308				      * DT-based regulator lookup yet.
309				      */
310				     regulator-name = "vdd_arm";
311				     regulator-min-microvolt = <900000>;
312				     regulator-max-microvolt = <1350000>;
313				     regulator-always-on;
314				};
315
316				vint_breg: BUCK2 {
317				     regulator-name = "VINT_1.1V_C210";
318				     regulator-min-microvolt = <900000>;
319				     regulator-max-microvolt = <1100000>;
320				     regulator-always-on;
321				};
322
323				camisp_breg: BUCK4 {
324				     regulator-name = "CAM_ISP_CORE_1.2V";
325				     regulator-min-microvolt = <1200000>;
326				     regulator-max-microvolt = <1200000>;
327				};
328
329				vmem_breg: BUCK5 {
330				     regulator-name = "VMEM_1.2V_C210";
331				     regulator-min-microvolt = <1200000>;
332				     regulator-max-microvolt = <1200000>;
333				     regulator-always-on;
334				};
335
336				vccsub_breg: BUCK7 {
337				     regulator-name = "VCC_SUB_2.0V";
338				     regulator-min-microvolt = <2000000>;
339				     regulator-max-microvolt = <2000000>;
340				     regulator-always-on;
341				};
342
343				safe1_sreg: ESAFEOUT1 {
344				     regulator-name = "SAFEOUT1";
345				     regulator-always-on;
346				};
347
348				safe2_sreg: ESAFEOUT2 {
349				     regulator-name = "SAFEOUT2";
350				     regulator-boot-on;
351				};
352			};
353		};
354	};
355
356	fixed-rate-clocks {
357		xxti {
358			compatible = "samsung,clock-xxti";
359			clock-frequency = <0>;
360		};
361
362		xusbxti {
363			compatible = "samsung,clock-xusbxti";
364			clock-frequency = <24000000>;
365		};
366	};
367
368	dsi_0: dsi@11C80000 {
369		vddcore-supply = <&vusb_reg>;
370		vddio-supply = <&vmipi_reg>;
371		samsung,pll-clock-frequency = <24000000>;
372		status = "okay";
373
374		ports {
375			#address-cells = <1>;
376			#size-cells = <0>;
377
378			port@1 {
379				reg = <1>;
380
381				dsi_out: endpoint {
382					remote-endpoint = <&dsi_in>;
383					samsung,burst-clock-frequency = <500000000>;
384					samsung,esc-clock-frequency = <20000000>;
385				};
386			};
387		};
388
389		panel@0 {
390			reg = <0>;
391			compatible = "samsung,s6e8aa0";
392			vdd3-supply = <&vcclcd_reg>;
393			vci-supply = <&vlcd_reg>;
394			reset-gpios = <&gpy4 5 0>;
395			power-on-delay= <50>;
396			reset-delay = <100>;
397			init-delay = <100>;
398			flip-horizontal;
399			flip-vertical;
400			panel-width-mm = <58>;
401			panel-height-mm = <103>;
402
403			display-timings {
404				timing-0 {
405					clock-frequency = <57153600>;
406					hactive = <720>;
407					vactive = <1280>;
408					hfront-porch = <5>;
409					hback-porch = <5>;
410					hsync-len = <5>;
411					vfront-porch = <13>;
412					vback-porch = <1>;
413					vsync-len = <2>;
414				};
415			};
416
417			port {
418				dsi_in: endpoint {
419					remote-endpoint = <&dsi_out>;
420				};
421			};
422		};
423	};
424
425	fimd@11c00000 {
426		status = "okay";
427	};
428
429	camera {
430		pinctrl-names = "default";
431		pinctrl-0 = <>;
432		status = "okay";
433
434		fimc_0: fimc@11800000 {
435			status = "okay";
436			assigned-clocks = <&clock CLK_MOUT_FIMC0>,
437					<&clock CLK_SCLK_FIMC0>;
438			assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
439			assigned-clock-rates = <0>, <160000000>;
440		};
441
442		fimc_1: fimc@11810000 {
443			status = "okay";
444			assigned-clocks = <&clock CLK_MOUT_FIMC1>,
445					<&clock CLK_SCLK_FIMC1>;
446			assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
447			assigned-clock-rates = <0>, <160000000>;
448		};
449
450		fimc_2: fimc@11820000 {
451			status = "okay";
452			assigned-clocks = <&clock CLK_MOUT_FIMC2>,
453					<&clock CLK_SCLK_FIMC2>;
454			assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
455			assigned-clock-rates = <0>, <160000000>;
456		};
457
458		fimc_3: fimc@11830000 {
459			status = "okay";
460			assigned-clocks = <&clock CLK_MOUT_FIMC3>,
461					<&clock CLK_SCLK_FIMC3>;
462			assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
463			assigned-clock-rates = <0>, <160000000>;
464		};
465	};
466};
467