1/*
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.
10 */
11
12/dts-v1/;
13#include <dt-bindings/gpio/gpio.h>
14#include <dt-bindings/interrupt-controller/irq.h>
15#include <dt-bindings/input/input.h>
16#include "exynos5250.dtsi"
17
18/ {
19	model = "Insignal Arndale evaluation board based on EXYNOS5250";
20	compatible = "insignal,arndale", "samsung,exynos5250", "samsung,exynos5";
21
22	memory {
23		reg = <0x40000000 0x80000000>;
24	};
25
26	chosen {
27		bootargs = "console=ttySAC2,115200";
28	};
29
30	gpio_keys {
31		compatible = "gpio-keys";
32
33		menu {
34			label = "SW-TACT2";
35			gpios = <&gpx1 4 GPIO_ACTIVE_LOW>;
36			linux,code = <KEY_MENU>;
37			gpio-key,wakeup;
38		};
39
40		home {
41			label = "SW-TACT3";
42			gpios = <&gpx1 5 GPIO_ACTIVE_LOW>;
43			linux,code = <KEY_HOME>;
44			gpio-key,wakeup;
45		};
46
47		up {
48			label = "SW-TACT4";
49			gpios = <&gpx1 6 GPIO_ACTIVE_LOW>;
50			linux,code = <KEY_UP>;
51			gpio-key,wakeup;
52		};
53
54		down {
55			label = "SW-TACT5";
56			gpios = <&gpx1 7 GPIO_ACTIVE_LOW>;
57			linux,code = <KEY_DOWN>;
58			gpio-key,wakeup;
59		};
60
61		back {
62			label = "SW-TACT6";
63			gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
64			linux,code = <KEY_BACK>;
65			gpio-key,wakeup;
66		};
67
68		wakeup {
69			label = "SW-TACT7";
70			gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
71			linux,code = <KEY_WAKEUP>;
72			gpio-key,wakeup;
73		};
74	};
75
76	regulators {
77		compatible = "simple-bus";
78		#address-cells = <1>;
79		#size-cells = <0>;
80
81		main_dc_reg: regulator@0 {
82			compatible = "regulator-fixed";
83			reg = <0>;
84			regulator-name = "MAIN_DC";
85		};
86
87		mmc_reg: regulator@1 {
88			compatible = "regulator-fixed";
89			reg = <1>;
90			regulator-name = "VDD_33ON_2.8V";
91			regulator-min-microvolt = <2800000>;
92			regulator-max-microvolt = <2800000>;
93			gpio = <&gpx1 1 GPIO_ACTIVE_LOW>;
94			enable-active-high;
95		};
96
97		reg_hdmi_en: regulator@2 {
98			compatible = "regulator-fixed";
99			reg = <2>;
100			regulator-name = "hdmi-en";
101		};
102	};
103
104	fixed-rate-clocks {
105		xxti {
106			compatible = "samsung,clock-xxti";
107			clock-frequency = <24000000>;
108		};
109	};
110
111	// SMSC USB3503 connected in hardware only mode as a PHY
112	usb_hub: usb-hub {
113		compatible = "smsc,usb3503a";
114
115		reset-gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
116		connect-gpios = <&gpd1 7 GPIO_ACTIVE_LOW>;
117	};
118};
119
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 {
152	hpd-gpio = <&gpx3 7 GPIO_ACTIVE_LOW>;
153	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};
563