Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[linux-2.6-microblaze.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
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";
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 };