Merge tag 'lsm-pr-20220801' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm
[platform/kernel/linux-starfive.git] / arch / arm / boot / dts / exynos4210-trats.dts
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 };