Linux Audio

Check our new training course

Real-Time Linux with PREEMPT_RT training

Feb 18-20, 2025
Register
Loading...
Note: File does not exist in v3.1.
  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};
128
129&hsi2c_4 {
130	status = "okay";
131
132	pmic@66 {
133		compatible = "samsung,s2mps11-pmic";
134		reg = <0x66>;
135		wakeup-source;
136
137		s2mps11_osc: clocks {
138			compatible = "samsung,s2mps11-clk";
139			#clock-cells = <1>;
140			clock-output-names = "s2mps11_ap",
141					"s2mps11_cp", "s2mps11_bt";
142		};
143
144		regulators {
145			ldo1_reg: LDO1 {
146				regulator-name = "vdd_ldo1";
147				regulator-min-microvolt = <1000000>;
148				regulator-max-microvolt = <1000000>;
149				regulator-always-on;
150			};
151
152			ldo3_reg: LDO3 {
153				regulator-name = "vdd_ldo3";
154				regulator-min-microvolt = <1800000>;
155				regulator-max-microvolt = <1800000>;
156				regulator-always-on;
157			};
158
159			ldo5_reg: LDO5 {
160				regulator-name = "vdd_ldo5";
161				regulator-min-microvolt = <1800000>;
162				regulator-max-microvolt = <1800000>;
163				regulator-always-on;
164			};
165
166			ldo6_reg: LDO6 {
167				regulator-name = "vdd_ldo6";
168				regulator-min-microvolt = <1000000>;
169				regulator-max-microvolt = <1000000>;
170				regulator-always-on;
171			};
172
173			ldo7_reg: LDO7 {
174				regulator-name = "vdd_ldo7";
175				regulator-min-microvolt = <1800000>;
176				regulator-max-microvolt = <1800000>;
177				regulator-always-on;
178			};
179
180			ldo8_reg: LDO8 {
181				regulator-name = "vdd_ldo8";
182				regulator-min-microvolt = <1800000>;
183				regulator-max-microvolt = <1800000>;
184				regulator-always-on;
185			};
186
187			ldo9_reg: LDO9 {
188				regulator-name = "vdd_ldo9";
189				regulator-min-microvolt = <3000000>;
190				regulator-max-microvolt = <3000000>;
191				regulator-always-on;
192			};
193
194			ldo10_reg: LDO10 {
195				regulator-name = "vdd_ldo10";
196				regulator-min-microvolt = <1800000>;
197				regulator-max-microvolt = <1800000>;
198				regulator-always-on;
199			};
200
201			ldo11_reg: LDO11 {
202				regulator-name = "vdd_ldo11";
203				regulator-min-microvolt = <1000000>;
204				regulator-max-microvolt = <1000000>;
205				regulator-always-on;
206			};
207
208			ldo12_reg: LDO12 {
209				regulator-name = "vdd_ldo12";
210				regulator-min-microvolt = <1800000>;
211				regulator-max-microvolt = <1800000>;
212				regulator-always-on;
213			};
214
215			ldo13_reg: LDO13 {
216				regulator-name = "vdd_ldo13";
217				regulator-min-microvolt = <2800000>;
218				regulator-max-microvolt = <2800000>;
219				regulator-always-on;
220			};
221
222			ldo15_reg: LDO15 {
223				regulator-name = "vdd_ldo15";
224				regulator-min-microvolt = <3100000>;
225				regulator-max-microvolt = <3100000>;
226				regulator-always-on;
227			};
228
229			ldo16_reg: LDO16 {
230				regulator-name = "vdd_ldo16";
231				regulator-min-microvolt = <2200000>;
232				regulator-max-microvolt = <2200000>;
233				regulator-always-on;
234			};
235
236			ldo17_reg: LDO17 {
237				regulator-name = "tsp_avdd";
238				regulator-min-microvolt = <3300000>;
239				regulator-max-microvolt = <3300000>;
240				regulator-always-on;
241			};
242
243			ldo19_reg: LDO19 {
244				regulator-name = "vdd_sd";
245				regulator-min-microvolt = <2800000>;
246				regulator-max-microvolt = <2800000>;
247				regulator-always-on;
248			};
249
250			ldo24_reg: LDO24 {
251				regulator-name = "tsp_io";
252				regulator-min-microvolt = <2800000>;
253				regulator-max-microvolt = <2800000>;
254				regulator-always-on;
255			};
256
257			buck1_reg: BUCK1 {
258				regulator-name = "vdd_mif";
259				regulator-min-microvolt = <800000>;
260				regulator-max-microvolt = <1300000>;
261				regulator-always-on;
262				regulator-boot-on;
263			};
264
265			buck2_reg: BUCK2 {
266				regulator-name = "vdd_arm";
267				regulator-min-microvolt = <800000>;
268				regulator-max-microvolt = <1500000>;
269				regulator-always-on;
270				regulator-boot-on;
271			};
272
273			buck3_reg: BUCK3 {
274				regulator-name = "vdd_int";
275				regulator-min-microvolt = <800000>;
276				regulator-max-microvolt = <1400000>;
277				regulator-always-on;
278				regulator-boot-on;
279			};
280
281			buck4_reg: BUCK4 {
282				regulator-name = "vdd_g3d";
283				regulator-min-microvolt = <800000>;
284				regulator-max-microvolt = <1400000>;
285				regulator-always-on;
286				regulator-boot-on;
287			};
288
289			buck5_reg: BUCK5 {
290				regulator-name = "vdd_mem";
291				regulator-min-microvolt = <800000>;
292				regulator-max-microvolt = <1400000>;
293				regulator-always-on;
294				regulator-boot-on;
295			};
296
297			buck6_reg: BUCK6 {
298				regulator-name = "vdd_kfc";
299				regulator-min-microvolt = <800000>;
300				regulator-max-microvolt = <1500000>;
301				regulator-always-on;
302				regulator-boot-on;
303			};
304
305			buck7_reg: BUCK7 {
306				regulator-name = "vdd_1.0v_ldo";
307				regulator-min-microvolt = <800000>;
308				regulator-max-microvolt = <1500000>;
309				regulator-always-on;
310				regulator-boot-on;
311			};
312
313			buck8_reg: BUCK8 {
314				regulator-name = "vdd_1.8v_ldo";
315				regulator-min-microvolt = <800000>;
316				regulator-max-microvolt = <1500000>;
317				regulator-always-on;
318				regulator-boot-on;
319			};
320
321			buck9_reg: BUCK9 {
322				regulator-name = "vdd_2.8v_ldo";
323				regulator-min-microvolt = <3000000>;
324				regulator-max-microvolt = <3750000>;
325				regulator-always-on;
326				regulator-boot-on;
327			};
328
329			buck10_reg: BUCK10 {
330				regulator-name = "vdd_vmem";
331				regulator-min-microvolt = <2850000>;
332				regulator-max-microvolt = <2850000>;
333				regulator-always-on;
334				regulator-boot-on;
335			};
336		};
337	};
338};
339
340&i2c_2 {
341	samsung,i2c-sda-delay = <100>;
342	samsung,i2c-max-bus-freq = <66000>;
343	/* used by HDMI DDC */
344	status = "okay";
345};
346
347&mixer {
348	status = "okay";
349};
350
351&mmc_0 {
352	status = "okay";
353	broken-cd;
354	card-detect-delay = <200>;
355	samsung,dw-mshc-ciu-div = <3>;
356	samsung,dw-mshc-sdr-timing = <0 4>;
357	samsung,dw-mshc-ddr-timing = <0 2>;
358	samsung,dw-mshc-hs400-timing = <0 2>;
359	samsung,read-strobe-delay = <90>;
360	pinctrl-names = "default";
361	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8
362		     &sd0_rclk>;
363	bus-width = <8>;
364	cap-mmc-highspeed;
365};
366
367&mmc_2 {
368	status = "okay";
369	card-detect-delay = <200>;
370	samsung,dw-mshc-ciu-div = <3>;
371	samsung,dw-mshc-sdr-timing = <2 3>;
372	samsung,dw-mshc-ddr-timing = <1 2>;
373	pinctrl-names = "default";
374	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
375	bus-width = <4>;
376	cap-sd-highspeed;
377};
378
379&pinctrl_0 {
380	hdmi_hpd_irq: hdmi-hpd-irq {
381		samsung,pins = "gpx3-7";
382		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
383		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
384		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
385	};
386};
387
388&pinctrl_2 {
389	usb300_vbus_en: usb300-vbus-en {
390		samsung,pins = "gpg0-5";
391		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
392		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
393		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
394	};
395
396	usb301_vbus_en: usb301-vbus-en {
397		samsung,pins = "gpg1-4";
398		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
399		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
400		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
401	};
402};
403
404&rtc {
405	status = "okay";
406	clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
407	clock-names = "rtc", "rtc_src";
408};
409
410&usbdrd_phy0 {
411	vbus-supply = <&usb300_vbus_reg>;
412};
413
414&usbdrd_phy1 {
415	vbus-supply = <&usb301_vbus_reg>;
416};