blob: ba34886f8b65b6227f82ef93c530603b64910449 [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
Thomas Abraham300bde72015-04-03 18:43:47 +0200191&cpu0 {
192 cpu0-supply = <&varm_breg>;
193};
194
Krzysztof Kozlowski9b70afd2015-04-06 21:01:17 +0200195&dsi_0 {
196 vddcore-supply = <&vusb_reg>;
197 vddio-supply = <&vmipi_reg>;
198 samsung,pll-clock-frequency = <24000000>;
199 status = "okay";
200
201 ports {
202 #address-cells = <1>;
203 #size-cells = <0>;
204
205 port@1 {
206 reg = <1>;
207
208 dsi_out: endpoint {
209 remote-endpoint = <&dsi_in>;
210 samsung,burst-clock-frequency = <500000000>;
211 samsung,esc-clock-frequency = <20000000>;
212 };
213 };
214 };
215
216 panel@0 {
217 reg = <0>;
218 compatible = "samsung,s6e8aa0";
219 vdd3-supply = <&vcclcd_reg>;
220 vci-supply = <&vlcd_reg>;
221 reset-gpios = <&gpy4 5 0>;
222 power-on-delay= <50>;
223 reset-delay = <100>;
224 init-delay = <100>;
225 flip-horizontal;
226 flip-vertical;
227 panel-width-mm = <58>;
228 panel-height-mm = <103>;
229
230 display-timings {
231 timing-0 {
232 clock-frequency = <57153600>;
233 hactive = <720>;
234 vactive = <1280>;
235 hfront-porch = <5>;
236 hback-porch = <5>;
237 hsync-len = <5>;
238 vfront-porch = <13>;
239 vback-porch = <1>;
240 vsync-len = <2>;
241 };
242 };
243
244 port {
245 dsi_in: endpoint {
246 remote-endpoint = <&dsi_out>;
247 };
248 };
249 };
250};
251
252&exynos_usbphy {
253 status = "okay";
254};
255
256&fimd {
257 status = "okay";
258};
259
260&hsotg {
261 vusb_d-supply = <&vusb_reg>;
262 vusb_a-supply = <&vusbdac_reg>;
263 dr_mode = "peripheral";
264 status = "okay";
265};
266
267&i2c_3 {
268 samsung,i2c-sda-delay = <100>;
269 samsung,i2c-slave-addr = <0x10>;
270 samsung,i2c-max-bus-freq = <400000>;
271 pinctrl-0 = <&i2c3_bus>;
272 pinctrl-names = "default";
273 status = "okay";
274
275 mms114-touchscreen@48 {
276 compatible = "melfas,mms114";
277 reg = <0x48>;
278 interrupt-parent = <&gpx0>;
279 interrupts = <4 2>;
280 x-size = <720>;
281 y-size = <1280>;
282 avdd-supply = <&tsp_reg>;
283 vdd-supply = <&tsp_reg>;
284 };
285};
286
287&i2c_5 {
288 samsung,i2c-sda-delay = <100>;
289 samsung,i2c-slave-addr = <0x10>;
290 samsung,i2c-max-bus-freq = <100000>;
291 pinctrl-0 = <&i2c5_bus>;
292 pinctrl-names = "default";
293 status = "okay";
294
295 max8997_pmic@66 {
296 compatible = "maxim,max8997-pmic";
297
298 reg = <0x66>;
299
300 max8997,pmic-buck1-uses-gpio-dvs;
301 max8997,pmic-buck2-uses-gpio-dvs;
302 max8997,pmic-buck5-uses-gpio-dvs;
303
304 max8997,pmic-ignore-gpiodvs-side-effect;
305 max8997,pmic-buck125-default-dvs-idx = <0>;
306
307 max8997,pmic-buck125-dvs-gpios = <&gpx0 5 0>,
308 <&gpx0 6 0>,
309 <&gpl0 0 0>;
310
311 max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
312 <1250000>, <1200000>,
313 <1150000>, <1100000>,
314 <1000000>, <950000>;
315
316 max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
317 <950000>, <900000>,
318 <1100000>, <1000000>,
319 <950000>, <900000>;
320
321 max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
322 <1200000>, <1200000>,
323 <1200000>, <1200000>,
324 <1200000>, <1200000>;
325
326 regulators {
327 valive_reg: LDO2 {
328 regulator-name = "VALIVE_1.1V_C210";
329 regulator-min-microvolt = <1100000>;
330 regulator-max-microvolt = <1100000>;
331 regulator-always-on;
332 };
333
334 vusb_reg: LDO3 {
335 regulator-name = "VUSB_1.1V_C210";
336 regulator-min-microvolt = <1100000>;
337 regulator-max-microvolt = <1100000>;
338 };
339
340 vmipi_reg: LDO4 {
341 regulator-name = "VMIPI_1.8V";
342 regulator-min-microvolt = <1800000>;
343 regulator-max-microvolt = <1800000>;
344 };
345
346 vpda_reg: LDO6 {
347 regulator-name = "VCC_1.8V_PDA";
348 regulator-min-microvolt = <1800000>;
349 regulator-max-microvolt = <1800000>;
350 regulator-always-on;
351 };
352
353 vcam_reg: LDO7 {
354 regulator-name = "CAM_ISP_1.8V";
355 regulator-min-microvolt = <1800000>;
356 regulator-max-microvolt = <1800000>;
357 };
358
359 vusbdac_reg: LDO8 {
360 regulator-name = "VUSB/VDAC_3.3V_C210";
361 regulator-min-microvolt = <3300000>;
362 regulator-max-microvolt = <3300000>;
363 };
364
365 vccpda_reg: LDO9 {
366 regulator-name = "VCC_2.8V_PDA";
367 regulator-min-microvolt = <2800000>;
368 regulator-max-microvolt = <2800000>;
369 regulator-always-on;
370 };
371
372 vpll_reg: LDO10 {
373 regulator-name = "VPLL_1.1V_C210";
374 regulator-min-microvolt = <1100000>;
375 regulator-max-microvolt = <1100000>;
376 regulator-always-on;
377 };
378
379 vtcam_reg: LDO12 {
380 regulator-name = "VT_CAM_1.8V";
381 regulator-min-microvolt = <1800000>;
382 regulator-max-microvolt = <1800000>;
383 };
384
385 vcclcd_reg: LDO13 {
386 regulator-name = "VCC_3.3V_LCD";
387 regulator-min-microvolt = <3300000>;
388 regulator-max-microvolt = <3300000>;
389 };
390
391 vlcd_reg: LDO15 {
392 regulator-name = "VLCD_2.2V";
393 regulator-min-microvolt = <2200000>;
394 regulator-max-microvolt = <2200000>;
395 };
396
397 camsensor_reg: LDO16 {
398 regulator-name = "CAM_SENSOR_IO_1.8V";
399 regulator-min-microvolt = <1800000>;
400 regulator-max-microvolt = <1800000>;
401 };
402
403 vddq_reg: LDO21 {
404 regulator-name = "VDDQ_M1M2_1.2V";
405 regulator-min-microvolt = <1200000>;
406 regulator-max-microvolt = <1200000>;
407 regulator-always-on;
408 };
409
410 varm_breg: BUCK1 {
411 /*
412 * HACK: The real name is VARM_1.2V_C210,
413 * but exynos-cpufreq does not support
414 * DT-based regulator lookup yet.
415 */
416 regulator-name = "vdd_arm";
417 regulator-min-microvolt = <900000>;
418 regulator-max-microvolt = <1350000>;
419 regulator-always-on;
420 };
421
422 vint_breg: BUCK2 {
423 regulator-name = "VINT_1.1V_C210";
424 regulator-min-microvolt = <900000>;
425 regulator-max-microvolt = <1100000>;
426 regulator-always-on;
427 };
428
429 camisp_breg: BUCK4 {
430 regulator-name = "CAM_ISP_CORE_1.2V";
431 regulator-min-microvolt = <1200000>;
432 regulator-max-microvolt = <1200000>;
433 };
434
435 vmem_breg: BUCK5 {
436 regulator-name = "VMEM_1.2V_C210";
437 regulator-min-microvolt = <1200000>;
438 regulator-max-microvolt = <1200000>;
439 regulator-always-on;
440 };
441
442 vccsub_breg: BUCK7 {
443 regulator-name = "VCC_SUB_2.0V";
444 regulator-min-microvolt = <2000000>;
445 regulator-max-microvolt = <2000000>;
446 regulator-always-on;
447 };
448
449 safe1_sreg: ESAFEOUT1 {
450 regulator-name = "SAFEOUT1";
451 regulator-always-on;
452 };
453
454 safe2_sreg: ESAFEOUT2 {
455 regulator-name = "SAFEOUT2";
456 regulator-boot-on;
457 };
458 };
459 };
460};
461
462&sdhci_0 {
463 bus-width = <8>;
464 non-removable;
465 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
466 pinctrl-names = "default";
467 vmmc-supply = <&vemmc_reg>;
468 status = "okay";
469};
470
471&serial_0 {
472 status = "okay";
473};
474
475&serial_1 {
476 status = "okay";
477};
478
479&serial_2 {
480 status = "okay";
481};
482
483&serial_3 {
484 status = "okay";
485};
486
487&tmu {
488 status = "okay";
489};