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