Loading...
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung's Exynos4210 based Trats board device tree source
4 *
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com
7 *
8 * Device tree source file for Samsung's Trats board which is based on
9 * Samsung's Exynos4210 SoC.
10 */
11
12/dts-v1/;
13#include "exynos4210.dtsi"
14#include <dt-bindings/gpio/gpio.h>
15
16/ {
17 model = "Samsung Trats based on Exynos4210";
18 compatible = "samsung,trats", "samsung,exynos4210", "samsung,exynos4";
19
20 memory@40000000 {
21 device_type = "memory";
22 reg = <0x40000000 0x10000000
23 0x50000000 0x10000000
24 0x60000000 0x10000000
25 0x70000000 0x10000000>;
26 };
27
28 chosen {
29 bootargs = "root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
30 stdout-path = "serial2:115200n8";
31 };
32
33 vemmc_reg: regulator-0 {
34 compatible = "regulator-fixed";
35 regulator-name = "VMEM_VDD_2.8V";
36 regulator-min-microvolt = <2800000>;
37 regulator-max-microvolt = <2800000>;
38 gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>;
39 enable-active-high;
40 };
41
42 tsp_reg: regulator-1 {
43 compatible = "regulator-fixed";
44 regulator-name = "TSP_FIXED_VOLTAGES";
45 regulator-min-microvolt = <2800000>;
46 regulator-max-microvolt = <2800000>;
47 gpio = <&gpl0 3 GPIO_ACTIVE_HIGH>;
48 enable-active-high;
49 };
50
51 cam_af_28v_reg: regulator-2 {
52 compatible = "regulator-fixed";
53 regulator-name = "8M_AF_2.8V_EN";
54 regulator-min-microvolt = <2800000>;
55 regulator-max-microvolt = <2800000>;
56 gpio = <&gpk1 1 GPIO_ACTIVE_HIGH>;
57 enable-active-high;
58 };
59
60 cam_io_en_reg: regulator-3 {
61 compatible = "regulator-fixed";
62 regulator-name = "CAM_IO_EN";
63 regulator-min-microvolt = <2800000>;
64 regulator-max-microvolt = <2800000>;
65 gpio = <&gpe2 1 GPIO_ACTIVE_HIGH>;
66 enable-active-high;
67 };
68
69 cam_io_12v_reg: regulator-4 {
70 compatible = "regulator-fixed";
71 regulator-name = "8M_1.2V_EN";
72 regulator-min-microvolt = <1200000>;
73 regulator-max-microvolt = <1200000>;
74 gpio = <&gpe2 5 GPIO_ACTIVE_HIGH>;
75 enable-active-high;
76 };
77
78 vt_core_15v_reg: regulator-5 {
79 compatible = "regulator-fixed";
80 regulator-name = "VT_CORE_1.5V";
81 regulator-min-microvolt = <1500000>;
82 regulator-max-microvolt = <1500000>;
83 gpio = <&gpe2 2 GPIO_ACTIVE_HIGH>;
84 enable-active-high;
85 };
86
87 gpio-keys {
88 compatible = "gpio-keys";
89
90 vol-down-key {
91 gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
92 linux,code = <114>;
93 label = "volume down";
94 debounce-interval = <10>;
95 };
96
97 vol-up-key {
98 gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
99 linux,code = <115>;
100 label = "volume up";
101 debounce-interval = <10>;
102 };
103
104 power-key {
105 gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
106 linux,code = <116>;
107 label = "power";
108 debounce-interval = <10>;
109 wakeup-source;
110 };
111
112 ok-key {
113 gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
114 linux,code = <352>;
115 label = "ok";
116 debounce-interval = <10>;
117 };
118 };
119
120 wlan_pwrseq: sdhci3-pwrseq {
121 compatible = "mmc-pwrseq-simple";
122 reset-gpios = <&gpl1 2 GPIO_ACTIVE_LOW>;
123 };
124
125 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
136 pmic_ap_clk: pmic-ap-clk {
137 /* Workaround for missing clock on max8997 PMIC */
138 compatible = "fixed-clock";
139 #clock-cells = <0>;
140 clock-frequency = <32768>;
141 };
142 };
143};
144
145&camera {
146 pinctrl-names = "default";
147 pinctrl-0 = <>;
148 status = "okay";
149};
150
151&cpu0 {
152 cpu0-supply = <&varm_breg>;
153};
154
155&cpu_thermal {
156 cooling-maps {
157 map0 {
158 /* Corresponds to 800MHz at freq_table */
159 cooling-device = <&cpu0 2 2>, <&cpu1 2 2>;
160 };
161 map1 {
162 /* Corresponds to 200MHz at freq_table */
163 cooling-device = <&cpu0 4 4>, <&cpu1 4 4>;
164 };
165 };
166};
167
168&dsi_0 {
169 vddcore-supply = <&vusb_reg>;
170 vddio-supply = <&vmipi_reg>;
171 samsung,burst-clock-frequency = <500000000>;
172 samsung,esc-clock-frequency = <20000000>;
173 samsung,pll-clock-frequency = <24000000>;
174 status = "okay";
175
176 panel@0 {
177 reg = <0>;
178 compatible = "samsung,s6e8aa0";
179 vdd3-supply = <&vcclcd_reg>;
180 vci-supply = <&vlcd_reg>;
181 reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
182 power-on-delay= <50>;
183 reset-delay = <100>;
184 init-delay = <100>;
185 flip-horizontal;
186 flip-vertical;
187 panel-width-mm = <58>;
188 panel-height-mm = <103>;
189
190 display-timings {
191 timing-0 {
192 clock-frequency = <57153600>;
193 hactive = <720>;
194 vactive = <1280>;
195 hfront-porch = <5>;
196 hback-porch = <5>;
197 hsync-len = <5>;
198 vfront-porch = <13>;
199 vback-porch = <1>;
200 vsync-len = <2>;
201 };
202 };
203 };
204};
205
206&exynos_usbphy {
207 status = "okay";
208 vbus-supply = <&safe1_sreg>;
209};
210
211&fimc_0 {
212 status = "okay";
213 assigned-clocks = <&clock CLK_MOUT_FIMC0>,
214 <&clock CLK_SCLK_FIMC0>;
215 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
216 assigned-clock-rates = <0>, <160000000>;
217};
218
219&fimc_1 {
220 status = "okay";
221 assigned-clocks = <&clock CLK_MOUT_FIMC1>,
222 <&clock CLK_SCLK_FIMC1>;
223 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
224 assigned-clock-rates = <0>, <160000000>;
225};
226
227&fimc_2 {
228 status = "okay";
229 assigned-clocks = <&clock CLK_MOUT_FIMC2>,
230 <&clock CLK_SCLK_FIMC2>;
231 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
232 assigned-clock-rates = <0>, <160000000>;
233};
234
235&fimc_3 {
236 status = "okay";
237 assigned-clocks = <&clock CLK_MOUT_FIMC3>,
238 <&clock CLK_SCLK_FIMC3>;
239 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
240 assigned-clock-rates = <0>, <160000000>;
241};
242
243&fimd {
244 status = "okay";
245};
246
247&gpu {
248 status = "okay";
249};
250
251&hsotg {
252 vusb_d-supply = <&vusb_reg>;
253 vusb_a-supply = <&vusbdac_reg>;
254 dr_mode = "peripheral";
255 status = "okay";
256};
257
258&i2c_3 {
259 samsung,i2c-sda-delay = <100>;
260 samsung,i2c-slave-addr = <0x10>;
261 samsung,i2c-max-bus-freq = <400000>;
262 pinctrl-0 = <&i2c3_bus>;
263 pinctrl-names = "default";
264 status = "okay";
265
266 touchscreen@48 {
267 compatible = "melfas,mms114";
268 reg = <0x48>;
269 interrupt-parent = <&gpx0>;
270 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
271 touchscreen-size-x = <720>;
272 touchscreen-size-y = <1280>;
273 avdd-supply = <&tsp_reg>;
274 vdd-supply = <&tsp_reg>;
275 };
276};
277
278&i2c_5 {
279 samsung,i2c-sda-delay = <100>;
280 samsung,i2c-slave-addr = <0x10>;
281 samsung,i2c-max-bus-freq = <100000>;
282 pinctrl-0 = <&i2c5_bus>;
283 pinctrl-names = "default";
284 status = "okay";
285
286 pmic@66 {
287 compatible = "maxim,max8997-pmic";
288
289 reg = <0x66>;
290 interrupts-extended = <&gpx0 7 IRQ_TYPE_LEVEL_LOW>,
291 <&gpx2 3 IRQ_TYPE_EDGE_FALLING>;
292
293 max8997,pmic-buck1-uses-gpio-dvs;
294 max8997,pmic-buck2-uses-gpio-dvs;
295 max8997,pmic-buck5-uses-gpio-dvs;
296
297 max8997,pmic-ignore-gpiodvs-side-effect;
298 max8997,pmic-buck125-default-dvs-idx = <0>;
299
300 max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
301 <&gpx0 6 GPIO_ACTIVE_HIGH>,
302 <&gpl0 0 GPIO_ACTIVE_HIGH>;
303
304 max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
305 <1250000>, <1200000>,
306 <1150000>, <1100000>,
307 <1000000>, <950000>;
308
309 max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
310 <950000>, <900000>,
311 <1100000>, <1000000>,
312 <950000>, <900000>;
313
314 max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
315 <1200000>, <1200000>,
316 <1200000>, <1200000>,
317 <1200000>, <1200000>;
318
319 regulators {
320 valive_reg: LDO2 {
321 regulator-name = "VALIVE_1.1V_C210";
322 regulator-min-microvolt = <1100000>;
323 regulator-max-microvolt = <1100000>;
324 regulator-always-on;
325 };
326
327 vusb_reg: LDO3 {
328 regulator-name = "VUSB_1.1V_C210";
329 regulator-min-microvolt = <1100000>;
330 regulator-max-microvolt = <1100000>;
331 };
332
333 vmipi_reg: LDO4 {
334 regulator-name = "VMIPI_1.8V";
335 regulator-min-microvolt = <1800000>;
336 regulator-max-microvolt = <1800000>;
337 };
338
339 vpda_reg: LDO6 {
340 regulator-name = "VCC_1.8V_PDA";
341 regulator-min-microvolt = <1800000>;
342 regulator-max-microvolt = <1800000>;
343 regulator-always-on;
344 };
345
346 vcam_reg: LDO7 {
347 regulator-name = "CAM_ISP_1.8V";
348 regulator-min-microvolt = <1800000>;
349 regulator-max-microvolt = <1800000>;
350 };
351
352 vusbdac_reg: LDO8 {
353 regulator-name = "VUSB+VDAC_3.3V_C210";
354 regulator-min-microvolt = <3300000>;
355 regulator-max-microvolt = <3300000>;
356 };
357
358 vccpda_reg: LDO9 {
359 regulator-name = "VCC_2.8V_PDA";
360 regulator-min-microvolt = <2800000>;
361 regulator-max-microvolt = <2800000>;
362 regulator-always-on;
363 };
364
365 vpll_reg: LDO10 {
366 regulator-name = "VPLL_1.1V_C210";
367 regulator-min-microvolt = <1100000>;
368 regulator-max-microvolt = <1100000>;
369 regulator-always-on;
370 };
371
372 vtcam_reg: LDO12 {
373 regulator-name = "VT_CAM_1.8V";
374 regulator-min-microvolt = <1800000>;
375 regulator-max-microvolt = <1800000>;
376 };
377
378 vcclcd_reg: LDO13 {
379 regulator-name = "VCC_3.3V_LCD";
380 regulator-min-microvolt = <3300000>;
381 regulator-max-microvolt = <3300000>;
382 };
383
384 vlcd_reg: LDO15 {
385 regulator-name = "VLCD_2.2V";
386 regulator-min-microvolt = <2200000>;
387 regulator-max-microvolt = <2200000>;
388 };
389
390 camsensor_reg: LDO16 {
391 regulator-name = "CAM_SENSOR_IO_1.8V";
392 regulator-min-microvolt = <1800000>;
393 regulator-max-microvolt = <1800000>;
394 };
395
396 tflash_reg: LDO17 {
397 regulator-name = "VTF_2.8V";
398 regulator-min-microvolt = <2800000>;
399 regulator-max-microvolt = <2800000>;
400 };
401
402 vddq_reg: LDO21 {
403 regulator-name = "VDDQ_M1M2_1.2V";
404 regulator-min-microvolt = <1200000>;
405 regulator-max-microvolt = <1200000>;
406 regulator-always-on;
407 };
408
409 varm_breg: BUCK1 {
410 regulator-name = "VARM_1.2V_C210";
411 regulator-min-microvolt = <900000>;
412 regulator-max-microvolt = <1350000>;
413 regulator-always-on;
414 };
415
416 vint_breg: BUCK2 {
417 regulator-name = "VINT_1.1V_C210";
418 regulator-min-microvolt = <900000>;
419 regulator-max-microvolt = <1100000>;
420 regulator-always-on;
421 };
422
423 camisp_breg: BUCK4 {
424 regulator-name = "CAM_ISP_CORE_1.2V";
425 regulator-min-microvolt = <1200000>;
426 regulator-max-microvolt = <1200000>;
427 };
428
429 vmem_breg: BUCK5 {
430 regulator-name = "VMEM_1.2V_C210";
431 regulator-min-microvolt = <1200000>;
432 regulator-max-microvolt = <1200000>;
433 regulator-always-on;
434 };
435
436 vccsub_breg: BUCK7 {
437 regulator-name = "VCC_SUB_2.0V";
438 regulator-min-microvolt = <2000000>;
439 regulator-max-microvolt = <2000000>;
440 regulator-always-on;
441 };
442
443 safe1_sreg: ESAFEOUT1 {
444 regulator-name = "SAFEOUT1";
445 };
446
447 safe2_sreg: ESAFEOUT2 {
448 regulator-name = "SAFEOUT2";
449 regulator-boot-on;
450 };
451
452 EN32KHZ_AP {
453 regulator-name = "EN32KHZ_AP";
454 regulator-always-on;
455 };
456
457 EN32KHZ_CP {
458 regulator-name = "EN32KHZ_CP";
459 regulator-always-on;
460 };
461 };
462 };
463};
464
465&pinctrl_1 {
466 bt_shutdown: bt-shutdown {
467 samsung,pins = "gpl1-0";
468 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
469 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
470 };
471
472 bt_host_wakeup: bt-host-wakeup {
473 samsung,pins = "gpx2-6";
474 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
475 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
476 };
477
478 bt_device_wakeup: bt-device-wakeup {
479 samsung,pins = "gpx3-1";
480 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
481 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
482 };
483};
484
485&rtc {
486 status = "okay";
487 clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
488 clock-names = "rtc", "rtc_src";
489};
490
491&sdhci_0 {
492 bus-width = <8>;
493 non-removable;
494 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
495 pinctrl-names = "default";
496 vmmc-supply = <&vemmc_reg>;
497 status = "okay";
498};
499
500&sdhci_2 {
501 bus-width = <4>;
502 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
503 pinctrl-names = "default";
504 vmmc-supply = <&tflash_reg>;
505 cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
506 status = "okay";
507};
508
509&sdhci_3 {
510 status = "okay";
511
512 #address-cells = <1>;
513 #size-cells = <0>;
514
515 non-removable;
516 bus-width = <4>;
517 mmc-pwrseq = <&wlan_pwrseq>;
518 vmmc-supply = <&tflash_reg>;
519
520 pinctrl-names = "default";
521 pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>;
522
523 brcmf: wifi@1 {
524 compatible = "brcm,bcm4330-fmac", "brcm,bcm4329-fmac";
525 reg = <1>;
526
527 interrupt-parent = <&gpx2>;
528 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
529 interrupt-names = "host-wake";
530 };
531};
532
533&serial_0 {
534 status = "okay";
535 pinctrl-0 = <&uart0_data &uart0_fctl>;
536 pinctrl-names = "default";
537
538 bluetooth {
539 compatible = "brcm,bcm4330-bt";
540 pinctrl-0 = <&bt_shutdown &bt_device_wakeup &bt_host_wakeup>;
541 pinctrl-names = "default";
542 shutdown-gpios = <&gpl1 0 GPIO_ACTIVE_HIGH>;
543 device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
544 host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;
545 };
546};
547
548&serial_1 {
549 status = "okay";
550};
551
552&serial_2 {
553 status = "okay";
554};
555
556&serial_3 {
557 status = "okay";
558};
559
560&tmu {
561 status = "okay";
562};
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#include <dt-bindings/gpio/gpio.h>
18
19/ {
20 model = "Samsung Trats based on Exynos4210";
21 compatible = "samsung,trats", "samsung,exynos4210", "samsung,exynos4";
22
23 memory {
24 reg = <0x40000000 0x10000000
25 0x50000000 0x10000000
26 0x60000000 0x10000000
27 0x70000000 0x10000000>;
28 };
29
30 chosen {
31 bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
32 stdout-path = &serial_2;
33 };
34
35 regulators {
36 compatible = "simple-bus";
37
38 vemmc_reg: regulator-0 {
39 compatible = "regulator-fixed";
40 regulator-name = "VMEM_VDD_2.8V";
41 regulator-min-microvolt = <2800000>;
42 regulator-max-microvolt = <2800000>;
43 gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>;
44 enable-active-high;
45 };
46
47 tsp_reg: regulator-1 {
48 compatible = "regulator-fixed";
49 regulator-name = "TSP_FIXED_VOLTAGES";
50 regulator-min-microvolt = <2800000>;
51 regulator-max-microvolt = <2800000>;
52 gpio = <&gpl0 3 GPIO_ACTIVE_HIGH>;
53 enable-active-high;
54 };
55
56 cam_af_28v_reg: regulator-2 {
57 compatible = "regulator-fixed";
58 regulator-name = "8M_AF_2.8V_EN";
59 regulator-min-microvolt = <2800000>;
60 regulator-max-microvolt = <2800000>;
61 gpio = <&gpk1 1 GPIO_ACTIVE_HIGH>;
62 enable-active-high;
63 };
64
65 cam_io_en_reg: regulator-3 {
66 compatible = "regulator-fixed";
67 regulator-name = "CAM_IO_EN";
68 regulator-min-microvolt = <2800000>;
69 regulator-max-microvolt = <2800000>;
70 gpio = <&gpe2 1 GPIO_ACTIVE_HIGH>;
71 enable-active-high;
72 };
73
74 cam_io_12v_reg: regulator-4 {
75 compatible = "regulator-fixed";
76 regulator-name = "8M_1.2V_EN";
77 regulator-min-microvolt = <1200000>;
78 regulator-max-microvolt = <1200000>;
79 gpio = <&gpe2 5 GPIO_ACTIVE_HIGH>;
80 enable-active-high;
81 };
82
83 vt_core_15v_reg: regulator-5 {
84 compatible = "regulator-fixed";
85 regulator-name = "VT_CORE_1.5V";
86 regulator-min-microvolt = <1500000>;
87 regulator-max-microvolt = <1500000>;
88 gpio = <&gpe2 2 GPIO_ACTIVE_HIGH>;
89 enable-active-high;
90 };
91 };
92
93 gpio-keys {
94 compatible = "gpio-keys";
95
96 vol-down-key {
97 gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
98 linux,code = <114>;
99 label = "volume down";
100 debounce-interval = <10>;
101 };
102
103 vol-up-key {
104 gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
105 linux,code = <115>;
106 label = "volume up";
107 debounce-interval = <10>;
108 };
109
110 power-key {
111 gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
112 linux,code = <116>;
113 label = "power";
114 debounce-interval = <10>;
115 wakeup-source;
116 };
117
118 ok-key {
119 gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
120 linux,code = <352>;
121 label = "ok";
122 debounce-interval = <10>;
123 };
124 };
125
126 fixed-rate-clocks {
127 xxti {
128 compatible = "samsung,clock-xxti";
129 clock-frequency = <0>;
130 };
131
132 xusbxti {
133 compatible = "samsung,clock-xusbxti";
134 clock-frequency = <24000000>;
135 };
136 };
137
138 thermal-zones {
139 cpu_thermal: cpu-thermal {
140 cooling-maps {
141 map0 {
142 /* Corresponds to 800MHz at freq_table */
143 cooling-device = <&cpu0 2 2>;
144 };
145 map1 {
146 /* Corresponds to 200MHz at freq_table */
147 cooling-device = <&cpu0 4 4>;
148 };
149 };
150 };
151 };
152
153 camera {
154 pinctrl-names = "default";
155 pinctrl-0 = <>;
156 status = "okay";
157
158 fimc_0: fimc@11800000 {
159 status = "okay";
160 assigned-clocks = <&clock CLK_MOUT_FIMC0>,
161 <&clock CLK_SCLK_FIMC0>;
162 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
163 assigned-clock-rates = <0>, <160000000>;
164 };
165
166 fimc_1: fimc@11810000 {
167 status = "okay";
168 assigned-clocks = <&clock CLK_MOUT_FIMC1>,
169 <&clock CLK_SCLK_FIMC1>;
170 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
171 assigned-clock-rates = <0>, <160000000>;
172 };
173
174 fimc_2: fimc@11820000 {
175 status = "okay";
176 assigned-clocks = <&clock CLK_MOUT_FIMC2>,
177 <&clock CLK_SCLK_FIMC2>;
178 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
179 assigned-clock-rates = <0>, <160000000>;
180 };
181
182 fimc_3: fimc@11830000 {
183 status = "okay";
184 assigned-clocks = <&clock CLK_MOUT_FIMC3>,
185 <&clock CLK_SCLK_FIMC3>;
186 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
187 assigned-clock-rates = <0>, <160000000>;
188 };
189 };
190};
191
192&cpu0 {
193 cpu0-supply = <&varm_breg>;
194};
195
196&dsi_0 {
197 vddcore-supply = <&vusb_reg>;
198 vddio-supply = <&vmipi_reg>;
199 samsung,pll-clock-frequency = <24000000>;
200 status = "okay";
201
202 ports {
203 #address-cells = <1>;
204 #size-cells = <0>;
205
206 port@1 {
207 reg = <1>;
208
209 dsi_out: endpoint {
210 remote-endpoint = <&dsi_in>;
211 samsung,burst-clock-frequency = <500000000>;
212 samsung,esc-clock-frequency = <20000000>;
213 };
214 };
215 };
216
217 panel@0 {
218 reg = <0>;
219 compatible = "samsung,s6e8aa0";
220 vdd3-supply = <&vcclcd_reg>;
221 vci-supply = <&vlcd_reg>;
222 reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
223 power-on-delay= <50>;
224 reset-delay = <100>;
225 init-delay = <100>;
226 flip-horizontal;
227 flip-vertical;
228 panel-width-mm = <58>;
229 panel-height-mm = <103>;
230
231 display-timings {
232 timing-0 {
233 clock-frequency = <57153600>;
234 hactive = <720>;
235 vactive = <1280>;
236 hfront-porch = <5>;
237 hback-porch = <5>;
238 hsync-len = <5>;
239 vfront-porch = <13>;
240 vback-porch = <1>;
241 vsync-len = <2>;
242 };
243 };
244
245 port {
246 dsi_in: endpoint {
247 remote-endpoint = <&dsi_out>;
248 };
249 };
250 };
251};
252
253&exynos_usbphy {
254 status = "okay";
255 vbus-supply = <&safe1_sreg>;
256};
257
258&fimd {
259 status = "okay";
260};
261
262&hsotg {
263 vusb_d-supply = <&vusb_reg>;
264 vusb_a-supply = <&vusbdac_reg>;
265 dr_mode = "peripheral";
266 status = "okay";
267};
268
269&i2c_3 {
270 samsung,i2c-sda-delay = <100>;
271 samsung,i2c-slave-addr = <0x10>;
272 samsung,i2c-max-bus-freq = <400000>;
273 pinctrl-0 = <&i2c3_bus>;
274 pinctrl-names = "default";
275 status = "okay";
276
277 mms114-touchscreen@48 {
278 compatible = "melfas,mms114";
279 reg = <0x48>;
280 interrupt-parent = <&gpx0>;
281 interrupts = <4 2>;
282 x-size = <720>;
283 y-size = <1280>;
284 avdd-supply = <&tsp_reg>;
285 vdd-supply = <&tsp_reg>;
286 };
287};
288
289&i2c_5 {
290 samsung,i2c-sda-delay = <100>;
291 samsung,i2c-slave-addr = <0x10>;
292 samsung,i2c-max-bus-freq = <100000>;
293 pinctrl-0 = <&i2c5_bus>;
294 pinctrl-names = "default";
295 status = "okay";
296
297 max8997_pmic@66 {
298 compatible = "maxim,max8997-pmic";
299
300 reg = <0x66>;
301
302 max8997,pmic-buck1-uses-gpio-dvs;
303 max8997,pmic-buck2-uses-gpio-dvs;
304 max8997,pmic-buck5-uses-gpio-dvs;
305
306 max8997,pmic-ignore-gpiodvs-side-effect;
307 max8997,pmic-buck125-default-dvs-idx = <0>;
308
309 max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
310 <&gpx0 6 GPIO_ACTIVE_HIGH>,
311 <&gpl0 0 GPIO_ACTIVE_HIGH>;
312
313 max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
314 <1250000>, <1200000>,
315 <1150000>, <1100000>,
316 <1000000>, <950000>;
317
318 max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
319 <950000>, <900000>,
320 <1100000>, <1000000>,
321 <950000>, <900000>;
322
323 max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
324 <1200000>, <1200000>,
325 <1200000>, <1200000>,
326 <1200000>, <1200000>;
327
328 regulators {
329 valive_reg: LDO2 {
330 regulator-name = "VALIVE_1.1V_C210";
331 regulator-min-microvolt = <1100000>;
332 regulator-max-microvolt = <1100000>;
333 regulator-always-on;
334 };
335
336 vusb_reg: LDO3 {
337 regulator-name = "VUSB_1.1V_C210";
338 regulator-min-microvolt = <1100000>;
339 regulator-max-microvolt = <1100000>;
340 };
341
342 vmipi_reg: LDO4 {
343 regulator-name = "VMIPI_1.8V";
344 regulator-min-microvolt = <1800000>;
345 regulator-max-microvolt = <1800000>;
346 };
347
348 vpda_reg: LDO6 {
349 regulator-name = "VCC_1.8V_PDA";
350 regulator-min-microvolt = <1800000>;
351 regulator-max-microvolt = <1800000>;
352 regulator-always-on;
353 };
354
355 vcam_reg: LDO7 {
356 regulator-name = "CAM_ISP_1.8V";
357 regulator-min-microvolt = <1800000>;
358 regulator-max-microvolt = <1800000>;
359 };
360
361 vusbdac_reg: LDO8 {
362 regulator-name = "VUSB/VDAC_3.3V_C210";
363 regulator-min-microvolt = <3300000>;
364 regulator-max-microvolt = <3300000>;
365 };
366
367 vccpda_reg: LDO9 {
368 regulator-name = "VCC_2.8V_PDA";
369 regulator-min-microvolt = <2800000>;
370 regulator-max-microvolt = <2800000>;
371 regulator-always-on;
372 };
373
374 vpll_reg: LDO10 {
375 regulator-name = "VPLL_1.1V_C210";
376 regulator-min-microvolt = <1100000>;
377 regulator-max-microvolt = <1100000>;
378 regulator-always-on;
379 };
380
381 vtcam_reg: LDO12 {
382 regulator-name = "VT_CAM_1.8V";
383 regulator-min-microvolt = <1800000>;
384 regulator-max-microvolt = <1800000>;
385 };
386
387 vcclcd_reg: LDO13 {
388 regulator-name = "VCC_3.3V_LCD";
389 regulator-min-microvolt = <3300000>;
390 regulator-max-microvolt = <3300000>;
391 };
392
393 vlcd_reg: LDO15 {
394 regulator-name = "VLCD_2.2V";
395 regulator-min-microvolt = <2200000>;
396 regulator-max-microvolt = <2200000>;
397 };
398
399 camsensor_reg: LDO16 {
400 regulator-name = "CAM_SENSOR_IO_1.8V";
401 regulator-min-microvolt = <1800000>;
402 regulator-max-microvolt = <1800000>;
403 };
404
405 vddq_reg: LDO21 {
406 regulator-name = "VDDQ_M1M2_1.2V";
407 regulator-min-microvolt = <1200000>;
408 regulator-max-microvolt = <1200000>;
409 regulator-always-on;
410 };
411
412 varm_breg: BUCK1 {
413 /*
414 * HACK: The real name is VARM_1.2V_C210,
415 * but exynos-cpufreq does not support
416 * DT-based regulator lookup yet.
417 */
418 regulator-name = "vdd_arm";
419 regulator-min-microvolt = <900000>;
420 regulator-max-microvolt = <1350000>;
421 regulator-always-on;
422 };
423
424 vint_breg: BUCK2 {
425 regulator-name = "VINT_1.1V_C210";
426 regulator-min-microvolt = <900000>;
427 regulator-max-microvolt = <1100000>;
428 regulator-always-on;
429 };
430
431 camisp_breg: BUCK4 {
432 regulator-name = "CAM_ISP_CORE_1.2V";
433 regulator-min-microvolt = <1200000>;
434 regulator-max-microvolt = <1200000>;
435 };
436
437 vmem_breg: BUCK5 {
438 regulator-name = "VMEM_1.2V_C210";
439 regulator-min-microvolt = <1200000>;
440 regulator-max-microvolt = <1200000>;
441 regulator-always-on;
442 };
443
444 vccsub_breg: BUCK7 {
445 regulator-name = "VCC_SUB_2.0V";
446 regulator-min-microvolt = <2000000>;
447 regulator-max-microvolt = <2000000>;
448 regulator-always-on;
449 };
450
451 safe1_sreg: ESAFEOUT1 {
452 regulator-name = "SAFEOUT1";
453 };
454
455 safe2_sreg: ESAFEOUT2 {
456 regulator-name = "SAFEOUT2";
457 regulator-boot-on;
458 };
459 };
460 };
461};
462
463&sdhci_0 {
464 bus-width = <8>;
465 non-removable;
466 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
467 pinctrl-names = "default";
468 vmmc-supply = <&vemmc_reg>;
469 status = "okay";
470};
471
472&serial_0 {
473 status = "okay";
474};
475
476&serial_1 {
477 status = "okay";
478};
479
480&serial_2 {
481 status = "okay";
482};
483
484&serial_3 {
485 status = "okay";
486};
487
488&tmu {
489 status = "okay";
490};