blob: 7e728a1b55590abe15e89d109ad0433a86785f17 [file] [log] [blame]
Girish K Se88d5ae2013-02-04 16:15:56 -08001/*
2 * Samsung's Exynos5250 based Arndale board device tree source
3 *
4 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
5 * http://www.samsung.com
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
Andreas Faerberc71335e2014-09-24 00:00:46 +090010 */
Girish K Se88d5ae2013-02-04 16:15:56 -080011
12/dts-v1/;
Andreas Faerberc71335e2014-09-24 00:00:46 +090013#include <dt-bindings/gpio/gpio.h>
Mark Brownd40f3142013-07-24 10:55:16 +090014#include <dt-bindings/interrupt-controller/irq.h>
Sachin Kamat2d7a5bd2014-05-28 00:56:16 +090015#include <dt-bindings/input/input.h>
Andreas Faerberc71335e2014-09-24 00:00:46 +090016#include "exynos5250.dtsi"
Girish K Se88d5ae2013-02-04 16:15:56 -080017
18/ {
19 model = "Insignal Arndale evaluation board based on EXYNOS5250";
Sachin Kamat8bdb31b2014-03-21 02:17:22 +090020 compatible = "insignal,arndale", "samsung,exynos5250", "samsung,exynos5";
Girish K Se88d5ae2013-02-04 16:15:56 -080021
22 memory {
23 reg = <0x40000000 0x80000000>;
24 };
25
26 chosen {
27 bootargs = "console=ttySAC2,115200";
28 };
29
Tushar Behera89fec222013-04-04 14:24:47 +090030 gpio_keys {
31 compatible = "gpio-keys";
32
33 menu {
34 label = "SW-TACT2";
Andreas Faerberc71335e2014-09-24 00:00:46 +090035 gpios = <&gpx1 4 GPIO_ACTIVE_LOW>;
Sachin Kamat2d7a5bd2014-05-28 00:56:16 +090036 linux,code = <KEY_MENU>;
Tushar Behera89fec222013-04-04 14:24:47 +090037 gpio-key,wakeup;
38 };
39
40 home {
41 label = "SW-TACT3";
Andreas Faerberc71335e2014-09-24 00:00:46 +090042 gpios = <&gpx1 5 GPIO_ACTIVE_LOW>;
Sachin Kamat2d7a5bd2014-05-28 00:56:16 +090043 linux,code = <KEY_HOME>;
Tushar Behera89fec222013-04-04 14:24:47 +090044 gpio-key,wakeup;
45 };
46
47 up {
48 label = "SW-TACT4";
Andreas Faerberc71335e2014-09-24 00:00:46 +090049 gpios = <&gpx1 6 GPIO_ACTIVE_LOW>;
Sachin Kamat2d7a5bd2014-05-28 00:56:16 +090050 linux,code = <KEY_UP>;
Tushar Behera89fec222013-04-04 14:24:47 +090051 gpio-key,wakeup;
52 };
53
54 down {
55 label = "SW-TACT5";
Andreas Faerberc71335e2014-09-24 00:00:46 +090056 gpios = <&gpx1 7 GPIO_ACTIVE_LOW>;
Sachin Kamat2d7a5bd2014-05-28 00:56:16 +090057 linux,code = <KEY_DOWN>;
Tushar Behera89fec222013-04-04 14:24:47 +090058 gpio-key,wakeup;
59 };
60
61 back {
62 label = "SW-TACT6";
Andreas Faerberc71335e2014-09-24 00:00:46 +090063 gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
Sachin Kamat2d7a5bd2014-05-28 00:56:16 +090064 linux,code = <KEY_BACK>;
Tushar Behera89fec222013-04-04 14:24:47 +090065 gpio-key,wakeup;
66 };
67
68 wakeup {
69 label = "SW-TACT7";
Andreas Faerberc71335e2014-09-24 00:00:46 +090070 gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
Sachin Kamat2d7a5bd2014-05-28 00:56:16 +090071 linux,code = <KEY_WAKEUP>;
Tushar Behera89fec222013-04-04 14:24:47 +090072 gpio-key,wakeup;
73 };
74 };
75
Mark Brownaa3edb62013-07-24 10:55:16 +090076 regulators {
77 compatible = "simple-bus";
78 #address-cells = <1>;
79 #size-cells = <0>;
Sachin Kamat29881032013-04-04 14:24:55 +090080
Sachin Kamat8365f762013-10-06 09:21:10 +090081 main_dc_reg: regulator@0 {
Mark Brownc1f2d532013-07-24 10:55:16 +090082 compatible = "regulator-fixed";
Sachin Kamat8365f762013-10-06 09:21:10 +090083 reg = <0>;
Mark Brownc1f2d532013-07-24 10:55:16 +090084 regulator-name = "MAIN_DC";
85 };
86
Sachin Kamat8365f762013-10-06 09:21:10 +090087 mmc_reg: regulator@1 {
Mark Brownaa3edb62013-07-24 10:55:16 +090088 compatible = "regulator-fixed";
Sachin Kamat8365f762013-10-06 09:21:10 +090089 reg = <1>;
Mark Brownaa3edb62013-07-24 10:55:16 +090090 regulator-name = "VDD_33ON_2.8V";
91 regulator-min-microvolt = <2800000>;
92 regulator-max-microvolt = <2800000>;
Andreas Faerberc71335e2014-09-24 00:00:46 +090093 gpio = <&gpx1 1 GPIO_ACTIVE_LOW>;
Mark Brownaa3edb62013-07-24 10:55:16 +090094 enable-active-high;
95 };
96
Sachin Kamat8365f762013-10-06 09:21:10 +090097 reg_hdmi_en: regulator@2 {
Mark Brownaa3edb62013-07-24 10:55:16 +090098 compatible = "regulator-fixed";
Sachin Kamat8365f762013-10-06 09:21:10 +090099 reg = <2>;
Mark Brownaa3edb62013-07-24 10:55:16 +0900100 regulator-name = "hdmi-en";
101 };
Sachin Kamat2d2ff612013-04-04 14:25:06 +0900102 };
103
Thomas Abraham8b6076d2013-03-09 17:19:22 +0900104 fixed-rate-clocks {
105 xxti {
106 compatible = "samsung,clock-xxti";
107 clock-frequency = <24000000>;
108 };
109 };
Vikas Sajjana3093e62013-06-10 17:04:36 +0900110
Andreas Faerberceb5b5d2014-09-24 00:01:50 +0900111 // SMSC USB3503 connected in hardware only mode as a PHY
112 usb_hub: usb-hub {
113 compatible = "smsc,usb3503a";
Mark Brown7c1b0ec2013-08-19 04:33:22 +0900114
Andreas Faerberceb5b5d2014-09-24 00:01:50 +0900115 reset-gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
116 connect-gpios = <&gpd1 7 GPIO_ACTIVE_LOW>;
Mark Brown7c1b0ec2013-08-19 04:33:22 +0900117 };
Girish K Se88d5ae2013-02-04 16:15:56 -0800118};
Andreas Faerberc71335e2014-09-24 00:00:46 +0900119
120&dp {
121 status = "okay";
122 samsung,color-space = <0>;
123 samsung,dynamic-range = <0>;
124 samsung,ycbcr-coeff = <0>;
125 samsung,color-depth = <1>;
126 samsung,link-rate = <0x0a>;
127 samsung,lane-count = <4>;
128};
129
130&fimd {
131 status = "okay";
132
133 display-timings {
134 native-mode = <&timing0>;
135
136 timing0: timing@0 {
137 /* 2560x1600 DP panel */
138 clock-frequency = <50000>;
139 hactive = <2560>;
140 vactive = <1600>;
141 hfront-porch = <48>;
142 hback-porch = <80>;
143 hsync-len = <32>;
144 vback-porch = <16>;
145 vfront-porch = <8>;
146 vsync-len = <6>;
147 };
148 };
149};
150
151&hdmi {
Andreas Faerbere79bfe12014-09-24 00:01:28 +0900152 hpd-gpio = <&gpx3 7 GPIO_ACTIVE_LOW>;
Andreas Faerberc71335e2014-09-24 00:00:46 +0900153 vdd_osc-supply = <&ldo10_reg>;
154 vdd_pll-supply = <&ldo8_reg>;
155 vdd-supply = <&ldo8_reg>;
156};
157
158&i2c_0 {
159 status = "okay";
160 samsung,i2c-sda-delay = <100>;
161 samsung,i2c-max-bus-freq = <20000>;
162 samsung,i2c-slave-addr = <0x66>;
163
164 s5m8767_pmic@66 {
165 compatible = "samsung,s5m8767-pmic";
166 reg = <0x66>;
167 interrupt-parent = <&gpx3>;
168 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
169
170 vinb1-supply = <&main_dc_reg>;
171 vinb2-supply = <&main_dc_reg>;
172 vinb3-supply = <&main_dc_reg>;
173 vinb4-supply = <&main_dc_reg>;
174 vinb5-supply = <&main_dc_reg>;
175 vinb6-supply = <&main_dc_reg>;
176 vinb7-supply = <&main_dc_reg>;
177 vinb8-supply = <&main_dc_reg>;
178 vinb9-supply = <&main_dc_reg>;
179
180 vinl1-supply = <&buck7_reg>;
181 vinl2-supply = <&buck7_reg>;
182 vinl3-supply = <&buck7_reg>;
183 vinl4-supply = <&main_dc_reg>;
184 vinl5-supply = <&main_dc_reg>;
185 vinl6-supply = <&main_dc_reg>;
186 vinl7-supply = <&main_dc_reg>;
187 vinl8-supply = <&buck8_reg>;
188 vinl9-supply = <&buck8_reg>;
189
190 s5m8767,pmic-buck2-dvs-voltage = <1300000>;
191 s5m8767,pmic-buck3-dvs-voltage = <1100000>;
192 s5m8767,pmic-buck4-dvs-voltage = <1200000>;
193 s5m8767,pmic-buck-dvs-gpios = <&gpd1 0 GPIO_ACTIVE_HIGH>,
194 <&gpd1 1 GPIO_ACTIVE_HIGH>,
195 <&gpd1 2 GPIO_ACTIVE_HIGH>;
196 s5m8767,pmic-buck-ds-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>,
197 <&gpx2 4 GPIO_ACTIVE_HIGH>,
198 <&gpx2 5 GPIO_ACTIVE_HIGH>;
199
200 regulators {
201 ldo1_reg: LDO1 {
202 regulator-name = "VDD_ALIVE_1.0V";
203 regulator-min-microvolt = <1100000>;
204 regulator-max-microvolt = <1100000>;
205 regulator-always-on;
206 regulator-boot-on;
207 op_mode = <1>;
208 };
209
210 ldo2_reg: LDO2 {
211 regulator-name = "VDD_28IO_DP_1.35V";
212 regulator-min-microvolt = <1200000>;
213 regulator-max-microvolt = <1200000>;
214 regulator-always-on;
215 regulator-boot-on;
216 op_mode = <1>;
217 };
218
219 ldo3_reg: LDO3 {
220 regulator-name = "VDD_COMMON1_1.8V";
221 regulator-min-microvolt = <1800000>;
222 regulator-max-microvolt = <1800000>;
223 regulator-always-on;
224 regulator-boot-on;
225 op_mode = <1>;
226 };
227
228 ldo4_reg: LDO4 {
229 regulator-name = "VDD_IOPERI_1.8V";
230 regulator-min-microvolt = <1800000>;
231 regulator-max-microvolt = <1800000>;
232 regulator-always-on;
233 op_mode = <1>;
234 };
235
236 ldo5_reg: LDO5 {
237 regulator-name = "VDD_EXT_1.8V";
238 regulator-min-microvolt = <1800000>;
239 regulator-max-microvolt = <1800000>;
240 regulator-always-on;
241 regulator-boot-on;
242 op_mode = <1>;
243 };
244
245 ldo6_reg: LDO6 {
246 regulator-name = "VDD_MPLL_1.1V";
247 regulator-min-microvolt = <1100000>;
248 regulator-max-microvolt = <1100000>;
249 regulator-always-on;
250 regulator-boot-on;
251 op_mode = <1>;
252 };
253
254 ldo7_reg: LDO7 {
255 regulator-name = "VDD_XPLL_1.1V";
256 regulator-min-microvolt = <1100000>;
257 regulator-max-microvolt = <1100000>;
258 regulator-always-on;
259 regulator-boot-on;
260 op_mode = <1>;
261 };
262
263 ldo8_reg: LDO8 {
264 regulator-name = "VDD_COMMON2_1.0V";
265 regulator-min-microvolt = <1000000>;
266 regulator-max-microvolt = <1000000>;
267 regulator-always-on;
268 regulator-boot-on;
269 op_mode = <1>;
270 };
271
272 ldo9_reg: LDO9 {
273 regulator-name = "VDD_33ON_3.0V";
274 regulator-min-microvolt = <3000000>;
275 regulator-max-microvolt = <3000000>;
276 op_mode = <1>;
277 };
278
279 ldo10_reg: LDO10 {
280 regulator-name = "VDD_COMMON3_1.8V";
281 regulator-min-microvolt = <1800000>;
282 regulator-max-microvolt = <1800000>;
283 regulator-always-on;
284 regulator-boot-on;
285 op_mode = <1>;
286 };
287
288 ldo11_reg: LDO11 {
289 regulator-name = "VDD_ABB2_1.8V";
290 regulator-min-microvolt = <1800000>;
291 regulator-max-microvolt = <1800000>;
292 regulator-always-on;
293 regulator-boot-on;
294 op_mode = <1>;
295 };
296
297 ldo12_reg: LDO12 {
298 regulator-name = "VDD_USB_3.0V";
299 regulator-min-microvolt = <3000000>;
300 regulator-max-microvolt = <3000000>;
301 regulator-always-on;
302 regulator-boot-on;
303 op_mode = <1>;
304 };
305
306 ldo13_reg: LDO13 {
307 regulator-name = "VDDQ_C2C_W_1.8V";
308 regulator-min-microvolt = <1800000>;
309 regulator-max-microvolt = <1800000>;
310 regulator-always-on;
311 regulator-boot-on;
312 op_mode = <1>;
313 };
314
315 ldo14_reg: LDO14 {
316 regulator-name = "VDD18_ABB0_3_1.8V";
317 regulator-min-microvolt = <1800000>;
318 regulator-max-microvolt = <1800000>;
319 regulator-always-on;
320 regulator-boot-on;
321 op_mode = <1>;
322 };
323
324 ldo15_reg: LDO15 {
325 regulator-name = "VDD10_COMMON4_1.0V";
326 regulator-min-microvolt = <1000000>;
327 regulator-max-microvolt = <1000000>;
328 regulator-always-on;
329 regulator-boot-on;
330 op_mode = <1>;
331 };
332
333 ldo16_reg: LDO16 {
334 regulator-name = "VDD18_HSIC_1.8V";
335 regulator-min-microvolt = <1800000>;
336 regulator-max-microvolt = <1800000>;
337 regulator-always-on;
338 regulator-boot-on;
339 op_mode = <1>;
340 };
341
342 ldo17_reg: LDO17 {
343 regulator-name = "VDDQ_MMC2_3_2.8V";
344 regulator-min-microvolt = <2800000>;
345 regulator-max-microvolt = <2800000>;
346 regulator-always-on;
347 regulator-boot-on;
348 op_mode = <1>;
349 };
350
351 ldo18_reg: LDO18 {
352 regulator-name = "VDD_33ON_2.8V";
353 regulator-min-microvolt = <2800000>;
354 regulator-max-microvolt = <2800000>;
355 op_mode = <1>;
356 };
357
358 ldo22_reg: LDO22 {
359 regulator-name = "EXT_33_OFF";
360 regulator-min-microvolt = <3300000>;
361 regulator-max-microvolt = <3300000>;
362 op_mode = <1>;
363 };
364
365 ldo23_reg: LDO23 {
366 regulator-name = "EXT_28_OFF";
367 regulator-min-microvolt = <2800000>;
368 regulator-max-microvolt = <2800000>;
369 op_mode = <1>;
370 };
371
372 ldo25_reg: LDO25 {
373 regulator-name = "PVDD_LDO25";
374 regulator-min-microvolt = <1200000>;
375 regulator-max-microvolt = <1200000>;
376 op_mode = <1>;
377 };
378
379 ldo26_reg: LDO26 {
380 regulator-name = "EXT_18_OFF";
381 regulator-min-microvolt = <1800000>;
382 regulator-max-microvolt = <1800000>;
383 op_mode = <1>;
384 };
385
386 buck1_reg: BUCK1 {
387 regulator-name = "vdd_mif";
388 regulator-min-microvolt = <950000>;
389 regulator-max-microvolt = <1200000>;
390 regulator-always-on;
391 regulator-boot-on;
392 op_mode = <1>;
393 };
394
395 buck2_reg: BUCK2 {
396 regulator-name = "vdd_arm";
397 regulator-min-microvolt = <912500>;
398 regulator-max-microvolt = <1300000>;
399 regulator-always-on;
400 regulator-boot-on;
401 op_mode = <1>;
402 };
403
404 buck3_reg: BUCK3 {
405 regulator-name = "vdd_int";
406 regulator-min-microvolt = <900000>;
407 regulator-max-microvolt = <1200000>;
408 regulator-always-on;
409 regulator-boot-on;
410 op_mode = <1>;
411 };
412
413 buck4_reg: BUCK4 {
414 regulator-name = "vdd_g3d";
415 regulator-min-microvolt = <1000000>;
416 regulator-max-microvolt = <1000000>;
417 regulator-always-on;
418 regulator-boot-on;
419 op_mode = <1>;
420 };
421
422 buck5_reg: BUCK5 {
423 regulator-name = "VDD_MEM_1.35V";
424 regulator-min-microvolt = <750000>;
425 regulator-max-microvolt = <1355000>;
426 regulator-always-on;
427 regulator-boot-on;
428 op_mode = <1>;
429 };
430
431 buck7_reg: BUCK7 {
432 regulator-name = "PVDD_BUCK7";
433 regulator-always-on;
434 op_mode = <1>;
435 };
436
437 buck8_reg: BUCK8 {
438 regulator-name = "PVDD_BUCK8";
439 regulator-always-on;
440 op_mode = <1>;
441 };
442
443 buck9_reg: BUCK9 {
444 regulator-name = "VDD_33_OFF_EXT1";
445 regulator-min-microvolt = <750000>;
446 regulator-max-microvolt = <3000000>;
447 op_mode = <1>;
448 };
449 };
450 };
451};
452
453&i2c_2 {
454 status = "okay";
455
456 samsung,i2c-sda-delay = <100>;
457 samsung,i2c-max-bus-freq = <66000>;
458 samsung,i2c-slave-addr = <0x50>;
459
460 hdmiddc@50 {
461 compatible = "samsung,exynos4210-hdmiddc";
462 reg = <0x50>;
463 };
464};
465
466&i2c_3 {
467 status = "okay";
468
469 wm1811a@1a {
470 compatible = "wlf,wm1811";
471 reg = <0x1a>;
472
473 AVDD2-supply = <&main_dc_reg>;
474 CPVDD-supply = <&main_dc_reg>;
475 DBVDD1-supply = <&main_dc_reg>;
476 DBVDD2-supply = <&main_dc_reg>;
477 DBVDD3-supply = <&main_dc_reg>;
478 LDO1VDD-supply = <&main_dc_reg>;
479 SPKVDD1-supply = <&main_dc_reg>;
480 SPKVDD2-supply = <&main_dc_reg>;
481
482 wlf,ldo1ena = <&gpb0 0 GPIO_ACTIVE_HIGH>;
483 wlf,ldo2ena = <&gpb0 1 GPIO_ACTIVE_HIGH>;
484 };
485};
486
487&i2c_8 {
488 status = "okay";
489
490 samsung,i2c-sda-delay = <100>;
491 samsung,i2c-max-bus-freq = <66000>;
492 samsung,i2c-slave-addr = <0x38>;
493
494 hdmiphy@38 {
495 compatible = "samsung,exynos4212-hdmiphy";
496 reg = <0x38>;
497 };
498};
499
500&i2c_9 {
501 status = "okay";
502 samsung,i2c-sda-delay = <100>;
503 samsung,i2c-max-bus-freq = <40000>;
504 samsung,i2c-slave-addr = <0x38>;
505
506 sata_phy_i2c:sata-phy@38 {
507 compatible = "samsung,exynos-sataphy-i2c";
508 reg = <0x38>;
509 };
510};
511
512&i2s0 {
513 status = "okay";
514};
515
516&mfc {
517 samsung,mfc-r = <0x43000000 0x800000>;
518 samsung,mfc-l = <0x51000000 0x800000>;
519};
520
521&mmc_0 {
522 status = "okay";
523 num-slots = <1>;
524 broken-cd;
525 card-detect-delay = <200>;
526 samsung,dw-mshc-ciu-div = <3>;
527 samsung,dw-mshc-sdr-timing = <2 3>;
528 samsung,dw-mshc-ddr-timing = <1 2>;
529 vmmc-supply = <&mmc_reg>;
530 pinctrl-names = "default";
531 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
532 bus-width = <8>;
533 cap-mmc-highspeed;
534};
535
536&mmc_2 {
537 status = "okay";
538 num-slots = <1>;
539 card-detect-delay = <200>;
540 samsung,dw-mshc-ciu-div = <3>;
541 samsung,dw-mshc-sdr-timing = <2 3>;
542 samsung,dw-mshc-ddr-timing = <1 2>;
543 vmmc-supply = <&mmc_reg>;
544 pinctrl-names = "default";
545 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
546 bus-width = <4>;
547 disable-wp;
548 cap-sd-highspeed;
549};
550
551&rtc {
552 status = "okay";
553};
554
555&sata {
556 status = "okay";
557};
558
559&sata_phy {
560 status = "okay";
561 samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>;
562};