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