• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * SAMSUNG SMDK5250 board device tree source
4 *
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 *		http://www.samsung.com
7 */
8
9/dts-v1/;
10#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/interrupt-controller/irq.h>
12#include "exynos5250.dtsi"
13
14/ {
15	model = "SAMSUNG SMDK5250 board based on EXYNOS5250";
16	compatible = "samsung,smdk5250", "samsung,exynos5250", "samsung,exynos5";
17
18	aliases {
19	};
20
21	memory@40000000 {
22		device_type = "memory";
23		reg = <0x40000000 0x80000000>;
24	};
25
26	chosen {
27		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M init=/linuxrc";
28		stdout-path = "serial2:115200n8";
29	};
30
31	vdd: fixed-regulator-vdd {
32		compatible = "regulator-fixed";
33		regulator-name = "vdd-supply";
34		regulator-min-microvolt = <1800000>;
35		regulator-max-microvolt = <1800000>;
36		regulator-always-on;
37	};
38
39	dbvdd: fixed-regulator-dbvdd {
40		compatible = "regulator-fixed";
41		regulator-name = "dbvdd-supply";
42		regulator-min-microvolt = <3300000>;
43		regulator-max-microvolt = <3300000>;
44		regulator-always-on;
45	};
46
47	spkvdd: fixed-regulator-spkvdd {
48		compatible = "regulator-fixed";
49		regulator-name = "spkvdd-supply";
50		regulator-min-microvolt = <5000000>;
51		regulator-max-microvolt = <5000000>;
52		regulator-always-on;
53	};
54
55	sound {
56		compatible = "samsung,smdk-wm8994";
57
58		samsung,i2s-controller = <&i2s0>;
59		samsung,audio-codec = <&wm8994>;
60	};
61
62	fixed-rate-clocks {
63		xxti {
64			compatible = "samsung,clock-xxti";
65			clock-frequency = <24000000>;
66		};
67
68		codec_mclk: codec-mclk {
69			compatible = "fixed-clock";
70			#clock-cells = <0>;
71			clock-frequency = <16934000>;
72		};
73	};
74};
75
76&cpu0 {
77	cpu0-supply = <&buck2_reg>;
78};
79
80&dp {
81	samsung,color-space = <0>;
82	samsung,color-depth = <1>;
83	samsung,link-rate = <0x0a>;
84	samsung,lane-count = <4>;
85
86	pinctrl-names = "default";
87	pinctrl-0 = <&dp_hpd>;
88	status = "okay";
89
90	display-timings {
91		native-mode = <&timing0>;
92
93		timing0: timing {
94			/* 1280x800 */
95			clock-frequency = <50000>;
96			hactive = <1280>;
97			vactive = <800>;
98			hfront-porch = <4>;
99			hback-porch = <4>;
100			hsync-len = <4>;
101			vback-porch = <4>;
102			vfront-porch = <4>;
103			vsync-len = <4>;
104		};
105	};
106};
107
108&ehci {
109	samsung,vbus-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>;
110};
111
112&fimd {
113	status = "okay";
114};
115
116&hdmi {
117	status = "okay";
118	ddc = <&i2c_2>;
119	hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
120	vdd-supply = <&ldo8_reg>;
121	vdd_osc-supply = <&ldo10_reg>;
122	vdd_pll-supply = <&ldo8_reg>;
123};
124
125&i2c_0 {
126	status = "okay";
127	samsung,i2c-sda-delay = <100>;
128	samsung,i2c-max-bus-freq = <20000>;
129
130	eeprom@50 {
131		compatible = "samsung,s524ad0xd1", "atmel,24c128";
132		reg = <0x50>;
133	};
134
135	max77686@9 {
136		compatible = "maxim,max77686";
137		reg = <0x09>;
138		interrupt-parent = <&gpx3>;
139		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
140		pinctrl-names = "default";
141		pinctrl-0 = <&max77686_irq>;
142		wakeup-source;
143
144		voltage-regulators {
145			ldo1_reg: LDO1 {
146				regulator-name = "P1.0V_LDO_OUT1";
147				regulator-min-microvolt = <1000000>;
148				regulator-max-microvolt = <1000000>;
149				regulator-always-on;
150			};
151
152			ldo2_reg: LDO2 {
153				regulator-name = "P1.2V_LDO_OUT2";
154				regulator-min-microvolt = <1200000>;
155				regulator-max-microvolt = <1200000>;
156				regulator-always-on;
157			};
158
159			ldo3_reg: LDO3 {
160				regulator-name = "P1.8V_LDO_OUT3";
161				regulator-min-microvolt = <1800000>;
162				regulator-max-microvolt = <1800000>;
163				regulator-always-on;
164			};
165
166			ldo4_reg: LDO4 {
167				regulator-name = "P2.8V_LDO_OUT4";
168				regulator-min-microvolt = <2800000>;
169				regulator-max-microvolt = <2800000>;
170			};
171
172			ldo5_reg: LDO5 {
173				regulator-name = "P1.8V_LDO_OUT5";
174				regulator-min-microvolt = <1800000>;
175				regulator-max-microvolt = <1800000>;
176			};
177
178			ldo6_reg: LDO6 {
179				regulator-name = "P1.1V_LDO_OUT6";
180				regulator-min-microvolt = <1100000>;
181				regulator-max-microvolt = <1100000>;
182				regulator-always-on;
183			};
184
185			ldo7_reg: LDO7 {
186				regulator-name = "P1.1V_LDO_OUT7";
187				regulator-min-microvolt = <1100000>;
188				regulator-max-microvolt = <1100000>;
189				regulator-always-on;
190			};
191
192			ldo8_reg: LDO8 {
193				regulator-name = "P1.0V_LDO_OUT8";
194				regulator-min-microvolt = <1000000>;
195				regulator-max-microvolt = <1000000>;
196			};
197
198			ldo10_reg: LDO10 {
199				regulator-name = "P1.8V_LDO_OUT10";
200				regulator-min-microvolt = <1800000>;
201				regulator-max-microvolt = <1800000>;
202				regulator-always-on;
203			};
204
205			ldo11_reg: LDO11 {
206				regulator-name = "P1.8V_LDO_OUT11";
207				regulator-min-microvolt = <1800000>;
208				regulator-max-microvolt = <1800000>;
209			};
210
211			ldo12_reg: LDO12 {
212				regulator-name = "P3.0V_LDO_OUT12";
213				regulator-min-microvolt = <3000000>;
214				regulator-max-microvolt = <3000000>;
215			};
216
217			ldo13_reg: LDO13 {
218				regulator-name = "P1.8V_LDO_OUT13";
219				regulator-min-microvolt = <1800000>;
220				regulator-max-microvolt = <1800000>;
221			};
222
223			ldo14_reg: LDO14 {
224				regulator-name = "P1.8V_LDO_OUT14";
225				regulator-min-microvolt = <1800000>;
226				regulator-max-microvolt = <1800000>;
227			};
228
229			ldo15_reg: LDO15 {
230				regulator-name = "P1.0V_LDO_OUT15";
231				regulator-min-microvolt = <1000000>;
232				regulator-max-microvolt = <1000000>;
233			};
234
235			ldo16_reg: LDO16 {
236				regulator-name = "P1.8V_LDO_OUT16";
237				regulator-min-microvolt = <1800000>;
238				regulator-max-microvolt = <1800000>;
239			};
240
241			buck1_reg: BUCK1 {
242				regulator-name = "vdd_mif";
243				regulator-min-microvolt = <950000>;
244				regulator-max-microvolt = <1300000>;
245				regulator-always-on;
246				regulator-boot-on;
247			};
248
249			buck2_reg: BUCK2 {
250				regulator-name = "vdd_arm";
251				regulator-min-microvolt = <850000>;
252				regulator-max-microvolt = <1350000>;
253				regulator-always-on;
254				regulator-boot-on;
255			};
256
257			buck3_reg: BUCK3 {
258				regulator-name = "vdd_int";
259				regulator-min-microvolt = <900000>;
260				regulator-max-microvolt = <1200000>;
261				regulator-always-on;
262				regulator-boot-on;
263			};
264
265			buck4_reg: BUCK4 {
266				regulator-name = "vdd_g3d";
267				regulator-min-microvolt = <850000>;
268				regulator-max-microvolt = <1300000>;
269				regulator-always-on;
270				regulator-boot-on;
271			};
272
273			buck5_reg: BUCK5 {
274				regulator-name = "P1.8V_BUCK_OUT5";
275				regulator-min-microvolt = <1800000>;
276				regulator-max-microvolt = <1800000>;
277				regulator-always-on;
278				regulator-boot-on;
279			};
280		};
281	};
282};
283
284&i2c_1 {
285	status = "okay";
286	samsung,i2c-sda-delay = <100>;
287	samsung,i2c-max-bus-freq = <20000>;
288
289	eeprom@51 {
290		compatible = "samsung,s524ad0xd1", "atmel,24c128";
291		reg = <0x51>;
292	};
293
294	wm8994: wm8994@1a {
295		compatible = "wlf,wm8994";
296		reg = <0x1a>;
297
298		gpio-controller;
299		#gpio-cells = <2>;
300
301		clocks = <&codec_mclk>;
302		clock-names = "MCLK1";
303
304		AVDD2-supply = <&vdd>;
305		CPVDD-supply = <&vdd>;
306		DBVDD-supply = <&dbvdd>;
307		SPKVDD1-supply = <&spkvdd>;
308		SPKVDD2-supply = <&spkvdd>;
309	};
310};
311
312&i2c_2 {
313	status = "okay";
314	/* used by HDMI DDC */
315	samsung,i2c-sda-delay = <100>;
316	samsung,i2c-max-bus-freq = <66000>;
317};
318
319&i2c_8 {
320	status = "okay";
321	/* used by HDMI PHY */
322	samsung,i2c-sda-delay = <100>;
323	samsung,i2c-max-bus-freq = <66000>;
324};
325
326&i2c_9 {
327	status = "okay";
328	samsung,i2c-sda-delay = <100>;
329	samsung,i2c-max-bus-freq = <40000>;
330	samsung,i2c-slave-addr = <0x38>;
331
332	sata_phy_i2c: sata-phy@38 {
333		compatible = "samsung,exynos-sataphy-i2c";
334		reg = <0x38>;
335	};
336};
337
338&i2s0 {
339	status = "okay";
340};
341
342&mixer {
343	status = "okay";
344};
345
346&mmc_0 {
347	status = "okay";
348	broken-cd;
349	card-detect-delay = <200>;
350	samsung,dw-mshc-ciu-div = <3>;
351	samsung,dw-mshc-sdr-timing = <2 3>;
352	samsung,dw-mshc-ddr-timing = <1 2>;
353	pinctrl-names = "default";
354	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
355	bus-width = <8>;
356	cap-mmc-highspeed;
357};
358
359&mmc_2 {
360	status = "okay";
361	card-detect-delay = <200>;
362	samsung,dw-mshc-ciu-div = <3>;
363	samsung,dw-mshc-sdr-timing = <2 3>;
364	samsung,dw-mshc-ddr-timing = <1 2>;
365	pinctrl-names = "default";
366	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
367	bus-width = <4>;
368	disable-wp;
369	cap-sd-highspeed;
370};
371
372&rtc {
373	status = "okay";
374};
375
376&sata {
377	status = "okay";
378};
379
380&sata_phy {
381	status = "okay";
382	samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>;
383};
384
385&spi_1 {
386	status = "okay";
387	cs-gpios = <&gpa2 5 GPIO_ACTIVE_HIGH>;
388
389	w25q80bw@0 {
390		#address-cells = <1>;
391		#size-cells = <1>;
392		compatible = "w25x80";
393		reg = <0>;
394		spi-max-frequency = <1000000>;
395
396		controller-data {
397			samsung,spi-feedback-delay = <0>;
398		};
399
400		partition@0 {
401			label = "U-Boot";
402			reg = <0x0 0x40000>;
403			read-only;
404		};
405
406		partition@40000 {
407			label = "Kernel";
408			reg = <0x40000 0xc0000>;
409		};
410	};
411};
412
413&pinctrl_0 {
414	max77686_irq: max77686-irq {
415		samsung,pins = "gpx3-2";
416		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
417		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
418		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
419	};
420};
421