Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / s5pv210-aries.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Samsung's S5PV210 based Galaxy Aries board device tree source
4  */
5
6 /dts-v1/;
7 #include <dt-bindings/gpio/gpio.h>
8 #include <dt-bindings/interrupt-controller/irq.h>
9 #include "s5pv210.dtsi"
10
11 / {
12         compatible = "samsung,aries", "samsung,s5pv210";
13
14         aliases {
15                 i2c6 = &i2c_pmic;
16                 i2c9 = &i2c_fuel;
17         };
18
19         memory@30000000 {
20                 device_type = "memory";
21                 reg = <0x30000000 0x05000000
22                         0x40000000 0x10000000
23                         0x50000000 0x08000000>;
24         };
25
26         reserved-memory {
27                 #address-cells = <1>;
28                 #size-cells = <1>;
29                 ranges;
30
31                 mfc_left: region@43000000 {
32                         compatible = "shared-dma-pool";
33                         no-map;
34                         reg = <0x43000000 0x2000000>;
35                 };
36
37                 mfc_right: region@51000000 {
38                         compatible = "shared-dma-pool";
39                         no-map;
40                         reg = <0x51000000 0x2000000>;
41                 };
42         };
43
44         vibrator_pwr: regulator-fixed-0 {
45                 compatible = "regulator-fixed";
46                 regulator-name = "vibrator-en";
47                 enable-active-high;
48                 gpio = <&gpj1 1 GPIO_ACTIVE_HIGH>;
49         };
50
51         wifi_pwrseq: wifi-pwrseq {
52                 compatible = "mmc-pwrseq-simple";
53                 reset-gpios = <&gpg1 2 GPIO_ACTIVE_LOW>;
54                 pinctrl-names = "default";
55                 pinctrl-0 = <&wlan_gpio_rst>;
56                 post-power-on-delay-ms = <500>;
57                 power-off-delay-us = <500>;
58         };
59
60         i2c_pmic: i2c-gpio-0 {
61                 compatible = "i2c-gpio";
62                 sda-gpios = <&gpj4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
63                 scl-gpios = <&gpj4 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
64                 i2c-gpio,delay-us = <2>;
65                 #address-cells = <1>;
66                 #size-cells = <0>;
67
68                 pmic@66 {
69                         compatible = "maxim,max8998";
70                         reg = <0x66>;
71                         interrupt-parent = <&gph0>;
72                         interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
73
74                         max8998,pmic-buck1-default-dvs-idx = <1>;
75                         max8998,pmic-buck1-dvs-gpios = <&gph0 3 GPIO_ACTIVE_HIGH>,
76                                                         <&gph0 4 GPIO_ACTIVE_HIGH>;
77                         max8998,pmic-buck1-dvs-voltage = <1275000>, <1200000>,
78                                                         <1050000>, <950000>;
79
80                         max8998,pmic-buck2-default-dvs-idx = <0>;
81                         max8998,pmic-buck2-dvs-gpio = <&gph0 5 GPIO_ACTIVE_HIGH>;
82                         max8998,pmic-buck2-dvs-voltage = <1100000>, <1000000>;
83
84                         regulators {
85                                 ldo2_reg: LDO2 {
86                                         regulator-name = "VALIVE_1.2V";
87                                         regulator-min-microvolt = <1200000>;
88                                         regulator-max-microvolt = <1200000>;
89                                         regulator-always-on;
90
91                                         regulator-state-mem {
92                                                 regulator-on-in-suspend;
93                                         };
94                                 };
95
96                                 ldo3_reg: LDO3 {
97                                         regulator-name = "VUSB_1.1V";
98                                         regulator-min-microvolt = <1100000>;
99                                         regulator-max-microvolt = <1100000>;
100
101                                         regulator-state-mem {
102                                                 regulator-off-in-suspend;
103                                         };
104                                 };
105
106                                 ldo4_reg: LDO4 {
107                                         regulator-name = "VADC_3.3V";
108                                         regulator-min-microvolt = <3300000>;
109                                         regulator-max-microvolt = <3300000>;
110                                         regulator-always-on;
111
112                                         regulator-state-mem {
113                                                 regulator-off-in-suspend;
114                                         };
115                                 };
116
117                                 ldo5_reg: LDO5 {
118                                         regulator-name = "VTF_2.8V";
119                                         regulator-min-microvolt = <2800000>;
120                                         regulator-max-microvolt = <2800000>;
121
122                                         regulator-state-mem {
123                                                 regulator-off-in-suspend;
124                                         };
125                                 };
126
127                                 ldo6_reg: LDO6 {
128                                         regulator-name = "LDO6";
129                                         regulator-min-microvolt = <1600000>;
130                                         regulator-max-microvolt = <3600000>;
131                                 };
132
133                                 ldo7_reg: LDO7 {
134                                         regulator-name = "VLCD_1.8V";
135                                         regulator-min-microvolt = <1800000>;
136                                         regulator-max-microvolt = <1800000>;
137                                         /* Till we get panel driver */
138                                         regulator-always-on;
139
140                                         regulator-state-mem {
141                                                 regulator-off-in-suspend;
142                                         };
143                                 };
144
145                                 ldo8_reg: LDO8 {
146                                         regulator-name = "VUSB_3.3V";
147                                         regulator-min-microvolt = <3300000>;
148                                         regulator-max-microvolt = <3300000>;
149
150                                         regulator-state-mem {
151                                                 regulator-off-in-suspend;
152                                         };
153                                 };
154
155                                 ldo9_reg: LDO9 {
156                                         regulator-name = "VCC_2.8V_PDA";
157                                         regulator-min-microvolt = <2800000>;
158                                         regulator-max-microvolt = <2800000>;
159                                         regulator-always-on;
160                                 };
161
162                                 ldo10_reg: LDO10 {
163                                         regulator-name = "VPLL_1.2V";
164                                         regulator-min-microvolt = <1200000>;
165                                         regulator-max-microvolt = <1200000>;
166                                         regulator-always-on;
167
168                                         regulator-state-mem {
169                                                 regulator-on-in-suspend;
170                                         };
171                                 };
172
173                                 ldo11_reg: LDO11 {
174                                         regulator-name = "CAM_AF_3.0V";
175                                         regulator-min-microvolt = <3000000>;
176                                         regulator-max-microvolt = <3000000>;
177
178                                         regulator-state-mem {
179                                                 regulator-off-in-suspend;
180                                         };
181                                 };
182
183                                 ldo12_reg: LDO12 {
184                                         regulator-name = "CAM_SENSOR_CORE_1.2V";
185                                         regulator-min-microvolt = <1200000>;
186                                         regulator-max-microvolt = <1200000>;
187
188                                         regulator-state-mem {
189                                                 regulator-off-in-suspend;
190                                         };
191                                 };
192
193                                 ldo13_reg: LDO13 {
194                                         regulator-name = "VGA_VDDIO_2.8V";
195                                         regulator-min-microvolt = <2800000>;
196                                         regulator-max-microvolt = <2800000>;
197
198                                         regulator-state-mem {
199                                                 regulator-off-in-suspend;
200                                         };
201                                 };
202
203                                 ldo14_reg: LDO14 {
204                                         regulator-name = "VGA_DVDD_1.8V";
205                                         regulator-min-microvolt = <1800000>;
206                                         regulator-max-microvolt = <1800000>;
207
208                                         regulator-state-mem {
209                                                 regulator-off-in-suspend;
210                                         };
211                                 };
212
213                                 ldo15_reg: LDO15 {
214                                         regulator-name = "CAM_ISP_HOST_2.8V";
215                                         regulator-min-microvolt = <2800000>;
216                                         regulator-max-microvolt = <2800000>;
217
218                                         regulator-state-mem {
219                                                 regulator-off-in-suspend;
220                                         };
221                                 };
222
223                                 ldo16_reg: LDO16 {
224                                         regulator-name = "VGA_AVDD_2.8V";
225                                         regulator-min-microvolt = <2800000>;
226                                         regulator-max-microvolt = <2800000>;
227
228                                         regulator-state-mem {
229                                                 regulator-off-in-suspend;
230                                         };
231                                 };
232
233                                 ldo17_reg: LDO17 {
234                                         regulator-name = "VCC_3.0V_LCD";
235                                         regulator-min-microvolt = <3000000>;
236                                         regulator-max-microvolt = <3000000>;
237                                         /* Till we get panel driver */
238                                         regulator-always-on;
239
240                                         regulator-state-mem {
241                                                 regulator-off-in-suspend;
242                                         };
243                                 };
244
245                                 buck1_reg: BUCK1 {
246                                         regulator-name = "vddarm";
247                                         regulator-min-microvolt = <750000>;
248                                         regulator-max-microvolt = <1500000>;
249
250                                         regulator-state-mem {
251                                                 regulator-off-in-suspend;
252                                                 regulator-suspend-microvolt = <1250000>;
253                                         };
254                                 };
255
256                                 buck2_reg: BUCK2 {
257                                         regulator-name = "vddint";
258                                         regulator-min-microvolt = <750000>;
259                                         regulator-max-microvolt = <1500000>;
260
261                                         regulator-state-mem {
262                                                 regulator-off-in-suspend;
263                                                 regulator-suspend-microvolt = <1100000>;
264                                         };
265                                 };
266
267                                 buck3_reg: BUCK3 {
268                                         regulator-name = "VCC_1.8V";
269                                         regulator-min-microvolt = <1800000>;
270                                         regulator-max-microvolt = <1800000>;
271                                         regulator-always-on;
272                                 };
273
274                                 buck4_reg: BUCK4 {
275                                         regulator-name = "CAM_ISP_CORE_1.2V";
276                                         regulator-min-microvolt = <1200000>;
277                                         regulator-max-microvolt = <1200000>;
278
279                                         regulator-state-mem {
280                                                 regulator-off-in-suspend;
281                                         };
282                                 };
283
284                                 ap32khz_reg: EN32KHz-AP {
285                                         regulator-name = "32KHz AP";
286                                         regulator-always-on;
287                                 };
288
289                                 cp32khz_reg: EN32KHz-CP {
290                                         regulator-name = "32KHz CP";
291                                 };
292
293                                 vichg_reg: ENVICHG {
294                                         regulator-name = "VICHG";
295                                         regulator-always-on;
296                                 };
297
298                                 safe1_sreg: ESAFEOUT1 {
299                                         regulator-name = "SAFEOUT1";
300                                 };
301
302                                 safe2_sreg: ESAFEOUT2 {
303                                         regulator-name = "SAFEOUT2";
304                                 };
305                         };
306                 };
307         };
308
309         i2c_fuel: i2c-gpio-1 {
310                 compatible = "i2c-gpio";
311                 sda-gpios = <&mp05 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
312                 scl-gpios = <&mp05 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
313                 i2c-gpio,delay-us = <2>;
314                 #address-cells = <1>;
315                 #size-cells = <0>;
316
317                 fuelgauge@36 {
318                         compatible = "maxim,max17040";
319                         interrupt-parent = <&vic0>;
320                         interrupts = <7>;
321                         reg = <0x36>;
322                 };
323         };
324
325         vibrator: pwm-vibrator {
326                 compatible = "pwm-vibrator";
327                 pwms = <&pwm 1 44642 0>;
328                 pwm-names = "enable";
329                 vcc-supply = <&vibrator_pwr>;
330                 pinctrl-names = "default";
331                 pinctrl-0 = <&pwm1_out>;
332         };
333
334         poweroff: syscon-poweroff {
335                 compatible = "syscon-poweroff";
336                 regmap = <&pmu_syscon>;
337                 offset = <0x681c>; /* PS_HOLD_CONTROL */
338                 value = <0x5200>;
339         };
340 };
341
342 &fimd {
343         pinctrl-names = "default";
344         pinctrl-0 = <&lcd_clk &lcd_data24>;
345         status = "okay";
346
347         samsung,invert-vden;
348         samsung,invert-vclk;
349
350         display-timings {
351                 timing-0 {
352                         /* 480x800@60Hz */
353                         clock-frequency = <25628040>;
354                         hactive = <480>;
355                         vactive = <800>;
356                         hfront-porch = <16>;
357                         hback-porch = <16>;
358                         hsync-len = <2>;
359                         vfront-porch = <28>;
360                         vback-porch = <1>;
361                         vsync-len = <2>;
362                 };
363         };
364 };
365
366 &hsotg {
367         vusb_a-supply = <&ldo8_reg>;
368         vusb_d-supply = <&ldo3_reg>;
369         dr_mode = "peripheral";
370         status = "okay";
371 };
372
373 &i2c2 {
374         samsung,i2c-sda-delay = <100>;
375         samsung,i2c-max-bus-freq = <400000>;
376         samsung,i2c-slave-addr = <0x10>;
377         status = "okay";
378
379         touchscreen@4a {
380                 compatible = "atmel,maxtouch";
381                 reg = <0x4a>;
382                 interrupt-parent = <&gpj0>;
383                 interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
384                 pinctrl-names = "default";
385                 pinctrl-0 = <&ts_irq>;
386                 reset-gpios = <&gpj1 3 GPIO_ACTIVE_HIGH>;
387         };
388 };
389
390 &mfc {
391         memory-region = <&mfc_left>, <&mfc_right>;
392 };
393
394 &pinctrl0 {
395         wlan_bt_en: wlan-bt-en {
396                 samsung,pins = "gpb-5";
397                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
398                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
399                 samsung,pin-val = <1>;
400         };
401
402         wlan_gpio_rst: wlan-gpio-rst {
403                 samsung,pins = "gpg1-2";
404                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
405                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
406         };
407
408         wifi_host_wake: wifi-host-wake {
409                 samsung,pins = "gph2-4";
410                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
411                 samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
412                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
413         };
414
415         bt_host_wake: bt-host-wake {
416                 samsung,pins = "gph2-5";
417                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
418                 samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
419                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
420         };
421
422         tf_detect: tf-detect {
423                 samsung,pins = "gph3-4";
424                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
425                 samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
426                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
427         };
428
429         wifi_wake: wifi-wake {
430                 samsung,pins = "gph3-5";
431                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
432                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
433         };
434
435         ts_irq: ts-irq {
436                 samsung,pins = "gpj0-5";
437                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
438                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
439                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
440         };
441 };
442
443 &pwm {
444         samsung,pwm-outputs = <1>;
445 };
446
447 &sdhci1 {
448         #address-cells = <1>;
449         #size-cells = <0>;
450
451         bus-width = <4>;
452         max-frequency = <38400000>;
453         pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4 &wifi_wake &wifi_host_wake &wlan_bt_en>;
454         pinctrl-names = "default";
455         cap-sd-highspeed;
456         cap-mmc-highspeed;
457
458         mmc-pwrseq = <&wifi_pwrseq>;
459         non-removable;
460         status = "okay";
461
462         wlan@1 {
463                 reg = <1>;
464                 compatible = "brcm,bcm4329-fmac";
465                 interrupt-parent = <&gph2>;
466                 interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
467                 interrupt-names = "host-wake";
468         };
469 };
470
471 &sdhci2 {
472         bus-width = <4>;
473         cd-gpios = <&gph3 4 GPIO_ACTIVE_LOW>;
474         vmmc-supply = <&ldo5_reg>;
475         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &tf_detect>;
476         pinctrl-names = "default";
477         status = "okay";
478 };
479
480 &uart0 {
481         status = "okay";
482
483         bluetooth {
484                 compatible = "brcm,bcm43438-bt";
485                 max-speed = <115200>;
486                 pinctrl-names = "default";
487                 pinctrl-0 = <&uart0_data &uart0_fctl &bt_host_wake>;
488                 shutdown-gpios = <&gpb 3 GPIO_ACTIVE_HIGH>;
489                 device-wakeup-gpios = <&gpg3 4 GPIO_ACTIVE_HIGH>;
490                 host-wakeup-gpios = <&gph2 5 GPIO_ACTIVE_HIGH>;
491         };
492 };
493
494 &uart1 {
495         status = "okay";
496 };
497
498 &uart2 {
499         status = "okay";
500 };
501
502 &usbphy {
503         status = "okay";
504         vbus-supply = <&safe1_sreg>;
505 };
506
507 &xusbxti {
508         clock-frequency = <24000000>;
509 };