1279377Simp/*
2279377Simp * SAMSUNG SMDK5250 board device tree source
3279377Simp *
4279377Simp * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5279377Simp *		http://www.samsung.com
6279377Simp *
7279377Simp * This program is free software; you can redistribute it and/or modify
8279377Simp * it under the terms of the GNU General Public License version 2 as
9279377Simp * published by the Free Software Foundation.
10279377Simp */
11279377Simp
12279377Simp/dts-v1/;
13279377Simp#include <dt-bindings/gpio/gpio.h>
14279377Simp#include <dt-bindings/interrupt-controller/irq.h>
15279377Simp#include "exynos5250.dtsi"
16279377Simp
17279377Simp/ {
18279377Simp	model = "SAMSUNG SMDK5250 board based on EXYNOS5250";
19279377Simp	compatible = "samsung,smdk5250", "samsung,exynos5250", "samsung,exynos5";
20279377Simp
21279377Simp	aliases {
22279377Simp	};
23279377Simp
24279377Simp	memory {
25279377Simp		reg = <0x40000000 0x80000000>;
26279377Simp	};
27279377Simp
28279377Simp	chosen {
29279377Simp		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc";
30279377Simp	};
31279377Simp
32279377Simp	vdd: fixed-regulator@0 {
33279377Simp		compatible = "regulator-fixed";
34279377Simp		regulator-name = "vdd-supply";
35279377Simp		regulator-min-microvolt = <1800000>;
36279377Simp		regulator-max-microvolt = <1800000>;
37279377Simp		regulator-always-on;
38279377Simp	};
39279377Simp
40279377Simp	dbvdd: fixed-regulator@1 {
41279377Simp		compatible = "regulator-fixed";
42279377Simp		regulator-name = "dbvdd-supply";
43279377Simp		regulator-min-microvolt = <3300000>;
44279377Simp		regulator-max-microvolt = <3300000>;
45279377Simp		regulator-always-on;
46279377Simp	};
47279377Simp
48279377Simp	spkvdd: fixed-regulator@2 {
49279377Simp		compatible = "regulator-fixed";
50279377Simp		regulator-name = "spkvdd-supply";
51279377Simp		regulator-min-microvolt = <5000000>;
52279377Simp		regulator-max-microvolt = <5000000>;
53279377Simp		regulator-always-on;
54279377Simp	};
55279377Simp
56279377Simp	sound {
57279377Simp		compatible = "samsung,smdk-wm8994";
58279377Simp
59279377Simp		samsung,i2s-controller = <&i2s0>;
60279377Simp		samsung,audio-codec = <&wm8994>;
61279377Simp	};
62279377Simp
63279377Simp	fixed-rate-clocks {
64279377Simp		xxti {
65279377Simp			compatible = "samsung,clock-xxti";
66279377Simp			clock-frequency = <24000000>;
67279377Simp		};
68279377Simp
69279377Simp		codec_mclk: codec-mclk {
70279377Simp			compatible = "fixed-clock";
71279377Simp			#clock-cells = <0>;
72279377Simp			clock-frequency = <16934000>;
73279377Simp		};
74279377Simp	};
75279377Simp};
76279377Simp
77295436Sandrew&cpu0 {
78295436Sandrew	cpu0-supply = <&buck2_reg>;
79295436Sandrew};
80295436Sandrew
81279377Simp&dp {
82279377Simp	samsung,color-space = <0>;
83279377Simp	samsung,dynamic-range = <0>;
84279377Simp	samsung,ycbcr-coeff = <0>;
85279377Simp	samsung,color-depth = <1>;
86279377Simp	samsung,link-rate = <0x0a>;
87279377Simp	samsung,lane-count = <4>;
88279377Simp
89279377Simp	pinctrl-names = "default";
90279377Simp	pinctrl-0 = <&dp_hpd>;
91279377Simp	status = "okay";
92279377Simp
93279377Simp	display-timings {
94279377Simp		native-mode = <&timing0>;
95279377Simp
96279377Simp		timing0: timing@0 {
97279377Simp			/* 1280x800 */
98279377Simp			clock-frequency = <50000>;
99279377Simp			hactive = <1280>;
100279377Simp			vactive = <800>;
101279377Simp			hfront-porch = <4>;
102279377Simp			hback-porch = <4>;
103279377Simp			hsync-len = <4>;
104279377Simp			vback-porch = <4>;
105279377Simp			vfront-porch = <4>;
106279377Simp			vsync-len = <4>;
107279377Simp		};
108279377Simp	};
109279377Simp};
110279377Simp
111295436Sandrew&ehci {
112295436Sandrew	samsung,vbus-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>;
113295436Sandrew};
114295436Sandrew
115295436Sandrew&fimd {
116295436Sandrew	status = "okay";
117295436Sandrew};
118295436Sandrew
119279377Simp&hdmi {
120279377Simp	hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
121279377Simp};
122279377Simp
123279377Simp&i2c_0 {
124279377Simp	status = "okay";
125279377Simp	samsung,i2c-sda-delay = <100>;
126279377Simp	samsung,i2c-max-bus-freq = <20000>;
127279377Simp
128279377Simp	eeprom@50 {
129279377Simp		compatible = "samsung,s524ad0xd1";
130279377Simp		reg = <0x50>;
131279377Simp	};
132279377Simp
133279377Simp	max77686@09 {
134279377Simp		compatible = "maxim,max77686";
135279377Simp		reg = <0x09>;
136279377Simp		interrupt-parent = <&gpx3>;
137279377Simp		interrupts = <2 IRQ_TYPE_NONE>;
138295436Sandrew		pinctrl-names = "default";
139295436Sandrew		pinctrl-0 = <&max77686_irq>;
140295436Sandrew		wakeup-source;
141279377Simp
142279377Simp		voltage-regulators {
143279377Simp			ldo1_reg: LDO1 {
144279377Simp				regulator-name = "P1.0V_LDO_OUT1";
145279377Simp				regulator-min-microvolt = <1000000>;
146279377Simp				regulator-max-microvolt = <1000000>;
147279377Simp				regulator-always-on;
148279377Simp			};
149279377Simp
150279377Simp			ldo2_reg: LDO2 {
151279377Simp				regulator-name = "P1.2V_LDO_OUT2";
152279377Simp				regulator-min-microvolt = <1200000>;
153279377Simp				regulator-max-microvolt = <1200000>;
154279377Simp				regulator-always-on;
155279377Simp			};
156279377Simp
157279377Simp			ldo3_reg: LDO3 {
158279377Simp				regulator-name = "P1.8V_LDO_OUT3";
159279377Simp				regulator-min-microvolt = <1800000>;
160279377Simp				regulator-max-microvolt = <1800000>;
161279377Simp				regulator-always-on;
162279377Simp			};
163279377Simp
164279377Simp			ldo4_reg: LDO4 {
165279377Simp				regulator-name = "P2.8V_LDO_OUT4";
166279377Simp				regulator-min-microvolt = <2800000>;
167279377Simp				regulator-max-microvolt = <2800000>;
168279377Simp			};
169279377Simp
170279377Simp			ldo5_reg: LDO5 {
171279377Simp				regulator-name = "P1.8V_LDO_OUT5";
172279377Simp				regulator-min-microvolt = <1800000>;
173279377Simp				regulator-max-microvolt = <1800000>;
174279377Simp			};
175279377Simp
176279377Simp			ldo6_reg: LDO6 {
177279377Simp				regulator-name = "P1.1V_LDO_OUT6";
178279377Simp				regulator-min-microvolt = <1100000>;
179279377Simp				regulator-max-microvolt = <1100000>;
180279377Simp				regulator-always-on;
181279377Simp			};
182279377Simp
183279377Simp			ldo7_reg: LDO7 {
184279377Simp				regulator-name = "P1.1V_LDO_OUT7";
185279377Simp				regulator-min-microvolt = <1100000>;
186279377Simp				regulator-max-microvolt = <1100000>;
187279377Simp				regulator-always-on;
188279377Simp			};
189279377Simp
190279377Simp			ldo8_reg: LDO8 {
191279377Simp				regulator-name = "P1.0V_LDO_OUT8";
192279377Simp				regulator-min-microvolt = <1000000>;
193279377Simp				regulator-max-microvolt = <1000000>;
194279377Simp			};
195279377Simp
196279377Simp			ldo10_reg: LDO10 {
197279377Simp				regulator-name = "P1.8V_LDO_OUT10";
198279377Simp				regulator-min-microvolt = <1800000>;
199279377Simp				regulator-max-microvolt = <1800000>;
200295436Sandrew				regulator-always-on;
201279377Simp			};
202279377Simp
203279377Simp			ldo11_reg: LDO11 {
204279377Simp				regulator-name = "P1.8V_LDO_OUT11";
205279377Simp				regulator-min-microvolt = <1800000>;
206279377Simp				regulator-max-microvolt = <1800000>;
207279377Simp			};
208279377Simp
209279377Simp			ldo12_reg: LDO12 {
210279377Simp				regulator-name = "P3.0V_LDO_OUT12";
211279377Simp				regulator-min-microvolt = <3000000>;
212279377Simp				regulator-max-microvolt = <3000000>;
213279377Simp			};
214279377Simp
215279377Simp			ldo13_reg: LDO13 {
216279377Simp				regulator-name = "P1.8V_LDO_OUT13";
217279377Simp				regulator-min-microvolt = <1800000>;
218279377Simp				regulator-max-microvolt = <1800000>;
219279377Simp			};
220279377Simp
221279377Simp			ldo14_reg: LDO14 {
222279377Simp				regulator-name = "P1.8V_LDO_OUT14";
223279377Simp				regulator-min-microvolt = <1800000>;
224279377Simp				regulator-max-microvolt = <1800000>;
225279377Simp			};
226279377Simp
227279377Simp			ldo15_reg: LDO15 {
228279377Simp				regulator-name = "P1.0V_LDO_OUT15";
229279377Simp				regulator-min-microvolt = <1000000>;
230279377Simp				regulator-max-microvolt = <1000000>;
231279377Simp			};
232279377Simp
233279377Simp			ldo16_reg: LDO16 {
234279377Simp				regulator-name = "P1.8V_LDO_OUT16";
235279377Simp				regulator-min-microvolt = <1800000>;
236279377Simp				regulator-max-microvolt = <1800000>;
237279377Simp			};
238279377Simp
239279377Simp			buck1_reg: BUCK1 {
240279377Simp				regulator-name = "vdd_mif";
241279377Simp				regulator-min-microvolt = <950000>;
242279377Simp				regulator-max-microvolt = <1300000>;
243279377Simp				regulator-always-on;
244279377Simp				regulator-boot-on;
245279377Simp			};
246279377Simp
247279377Simp			buck2_reg: BUCK2 {
248279377Simp				regulator-name = "vdd_arm";
249279377Simp				regulator-min-microvolt = <850000>;
250279377Simp				regulator-max-microvolt = <1350000>;
251279377Simp				regulator-always-on;
252279377Simp				regulator-boot-on;
253279377Simp			};
254279377Simp
255279377Simp			buck3_reg: BUCK3 {
256279377Simp				regulator-name = "vdd_int";
257279377Simp				regulator-min-microvolt = <900000>;
258279377Simp				regulator-max-microvolt = <1200000>;
259279377Simp				regulator-always-on;
260279377Simp				regulator-boot-on;
261279377Simp			};
262279377Simp
263279377Simp			buck4_reg: BUCK4 {
264279377Simp				regulator-name = "vdd_g3d";
265279377Simp				regulator-min-microvolt = <850000>;
266279377Simp				regulator-max-microvolt = <1300000>;
267279377Simp				regulator-always-on;
268279377Simp				regulator-boot-on;
269279377Simp			};
270279377Simp
271279377Simp			buck5_reg: BUCK5 {
272279377Simp				regulator-name = "P1.8V_BUCK_OUT5";
273279377Simp				regulator-min-microvolt = <1800000>;
274279377Simp				regulator-max-microvolt = <1800000>;
275279377Simp				regulator-always-on;
276279377Simp				regulator-boot-on;
277279377Simp			};
278279377Simp		};
279279377Simp	};
280279377Simp};
281279377Simp
282279377Simp&i2c_1 {
283279377Simp	status = "okay";
284279377Simp	samsung,i2c-sda-delay = <100>;
285279377Simp	samsung,i2c-max-bus-freq = <20000>;
286279377Simp
287279377Simp	eeprom@51 {
288279377Simp		compatible = "samsung,s524ad0xd1";
289279377Simp		reg = <0x51>;
290279377Simp	};
291279377Simp
292279377Simp	wm8994: wm8994@1a {
293279377Simp		compatible = "wlf,wm8994";
294279377Simp		reg = <0x1a>;
295279377Simp
296279377Simp		gpio-controller;
297279377Simp		#gpio-cells = <2>;
298279377Simp
299279377Simp		clocks = <&codec_mclk>;
300279377Simp		clock-names = "MCLK1";
301279377Simp
302279377Simp		AVDD2-supply = <&vdd>;
303279377Simp		CPVDD-supply = <&vdd>;
304279377Simp		DBVDD-supply = <&dbvdd>;
305279377Simp		SPKVDD1-supply = <&spkvdd>;
306279377Simp		SPKVDD2-supply = <&spkvdd>;
307279377Simp	};
308279377Simp};
309279377Simp
310279377Simp&i2c_2 {
311279377Simp	status = "okay";
312279377Simp	samsung,i2c-sda-delay = <100>;
313279377Simp	samsung,i2c-max-bus-freq = <66000>;
314279377Simp
315279377Simp	hdmiddc@50 {
316279377Simp		compatible = "samsung,exynos4210-hdmiddc";
317279377Simp		reg = <0x50>;
318279377Simp	};
319279377Simp};
320279377Simp
321279377Simp&i2c_8 {
322279377Simp	status = "okay";
323279377Simp	samsung,i2c-sda-delay = <100>;
324279377Simp	samsung,i2c-max-bus-freq = <66000>;
325279377Simp
326279377Simp	hdmiphy@38 {
327279377Simp		compatible = "samsung,exynos4212-hdmiphy";
328279377Simp		reg = <0x38>;
329279377Simp	};
330279377Simp};
331279377Simp
332279377Simp&i2c_9 {
333279377Simp	status = "okay";
334279377Simp	samsung,i2c-sda-delay = <100>;
335279377Simp	samsung,i2c-max-bus-freq = <40000>;
336279377Simp	samsung,i2c-slave-addr = <0x38>;
337279377Simp
338279377Simp	sata_phy_i2c: sata-phy@38 {
339279377Simp		compatible = "samsung,exynos-sataphy-i2c";
340279377Simp		reg = <0x38>;
341279377Simp	};
342279377Simp};
343279377Simp
344279377Simp&i2s0 {
345279377Simp	status = "okay";
346279377Simp};
347279377Simp
348279377Simp&mfc {
349279377Simp	samsung,mfc-r = <0x43000000 0x800000>;
350279377Simp	samsung,mfc-l = <0x51000000 0x800000>;
351279377Simp};
352279377Simp
353279377Simp&mmc_0 {
354279377Simp	status = "okay";
355279377Simp	num-slots = <1>;
356279377Simp	broken-cd;
357279377Simp	card-detect-delay = <200>;
358279377Simp	samsung,dw-mshc-ciu-div = <3>;
359279377Simp	samsung,dw-mshc-sdr-timing = <2 3>;
360279377Simp	samsung,dw-mshc-ddr-timing = <1 2>;
361279377Simp	pinctrl-names = "default";
362279377Simp	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
363279377Simp	bus-width = <8>;
364279377Simp	cap-mmc-highspeed;
365279377Simp};
366279377Simp
367279377Simp&mmc_2 {
368279377Simp	status = "okay";
369279377Simp	num-slots = <1>;
370279377Simp	card-detect-delay = <200>;
371279377Simp	samsung,dw-mshc-ciu-div = <3>;
372279377Simp	samsung,dw-mshc-sdr-timing = <2 3>;
373279377Simp	samsung,dw-mshc-ddr-timing = <1 2>;
374279377Simp	pinctrl-names = "default";
375279377Simp	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
376279377Simp	bus-width = <4>;
377279377Simp	disable-wp;
378279377Simp	cap-sd-highspeed;
379279377Simp};
380279377Simp
381279377Simp&rtc {
382279377Simp	status = "okay";
383279377Simp};
384279377Simp
385279377Simp&sata {
386279377Simp	status = "okay";
387279377Simp};
388279377Simp
389279377Simp&sata_phy {
390279377Simp	status = "okay";
391279377Simp	samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>;
392279377Simp};
393279377Simp
394279377Simp&spi_1 {
395279377Simp	status = "okay";
396279377Simp	cs-gpios = <&gpa2 5 GPIO_ACTIVE_HIGH>;
397279377Simp
398279377Simp	w25q80bw@0 {
399279377Simp		#address-cells = <1>;
400279377Simp		#size-cells = <1>;
401279377Simp		compatible = "w25x80";
402279377Simp		reg = <0>;
403279377Simp		spi-max-frequency = <1000000>;
404279377Simp
405279377Simp		controller-data {
406279377Simp			samsung,spi-feedback-delay = <0>;
407279377Simp		};
408279377Simp
409279377Simp		partition@0 {
410279377Simp			label = "U-Boot";
411279377Simp			reg = <0x0 0x40000>;
412279377Simp			read-only;
413279377Simp		};
414279377Simp
415279377Simp		partition@40000 {
416279377Simp			label = "Kernel";
417279377Simp			reg = <0x40000 0xc0000>;
418279377Simp		};
419279377Simp	};
420279377Simp};
421295436Sandrew
422295436Sandrew&pinctrl_0 {
423295436Sandrew	max77686_irq: max77686-irq {
424295436Sandrew		samsung,pins = "gpx3-2";
425295436Sandrew		samsung,pin-function = <0xf>;
426295436Sandrew		samsung,pin-pud = <0>;
427295436Sandrew		samsung,pin-drv = <0>;
428295436Sandrew	};
429295436Sandrew};
430