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