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