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