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