]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - arch/arm/boot/dts/exynos4210-universal_c210.dts
Merge branch 'next/drivers' into 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 };
253
254 &fimd {
255         pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
256         pinctrl-names = "default";
257         status = "okay";
258         samsung,invert-vden;
259         samsung,invert-vclk;
260         #address-cells = <1>;
261         #size-cells = <0>;
262         port@3 {
263                 reg = <3>;
264                 fimd_dpi_ep: endpoint {
265                         remote-endpoint = <&lcd_ep>;
266                 };
267         };
268 };
269
270 &hdmi {
271         hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
272         pinctrl-names = "default";
273         pinctrl-0 = <&hdmi_hpd>;
274         hdmi-en-supply = <&hdmi_en>;
275         vdd-supply = <&ldo3_reg>;
276         vdd_osc-supply = <&ldo4_reg>;
277         vdd_pll-supply = <&ldo3_reg>;
278         ddc = <&hdmi_ddc>;
279         status = "okay";
280 };
281
282 &hsotg {
283         vusb_d-supply = <&ldo3_reg>;
284         vusb_a-supply = <&ldo8_reg>;
285         dr_mode = "peripheral";
286         status = "okay";
287 };
288
289 &i2c_3 {
290         samsung,i2c-sda-delay = <100>;
291         samsung,i2c-slave-addr = <0x10>;
292         samsung,i2c-max-bus-freq = <100000>;
293         pinctrl-0 = <&i2c3_bus>;
294         pinctrl-names = "default";
295         status = "okay";
296
297         tsp@4a {
298                 /* TBD: Atmel maXtouch touchscreen */
299                 reg = <0x4a>;
300         };
301 };
302
303 &i2c_5 {
304         samsung,i2c-sda-delay = <100>;
305         samsung,i2c-slave-addr = <0x10>;
306         samsung,i2c-max-bus-freq = <100000>;
307         pinctrl-0 = <&i2c5_bus>;
308         pinctrl-names = "default";
309         status = "okay";
310
311         vdd_arm_reg: pmic@60 {
312                 compatible = "maxim,max8952";
313                 reg = <0x60>;
314
315                 max8952,vid-gpios = <&gpx0 3 GPIO_ACTIVE_HIGH>,
316                                     <&gpx0 4 GPIO_ACTIVE_HIGH>;
317                 max8952,default-mode = <0>;
318                 max8952,dvs-mode-microvolt = <1250000>, <1200000>,
319                                                 <1050000>, <950000>;
320                 max8952,sync-freq = <0>;
321                 max8952,ramp-speed = <0>;
322
323                 regulator-name = "vdd_arm";
324                 regulator-min-microvolt = <770000>;
325                 regulator-max-microvolt = <1400000>;
326                 regulator-always-on;
327                 regulator-boot-on;
328         };
329
330         pmic@66 {
331                 compatible = "national,lp3974";
332                 reg = <0x66>;
333
334                 max8998,pmic-buck1-default-dvs-idx = <0>;
335                 max8998,pmic-buck1-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
336                                                 <&gpx0 6 GPIO_ACTIVE_HIGH>;
337                 max8998,pmic-buck1-dvs-voltage = <1100000>, <1000000>,
338                                                 <1100000>, <1000000>;
339
340                 max8998,pmic-buck2-default-dvs-idx = <0>;
341                 max8998,pmic-buck2-dvs-gpio = <&gpe2 0 GPIO_ACTIVE_HIGH>;
342                 max8998,pmic-buck2-dvs-voltage = <1200000>, <1100000>;
343
344                 regulators {
345                         ldo2_reg: LDO2 {
346                                 regulator-name = "VALIVE_1.2V";
347                                 regulator-min-microvolt = <1200000>;
348                                 regulator-max-microvolt = <1200000>;
349                                 regulator-always-on;
350                         };
351
352                         ldo3_reg: LDO3 {
353                                 regulator-name = "VUSB+MIPI_1.1V";
354                                 regulator-min-microvolt = <1100000>;
355                                 regulator-max-microvolt = <1100000>;
356                                 regulator-always-on;
357                         };
358
359                         ldo4_reg: LDO4 {
360                                 regulator-name = "VADC_3.3V";
361                                 regulator-min-microvolt = <3300000>;
362                                 regulator-max-microvolt = <3300000>;
363                         };
364
365                         ldo5_reg: LDO5 {
366                                 regulator-name = "VTF_2.8V";
367                                 regulator-min-microvolt = <2800000>;
368                                 regulator-max-microvolt = <2800000>;
369                         };
370
371                         ldo6_reg: LDO6 {
372                                 regulator-name = "LDO6";
373                                 regulator-min-microvolt = <2000000>;
374                                 regulator-max-microvolt = <2000000>;
375                         };
376
377                         ldo7_reg: LDO7 {
378                                 regulator-name = "VLCD+VMIPI_1.8V";
379                                 regulator-min-microvolt = <1800000>;
380                                 regulator-max-microvolt = <1800000>;
381                         };
382
383                         ldo8_reg: LDO8 {
384                                 regulator-name = "VUSB+VDAC_3.3V";
385                                 regulator-min-microvolt = <3300000>;
386                                 regulator-max-microvolt = <3300000>;
387                                 regulator-always-on;
388                         };
389
390                         ldo9_reg: LDO9 {
391                                 regulator-name = "VCC_2.8V";
392                                 regulator-min-microvolt = <2800000>;
393                                 regulator-max-microvolt = <2800000>;
394                                 regulator-always-on;
395                         };
396
397                         ldo10_reg: LDO10 {
398                                 regulator-name = "VPLL_1.1V";
399                                 regulator-min-microvolt = <1100000>;
400                                 regulator-max-microvolt = <1100000>;
401                                 regulator-boot-on;
402                                 regulator-always-on;
403                         };
404
405                         ldo11_reg: LDO11 {
406                                 regulator-name = "CAM_AF_3.3V";
407                                 regulator-min-microvolt = <3300000>;
408                                 regulator-max-microvolt = <3300000>;
409                         };
410
411                         ldo12_reg: LDO12 {
412                                 regulator-name = "PS_2.8V";
413                                 regulator-min-microvolt = <2800000>;
414                                 regulator-max-microvolt = <2800000>;
415                         };
416
417                         ldo13_reg: LDO13 {
418                                 regulator-name = "VHIC_1.2V";
419                                 regulator-min-microvolt = <1200000>;
420                                 regulator-max-microvolt = <1200000>;
421                         };
422
423                         ldo14_reg: LDO14 {
424                                 regulator-name = "CAM_I_HOST_1.8V";
425                                 regulator-min-microvolt = <1800000>;
426                                 regulator-max-microvolt = <1800000>;
427                         };
428
429                         ldo15_reg: LDO15 {
430                                 regulator-name = "CAM_S_DIG+FM33_CORE_1.2V";
431                                 regulator-min-microvolt = <1200000>;
432                                 regulator-max-microvolt = <1200000>;
433                         };
434
435                         ldo16_reg: LDO16 {
436                                 regulator-name = "CAM_S_ANA_2.8V";
437                                 regulator-min-microvolt = <2800000>;
438                                 regulator-max-microvolt = <2800000>;
439                         };
440
441                         ldo17_reg: LDO17 {
442                                 regulator-name = "VCC_3.0V_LCD";
443                                 regulator-min-microvolt = <3000000>;
444                                 regulator-max-microvolt = <3000000>;
445                         };
446
447                         buck1_reg: BUCK1 {
448                                 regulator-name = "VINT_1.1V";
449                                 regulator-min-microvolt = <750000>;
450                                 regulator-max-microvolt = <1500000>;
451                                 regulator-boot-on;
452                                 regulator-always-on;
453                         };
454
455                         buck2_reg: BUCK2 {
456                                 regulator-name = "VG3D_1.1V";
457                                 regulator-min-microvolt = <750000>;
458                                 regulator-max-microvolt = <1500000>;
459                                 regulator-boot-on;
460                         };
461
462                         buck3_reg: BUCK3 {
463                                 regulator-name = "VCC_1.8V";
464                                 regulator-min-microvolt = <1800000>;
465                                 regulator-max-microvolt = <1800000>;
466                                 regulator-always-on;
467                         };
468
469                         buck4_reg: BUCK4 {
470                                 regulator-name = "VMEM_1.2V";
471                                 regulator-min-microvolt = <1200000>;
472                                 regulator-max-microvolt = <1200000>;
473                                 regulator-always-on;
474                         };
475
476                         ap32khz_reg: EN32KHz-AP {
477                                 regulator-name = "32KHz AP";
478                                 regulator-always-on;
479                         };
480
481                         cp32khz_reg: EN32KHz-CP {
482                                 regulator-name = "32KHz CP";
483                         };
484
485                         vichg_reg: ENVICHG {
486                                 regulator-name = "VICHG";
487                         };
488
489                         safeout1_reg: ESAFEOUT1 {
490                                 regulator-name = "SAFEOUT1";
491                                 regulator-always-on;
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 };