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 / exynos4210-universal_c210.dts
1 /*
2  * Samsung's Exynos4210 based Universal C210 board device tree source
3  *
4  * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5  *              http://www.samsung.com
6  *
7  * Device tree source file for Samsung's Universal C210 board which is based on
8  * Samsung's Exynos4210 rev0 SoC.
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License version 2 as
12  * published by the Free Software Foundation.
13 */
14
15 /dts-v1/;
16 #include "exynos4210.dtsi"
17
18 / {
19         model = "Samsung Universal C210 based on Exynos4210 rev0";
20         compatible = "samsung,universal_c210", "samsung,exynos4210", "samsung,exynos4";
21
22         memory {
23                 reg =  <0x40000000 0x10000000
24                         0x50000000 0x10000000>;
25         };
26
27         chosen {
28                 bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rw rootwait earlyprintk panic=5 maxcpus=1";
29         };
30
31         sysram@02020000 {
32                 smp-sysram@0 {
33                         status = "disabled";
34                 };
35
36                 smp-sysram@5000 {
37                         compatible = "samsung,exynos4210-sysram";
38                         reg = <0x5000 0x1000>;
39                 };
40
41                 smp-sysram@1f000 {
42                         status = "disabled";
43                 };
44         };
45
46         mct@10050000 {
47                 compatible = "none";
48         };
49
50         fixed-rate-clocks {
51                 xxti {
52                         compatible = "samsung,clock-xxti";
53                         clock-frequency = <0>;
54                 };
55
56                 xusbxti {
57                         compatible = "samsung,clock-xusbxti";
58                         clock-frequency = <24000000>;
59                 };
60         };
61
62         vemmc_reg: voltage-regulator {
63                 compatible = "regulator-fixed";
64                 regulator-name = "VMEM_VDD_2_8V";
65                 regulator-min-microvolt = <2800000>;
66                 regulator-max-microvolt = <2800000>;
67                 gpio = <&gpe1 3 0>;
68                 enable-active-high;
69         };
70
71         hsotg@12480000 {
72                 vusb_d-supply = <&ldo3_reg>;
73                 vusb_a-supply = <&ldo8_reg>;
74                 status = "okay";
75         };
76
77         sdhci_emmc: sdhci@12510000 {
78                 bus-width = <8>;
79                 non-removable;
80                 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
81                 pinctrl-names = "default";
82                 vmmc-supply = <&vemmc_reg>;
83                 status = "okay";
84         };
85
86         sdhci_sd: sdhci@12530000 {
87                 bus-width = <4>;
88                 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
89                 pinctrl-names = "default";
90                 vmmc-supply = <&ldo5_reg>;
91                 cd-gpios = <&gpx3 4 0>;
92                 cd-inverted;
93                 status = "okay";
94         };
95
96         ehci@12580000 {
97                 status = "okay";
98                 port@0 {
99                         status = "okay";
100                 };
101         };
102
103         ohci@12590000 {
104                 status = "okay";
105                 port@0 {
106                         status = "okay";
107                 };
108         };
109
110         exynos-usbphy@125B0000 {
111                 status = "okay";
112         };
113
114         serial@13800000 {
115                 status = "okay";
116         };
117
118         serial@13810000 {
119                 status = "okay";
120         };
121
122         serial@13820000 {
123                 status = "okay";
124         };
125
126         serial@13830000 {
127                 status = "okay";
128         };
129
130         gpio-keys {
131                 compatible = "gpio-keys";
132
133                 vol-up-key {
134                         gpios = <&gpx2 0 1>;
135                         linux,code = <115>;
136                         label = "volume up";
137                         debounce-interval = <1>;
138                 };
139
140                 vol-down-key {
141                         gpios = <&gpx2 1 1>;
142                         linux,code = <114>;
143                         label = "volume down";
144                         debounce-interval = <1>;
145                 };
146
147                 config-key {
148                         gpios = <&gpx2 2 1>;
149                         linux,code = <171>;
150                         label = "config";
151                         debounce-interval = <1>;
152                         gpio-key,wakeup;
153                 };
154
155                 camera-key {
156                         gpios = <&gpx2 3 1>;
157                         linux,code = <212>;
158                         label = "camera";
159                         debounce-interval = <1>;
160                 };
161
162                 power-key {
163                         gpios = <&gpx2 7 1>;
164                         linux,code = <116>;
165                         label = "power";
166                         debounce-interval = <1>;
167                         gpio-key,wakeup;
168                 };
169
170                 ok-key {
171                         gpios = <&gpx3 5 1>;
172                         linux,code = <352>;
173                         label = "ok";
174                         debounce-interval = <1>;
175                 };
176         };
177
178         tsp_reg: voltage-regulator {
179                 compatible = "regulator-fixed";
180                 regulator-name = "TSP_2_8V";
181                 regulator-min-microvolt = <2800000>;
182                 regulator-max-microvolt = <2800000>;
183                 gpio = <&gpe2 3 0>;
184                 enable-active-high;
185         };
186
187         i2c@13890000 {
188                 samsung,i2c-sda-delay = <100>;
189                 samsung,i2c-slave-addr = <0x10>;
190                 samsung,i2c-max-bus-freq = <100000>;
191                 pinctrl-0 = <&i2c3_bus>;
192                 pinctrl-names = "default";
193                 status = "okay";
194
195                 tsp@4a {
196                         /* TBD: Atmel maXtouch touchscreen */
197                         reg = <0x4a>;
198                 };
199         };
200
201         i2c@138B0000 {
202                 samsung,i2c-sda-delay = <100>;
203                 samsung,i2c-slave-addr = <0x10>;
204                 samsung,i2c-max-bus-freq = <100000>;
205                 pinctrl-0 = <&i2c5_bus>;
206                 pinctrl-names = "default";
207                 status = "okay";
208
209                 vdd_arm_reg: pmic@60 {
210                         compatible = "maxim,max8952";
211                         reg = <0x60>;
212
213                         max8952,vid-gpios = <&gpx0 3 0>, <&gpx0 4 0>;
214                         max8952,default-mode = <0>;
215                         max8952,dvs-mode-microvolt = <1250000>, <1200000>,
216                                                         <1050000>, <950000>;
217                         max8952,sync-freq = <0>;
218                         max8952,ramp-speed = <0>;
219
220                         regulator-name = "vdd_arm";
221                         regulator-min-microvolt = <770000>;
222                         regulator-max-microvolt = <1400000>;
223                         regulator-always-on;
224                         regulator-boot-on;
225                 };
226
227                 pmic@66 {
228                         compatible = "national,lp3974";
229                         reg = <0x66>;
230
231                         max8998,pmic-buck1-default-dvs-idx = <0>;
232                         max8998,pmic-buck1-dvs-gpios = <&gpx0 5 0>,
233                                                         <&gpx0 6 0>;
234                         max8998,pmic-buck1-dvs-voltage = <1100000>, <1000000>,
235                                                         <1100000>, <1000000>;
236
237                         max8998,pmic-buck2-default-dvs-idx = <0>;
238                         max8998,pmic-buck2-dvs-gpio = <&gpe2 0 0>;
239                         max8998,pmic-buck2-dvs-voltage = <1200000>, <1100000>;
240
241                         regulators {
242                                 ldo2_reg: LDO2 {
243                                         regulator-name = "VALIVE_1.2V";
244                                         regulator-min-microvolt = <1200000>;
245                                         regulator-max-microvolt = <1200000>;
246                                         regulator-always-on;
247                                 };
248
249                                 ldo3_reg: LDO3 {
250                                         regulator-name = "VUSB+MIPI_1.1V";
251                                         regulator-min-microvolt = <1100000>;
252                                         regulator-max-microvolt = <1100000>;
253                                         regulator-always-on;
254                                 };
255
256                                 ldo4_reg: LDO4 {
257                                         regulator-name = "VADC_3.3V";
258                                         regulator-min-microvolt = <3300000>;
259                                         regulator-max-microvolt = <3300000>;
260                                 };
261
262                                 ldo5_reg: LDO5 {
263                                         regulator-name = "VTF_2.8V";
264                                         regulator-min-microvolt = <2800000>;
265                                         regulator-max-microvolt = <2800000>;
266                                 };
267
268                                 ldo6_reg: LDO6 {
269                                         regulator-name = "LDO6";
270                                         regulator-min-microvolt = <2000000>;
271                                         regulator-max-microvolt = <2000000>;
272                                 };
273
274                                 ldo7_reg: LDO7 {
275                                         regulator-name = "VLCD+VMIPI_1.8V";
276                                         regulator-min-microvolt = <1800000>;
277                                         regulator-max-microvolt = <1800000>;
278                                 };
279
280                                 ldo8_reg: LDO8 {
281                                         regulator-name = "VUSB+VDAC_3.3V";
282                                         regulator-min-microvolt = <3300000>;
283                                         regulator-max-microvolt = <3300000>;
284                                         regulator-always-on;
285                                 };
286
287                                 ldo9_reg: LDO9 {
288                                         regulator-name = "VCC_2.8V";
289                                         regulator-min-microvolt = <2800000>;
290                                         regulator-max-microvolt = <2800000>;
291                                         regulator-always-on;
292                                 };
293
294                                 ldo10_reg: LDO10 {
295                                         regulator-name = "VPLL_1.1V";
296                                         regulator-min-microvolt = <1100000>;
297                                         regulator-max-microvolt = <1100000>;
298                                         regulator-boot-on;
299                                         regulator-always-on;
300                                 };
301
302                                 ldo11_reg: LDO11 {
303                                         regulator-name = "CAM_AF_3.3V";
304                                         regulator-min-microvolt = <3300000>;
305                                         regulator-max-microvolt = <3300000>;
306                                 };
307
308                                 ldo12_reg: LDO12 {
309                                         regulator-name = "PS_2.8V";
310                                         regulator-min-microvolt = <2800000>;
311                                         regulator-max-microvolt = <2800000>;
312                                 };
313
314                                 ldo13_reg: LDO13 {
315                                         regulator-name = "VHIC_1.2V";
316                                         regulator-min-microvolt = <1200000>;
317                                         regulator-max-microvolt = <1200000>;
318                                 };
319
320                                 ldo14_reg: LDO14 {
321                                         regulator-name = "CAM_I_HOST_1.8V";
322                                         regulator-min-microvolt = <1800000>;
323                                         regulator-max-microvolt = <1800000>;
324                                 };
325
326                                 ldo15_reg: LDO15 {
327                                         regulator-name = "CAM_S_DIG+FM33_CORE_1.2V";
328                                         regulator-min-microvolt = <1200000>;
329                                         regulator-max-microvolt = <1200000>;
330                                 };
331
332                                 ldo16_reg: LDO16 {
333                                         regulator-name = "CAM_S_ANA_2.8V";
334                                         regulator-min-microvolt = <2800000>;
335                                         regulator-max-microvolt = <2800000>;
336                                 };
337
338                                 ldo17_reg: LDO17 {
339                                         regulator-name = "VCC_3.0V_LCD";
340                                         regulator-min-microvolt = <3000000>;
341                                         regulator-max-microvolt = <3000000>;
342                                 };
343
344                                 buck1_reg: BUCK1 {
345                                         regulator-name = "VINT_1.1V";
346                                         regulator-min-microvolt = <750000>;
347                                         regulator-max-microvolt = <1500000>;
348                                         regulator-boot-on;
349                                         regulator-always-on;
350                                 };
351
352                                 buck2_reg: BUCK2 {
353                                         regulator-name = "VG3D_1.1V";
354                                         regulator-min-microvolt = <750000>;
355                                         regulator-max-microvolt = <1500000>;
356                                         regulator-boot-on;
357                                 };
358
359                                 buck3_reg: BUCK3 {
360                                         regulator-name = "VCC_1.8V";
361                                         regulator-min-microvolt = <1800000>;
362                                         regulator-max-microvolt = <1800000>;
363                                         regulator-always-on;
364                                 };
365
366                                 buck4_reg: BUCK4 {
367                                         regulator-name = "VMEM_1.2V";
368                                         regulator-min-microvolt = <1200000>;
369                                         regulator-max-microvolt = <1200000>;
370                                         regulator-always-on;
371                                 };
372
373                                 ap32khz_reg: EN32KHz-AP {
374                                         regulator-name = "32KHz AP";
375                                         regulator-always-on;
376                                 };
377
378                                 cp32khz_reg: EN32KHz-CP {
379                                         regulator-name = "32KHz CP";
380                                 };
381
382                                 vichg_reg: ENVICHG {
383                                         regulator-name = "VICHG";
384                                 };
385
386                                 safeout1_reg: ESAFEOUT1 {
387                                         regulator-name = "SAFEOUT1";
388                                         regulator-always-on;
389                                 };
390
391                                 safeout2_reg: ESAFEOUT2 {
392                                         regulator-name = "SAFEOUT2";
393                                         regulator-boot-on;
394                                 };
395                         };
396                 };
397         };
398
399         spi-lcd {
400                 compatible = "spi-gpio";
401                 #address-cells = <1>;
402                 #size-cells = <0>;
403
404                 gpio-sck = <&gpy3 1 0>;
405                 gpio-mosi = <&gpy3 3 0>;
406                 num-chipselects = <1>;
407                 cs-gpios = <&gpy4 3 0>;
408
409                 lcd@0 {
410                         compatible = "samsung,ld9040";
411                         reg = <0>;
412                         vdd3-supply = <&ldo7_reg>;
413                         vci-supply = <&ldo17_reg>;
414                         reset-gpios = <&gpy4 5 0>;
415                         spi-max-frequency = <1200000>;
416                         spi-cpol;
417                         spi-cpha;
418                         power-on-delay = <10>;
419                         reset-delay = <10>;
420                         panel-width-mm = <90>;
421                         panel-height-mm = <154>;
422                         display-timings {
423                                 timing {
424                                         clock-frequency = <23492370>;
425                                         hactive = <480>;
426                                         vactive = <800>;
427                                         hback-porch = <16>;
428                                         hfront-porch = <16>;
429                                         vback-porch = <2>;
430                                         vfront-porch = <28>;
431                                         hsync-len = <2>;
432                                         vsync-len = <1>;
433                                         hsync-active = <0>;
434                                         vsync-active = <0>;
435                                         de-active = <0>;
436                                         pixelclk-active = <0>;
437                                 };
438                         };
439                         port {
440                                 lcd_ep: endpoint {
441                                         remote-endpoint = <&fimd_dpi_ep>;
442                                 };
443                         };
444                 };
445         };
446
447         fimd: fimd@11c00000 {
448                 pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
449                 pinctrl-names = "default";
450                 status = "okay";
451                 samsung,invert-vden;
452                 samsung,invert-vclk;
453                 #address-cells = <1>;
454                 #size-cells = <0>;
455                 port@3 {
456                         reg = <3>;
457                         fimd_dpi_ep: endpoint {
458                                 remote-endpoint = <&lcd_ep>;
459                         };
460                 };
461         };
462
463         pwm@139D0000 {
464                 compatible = "samsung,s5p6440-pwm";
465                 status = "okay";
466         };
467
468         camera {
469                 status = "okay";
470
471                 pinctrl-names = "default";
472                 pinctrl-0 = <>;
473
474                 fimc_0: fimc@11800000 {
475                         status = "okay";
476                         assigned-clocks = <&clock CLK_MOUT_FIMC0>,
477                                         <&clock CLK_SCLK_FIMC0>;
478                         assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
479                         assigned-clock-rates = <0>, <160000000>;
480                 };
481
482                 fimc_1: fimc@11810000 {
483                         status = "okay";
484                         assigned-clocks = <&clock CLK_MOUT_FIMC1>,
485                                         <&clock CLK_SCLK_FIMC1>;
486                         assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
487                         assigned-clock-rates = <0>, <160000000>;
488                 };
489
490                 fimc_2: fimc@11820000 {
491                         status = "okay";
492                         assigned-clocks = <&clock CLK_MOUT_FIMC2>,
493                                         <&clock CLK_SCLK_FIMC2>;
494                         assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
495                         assigned-clock-rates = <0>, <160000000>;
496                 };
497
498                 fimc_3: fimc@11830000 {
499                         status = "okay";
500                         assigned-clocks = <&clock CLK_MOUT_FIMC3>,
501                                         <&clock CLK_SCLK_FIMC3>;
502                         assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
503                         assigned-clock-rates = <0>, <160000000>;
504                 };
505         };
506 };
507
508 &mdma1 {
509         reg = <0x12840000 0x1000>;
510 };