blob: 98f3ce65cb9a387a55ee588069bf42b51103317c [file] [log] [blame]
Tomasz Figad105f0b2012-09-21 10:50:16 +09001/*
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/;
Padmavathi Venna37992792013-06-18 00:02:08 +090016#include "exynos4210.dtsi"
Tomasz Figad105f0b2012-09-21 10:50:16 +090017
18/ {
19 model = "Samsung Trats based on Exynos4210";
Sachin Kamat8bdb31b2014-03-21 02:17:22 +090020 compatible = "samsung,trats", "samsung,exynos4210", "samsung,exynos4";
Tomasz Figad105f0b2012-09-21 10:50:16 +090021
22 memory {
Tomasz Figa59cf19a2012-10-17 18:10:34 +090023 reg = <0x40000000 0x10000000
24 0x50000000 0x10000000
25 0x60000000 0x10000000
26 0x70000000 0x10000000>;
Tomasz Figad105f0b2012-09-21 10:50:16 +090027 };
28
29 chosen {
30 bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
Tomasz Figa62d38092015-01-23 14:47:42 +010031 stdout-path = &serial_2;
Tomasz Figad105f0b2012-09-21 10:50:16 +090032 };
33
Andrzej Hajdab75e2e32013-08-06 02:49:45 +090034 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 };
Tomasz Figad105f0b2012-09-21 10:50:16 +090090 };
91
Tomasz Figa9eb61022012-11-20 16:26:17 +090092 gpio-keys {
93 compatible = "gpio-keys";
94
95 vol-down-key {
96 gpios = <&gpx2 1 1>;
97 linux,code = <114>;
98 label = "volume down";
99 debounce-interval = <10>;
100 };
101
102 vol-up-key {
103 gpios = <&gpx2 0 1>;
104 linux,code = <115>;
105 label = "volume up";
106 debounce-interval = <10>;
107 };
108
109 power-key {
110 gpios = <&gpx2 7 1>;
111 linux,code = <116>;
112 label = "power";
113 debounce-interval = <10>;
114 gpio-key,wakeup;
115 };
116
117 ok-key {
118 gpios = <&gpx3 5 1>;
119 linux,code = <352>;
120 label = "ok";
121 debounce-interval = <10>;
122 };
123 };
124
Thomas Abraham8b6076d2013-03-09 17:19:22 +0900125 fixed-rate-clocks {
126 xxti {
127 compatible = "samsung,clock-xxti";
128 clock-frequency = <0>;
129 };
130
131 xusbxti {
132 compatible = "samsung,clock-xusbxti";
133 clock-frequency = <24000000>;
134 };
135 };
Sylwester Nawrocki39a11312013-08-06 02:49:45 +0900136
Lukasz Majewskibf4a0be2015-01-30 08:26:02 +0900137 thermal-zones {
138 cpu_thermal: cpu-thermal {
139 cooling-maps {
140 map0 {
141 /* Corresponds to 800MHz at freq_table */
142 cooling-device = <&cpu0 2 2>;
143 };
144 map1 {
145 /* Corresponds to 200MHz at freq_table */
146 cooling-device = <&cpu0 4 4>;
147 };
148 };
149 };
150 };
151
Sylwester Nawrocki39a11312013-08-06 02:49:45 +0900152 camera {
153 pinctrl-names = "default";
154 pinctrl-0 = <>;
155 status = "okay";
156
157 fimc_0: fimc@11800000 {
158 status = "okay";
Sylwester Nawrocki0357a442014-11-22 23:13:03 +0900159 assigned-clocks = <&clock CLK_MOUT_FIMC0>,
160 <&clock CLK_SCLK_FIMC0>;
161 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
162 assigned-clock-rates = <0>, <160000000>;
Sylwester Nawrocki39a11312013-08-06 02:49:45 +0900163 };
164
165 fimc_1: fimc@11810000 {
166 status = "okay";
Sylwester Nawrocki0357a442014-11-22 23:13:03 +0900167 assigned-clocks = <&clock CLK_MOUT_FIMC1>,
168 <&clock CLK_SCLK_FIMC1>;
169 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
170 assigned-clock-rates = <0>, <160000000>;
Sylwester Nawrocki39a11312013-08-06 02:49:45 +0900171 };
172
173 fimc_2: fimc@11820000 {
174 status = "okay";
Sylwester Nawrocki0357a442014-11-22 23:13:03 +0900175 assigned-clocks = <&clock CLK_MOUT_FIMC2>,
176 <&clock CLK_SCLK_FIMC2>;
177 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
178 assigned-clock-rates = <0>, <160000000>;
Sylwester Nawrocki39a11312013-08-06 02:49:45 +0900179 };
180
181 fimc_3: fimc@11830000 {
182 status = "okay";
Sylwester Nawrocki0357a442014-11-22 23:13:03 +0900183 assigned-clocks = <&clock CLK_MOUT_FIMC3>,
184 <&clock CLK_SCLK_FIMC3>;
185 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
186 assigned-clock-rates = <0>, <160000000>;
Sylwester Nawrocki39a11312013-08-06 02:49:45 +0900187 };
188 };
Tomasz Figad105f0b2012-09-21 10:50:16 +0900189};
Krzysztof Kozlowski9b70afd2015-04-06 21:01:17 +0200190
191&dsi_0 {
192 vddcore-supply = <&vusb_reg>;
193 vddio-supply = <&vmipi_reg>;
194 samsung,pll-clock-frequency = <24000000>;
195 status = "okay";
196
197 ports {
198 #address-cells = <1>;
199 #size-cells = <0>;
200
201 port@1 {
202 reg = <1>;
203
204 dsi_out: endpoint {
205 remote-endpoint = <&dsi_in>;
206 samsung,burst-clock-frequency = <500000000>;
207 samsung,esc-clock-frequency = <20000000>;
208 };
209 };
210 };
211
212 panel@0 {
213 reg = <0>;
214 compatible = "samsung,s6e8aa0";
215 vdd3-supply = <&vcclcd_reg>;
216 vci-supply = <&vlcd_reg>;
217 reset-gpios = <&gpy4 5 0>;
218 power-on-delay= <50>;
219 reset-delay = <100>;
220 init-delay = <100>;
221 flip-horizontal;
222 flip-vertical;
223 panel-width-mm = <58>;
224 panel-height-mm = <103>;
225
226 display-timings {
227 timing-0 {
228 clock-frequency = <57153600>;
229 hactive = <720>;
230 vactive = <1280>;
231 hfront-porch = <5>;
232 hback-porch = <5>;
233 hsync-len = <5>;
234 vfront-porch = <13>;
235 vback-porch = <1>;
236 vsync-len = <2>;
237 };
238 };
239
240 port {
241 dsi_in: endpoint {
242 remote-endpoint = <&dsi_out>;
243 };
244 };
245 };
246};
247
248&exynos_usbphy {
249 status = "okay";
250};
251
252&fimd {
253 status = "okay";
254};
255
256&hsotg {
257 vusb_d-supply = <&vusb_reg>;
258 vusb_a-supply = <&vusbdac_reg>;
259 dr_mode = "peripheral";
260 status = "okay";
261};
262
263&i2c_3 {
264 samsung,i2c-sda-delay = <100>;
265 samsung,i2c-slave-addr = <0x10>;
266 samsung,i2c-max-bus-freq = <400000>;
267 pinctrl-0 = <&i2c3_bus>;
268 pinctrl-names = "default";
269 status = "okay";
270
271 mms114-touchscreen@48 {
272 compatible = "melfas,mms114";
273 reg = <0x48>;
274 interrupt-parent = <&gpx0>;
275 interrupts = <4 2>;
276 x-size = <720>;
277 y-size = <1280>;
278 avdd-supply = <&tsp_reg>;
279 vdd-supply = <&tsp_reg>;
280 };
281};
282
283&i2c_5 {
284 samsung,i2c-sda-delay = <100>;
285 samsung,i2c-slave-addr = <0x10>;
286 samsung,i2c-max-bus-freq = <100000>;
287 pinctrl-0 = <&i2c5_bus>;
288 pinctrl-names = "default";
289 status = "okay";
290
291 max8997_pmic@66 {
292 compatible = "maxim,max8997-pmic";
293
294 reg = <0x66>;
295
296 max8997,pmic-buck1-uses-gpio-dvs;
297 max8997,pmic-buck2-uses-gpio-dvs;
298 max8997,pmic-buck5-uses-gpio-dvs;
299
300 max8997,pmic-ignore-gpiodvs-side-effect;
301 max8997,pmic-buck125-default-dvs-idx = <0>;
302
303 max8997,pmic-buck125-dvs-gpios = <&gpx0 5 0>,
304 <&gpx0 6 0>,
305 <&gpl0 0 0>;
306
307 max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
308 <1250000>, <1200000>,
309 <1150000>, <1100000>,
310 <1000000>, <950000>;
311
312 max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
313 <950000>, <900000>,
314 <1100000>, <1000000>,
315 <950000>, <900000>;
316
317 max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
318 <1200000>, <1200000>,
319 <1200000>, <1200000>,
320 <1200000>, <1200000>;
321
322 regulators {
323 valive_reg: LDO2 {
324 regulator-name = "VALIVE_1.1V_C210";
325 regulator-min-microvolt = <1100000>;
326 regulator-max-microvolt = <1100000>;
327 regulator-always-on;
328 };
329
330 vusb_reg: LDO3 {
331 regulator-name = "VUSB_1.1V_C210";
332 regulator-min-microvolt = <1100000>;
333 regulator-max-microvolt = <1100000>;
334 };
335
336 vmipi_reg: LDO4 {
337 regulator-name = "VMIPI_1.8V";
338 regulator-min-microvolt = <1800000>;
339 regulator-max-microvolt = <1800000>;
340 };
341
342 vpda_reg: LDO6 {
343 regulator-name = "VCC_1.8V_PDA";
344 regulator-min-microvolt = <1800000>;
345 regulator-max-microvolt = <1800000>;
346 regulator-always-on;
347 };
348
349 vcam_reg: LDO7 {
350 regulator-name = "CAM_ISP_1.8V";
351 regulator-min-microvolt = <1800000>;
352 regulator-max-microvolt = <1800000>;
353 };
354
355 vusbdac_reg: LDO8 {
356 regulator-name = "VUSB/VDAC_3.3V_C210";
357 regulator-min-microvolt = <3300000>;
358 regulator-max-microvolt = <3300000>;
359 };
360
361 vccpda_reg: LDO9 {
362 regulator-name = "VCC_2.8V_PDA";
363 regulator-min-microvolt = <2800000>;
364 regulator-max-microvolt = <2800000>;
365 regulator-always-on;
366 };
367
368 vpll_reg: LDO10 {
369 regulator-name = "VPLL_1.1V_C210";
370 regulator-min-microvolt = <1100000>;
371 regulator-max-microvolt = <1100000>;
372 regulator-always-on;
373 };
374
375 vtcam_reg: LDO12 {
376 regulator-name = "VT_CAM_1.8V";
377 regulator-min-microvolt = <1800000>;
378 regulator-max-microvolt = <1800000>;
379 };
380
381 vcclcd_reg: LDO13 {
382 regulator-name = "VCC_3.3V_LCD";
383 regulator-min-microvolt = <3300000>;
384 regulator-max-microvolt = <3300000>;
385 };
386
387 vlcd_reg: LDO15 {
388 regulator-name = "VLCD_2.2V";
389 regulator-min-microvolt = <2200000>;
390 regulator-max-microvolt = <2200000>;
391 };
392
393 camsensor_reg: LDO16 {
394 regulator-name = "CAM_SENSOR_IO_1.8V";
395 regulator-min-microvolt = <1800000>;
396 regulator-max-microvolt = <1800000>;
397 };
398
399 vddq_reg: LDO21 {
400 regulator-name = "VDDQ_M1M2_1.2V";
401 regulator-min-microvolt = <1200000>;
402 regulator-max-microvolt = <1200000>;
403 regulator-always-on;
404 };
405
406 varm_breg: BUCK1 {
407 /*
408 * HACK: The real name is VARM_1.2V_C210,
409 * but exynos-cpufreq does not support
410 * DT-based regulator lookup yet.
411 */
412 regulator-name = "vdd_arm";
413 regulator-min-microvolt = <900000>;
414 regulator-max-microvolt = <1350000>;
415 regulator-always-on;
416 };
417
418 vint_breg: BUCK2 {
419 regulator-name = "VINT_1.1V_C210";
420 regulator-min-microvolt = <900000>;
421 regulator-max-microvolt = <1100000>;
422 regulator-always-on;
423 };
424
425 camisp_breg: BUCK4 {
426 regulator-name = "CAM_ISP_CORE_1.2V";
427 regulator-min-microvolt = <1200000>;
428 regulator-max-microvolt = <1200000>;
429 };
430
431 vmem_breg: BUCK5 {
432 regulator-name = "VMEM_1.2V_C210";
433 regulator-min-microvolt = <1200000>;
434 regulator-max-microvolt = <1200000>;
435 regulator-always-on;
436 };
437
438 vccsub_breg: BUCK7 {
439 regulator-name = "VCC_SUB_2.0V";
440 regulator-min-microvolt = <2000000>;
441 regulator-max-microvolt = <2000000>;
442 regulator-always-on;
443 };
444
445 safe1_sreg: ESAFEOUT1 {
446 regulator-name = "SAFEOUT1";
447 regulator-always-on;
448 };
449
450 safe2_sreg: ESAFEOUT2 {
451 regulator-name = "SAFEOUT2";
452 regulator-boot-on;
453 };
454 };
455 };
456};
457
458&sdhci_0 {
459 bus-width = <8>;
460 non-removable;
461 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
462 pinctrl-names = "default";
463 vmmc-supply = <&vemmc_reg>;
464 status = "okay";
465};
466
467&serial_0 {
468 status = "okay";
469};
470
471&serial_1 {
472 status = "okay";
473};
474
475&serial_2 {
476 status = "okay";
477};
478
479&serial_3 {
480 status = "okay";
481};
482
483&tmu {
484 status = "okay";
485};