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