GNU Linux-libre 4.19.264-gnu1
[releases.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         wifi_pwrseq: wifi-pwrseq {
27                 compatible = "mmc-pwrseq-simple";
28                 reset-gpios = <&gpg1 2 GPIO_ACTIVE_LOW>;
29                 pinctrl-names = "default";
30                 pinctrl-0 = <&wlan_gpio_rst>;
31                 post-power-on-delay-ms = <500>;
32                 power-off-delay-us = <500>;
33         };
34
35         i2c_pmic: i2c-gpio-0 {
36                 compatible = "i2c-gpio";
37                 sda-gpios = <&gpj4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
38                 scl-gpios = <&gpj4 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
39                 i2c-gpio,delay-us = <2>;
40                 #address-cells = <1>;
41                 #size-cells = <0>;
42
43                 pmic@66 {
44                         compatible = "maxim,max8998";
45                         reg = <0x66>;
46                         interrupt-parent = <&gph0>;
47                         interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
48
49                         max8998,pmic-buck1-default-dvs-idx = <1>;
50                         max8998,pmic-buck1-dvs-gpios = <&gph0 3 GPIO_ACTIVE_HIGH>,
51                                                         <&gph0 4 GPIO_ACTIVE_HIGH>;
52                         max8998,pmic-buck1-dvs-voltage = <1275000>, <1200000>,
53                                                         <1050000>, <950000>;
54
55                         max8998,pmic-buck2-default-dvs-idx = <0>;
56                         max8998,pmic-buck2-dvs-gpio = <&gph0 5 GPIO_ACTIVE_HIGH>;
57                         max8998,pmic-buck2-dvs-voltage = <1100000>, <1000000>;
58
59                         regulators {
60                                 ldo2_reg: LDO2 {
61                                         regulator-name = "VALIVE_1.2V";
62                                         regulator-min-microvolt = <1200000>;
63                                         regulator-max-microvolt = <1200000>;
64                                         regulator-always-on;
65
66                                         regulator-state-mem {
67                                                 regulator-on-in-suspend;
68                                         };
69                                 };
70
71                                 ldo3_reg: LDO3 {
72                                         regulator-name = "VUSB_1.1V";
73                                         regulator-min-microvolt = <1100000>;
74                                         regulator-max-microvolt = <1100000>;
75
76                                         regulator-state-mem {
77                                                 regulator-off-in-suspend;
78                                         };
79                                 };
80
81                                 ldo4_reg: LDO4 {
82                                         regulator-name = "VADC_3.3V";
83                                         regulator-min-microvolt = <3300000>;
84                                         regulator-max-microvolt = <3300000>;
85                                         regulator-always-on;
86
87                                         regulator-state-mem {
88                                                 regulator-off-in-suspend;
89                                         };
90                                 };
91
92                                 ldo5_reg: LDO5 {
93                                         regulator-name = "VTF_2.8V";
94                                         regulator-min-microvolt = <2800000>;
95                                         regulator-max-microvolt = <2800000>;
96
97                                         regulator-state-mem {
98                                                 regulator-off-in-suspend;
99                                         };
100                                 };
101
102                                 ldo6_reg: LDO6 {
103                                         regulator-name = "LDO6";
104                                         regulator-min-microvolt = <1600000>;
105                                         regulator-max-microvolt = <3600000>;
106                                 };
107
108                                 ldo7_reg: LDO7 {
109                                         regulator-name = "VLCD_1.8V";
110                                         regulator-min-microvolt = <1800000>;
111                                         regulator-max-microvolt = <1800000>;
112                                         /* Till we get panel driver */
113                                         regulator-always-on;
114
115                                         regulator-state-mem {
116                                                 regulator-off-in-suspend;
117                                         };
118                                 };
119
120                                 ldo8_reg: LDO8 {
121                                         regulator-name = "VUSB_3.3V";
122                                         regulator-min-microvolt = <3300000>;
123                                         regulator-max-microvolt = <3300000>;
124
125                                         regulator-state-mem {
126                                                 regulator-off-in-suspend;
127                                         };
128                                 };
129
130                                 ldo9_reg: LDO9 {
131                                         regulator-name = "VCC_2.8V_PDA";
132                                         regulator-min-microvolt = <2800000>;
133                                         regulator-max-microvolt = <2800000>;
134                                         regulator-always-on;
135                                 };
136
137                                 ldo10_reg: LDO10 {
138                                         regulator-name = "VPLL_1.2V";
139                                         regulator-min-microvolt = <1200000>;
140                                         regulator-max-microvolt = <1200000>;
141                                         regulator-always-on;
142
143                                         regulator-state-mem {
144                                                 regulator-on-in-suspend;
145                                         };
146                                 };
147
148                                 ldo11_reg: LDO11 {
149                                         regulator-name = "CAM_AF_3.0V";
150                                         regulator-min-microvolt = <3000000>;
151                                         regulator-max-microvolt = <3000000>;
152
153                                         regulator-state-mem {
154                                                 regulator-off-in-suspend;
155                                         };
156                                 };
157
158                                 ldo12_reg: LDO12 {
159                                         regulator-name = "CAM_SENSOR_CORE_1.2V";
160                                         regulator-min-microvolt = <1200000>;
161                                         regulator-max-microvolt = <1200000>;
162
163                                         regulator-state-mem {
164                                                 regulator-off-in-suspend;
165                                         };
166                                 };
167
168                                 ldo13_reg: LDO13 {
169                                         regulator-name = "VGA_VDDIO_2.8V";
170                                         regulator-min-microvolt = <2800000>;
171                                         regulator-max-microvolt = <2800000>;
172
173                                         regulator-state-mem {
174                                                 regulator-off-in-suspend;
175                                         };
176                                 };
177
178                                 ldo14_reg: LDO14 {
179                                         regulator-name = "VGA_DVDD_1.8V";
180                                         regulator-min-microvolt = <1800000>;
181                                         regulator-max-microvolt = <1800000>;
182
183                                         regulator-state-mem {
184                                                 regulator-off-in-suspend;
185                                         };
186                                 };
187
188                                 ldo15_reg: LDO15 {
189                                         regulator-name = "CAM_ISP_HOST_2.8V";
190                                         regulator-min-microvolt = <2800000>;
191                                         regulator-max-microvolt = <2800000>;
192
193                                         regulator-state-mem {
194                                                 regulator-off-in-suspend;
195                                         };
196                                 };
197
198                                 ldo16_reg: LDO16 {
199                                         regulator-name = "VGA_AVDD_2.8V";
200                                         regulator-min-microvolt = <2800000>;
201                                         regulator-max-microvolt = <2800000>;
202
203                                         regulator-state-mem {
204                                                 regulator-off-in-suspend;
205                                         };
206                                 };
207
208                                 ldo17_reg: LDO17 {
209                                         regulator-name = "VCC_3.0V_LCD";
210                                         regulator-min-microvolt = <3000000>;
211                                         regulator-max-microvolt = <3000000>;
212                                         /* Till we get panel driver */
213                                         regulator-always-on;
214
215                                         regulator-state-mem {
216                                                 regulator-off-in-suspend;
217                                         };
218                                 };
219
220                                 buck1_reg: BUCK1 {
221                                         regulator-name = "vddarm";
222                                         regulator-min-microvolt = <750000>;
223                                         regulator-max-microvolt = <1500000>;
224
225                                         regulator-state-mem {
226                                                 regulator-off-in-suspend;
227                                                 regulator-suspend-microvolt = <1250000>;
228                                         };
229                                 };
230
231                                 buck2_reg: BUCK2 {
232                                         regulator-name = "vddint";
233                                         regulator-min-microvolt = <750000>;
234                                         regulator-max-microvolt = <1500000>;
235
236                                         regulator-state-mem {
237                                                 regulator-off-in-suspend;
238                                                 regulator-suspend-microvolt = <1100000>;
239                                         };
240                                 };
241
242                                 buck3_reg: BUCK3 {
243                                         regulator-name = "VCC_1.8V";
244                                         regulator-min-microvolt = <1800000>;
245                                         regulator-max-microvolt = <1800000>;
246                                         regulator-always-on;
247                                 };
248
249                                 buck4_reg: BUCK4 {
250                                         regulator-name = "CAM_ISP_CORE_1.2V";
251                                         regulator-min-microvolt = <1200000>;
252                                         regulator-max-microvolt = <1200000>;
253
254                                         regulator-state-mem {
255                                                 regulator-off-in-suspend;
256                                         };
257                                 };
258
259                                 ap32khz_reg: EN32KHz-AP {
260                                         regulator-name = "32KHz AP";
261                                         regulator-always-on;
262                                 };
263
264                                 cp32khz_reg: EN32KHz-CP {
265                                         regulator-name = "32KHz CP";
266                                 };
267
268                                 vichg_reg: ENVICHG {
269                                         regulator-name = "VICHG";
270                                         regulator-always-on;
271                                 };
272
273                                 safe1_sreg: ESAFEOUT1 {
274                                         regulator-name = "SAFEOUT1";
275                                 };
276
277                                 safe2_sreg: ESAFEOUT2 {
278                                         regulator-name = "SAFEOUT2";
279                                 };
280                         };
281                 };
282         };
283
284         i2c_fuel: i2c-gpio-1 {
285                 compatible = "i2c-gpio";
286                 sda-gpios = <&mp05 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
287                 scl-gpios = <&mp05 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
288                 i2c-gpio,delay-us = <2>;
289                 #address-cells = <1>;
290                 #size-cells = <0>;
291
292                 fuelgauge@36 {
293                         compatible = "maxim,max17040";
294                         interrupt-parent = <&vic0>;
295                         interrupts = <7>;
296                         reg = <0x36>;
297                 };
298         };
299 };
300
301 &fimd {
302         pinctrl-names = "default";
303         pinctrl-0 = <&lcd_clk &lcd_data24>;
304         status = "okay";
305
306         samsung,invert-vden;
307         samsung,invert-vclk;
308
309         display-timings {
310                 timing-0 {
311                         /* 480x800@60Hz */
312                         clock-frequency = <25628040>;
313                         hactive = <480>;
314                         vactive = <800>;
315                         hfront-porch = <16>;
316                         hback-porch = <16>;
317                         hsync-len = <2>;
318                         vfront-porch = <28>;
319                         vback-porch = <1>;
320                         vsync-len = <2>;
321                 };
322         };
323 };
324
325 &hsotg {
326         vusb_a-supply = <&ldo8_reg>;
327         vusb_d-supply = <&ldo3_reg>;
328         dr_mode = "peripheral";
329         status = "okay";
330 };
331
332 &pinctrl0 {
333         wlan_bt_en: wlan-bt-en {
334                 samsung,pins = "gpb-5";
335                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
336                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
337                 samsung,pin-val = <1>;
338         };
339
340         wlan_gpio_rst: wlan-gpio-rst {
341                 samsung,pins = "gpg1-2";
342                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
343                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
344         };
345
346         wifi_host_wake: wifi-host-wake {
347                 samsung,pins = "gph2-4";
348                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
349                 samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
350                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
351         };
352
353         tf_detect: tf-detect {
354                 samsung,pins = "gph3-4";
355                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
356                 samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
357                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
358         };
359
360         wifi_wake: wifi-wake {
361                 samsung,pins = "gph3-5";
362                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
363                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
364         };
365 };
366
367 &sdhci1 {
368         #address-cells = <1>;
369         #size-cells = <0>;
370
371         bus-width = <4>;
372         max-frequency = <38400000>;
373         pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4 &wifi_wake &wifi_host_wake &wlan_bt_en>;
374         pinctrl-names = "default";
375         cap-sd-highspeed;
376         cap-mmc-highspeed;
377         keep-power-in-suspend;
378
379         mmc-pwrseq = <&wifi_pwrseq>;
380         non-removable;
381         status = "okay";
382
383         wlan@1 {
384                 reg = <1>;
385                 compatible = "brcm,bcm4329-fmac";
386                 interrupt-parent = <&gph2>;
387                 interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
388                 interrupt-names = "host-wake";
389         };
390 };
391
392 &sdhci2 {
393         bus-width = <4>;
394         cd-gpios = <&gph3 4 GPIO_ACTIVE_LOW>;
395         vmmc-supply = <&ldo5_reg>;
396         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &tf_detect>;
397         pinctrl-names = "default";
398         status = "okay";
399 };
400
401 &uart0 {
402         status = "okay";
403 };
404
405 &uart1 {
406         status = "okay";
407 };
408
409 &uart2 {
410         status = "okay";
411 };
412
413 &usbphy {
414         status = "okay";
415         vbus-supply = <&safe1_sreg>;
416 };
417
418 &xusbxti {
419         clock-frequency = <24000000>;
420 };