blob: 0ca1b4d355f2c0cf7eb4bd117cce83514bea902b [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"
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +090017#include <dt-bindings/gpio/gpio.h>
Tomasz Figad105f0b2012-09-21 10:50:16 +090018
19/ {
20 model = "Samsung Trats based on Exynos4210";
Sachin Kamat8bdb31b2014-03-21 02:17:22 +090021 compatible = "samsung,trats", "samsung,exynos4210", "samsung,exynos4";
Tomasz Figad105f0b2012-09-21 10:50:16 +090022
Javier Martinez Canillas824e4132016-09-01 11:06:55 +020023 memory@40000000 {
Javier Martinez Canillas13548352016-09-01 11:06:52 +020024 device_type = "memory";
Tomasz Figa59cf19a2012-10-17 18:10:34 +090025 reg = <0x40000000 0x10000000
26 0x50000000 0x10000000
27 0x60000000 0x10000000
28 0x70000000 0x10000000>;
Tomasz Figad105f0b2012-09-21 10:50:16 +090029 };
30
31 chosen {
32 bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
Tomasz Figa62d38092015-01-23 14:47:42 +010033 stdout-path = &serial_2;
Tomasz Figad105f0b2012-09-21 10:50:16 +090034 };
35
Andrzej Hajdab75e2e32013-08-06 02:49:45 +090036 regulators {
37 compatible = "simple-bus";
38
39 vemmc_reg: regulator-0 {
40 compatible = "regulator-fixed";
41 regulator-name = "VMEM_VDD_2.8V";
42 regulator-min-microvolt = <2800000>;
43 regulator-max-microvolt = <2800000>;
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +090044 gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>;
Andrzej Hajdab75e2e32013-08-06 02:49:45 +090045 enable-active-high;
46 };
47
48 tsp_reg: regulator-1 {
49 compatible = "regulator-fixed";
50 regulator-name = "TSP_FIXED_VOLTAGES";
51 regulator-min-microvolt = <2800000>;
52 regulator-max-microvolt = <2800000>;
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +090053 gpio = <&gpl0 3 GPIO_ACTIVE_HIGH>;
Andrzej Hajdab75e2e32013-08-06 02:49:45 +090054 enable-active-high;
55 };
56
57 cam_af_28v_reg: regulator-2 {
58 compatible = "regulator-fixed";
59 regulator-name = "8M_AF_2.8V_EN";
60 regulator-min-microvolt = <2800000>;
61 regulator-max-microvolt = <2800000>;
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +090062 gpio = <&gpk1 1 GPIO_ACTIVE_HIGH>;
Andrzej Hajdab75e2e32013-08-06 02:49:45 +090063 enable-active-high;
64 };
65
66 cam_io_en_reg: regulator-3 {
67 compatible = "regulator-fixed";
68 regulator-name = "CAM_IO_EN";
69 regulator-min-microvolt = <2800000>;
70 regulator-max-microvolt = <2800000>;
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +090071 gpio = <&gpe2 1 GPIO_ACTIVE_HIGH>;
Andrzej Hajdab75e2e32013-08-06 02:49:45 +090072 enable-active-high;
73 };
74
75 cam_io_12v_reg: regulator-4 {
76 compatible = "regulator-fixed";
77 regulator-name = "8M_1.2V_EN";
78 regulator-min-microvolt = <1200000>;
79 regulator-max-microvolt = <1200000>;
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +090080 gpio = <&gpe2 5 GPIO_ACTIVE_HIGH>;
Andrzej Hajdab75e2e32013-08-06 02:49:45 +090081 enable-active-high;
82 };
83
84 vt_core_15v_reg: regulator-5 {
85 compatible = "regulator-fixed";
86 regulator-name = "VT_CORE_1.5V";
87 regulator-min-microvolt = <1500000>;
88 regulator-max-microvolt = <1500000>;
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +090089 gpio = <&gpe2 2 GPIO_ACTIVE_HIGH>;
Andrzej Hajdab75e2e32013-08-06 02:49:45 +090090 enable-active-high;
91 };
Tomasz Figad105f0b2012-09-21 10:50:16 +090092 };
93
Tomasz Figa9eb61022012-11-20 16:26:17 +090094 gpio-keys {
95 compatible = "gpio-keys";
96
97 vol-down-key {
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +090098 gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
Tomasz Figa9eb61022012-11-20 16:26:17 +090099 linux,code = <114>;
100 label = "volume down";
101 debounce-interval = <10>;
102 };
103
104 vol-up-key {
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +0900105 gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
Tomasz Figa9eb61022012-11-20 16:26:17 +0900106 linux,code = <115>;
107 label = "volume up";
108 debounce-interval = <10>;
109 };
110
111 power-key {
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +0900112 gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
Tomasz Figa9eb61022012-11-20 16:26:17 +0900113 linux,code = <116>;
114 label = "power";
115 debounce-interval = <10>;
Sudeep Holla36a02822016-01-28 15:59:58 +0000116 wakeup-source;
Tomasz Figa9eb61022012-11-20 16:26:17 +0900117 };
118
119 ok-key {
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +0900120 gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
Tomasz Figa9eb61022012-11-20 16:26:17 +0900121 linux,code = <352>;
122 label = "ok";
123 debounce-interval = <10>;
124 };
125 };
126
Thomas Abraham8b6076d2013-03-09 17:19:22 +0900127 fixed-rate-clocks {
128 xxti {
129 compatible = "samsung,clock-xxti";
130 clock-frequency = <0>;
131 };
132
133 xusbxti {
134 compatible = "samsung,clock-xusbxti";
135 clock-frequency = <24000000>;
136 };
137 };
Sylwester Nawrocki39a11312013-08-06 02:49:45 +0900138
Lukasz Majewskibf4a0be2015-01-30 08:26:02 +0900139 thermal-zones {
140 cpu_thermal: cpu-thermal {
141 cooling-maps {
142 map0 {
143 /* Corresponds to 800MHz at freq_table */
144 cooling-device = <&cpu0 2 2>;
145 };
146 map1 {
147 /* Corresponds to 200MHz at freq_table */
148 cooling-device = <&cpu0 4 4>;
149 };
150 };
151 };
152 };
153
Sylwester Nawrocki39a11312013-08-06 02:49:45 +0900154 camera {
155 pinctrl-names = "default";
156 pinctrl-0 = <>;
157 status = "okay";
158
159 fimc_0: fimc@11800000 {
160 status = "okay";
Sylwester Nawrocki0357a442014-11-22 23:13:03 +0900161 assigned-clocks = <&clock CLK_MOUT_FIMC0>,
162 <&clock CLK_SCLK_FIMC0>;
163 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
164 assigned-clock-rates = <0>, <160000000>;
Sylwester Nawrocki39a11312013-08-06 02:49:45 +0900165 };
166
167 fimc_1: fimc@11810000 {
168 status = "okay";
Sylwester Nawrocki0357a442014-11-22 23:13:03 +0900169 assigned-clocks = <&clock CLK_MOUT_FIMC1>,
170 <&clock CLK_SCLK_FIMC1>;
171 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
172 assigned-clock-rates = <0>, <160000000>;
Sylwester Nawrocki39a11312013-08-06 02:49:45 +0900173 };
174
175 fimc_2: fimc@11820000 {
176 status = "okay";
Sylwester Nawrocki0357a442014-11-22 23:13:03 +0900177 assigned-clocks = <&clock CLK_MOUT_FIMC2>,
178 <&clock CLK_SCLK_FIMC2>;
179 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
180 assigned-clock-rates = <0>, <160000000>;
Sylwester Nawrocki39a11312013-08-06 02:49:45 +0900181 };
182
183 fimc_3: fimc@11830000 {
184 status = "okay";
Sylwester Nawrocki0357a442014-11-22 23:13:03 +0900185 assigned-clocks = <&clock CLK_MOUT_FIMC3>,
186 <&clock CLK_SCLK_FIMC3>;
187 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
188 assigned-clock-rates = <0>, <160000000>;
Sylwester Nawrocki39a11312013-08-06 02:49:45 +0900189 };
190 };
Tomasz Figad105f0b2012-09-21 10:50:16 +0900191};
Krzysztof Kozlowski9b70afd2015-04-06 21:01:17 +0200192
Thomas Abraham300bde72015-04-03 18:43:47 +0200193&cpu0 {
194 cpu0-supply = <&varm_breg>;
195};
196
Krzysztof Kozlowski9b70afd2015-04-06 21:01:17 +0200197&dsi_0 {
198 vddcore-supply = <&vusb_reg>;
199 vddio-supply = <&vmipi_reg>;
200 samsung,pll-clock-frequency = <24000000>;
201 status = "okay";
202
203 ports {
204 #address-cells = <1>;
205 #size-cells = <0>;
206
207 port@1 {
208 reg = <1>;
209
210 dsi_out: endpoint {
211 remote-endpoint = <&dsi_in>;
212 samsung,burst-clock-frequency = <500000000>;
213 samsung,esc-clock-frequency = <20000000>;
214 };
215 };
216 };
217
218 panel@0 {
219 reg = <0>;
220 compatible = "samsung,s6e8aa0";
221 vdd3-supply = <&vcclcd_reg>;
222 vci-supply = <&vlcd_reg>;
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +0900223 reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
Krzysztof Kozlowski9b70afd2015-04-06 21:01:17 +0200224 power-on-delay= <50>;
225 reset-delay = <100>;
226 init-delay = <100>;
227 flip-horizontal;
228 flip-vertical;
229 panel-width-mm = <58>;
230 panel-height-mm = <103>;
231
232 display-timings {
233 timing-0 {
234 clock-frequency = <57153600>;
235 hactive = <720>;
236 vactive = <1280>;
237 hfront-porch = <5>;
238 hback-porch = <5>;
239 hsync-len = <5>;
240 vfront-porch = <13>;
241 vback-porch = <1>;
242 vsync-len = <2>;
243 };
244 };
245
246 port {
247 dsi_in: endpoint {
248 remote-endpoint = <&dsi_out>;
249 };
250 };
251 };
252};
253
254&exynos_usbphy {
255 status = "okay";
Marek Szyprowski4ae9a4c2015-08-21 14:38:38 +0200256 vbus-supply = <&safe1_sreg>;
Krzysztof Kozlowski9b70afd2015-04-06 21:01:17 +0200257};
258
259&fimd {
260 status = "okay";
261};
262
263&hsotg {
264 vusb_d-supply = <&vusb_reg>;
265 vusb_a-supply = <&vusbdac_reg>;
266 dr_mode = "peripheral";
267 status = "okay";
268};
269
270&i2c_3 {
271 samsung,i2c-sda-delay = <100>;
272 samsung,i2c-slave-addr = <0x10>;
273 samsung,i2c-max-bus-freq = <400000>;
274 pinctrl-0 = <&i2c3_bus>;
275 pinctrl-names = "default";
276 status = "okay";
277
278 mms114-touchscreen@48 {
279 compatible = "melfas,mms114";
280 reg = <0x48>;
281 interrupt-parent = <&gpx0>;
282 interrupts = <4 2>;
283 x-size = <720>;
284 y-size = <1280>;
285 avdd-supply = <&tsp_reg>;
286 vdd-supply = <&tsp_reg>;
287 };
288};
289
290&i2c_5 {
291 samsung,i2c-sda-delay = <100>;
292 samsung,i2c-slave-addr = <0x10>;
293 samsung,i2c-max-bus-freq = <100000>;
294 pinctrl-0 = <&i2c5_bus>;
295 pinctrl-names = "default";
296 status = "okay";
297
298 max8997_pmic@66 {
299 compatible = "maxim,max8997-pmic";
300
301 reg = <0x66>;
Marek Szyprowski330d1272016-05-06 09:27:16 +0200302 interrupt-parent = <&gpx0>;
303 interrupts = <7 0>;
Krzysztof Kozlowski9b70afd2015-04-06 21:01:17 +0200304
305 max8997,pmic-buck1-uses-gpio-dvs;
306 max8997,pmic-buck2-uses-gpio-dvs;
307 max8997,pmic-buck5-uses-gpio-dvs;
308
309 max8997,pmic-ignore-gpiodvs-side-effect;
310 max8997,pmic-buck125-default-dvs-idx = <0>;
311
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +0900312 max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
313 <&gpx0 6 GPIO_ACTIVE_HIGH>,
314 <&gpl0 0 GPIO_ACTIVE_HIGH>;
Krzysztof Kozlowski9b70afd2015-04-06 21:01:17 +0200315
316 max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
317 <1250000>, <1200000>,
318 <1150000>, <1100000>,
319 <1000000>, <950000>;
320
321 max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
322 <950000>, <900000>,
323 <1100000>, <1000000>,
324 <950000>, <900000>;
325
326 max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
327 <1200000>, <1200000>,
328 <1200000>, <1200000>,
329 <1200000>, <1200000>;
330
331 regulators {
332 valive_reg: LDO2 {
333 regulator-name = "VALIVE_1.1V_C210";
334 regulator-min-microvolt = <1100000>;
335 regulator-max-microvolt = <1100000>;
336 regulator-always-on;
337 };
338
339 vusb_reg: LDO3 {
340 regulator-name = "VUSB_1.1V_C210";
341 regulator-min-microvolt = <1100000>;
342 regulator-max-microvolt = <1100000>;
343 };
344
345 vmipi_reg: LDO4 {
346 regulator-name = "VMIPI_1.8V";
347 regulator-min-microvolt = <1800000>;
348 regulator-max-microvolt = <1800000>;
349 };
350
351 vpda_reg: LDO6 {
352 regulator-name = "VCC_1.8V_PDA";
353 regulator-min-microvolt = <1800000>;
354 regulator-max-microvolt = <1800000>;
355 regulator-always-on;
356 };
357
358 vcam_reg: LDO7 {
359 regulator-name = "CAM_ISP_1.8V";
360 regulator-min-microvolt = <1800000>;
361 regulator-max-microvolt = <1800000>;
362 };
363
364 vusbdac_reg: LDO8 {
Marek Szyprowski44ad5e12016-05-06 09:27:15 +0200365 regulator-name = "VUSB+VDAC_3.3V_C210";
Krzysztof Kozlowski9b70afd2015-04-06 21:01:17 +0200366 regulator-min-microvolt = <3300000>;
367 regulator-max-microvolt = <3300000>;
368 };
369
370 vccpda_reg: LDO9 {
371 regulator-name = "VCC_2.8V_PDA";
372 regulator-min-microvolt = <2800000>;
373 regulator-max-microvolt = <2800000>;
374 regulator-always-on;
375 };
376
377 vpll_reg: LDO10 {
378 regulator-name = "VPLL_1.1V_C210";
379 regulator-min-microvolt = <1100000>;
380 regulator-max-microvolt = <1100000>;
381 regulator-always-on;
382 };
383
384 vtcam_reg: LDO12 {
385 regulator-name = "VT_CAM_1.8V";
386 regulator-min-microvolt = <1800000>;
387 regulator-max-microvolt = <1800000>;
388 };
389
390 vcclcd_reg: LDO13 {
391 regulator-name = "VCC_3.3V_LCD";
392 regulator-min-microvolt = <3300000>;
393 regulator-max-microvolt = <3300000>;
394 };
395
396 vlcd_reg: LDO15 {
397 regulator-name = "VLCD_2.2V";
398 regulator-min-microvolt = <2200000>;
399 regulator-max-microvolt = <2200000>;
400 };
401
402 camsensor_reg: LDO16 {
403 regulator-name = "CAM_SENSOR_IO_1.8V";
404 regulator-min-microvolt = <1800000>;
405 regulator-max-microvolt = <1800000>;
406 };
407
408 vddq_reg: LDO21 {
409 regulator-name = "VDDQ_M1M2_1.2V";
410 regulator-min-microvolt = <1200000>;
411 regulator-max-microvolt = <1200000>;
412 regulator-always-on;
413 };
414
415 varm_breg: BUCK1 {
416 /*
417 * HACK: The real name is VARM_1.2V_C210,
418 * but exynos-cpufreq does not support
419 * DT-based regulator lookup yet.
420 */
421 regulator-name = "vdd_arm";
422 regulator-min-microvolt = <900000>;
423 regulator-max-microvolt = <1350000>;
424 regulator-always-on;
425 };
426
427 vint_breg: BUCK2 {
428 regulator-name = "VINT_1.1V_C210";
429 regulator-min-microvolt = <900000>;
430 regulator-max-microvolt = <1100000>;
431 regulator-always-on;
432 };
433
434 camisp_breg: BUCK4 {
435 regulator-name = "CAM_ISP_CORE_1.2V";
436 regulator-min-microvolt = <1200000>;
437 regulator-max-microvolt = <1200000>;
438 };
439
440 vmem_breg: BUCK5 {
441 regulator-name = "VMEM_1.2V_C210";
442 regulator-min-microvolt = <1200000>;
443 regulator-max-microvolt = <1200000>;
444 regulator-always-on;
445 };
446
447 vccsub_breg: BUCK7 {
448 regulator-name = "VCC_SUB_2.0V";
449 regulator-min-microvolt = <2000000>;
450 regulator-max-microvolt = <2000000>;
451 regulator-always-on;
452 };
453
454 safe1_sreg: ESAFEOUT1 {
455 regulator-name = "SAFEOUT1";
Krzysztof Kozlowski9b70afd2015-04-06 21:01:17 +0200456 };
457
458 safe2_sreg: ESAFEOUT2 {
459 regulator-name = "SAFEOUT2";
460 regulator-boot-on;
461 };
462 };
463 };
464};
465
466&sdhci_0 {
467 bus-width = <8>;
468 non-removable;
469 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
470 pinctrl-names = "default";
471 vmmc-supply = <&vemmc_reg>;
472 status = "okay";
473};
474
475&serial_0 {
476 status = "okay";
477};
478
479&serial_1 {
480 status = "okay";
481};
482
483&serial_2 {
484 status = "okay";
485};
486
487&serial_3 {
488 status = "okay";
489};
490
491&tmu {
492 status = "okay";
493};