GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / arm / boot / dts / s5pv210-goni.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 Goni board.
11  */
12
13 /dts-v1/;
14 #include <dt-bindings/input/input.h>
15 #include "s5pv210.dtsi"
16
17 / {
18         model = "Samsung Goni based on S5PC110";
19         compatible = "samsung,goni", "samsung,s5pv210";
20
21         aliases {
22                 i2c3 = &i2c_pmic;
23         };
24
25         chosen {
26                 bootargs = "console=ttySAC0,115200n8 root=/dev/mmcblk0p5 rw rootwait ignore_loglevel earlyprintk";
27         };
28
29         memory@30000000 {
30                 device_type = "memory";
31                 reg = <0x30000000 0x05000000
32                         0x40000000 0x10000000
33                         0x50000000 0x08000000>;
34         };
35
36         regulators {
37                 compatible = "simple-bus";
38                 #address-cells = <1>;
39                 #size-cells = <0>;
40
41                 vtf_reg: fixed-regulator@0 {
42                         compatible = "regulator-fixed";
43                         regulator-name = "V_TF_2.8V";
44                         regulator-min-microvolt = <2800000>;
45                         regulator-max-microvolt = <2800000>;
46                         reg = <0>;
47                         gpio = <&mp05 4 0>;
48                         enable-active-high;
49                 };
50
51                 pda_reg: fixed-regulator@1 {
52                         compatible = "regulator-fixed";
53                         regulator-name = "VCC_1.8V_PDA";
54                         regulator-min-microvolt = <1800000>;
55                         regulator-max-microvolt = <1800000>;
56                         reg = <1>;
57                 };
58
59                 bat_reg: fixed-regulator@2 {
60                         compatible = "regulator-fixed";
61                         regulator-name = "V_BAT";
62                         regulator-min-microvolt = <3700000>;
63                         regulator-max-microvolt = <3700000>;
64                         reg = <2>;
65                 };
66
67                 tsp_reg: fixed-regulator@3 {
68                         compatible = "regulator-fixed";
69                         regulator-name = "TSP_VDD";
70                         regulator-min-microvolt = <2800000>;
71                         regulator-max-microvolt = <2800000>;
72                         reg = <3>;
73                         gpio = <&gpj1 3 0>;
74                         enable-active-high;
75                 };
76         };
77
78         i2c_pmic: i2c-pmic {
79                 compatible = "i2c-gpio";
80                 gpios = <&gpj4 0 0>, /* sda */
81                         <&gpj4 3 0>; /* scl */
82                 i2c-gpio,delay-us = <2>;        /* ~100 kHz */
83                 #address-cells = <1>;
84                 #size-cells = <0>;
85
86                 pmic@66 {
87                         compatible = "national,lp3974";
88                         reg = <0x66>;
89
90                         max8998,pmic-buck1-default-dvs-idx = <0>;
91                         max8998,pmic-buck1-dvs-gpios = <&gph0 3 0>,
92                                                         <&gph0 4 0>;
93                         max8998,pmic-buck1-dvs-voltage = <1200000>, <1200000>,
94                                                         <1200000>, <1200000>;
95
96                         max8998,pmic-buck2-default-dvs-idx = <0>;
97                         max8998,pmic-buck2-dvs-gpio = <&gph0 5 0>;
98                         max8998,pmic-buck2-dvs-voltage = <1200000>, <1200000>;
99
100                         regulators {
101                                 ldo2_reg: LDO2 {
102                                         regulator-name = "VALIVE_1.1V";
103                                         regulator-min-microvolt = <1100000>;
104                                         regulator-max-microvolt = <1100000>;
105                                         regulator-always-on;
106                                 };
107
108                                 ldo3_reg: LDO3 {
109                                         regulator-name = "VUSB+MIPI_1.1V";
110                                         regulator-min-microvolt = <1100000>;
111                                         regulator-max-microvolt = <1100000>;
112                                         regulator-always-on;
113                                 };
114
115                                 ldo4_reg: LDO4 {
116                                         regulator-name = "VADC_3.3V";
117                                         regulator-min-microvolt = <3300000>;
118                                         regulator-max-microvolt = <3300000>;
119                                 };
120
121                                 ldo5_reg: LDO5 {
122                                         regulator-name = "VTF_2.8V";
123                                         regulator-min-microvolt = <2800000>;
124                                         regulator-max-microvolt = <2800000>;
125                                 };
126
127                                 ldo6_reg: LDO6 {
128                                         regulator-name = "VCC_3.3V";
129                                         regulator-min-microvolt = <3300000>;
130                                         regulator-max-microvolt = <3300000>;
131                                 };
132
133                                 ldo7_reg: LDO7 {
134                                         regulator-name = "VLCD_1.8V";
135                                         regulator-min-microvolt = <1800000>;
136                                         regulator-max-microvolt = <1800000>;
137                                         regulator-always-on;
138                                 };
139
140                                 ldo8_reg: LDO8 {
141                                         regulator-name = "VUSB+VDAC_3.3V";
142                                         regulator-min-microvolt = <3300000>;
143                                         regulator-max-microvolt = <3300000>;
144                                 };
145
146                                 ldo9_reg: LDO9 {
147                                         regulator-name = "VCC+VCAM_2.8V";
148                                         regulator-min-microvolt = <2800000>;
149                                         regulator-max-microvolt = <2800000>;
150                                 };
151
152                                 ldo10_reg: LDO10 {
153                                         regulator-name = "VPLL_1.1V";
154                                         regulator-min-microvolt = <1100000>;
155                                         regulator-max-microvolt = <1100000>;
156                                         regulator-boot-on;
157                                 };
158
159                                 ldo11_reg: LDO11 {
160                                         regulator-name = "CAM_IO_2.8V";
161                                         regulator-min-microvolt = <2800000>;
162                                         regulator-max-microvolt = <2800000>;
163                                 };
164
165                                 ldo12_reg: LDO12 {
166                                         regulator-name = "CAM_ISP_1.2V";
167                                         regulator-min-microvolt = <1200000>;
168                                         regulator-max-microvolt = <1200000>;
169                                 };
170
171                                 ldo13_reg: LDO13 {
172                                         regulator-name = "CAM_A_2.8V";
173                                         regulator-min-microvolt = <2800000>;
174                                         regulator-max-microvolt = <2800000>;
175                                 };
176
177                                 ldo14_reg: LDO14 {
178                                         regulator-name = "CAM_CIF_1.8V";
179                                         regulator-min-microvolt = <1800000>;
180                                         regulator-max-microvolt = <1800000>;
181                                 };
182
183                                 ldo15_reg: LDO15 {
184                                         regulator-name = "CAM_AF_3.3V";
185                                         regulator-min-microvolt = <3300000>;
186                                         regulator-max-microvolt = <3300000>;
187                                 };
188
189                                 ldo16_reg: LDO16 {
190                                         regulator-name = "VMIPI_1.8V";
191                                         regulator-min-microvolt = <1800000>;
192                                         regulator-max-microvolt = <1800000>;
193                                 };
194
195                                 ldo17_reg: LDO17 {
196                                         regulator-name = "CAM_8M_1.8V";
197                                         regulator-min-microvolt = <1800000>;
198                                         regulator-max-microvolt = <1800000>;
199                                         regulator-always-on;
200                                 };
201
202                                 buck1_reg: BUCK1 {
203                                         regulator-name = "VARM_1.2V";
204                                         regulator-min-microvolt = <1200000>;
205                                         regulator-max-microvolt = <1200000>;
206                                 };
207
208                                 buck2_reg: BUCK2 {
209                                         regulator-name = "VINT_1.2V";
210                                         regulator-min-microvolt = <1200000>;
211                                         regulator-max-microvolt = <1200000>;
212                                 };
213
214                                 buck3_reg: BUCK3 {
215                                         regulator-name = "VCC_1.8V";
216                                         regulator-min-microvolt = <1800000>;
217                                         regulator-max-microvolt = <1800000>;
218                                         regulator-always-on;
219                                 };
220
221                                 buck4_reg: BUCK4 {
222                                         regulator-name = "CAM_CORE_1.2V";
223                                         regulator-min-microvolt = <1200000>;
224                                         regulator-max-microvolt = <1200000>;
225                                         regulator-always-on;
226                                 };
227                         };
228                 };
229         };
230
231         gpio-keys {
232                 compatible = "gpio-keys";
233
234                 power-key {
235                         gpios = <&gph2 6 1>;
236                         linux,code = <KEY_POWER>;
237                         label = "power";
238                         debounce-interval = <1>;
239                         wakeup-source;
240                 };
241         };
242 };
243
244 &xusbxti {
245         clock-frequency = <24000000>;
246 };
247
248 &keypad {
249         linux,input-no-autorepeat;
250         wakeup-source;
251         samsung,keypad-num-rows = <3>;
252         samsung,keypad-num-columns = <3>;
253         pinctrl-names = "default";
254         pinctrl-0 = <&keypad_row0>, <&keypad_row1>, <&keypad_row2>,
255                         <&keypad_col0>, <&keypad_col1>, <&keypad_col2>;
256         status = "okay";
257
258         key_1 {
259                 keypad,row = <0>;
260                 keypad,column = <1>;
261                 linux,code = <KEY_CONNECT>;
262         };
263
264         key_2 {
265                 keypad,row = <0>;
266                 keypad,column = <2>;
267                 linux,code = <KEY_BACK>;
268         };
269
270         key_3 {
271                 keypad,row = <1>;
272                 keypad,column = <1>;
273                 linux,code = <KEY_CAMERA_FOCUS>;
274         };
275
276         key_4 {
277                 keypad,row = <1>;
278                 keypad,column = <2>;
279                 linux,code = <KEY_VOLUMEUP>;
280         };
281
282         key_5 {
283                 keypad,row = <2>;
284                 keypad,column = <1>;
285                 linux,code = <KEY_CAMERA>;
286         };
287
288         key_6 {
289                 keypad,row = <2>;
290                 keypad,column = <2>;
291                 linux,code = <KEY_VOLUMEDOWN>;
292         };
293 };
294
295 &uart0 {
296         status = "okay";
297 };
298
299 &uart1 {
300         status = "okay";
301 };
302
303 &uart2 {
304         status = "okay";
305 };
306
307 &uart3 {
308         status = "okay";
309 };
310
311 &sdhci0 {
312         bus-width = <4>;
313         non-removable;
314         vmmc-supply = <&ldo5_reg>;
315         pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus1 &sd0_bus4>;
316         pinctrl-names = "default";
317         status = "okay";
318 };
319
320 &sdhci2 {
321         bus-width = <4>;
322         cd-gpios = <&gph3 4 1>;
323         vmmc-supply = <&vtf_reg>;
324         cd-inverted;
325         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
326         pinctrl-names = "default";
327         status = "okay";
328 };
329
330 &hsotg {
331         vusb_a-supply = <&ldo3_reg>;
332         vusb_d-supply = <&ldo8_reg>;
333         dr_mode = "peripheral";
334         status = "okay";
335 };
336
337 &usbphy {
338         status = "okay";
339 };
340
341 &i2c2 {
342         samsung,i2c-sda-delay = <100>;
343         samsung,i2c-max-bus-freq = <400000>;
344         samsung,i2c-slave-addr = <0x10>;
345         status = "okay";
346
347         tsp@4a {
348                 compatible = "atmel,maxtouch";
349                 reg = <0x4a>;
350                 interrupt-parent = <&gpj0>;
351                 interrupts = <5 2>;
352
353                 atmel,x-line = <17>;
354                 atmel,y-line = <11>;
355                 atmel,x-size = <800>;
356                 atmel,y-size = <480>;
357                 atmel,burst-length = <0x21>;
358                 atmel,threshold = <0x28>;
359                 atmel,orientation = <1>;
360
361                 vdd-supply = <&tsp_reg>;
362         };
363 };
364
365 &i2c0 {
366         samsung,i2c-sda-delay = <100>;
367         samsung,i2c-max-bus-freq = <100000>;
368         samsung,i2c-slave-addr = <0x10>;
369         status = "okay";
370
371         noon010pc30: sensor@30 {
372                 compatible = "siliconfile,noon010pc30";
373                 reg = <0x30>;
374                 vddio-supply = <&ldo11_reg>;
375                 vdda-supply = <&ldo13_reg>;
376                 vdd_core-supply = <&ldo14_reg>;
377
378                 clock-frequency = <16000000>;
379                 clocks = <&clock_cam 0>;
380                 clock-names = "mclk";
381                 nreset-gpios = <&gpb 2 0>;
382                 nstby-gpios = <&gpb 0 0>;
383
384                 port {
385                         noon010pc30_ep: endpoint {
386                                 remote-endpoint = <&fimc0_ep>;
387                                 bus-width = <8>;
388                                 hsync-active = <0>;
389                                 vsync-active = <1>;
390                                 pclk-sample = <1>;
391                         };
392                 };
393         };
394 };
395
396 &camera {
397         pinctrl-0 = <&cam_port_a_io &cam_port_a_clk_active>;
398         pinctrl-1 = <&cam_port_a_io &cam_port_a_clk_idle>;
399         pinctrl-names = "default", "idle";
400
401         parallel-ports {
402                 #address-cells = <1>;
403                 #size-cells = <0>;
404
405                 /* camera A input */
406                 port@1 {
407                         reg = <1>;
408                         fimc0_ep: endpoint {
409                                 remote-endpoint = <&noon010pc30_ep>;
410                                 bus-width = <8>;
411                                 hsync-active = <1>;
412                                 vsync-active = <1>;
413                                 pclk-sample = <0>;
414                         };
415                 };
416         };
417 };
418
419 &fimd {
420         pinctrl-0 = <&lcd_clk &lcd_data24>;
421         pinctrl-names = "default";
422         status = "okay";
423
424         display-timings {
425                 native-mode = <&timing0>;
426                 timing0: timing {
427                         /* 480x800@55Hz */
428                         clock-frequency = <23439570>;
429                         hactive = <480>;
430                         hfront-porch = <16>;
431                         hback-porch = <16>;
432                         hsync-len = <2>;
433                         vactive = <800>;
434                         vback-porch = <2>;
435                         vfront-porch = <28>;
436                         vsync-len = <1>;
437                         hsync-active = <0>;
438                         vsync-active = <0>;
439                         de-active = <0>;
440                         pixelclk-active = <0>;
441                 };
442         };
443 };
444
445 &onenand {
446         status = "okay";
447 };