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