• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung SMDK5420 board device tree source
4 *
5 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
6 *		http://www.samsung.com
7 */
8
9/dts-v1/;
10#include "exynos5420.dtsi"
11#include "exynos5420-cpus.dtsi"
12#include <dt-bindings/clock/samsung,s2mps11.h>
13#include <dt-bindings/gpio/gpio.h>
14
15/ {
16	model = "Samsung SMDK5420 board based on Exynos5420";
17	compatible = "samsung,smdk5420", "samsung,exynos5420", "samsung,exynos5";
18
19	memory@20000000 {
20		device_type = "memory";
21		reg = <0x20000000 0x80000000>;
22	};
23
24	chosen {
25		bootargs = "init=/linuxrc";
26		stdout-path = "serial2:115200n8";
27	};
28
29	fixed-rate-clocks {
30		oscclk {
31			compatible = "samsung,exynos5420-oscclk";
32			clock-frequency = <24000000>;
33		};
34	};
35
36	vdd: regulator-0 {
37		compatible = "regulator-fixed";
38		regulator-name = "vdd-supply";
39		regulator-min-microvolt = <1800000>;
40		regulator-max-microvolt = <1800000>;
41		regulator-always-on;
42	};
43
44	dbvdd: regulator-1 {
45		compatible = "regulator-fixed";
46		regulator-name = "dbvdd-supply";
47		regulator-min-microvolt = <3300000>;
48		regulator-max-microvolt = <3300000>;
49		regulator-always-on;
50	};
51
52	spkvdd: regulator-2 {
53		compatible = "regulator-fixed";
54		regulator-name = "spkvdd-supply";
55		regulator-min-microvolt = <5000000>;
56		regulator-max-microvolt = <5000000>;
57		regulator-always-on;
58	};
59
60	usb300_vbus_reg: regulator-3 {
61		compatible = "regulator-fixed";
62		regulator-name = "VBUS0";
63		regulator-min-microvolt = <5000000>;
64		regulator-max-microvolt = <5000000>;
65		gpio = <&gpg0 5 GPIO_ACTIVE_HIGH>;
66		pinctrl-names = "default";
67		pinctrl-0 = <&usb300_vbus_en>;
68		enable-active-high;
69	};
70
71	usb301_vbus_reg: regulator-4 {
72		compatible = "regulator-fixed";
73		regulator-name = "VBUS1";
74		regulator-min-microvolt = <5000000>;
75		regulator-max-microvolt = <5000000>;
76		gpio = <&gpg1 4 GPIO_ACTIVE_HIGH>;
77		pinctrl-names = "default";
78		pinctrl-0 = <&usb301_vbus_en>;
79		enable-active-high;
80	};
81
82};
83
84&cpu0 {
85	cpu-supply = <&buck2_reg>;
86};
87
88&cpu4 {
89	cpu-supply = <&buck6_reg>;
90};
91
92&dp {
93	pinctrl-names = "default";
94	pinctrl-0 = <&dp_hpd>;
95	samsung,color-space = <0>;
96	samsung,color-depth = <1>;
97	samsung,link-rate = <0x0a>;
98	samsung,lane-count = <4>;
99	status = "okay";
100
101	display-timings {
102		native-mode = <&timing0>;
103		timing0: timing {
104			clock-frequency = <50000>;
105			hactive = <2560>;
106			vactive = <1600>;
107			hfront-porch = <48>;
108			hback-porch = <80>;
109			hsync-len = <32>;
110			vback-porch = <16>;
111			vfront-porch = <8>;
112			vsync-len = <6>;
113		};
114	};
115};
116
117&fimd {
118	status = "okay";
119};
120
121&hdmi {
122	status = "okay";
123	ddc = <&i2c_2>;
124	hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
125	pinctrl-names = "default";
126	pinctrl-0 = <&hdmi_hpd_irq>;
127	vdd-supply = <&ldo6_reg>;
128	vdd_osc-supply = <&ldo7_reg>;
129	vdd_pll-supply = <&ldo6_reg>;
130};
131
132&hsi2c_4 {
133	status = "okay";
134
135	s2mps11_pmic@66 {
136		compatible = "samsung,s2mps11-pmic";
137		reg = <0x66>;
138
139		s2mps11_osc: clocks {
140			compatible = "samsung,s2mps11-clk";
141			#clock-cells = <1>;
142			clock-output-names = "s2mps11_ap",
143					"s2mps11_cp", "s2mps11_bt";
144		};
145
146		regulators {
147			ldo1_reg: LDO1 {
148				regulator-name = "vdd_ldo1";
149				regulator-min-microvolt = <1000000>;
150				regulator-max-microvolt = <1000000>;
151				regulator-always-on;
152			};
153
154			ldo3_reg: LDO3 {
155				regulator-name = "vdd_ldo3";
156				regulator-min-microvolt = <1800000>;
157				regulator-max-microvolt = <1800000>;
158				regulator-always-on;
159			};
160
161			ldo5_reg: LDO5 {
162				regulator-name = "vdd_ldo5";
163				regulator-min-microvolt = <1800000>;
164				regulator-max-microvolt = <1800000>;
165				regulator-always-on;
166			};
167
168			ldo6_reg: LDO6 {
169				regulator-name = "vdd_ldo6";
170				regulator-min-microvolt = <1000000>;
171				regulator-max-microvolt = <1000000>;
172				regulator-always-on;
173			};
174
175			ldo7_reg: LDO7 {
176				regulator-name = "vdd_ldo7";
177				regulator-min-microvolt = <1800000>;
178				regulator-max-microvolt = <1800000>;
179				regulator-always-on;
180			};
181
182			ldo8_reg: LDO8 {
183				regulator-name = "vdd_ldo8";
184				regulator-min-microvolt = <1800000>;
185				regulator-max-microvolt = <1800000>;
186				regulator-always-on;
187			};
188
189			ldo9_reg: LDO9 {
190				regulator-name = "vdd_ldo9";
191				regulator-min-microvolt = <3000000>;
192				regulator-max-microvolt = <3000000>;
193				regulator-always-on;
194			};
195
196			ldo10_reg: LDO10 {
197				regulator-name = "vdd_ldo10";
198				regulator-min-microvolt = <1800000>;
199				regulator-max-microvolt = <1800000>;
200				regulator-always-on;
201			};
202
203			ldo11_reg: LDO11 {
204				regulator-name = "vdd_ldo11";
205				regulator-min-microvolt = <1000000>;
206				regulator-max-microvolt = <1000000>;
207				regulator-always-on;
208			};
209
210			ldo12_reg: LDO12 {
211				regulator-name = "vdd_ldo12";
212				regulator-min-microvolt = <1800000>;
213				regulator-max-microvolt = <1800000>;
214				regulator-always-on;
215			};
216
217			ldo13_reg: LDO13 {
218				regulator-name = "vdd_ldo13";
219				regulator-min-microvolt = <2800000>;
220				regulator-max-microvolt = <2800000>;
221				regulator-always-on;
222			};
223
224			ldo15_reg: LDO15 {
225				regulator-name = "vdd_ldo15";
226				regulator-min-microvolt = <3100000>;
227				regulator-max-microvolt = <3100000>;
228				regulator-always-on;
229			};
230
231			ldo16_reg: LDO16 {
232				regulator-name = "vdd_ldo16";
233				regulator-min-microvolt = <2200000>;
234				regulator-max-microvolt = <2200000>;
235				regulator-always-on;
236			};
237
238			ldo17_reg: LDO17 {
239				regulator-name = "tsp_avdd";
240				regulator-min-microvolt = <3300000>;
241				regulator-max-microvolt = <3300000>;
242				regulator-always-on;
243			};
244
245			ldo19_reg: LDO19 {
246				regulator-name = "vdd_sd";
247				regulator-min-microvolt = <2800000>;
248				regulator-max-microvolt = <2800000>;
249				regulator-always-on;
250			};
251
252			ldo24_reg: LDO24 {
253				regulator-name = "tsp_io";
254				regulator-min-microvolt = <2800000>;
255				regulator-max-microvolt = <2800000>;
256				regulator-always-on;
257			};
258
259			buck1_reg: BUCK1 {
260				regulator-name = "vdd_mif";
261				regulator-min-microvolt = <800000>;
262				regulator-max-microvolt = <1300000>;
263				regulator-always-on;
264				regulator-boot-on;
265			};
266
267			buck2_reg: BUCK2 {
268				regulator-name = "vdd_arm";
269				regulator-min-microvolt = <800000>;
270				regulator-max-microvolt = <1500000>;
271				regulator-always-on;
272				regulator-boot-on;
273			};
274
275			buck3_reg: BUCK3 {
276				regulator-name = "vdd_int";
277				regulator-min-microvolt = <800000>;
278				regulator-max-microvolt = <1400000>;
279				regulator-always-on;
280				regulator-boot-on;
281			};
282
283			buck4_reg: BUCK4 {
284				regulator-name = "vdd_g3d";
285				regulator-min-microvolt = <800000>;
286				regulator-max-microvolt = <1400000>;
287				regulator-always-on;
288				regulator-boot-on;
289			};
290
291			buck5_reg: BUCK5 {
292				regulator-name = "vdd_mem";
293				regulator-min-microvolt = <800000>;
294				regulator-max-microvolt = <1400000>;
295				regulator-always-on;
296				regulator-boot-on;
297			};
298
299			buck6_reg: BUCK6 {
300				regulator-name = "vdd_kfc";
301				regulator-min-microvolt = <800000>;
302				regulator-max-microvolt = <1500000>;
303				regulator-always-on;
304				regulator-boot-on;
305			};
306
307			buck7_reg: BUCK7 {
308				regulator-name = "vdd_1.0v_ldo";
309				regulator-min-microvolt = <800000>;
310				regulator-max-microvolt = <1500000>;
311				regulator-always-on;
312				regulator-boot-on;
313			};
314
315			buck8_reg: BUCK8 {
316				regulator-name = "vdd_1.8v_ldo";
317				regulator-min-microvolt = <800000>;
318				regulator-max-microvolt = <1500000>;
319				regulator-always-on;
320				regulator-boot-on;
321			};
322
323			buck9_reg: BUCK9 {
324				regulator-name = "vdd_2.8v_ldo";
325				regulator-min-microvolt = <3000000>;
326				regulator-max-microvolt = <3750000>;
327				regulator-always-on;
328				regulator-boot-on;
329			};
330
331			buck10_reg: BUCK10 {
332				regulator-name = "vdd_vmem";
333				regulator-min-microvolt = <2850000>;
334				regulator-max-microvolt = <2850000>;
335				regulator-always-on;
336				regulator-boot-on;
337			};
338		};
339	};
340};
341
342&i2c_2 {
343	samsung,i2c-sda-delay = <100>;
344	samsung,i2c-max-bus-freq = <66000>;
345	/* used by HDMI DDC */
346	status = "okay";
347};
348
349&mixer {
350	status = "okay";
351};
352
353&mmc_0 {
354	status = "okay";
355	broken-cd;
356	card-detect-delay = <200>;
357	samsung,dw-mshc-ciu-div = <3>;
358	samsung,dw-mshc-sdr-timing = <0 4>;
359	samsung,dw-mshc-ddr-timing = <0 2>;
360	samsung,dw-mshc-hs400-timing = <0 2>;
361	samsung,read-strobe-delay = <90>;
362	pinctrl-names = "default";
363	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8
364		     &sd0_rclk>;
365	bus-width = <8>;
366	cap-mmc-highspeed;
367};
368
369&mmc_2 {
370	status = "okay";
371	card-detect-delay = <200>;
372	samsung,dw-mshc-ciu-div = <3>;
373	samsung,dw-mshc-sdr-timing = <2 3>;
374	samsung,dw-mshc-ddr-timing = <1 2>;
375	pinctrl-names = "default";
376	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
377	bus-width = <4>;
378	cap-sd-highspeed;
379};
380
381&pinctrl_0 {
382	hdmi_hpd_irq: hdmi-hpd-irq {
383		samsung,pins = "gpx3-7";
384		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
385		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
386		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
387	};
388};
389
390&pinctrl_2 {
391	usb300_vbus_en: usb300-vbus-en {
392		samsung,pins = "gpg0-5";
393		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
394		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
395		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
396	};
397
398	usb301_vbus_en: usb301-vbus-en {
399		samsung,pins = "gpg1-4";
400		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
401		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
402		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
403	};
404};
405
406&rtc {
407	status = "okay";
408	clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
409	clock-names = "rtc", "rtc_src";
410};
411
412&usbdrd_phy0 {
413	vbus-supply = <&usb300_vbus_reg>;
414};
415
416&usbdrd_phy1 {
417	vbus-supply = <&usb301_vbus_reg>;
418};
419