GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / arm / boot / dts / s5pv210-aquila.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Samsung's S5PV210 SoC device tree source
4  *
5  * Copyright (c) 2013-2014 Samsung Electronics, Co. Ltd.
6  *
7  * Mateusz Krawczuk <m.krawczuk@partner.samsung.com>
8  * Tomasz Figa <t.figa@samsung.com>
9  *
10  * Board device tree source for Samsung Aquila board.
11  */
12
13 /dts-v1/;
14 #include <dt-bindings/gpio/gpio.h>
15 #include <dt-bindings/input/input.h>
16 #include "s5pv210.dtsi"
17
18 / {
19         model = "Samsung Aquila based on S5PC110";
20         compatible = "samsung,aquila", "samsung,s5pv210";
21
22         aliases {
23                 i2c3 = &i2c_pmic;
24         };
25
26         chosen {
27                 bootargs = "console=ttySAC2,115200n8 root=/dev/mmcblk1p5 rw rootwait ignore_loglevel earlyprintk";
28         };
29
30         memory@30000000 {
31                 device_type = "memory";
32                 reg = <0x30000000 0x05000000>, <0x40000000 0x18000000>;
33         };
34
35         pmic_ap_clk: clock-0 {
36                 /* Workaround for missing clock on PMIC */
37                 compatible = "fixed-clock";
38                 #clock-cells = <0>;
39                 clock-frequency = <32768>;
40         };
41
42         vtf_reg: regulator-0 {
43                 compatible = "regulator-fixed";
44                 regulator-name = "V_TF_2.8V";
45                 regulator-min-microvolt = <2800000>;
46                 regulator-max-microvolt = <2800000>;
47                 gpio = <&mp05 4 GPIO_ACTIVE_HIGH>;
48                 enable-active-high;
49         };
50
51         pda_reg: regulator-1 {
52                 compatible = "regulator-fixed";
53                 regulator-name = "VCC_1.8V_PDA";
54                 regulator-min-microvolt = <1800000>;
55                 regulator-max-microvolt = <1800000>;
56         };
57
58         bat_reg: regulator-2 {
59                 compatible = "regulator-fixed";
60                 regulator-name = "V_BAT";
61                 regulator-min-microvolt = <3700000>;
62                 regulator-max-microvolt = <3700000>;
63         };
64
65         i2c_pmic: i2c-pmic {
66                 compatible = "i2c-gpio";
67                 sda-gpios = <&gpj4 0 GPIO_ACTIVE_HIGH>;
68                 scl-gpios = <&gpj4 3 GPIO_ACTIVE_HIGH>;
69                 i2c-gpio,delay-us = <2>;        /* ~100 kHz */
70                 #address-cells = <1>;
71                 #size-cells = <0>;
72
73                 pmic@66 {
74                         compatible = "national,lp3974";
75                         reg = <0x66>;
76
77                         max8998,pmic-buck1-default-dvs-idx = <0>;
78                         max8998,pmic-buck1-dvs-gpios = <&gph0 3 GPIO_ACTIVE_HIGH>,
79                                                         <&gph0 4 GPIO_ACTIVE_HIGH>;
80                         max8998,pmic-buck1-dvs-voltage = <1200000>, <1200000>,
81                                                         <1200000>, <1200000>;
82
83                         max8998,pmic-buck2-default-dvs-idx = <0>;
84                         max8998,pmic-buck2-dvs-gpio = <&gph0 5 GPIO_ACTIVE_HIGH>;
85                         max8998,pmic-buck2-dvs-voltage = <1200000>, <1200000>;
86
87                         regulators {
88                                 ldo2_reg: LDO2 {
89                                         regulator-name = "VALIVE_1.1V";
90                                         regulator-min-microvolt = <1100000>;
91                                         regulator-max-microvolt = <1100000>;
92                                         regulator-always-on;
93                                 };
94
95                                 ldo3_reg: LDO3 {
96                                         regulator-name = "VUSB+MIPI_1.1V";
97                                         regulator-min-microvolt = <1100000>;
98                                         regulator-max-microvolt = <1100000>;
99                                         regulator-always-on;
100                                 };
101
102                                 ldo4_reg: LDO4 {
103                                         regulator-name = "VADC_3.3V";
104                                         regulator-min-microvolt = <3300000>;
105                                         regulator-max-microvolt = <3300000>;
106                                 };
107
108                                 ldo5_reg: LDO5 {
109                                         regulator-name = "VTF_2.8V";
110                                         regulator-min-microvolt = <2800000>;
111                                         regulator-max-microvolt = <2800000>;
112                                         regulator-always-on;
113                                 };
114
115                                 ldo6_reg: LDO6 {
116                                         regulator-name = "VCC_3.3V";
117                                         regulator-min-microvolt = <3300000>;
118                                         regulator-max-microvolt = <3300000>;
119                                         regulator-always-on;
120                                 };
121
122                                 ldo7_reg: LDO7 {
123                                         regulator-name = "VCC_3.0V";
124                                         regulator-min-microvolt = <3000000>;
125                                         regulator-max-microvolt = <3000000>;
126                                         regulator-always-on;
127                                         regulator-boot-on;
128                                 };
129
130                                 ldo8_reg: LDO8 {
131                                         regulator-name = "VUSB+VDAC_3.3V";
132                                         regulator-min-microvolt = <3300000>;
133                                         regulator-max-microvolt = <3300000>;
134                                         regulator-always-on;
135                                 };
136
137                                 ldo9_reg: LDO9 {
138                                         regulator-name = "VCC+VCAM_2.8V";
139                                         regulator-min-microvolt = <2800000>;
140                                         regulator-max-microvolt = <2800000>;
141                                         regulator-always-on;
142                                 };
143
144                                 ldo10_reg: LDO10 {
145                                         regulator-name = "VPLL_1.1V";
146                                         regulator-min-microvolt = <1100000>;
147                                         regulator-max-microvolt = <1100000>;
148                                         regulator-always-on;
149                                         regulator-boot-on;
150                                 };
151
152                                 ldo11_reg: LDO11 {
153                                         regulator-name = "CAM_IO_2.8V";
154                                         regulator-min-microvolt = <2800000>;
155                                         regulator-max-microvolt = <2800000>;
156                                         regulator-always-on;
157                                 };
158
159                                 ldo12_reg: LDO12 {
160                                         regulator-name = "CAM_ISP_1.2V";
161                                         regulator-min-microvolt = <1200000>;
162                                         regulator-max-microvolt = <1200000>;
163                                         regulator-always-on;
164                                 };
165
166                                 ldo13_reg: LDO13 {
167                                         regulator-name = "CAM_A_2.8V";
168                                         regulator-min-microvolt = <2800000>;
169                                         regulator-max-microvolt = <2800000>;
170                                         regulator-always-on;
171                                 };
172
173                                 ldo14_reg: LDO14 {
174                                         regulator-name = "CAM_CIF_1.8V";
175                                         regulator-min-microvolt = <1800000>;
176                                         regulator-max-microvolt = <1800000>;
177                                         regulator-always-on;
178                                 };
179
180                                 ldo15_reg: LDO15 {
181                                         regulator-name = "CAM_AF_3.3V";
182                                         regulator-min-microvolt = <3300000>;
183                                         regulator-max-microvolt = <3300000>;
184                                         regulator-always-on;
185                                 };
186
187                                 ldo16_reg: LDO16 {
188                                         regulator-name = "VMIPI_1.8V";
189                                         regulator-min-microvolt = <1800000>;
190                                         regulator-max-microvolt = <1800000>;
191                                         regulator-always-on;
192                                 };
193
194                                 ldo17_reg: LDO17 {
195                                         regulator-name = "CAM_8M_1.8V";
196                                         regulator-min-microvolt = <1800000>;
197                                         regulator-max-microvolt = <1800000>;
198                                         regulator-always-on;
199                                 };
200
201                                 buck1_reg: BUCK1 {
202                                         regulator-name = "VARM_1.2V";
203                                         regulator-min-microvolt = <1200000>;
204                                         regulator-max-microvolt = <1200000>;
205                                         regulator-always-on;
206                                 };
207
208                                 buck2_reg: BUCK2 {
209                                         regulator-name = "VINT_1.2V";
210                                         regulator-min-microvolt = <1200000>;
211                                         regulator-max-microvolt = <1200000>;
212                                         regulator-always-on;
213                                 };
214
215                                 buck3_reg: BUCK3 {
216                                         regulator-name = "VCC_1.8V";
217                                         regulator-min-microvolt = <1800000>;
218                                         regulator-max-microvolt = <1800000>;
219                                         regulator-always-on;
220                                 };
221
222                                 buck4_reg: BUCK4 {
223                                         regulator-name = "CAM_CORE_1.2V";
224                                         regulator-min-microvolt = <1200000>;
225                                         regulator-max-microvolt = <1200000>;
226                                         regulator-always-on;
227                                 };
228
229                                 ap32khz_reg: EN32KHz-AP {
230                                         regulator-name = "32KHz AP";
231                                         regulator-always-on;
232                                 };
233
234                                 vichg_reg: ENVICHG {
235                                         regulator-name = "VICHG";
236                                 };
237
238                                 safeout1_reg: ESAFEOUT1 {
239                                         regulator-name = "SAFEOUT1";
240                                         regulator-always-on;
241                                 };
242
243                                 safeout2_reg: ESAFEOUT2 {
244                                         regulator-name = "SAFEOUT2";
245                                         regulator-boot-on;
246                                 };
247                         };
248                 };
249
250         };
251
252         gpio-keys {
253                 compatible = "gpio-keys";
254
255                 power-key {
256                         gpios = <&gph2 6 1>;
257                         linux,code = <KEY_POWER>;
258                         label = "power";
259                         debounce-interval = <1>;
260                         wakeup-source;
261                 };
262         };
263 };
264
265 &xusbxti {
266         clock-frequency = <24000000>;
267 };
268
269 &keypad {
270         linux,input-no-autorepeat;
271         wakeup-source;
272         samsung,keypad-num-rows = <3>;
273         samsung,keypad-num-columns = <3>;
274         pinctrl-names = "default";
275         pinctrl-0 = <&keypad_row0>, <&keypad_row1>, <&keypad_row2>,
276                         <&keypad_col0>, <&keypad_col1>, <&keypad_col2>;
277         status = "okay";
278
279         key-1 {
280                 keypad,row = <0>;
281                 keypad,column = <1>;
282                 linux,code = <KEY_CONNECT>;
283         };
284
285         key-2 {
286                 keypad,row = <0>;
287                 keypad,column = <2>;
288                 linux,code = <KEY_BACK>;
289         };
290
291         key-3 {
292                 keypad,row = <1>;
293                 keypad,column = <1>;
294                 linux,code = <KEY_CAMERA_FOCUS>;
295         };
296
297         key-4 {
298                 keypad,row = <1>;
299                 keypad,column = <2>;
300                 linux,code = <KEY_VOLUMEUP>;
301         };
302
303         key-5 {
304                 keypad,row = <2>;
305                 keypad,column = <1>;
306                 linux,code = <KEY_CAMERA>;
307         };
308
309         key-6 {
310                 keypad,row = <2>;
311                 keypad,column = <2>;
312                 linux,code = <KEY_VOLUMEDOWN>;
313         };
314 };
315
316 &uart0 {
317         status = "okay";
318 };
319
320 &uart1 {
321         status = "okay";
322 };
323
324 &uart2 {
325         status = "okay";
326 };
327
328 &uart3 {
329         status = "okay";
330 };
331
332 &rtc {
333         clocks = <&clocks CLK_RTC>, <&pmic_ap_clk>;
334         clock-names = "rtc", "rtc_src";
335 };
336
337 &sdhci0 {
338         bus-width = <4>;
339         non-removable;
340         status = "okay";
341         vmmc-supply = <&ldo5_reg>;
342         pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4>;
343         pinctrl-names = "default";
344 };
345
346 &sdhci2 {
347         bus-width = <4>;
348         cd-gpios = <&gph3 4 1>;
349         vmmc-supply = <&vtf_reg>;
350         cd-inverted;
351         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &t_flash_detect>;
352         pinctrl-names = "default";
353         status = "okay";
354 };
355
356 &onenand {
357         status = "okay";
358 };
359
360 &hsotg {
361         vusb_a-supply = <&ldo3_reg>;
362         vusb_d-supply = <&ldo8_reg>;
363         dr_mode = "peripheral";
364         status = "okay";
365 };
366
367 &usbphy {
368         status = "okay";
369 };
370
371 &fimd {
372         pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>;
373         pinctrl-names = "default";
374         status = "okay";
375
376         display-timings {
377                 native-mode = <&timing0>;
378                 timing0: timing {
379                         clock-frequency = <0>;
380                         hactive = <800>;
381                         vactive = <480>;
382                         hfront-porch = <16>;
383                         hback-porch = <16>;
384                         hsync-len = <2>;
385                         vback-porch = <3>;
386                         vfront-porch = <28>;
387                         vsync-len = <1>;
388                 };
389         };
390 };
391
392 &pinctrl0 {
393         t_flash_detect: t-flash-detect-pins {
394                 samsung,pins = "gph3-4";
395                 samsung,pin-function = <S5PV210_PIN_FUNC_INPUT>;
396                 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
397         };
398 };