1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung Exynos7 Espresso board device tree source
4 *
5 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
6 *		http://www.samsung.com
7 */
8
9/dts-v1/;
10#include "exynos7.dtsi"
11#include <dt-bindings/interrupt-controller/irq.h>
12#include <dt-bindings/clock/samsung,s2mps11.h>
13#include <dt-bindings/gpio/gpio.h>
14
15/ {
16	model = "Samsung Exynos7 Espresso board based on Exynos7";
17	compatible = "samsung,exynos7-espresso", "samsung,exynos7";
18
19	aliases {
20		serial0 = &serial_2;
21	};
22
23	chosen {
24		stdout-path = &serial_2;
25	};
26
27	memory@40000000 {
28		device_type = "memory";
29		reg = <0x0 0x40000000 0x0 0xc0000000>;
30	};
31
32	usb30_vbus_reg: regulator-usb30 {
33		compatible = "regulator-fixed";
34		regulator-name = "VBUS_5V";
35		regulator-min-microvolt = <5000000>;
36		regulator-max-microvolt = <5000000>;
37		gpio = <&gph1 1 GPIO_ACTIVE_HIGH>;
38		pinctrl-names = "default";
39		pinctrl-0 = <&usb30_vbus_en>;
40		enable-active-high;
41	};
42
43	usb3drd_boost_5v: regulator-usb3drd-boost {
44		compatible = "regulator-fixed";
45		regulator-name = "VUSB_VBUS_5V";
46		regulator-min-microvolt = <5000000>;
47		regulator-max-microvolt = <5000000>;
48		gpio = <&gpf4 1 GPIO_ACTIVE_HIGH>;
49		pinctrl-names = "default";
50		pinctrl-0 = <&usb3drd_boost_en>;
51		enable-active-high;
52	};
53
54};
55
56&fin_pll {
57	clock-frequency = <24000000>;
58};
59
60&gpu {
61	mali-supply = <&buck6_reg>;
62};
63
64&serial_2 {
65	status = "okay";
66};
67
68&rtc {
69	status = "okay";
70	clocks = <&clock_ccore PCLK_RTC>, <&s2mps15_osc S2MPS11_CLK_AP>;
71	clock-names = "rtc", "rtc_src";
72};
73
74&watchdog {
75	status = "okay";
76};
77
78&adc {
79	vdd-supply = <&ldo3_reg>;
80	status = "okay";
81};
82
83&hsi2c_4 {
84	status = "okay";
85
86	pmic@66 {
87		compatible = "samsung,s2mps15-pmic";
88		reg = <0x66>;
89		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
90		interrupt-parent = <&gpa0>;
91		pinctrl-names = "default";
92		pinctrl-0 = <&pmic_irq>;
93		wakeup-source;
94
95		s2mps15_osc: clocks {
96			compatible = "samsung,s2mps13-clk";
97			#clock-cells = <1>;
98			clock-output-names = "s2mps13_ap", "s2mps13_cp",
99				"s2mps13_bt";
100		};
101
102		regulators {
103			ldo1_reg: LDO1 {
104				regulator-name = "vdd_ldo1";
105				regulator-min-microvolt = <500000>;
106				regulator-max-microvolt = <900000>;
107				regulator-always-on;
108				regulator-enable-ramp-delay = <125>;
109			};
110
111			ldo2_reg: LDO2 {
112				regulator-name = "vqmmc-sdcard";
113				regulator-min-microvolt = <1620000>;
114				regulator-max-microvolt = <3300000>;
115				regulator-always-on;
116				regulator-enable-ramp-delay = <125>;
117			};
118
119			ldo3_reg: LDO3 {
120				regulator-name = "vdd_ldo3";
121				regulator-min-microvolt = <1620000>;
122				regulator-max-microvolt = <1980000>;
123				regulator-always-on;
124				regulator-boot-on;
125				regulator-enable-ramp-delay = <125>;
126			};
127
128			ldo4_reg: LDO4 {
129				regulator-name = "vdd_ldo4";
130				regulator-min-microvolt = <800000>;
131				regulator-max-microvolt = <1110000>;
132				regulator-always-on;
133				regulator-enable-ramp-delay = <125>;
134			};
135
136			ldo5_reg: LDO5 {
137				regulator-name = "vdd_ldo5";
138				regulator-min-microvolt = <1620000>;
139				regulator-max-microvolt = <1980000>;
140				regulator-always-on;
141				regulator-enable-ramp-delay = <125>;
142			};
143
144			ldo6_reg: LDO6 {
145				regulator-name = "vdd_ldo6";
146				regulator-min-microvolt = <2250000>;
147				regulator-max-microvolt = <3300000>;
148				regulator-enable-ramp-delay = <125>;
149			};
150
151			ldo7_reg: LDO7 {
152				regulator-name = "vdd_ldo7";
153				regulator-min-microvolt = <700000>;
154				regulator-max-microvolt = <1150000>;
155				regulator-enable-ramp-delay = <125>;
156				regulator-always-on;
157			};
158
159			ldo8_reg: LDO8 {
160				regulator-name = "vdd_ldo8";
161				regulator-min-microvolt = <700000>;
162				regulator-max-microvolt = <1000000>;
163				regulator-enable-ramp-delay = <125>;
164			};
165
166			ldo9_reg: LDO9 {
167				regulator-name = "vdd_ldo9";
168				regulator-min-microvolt = <700000>;
169				regulator-max-microvolt = <1000000>;
170				regulator-enable-ramp-delay = <125>;
171			};
172
173			ldo10_reg: LDO10 {
174				regulator-name = "vdd_ldo10";
175				regulator-min-microvolt = <700000>;
176				regulator-max-microvolt = <1000000>;
177				regulator-enable-ramp-delay = <125>;
178			};
179
180			ldo11_reg: LDO11 {
181				regulator-name = "vdd_ldo11";
182				regulator-min-microvolt = <1000000>;
183				regulator-max-microvolt = <1300000>;
184				regulator-always-on;
185				regulator-enable-ramp-delay = <125>;
186			};
187
188			ldo12_reg: LDO12 {
189				regulator-name = "vdd_ldo12";
190				regulator-min-microvolt = <1000000>;
191				regulator-max-microvolt = <1300000>;
192				regulator-enable-ramp-delay = <125>;
193				regulator-always-on;
194			};
195
196			ldo13_reg: LDO13 {
197				regulator-name = "vdd_ldo13";
198				regulator-min-microvolt = <1000000>;
199				regulator-max-microvolt = <1300000>;
200				regulator-always-on;
201				regulator-enable-ramp-delay = <125>;
202			};
203
204			ldo14_reg: LDO14 {
205				regulator-name = "vdd_ldo14";
206				regulator-min-microvolt = <1800000>;
207				regulator-max-microvolt = <3375000>;
208				regulator-enable-ramp-delay = <125>;
209			};
210
211			ldo17_reg: LDO17 {
212				regulator-name = "vmmc-sdcard";
213				regulator-min-microvolt = <1800000>;
214				regulator-max-microvolt = <3375000>;
215				regulator-enable-ramp-delay = <125>;
216			};
217
218			ldo18_reg: LDO18 {
219				regulator-name = "vdd_ldo18";
220				regulator-min-microvolt = <1500000>;
221				regulator-max-microvolt = <2275000>;
222				regulator-enable-ramp-delay = <125>;
223			};
224
225			ldo19_reg: LDO19 {
226				regulator-name = "vdd_ldo19";
227				regulator-min-microvolt = <1800000>;
228				regulator-max-microvolt = <3375000>;
229				regulator-enable-ramp-delay = <125>;
230			};
231
232			ldo21_reg: LDO21 {
233				regulator-name = "vdd_ldo21";
234				regulator-min-microvolt = <1800000>;
235				regulator-max-microvolt = <3375000>;
236				regulator-enable-ramp-delay = <125>;
237			};
238
239			ldo23_reg: LDO23 {
240				regulator-name = "vdd_ldo23";
241				regulator-min-microvolt = <1500000>;
242				regulator-max-microvolt = <2275000>;
243				regulator-enable-ramp-delay = <125>;
244			};
245
246			ldo25_reg: LDO25 {
247				regulator-name = "vdd_ldo25";
248				regulator-min-microvolt = <1800000>;
249				regulator-max-microvolt = <3375000>;
250				regulator-enable-ramp-delay = <125>;
251			};
252
253			ldo26_reg: LDO26 {
254				regulator-name = "vdd_ldo26";
255				regulator-min-microvolt = <700000>;
256				regulator-max-microvolt = <1470000>;
257				regulator-enable-ramp-delay = <125>;
258			};
259
260			ldo27_reg: LDO27 {
261				regulator-name = "vdd_ldo27";
262				regulator-min-microvolt = <1500000>;
263				regulator-max-microvolt = <2275000>;
264				regulator-enable-ramp-delay = <125>;
265			};
266
267			buck1_reg: BUCK1 {
268				regulator-name = "vdd_mif";
269				regulator-min-microvolt = <500000>;
270				regulator-max-microvolt = <1200000>;
271				regulator-always-on;
272				regulator-boot-on;
273				regulator-ramp-delay = <25000>;
274				regulator-enable-ramp-delay = <250>;
275			};
276
277			buck2_reg: BUCK2 {
278				regulator-name = "vdd_atlas";
279				regulator-min-microvolt = <500000>;
280				regulator-max-microvolt = <1200000>;
281				regulator-always-on;
282				regulator-boot-on;
283				regulator-ramp-delay = <12500>;
284				regulator-enable-ramp-delay = <250>;
285			};
286
287			buck4_reg: BUCK4 {
288				regulator-name = "vdd_int";
289				regulator-min-microvolt = <500000>;
290				regulator-max-microvolt = <1200000>;
291				regulator-always-on;
292				regulator-boot-on;
293				regulator-ramp-delay = <12500>;
294				regulator-enable-ramp-delay = <250>;
295			};
296
297			buck5_reg: BUCK5 {
298				regulator-name = "vdd_buck5";
299				regulator-min-microvolt = <500000>;
300				regulator-max-microvolt = <1300000>;
301				regulator-ramp-delay = <25000>;
302				regulator-enable-ramp-delay = <250>;
303			};
304
305			buck6_reg: BUCK6 {
306				regulator-name = "vdd_g3d";
307				regulator-min-microvolt = <500000>;
308				regulator-max-microvolt = <1400000>;
309				regulator-ramp-delay = <12500>;
310				regulator-enable-ramp-delay = <250>;
311			};
312
313			buck7_reg: BUCK7 {
314				regulator-name = "vdd_buck7";
315				regulator-min-microvolt = <1000000>;
316				regulator-max-microvolt = <1500000>;
317				regulator-always-on;
318				regulator-ramp-delay = <25000>;
319				regulator-enable-ramp-delay = <250>;
320			};
321
322			buck8_reg: BUCK8 {
323				regulator-name = "vdd_buck8";
324				regulator-min-microvolt = <1000000>;
325				regulator-max-microvolt = <1500000>;
326				regulator-always-on;
327				regulator-ramp-delay = <25000>;
328				regulator-enable-ramp-delay = <250>;
329			};
330
331			buck9_reg: BUCK9 {
332				regulator-name = "vdd_buck9";
333				regulator-min-microvolt = <1800000>;
334				regulator-max-microvolt = <2100000>;
335				regulator-always-on;
336				regulator-ramp-delay = <25000>;
337				regulator-enable-ramp-delay = <250>;
338			};
339
340			buck10_reg: BUCK10 {
341				regulator-name = "vdd_buck10";
342				regulator-min-microvolt = <1000000>;
343				regulator-max-microvolt = <3000000>;
344				regulator-always-on;
345				regulator-ramp-delay = <25000>;
346				regulator-enable-ramp-delay = <250>;
347			};
348		};
349	};
350};
351
352&pinctrl_alive {
353	pmic_irq: pmic-irq-pins {
354		samsung,pins = "gpa0-2";
355		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
356		samsung,pin-drv = <EXYNOS7_PIN_DRV_LV4>;
357	};
358};
359
360&mmc_0 {
361	status = "okay";
362	cap-mmc-highspeed;
363	mmc-ddr-1_8v;
364	mmc-hs200-1_8v;
365	non-removable;
366	card-detect-delay = <200>;
367	clock-frequency = <800000000>;
368	samsung,dw-mshc-ciu-div = <3>;
369	samsung,dw-mshc-sdr-timing = <0 4>;
370	samsung,dw-mshc-ddr-timing = <0 2>;
371	pinctrl-names = "default";
372	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_qrdy &sd0_bus1 &sd0_bus4 &sd0_bus8>;
373	bus-width = <8>;
374};
375
376&mmc_2 {
377	status = "okay";
378	cap-sd-highspeed;
379	card-detect-delay = <200>;
380	clock-frequency = <400000000>;
381	samsung,dw-mshc-ciu-div = <3>;
382	samsung,dw-mshc-sdr-timing = <2 3>;
383	samsung,dw-mshc-ddr-timing = <1 2>;
384	pinctrl-names = "default";
385	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
386	bus-width = <4>;
387	vmmc-supply = <&ldo17_reg>;
388	vqmmc-supply = <&ldo2_reg>;
389	disable-wp;
390};
391
392&pinctrl_bus1 {
393	usb30_vbus_en: usb30-vbus-en-pins {
394		samsung,pins = "gph1-1";
395		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
396		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
397		samsung,pin-drv = <EXYNOS7_PIN_DRV_LV1>;
398	};
399
400	usb3drd_boost_en: usb3drd-boost-en-pins {
401		samsung,pins = "gpf4-1";
402		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
403		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
404		samsung,pin-drv = <EXYNOS7_PIN_DRV_LV1>;
405	};
406};
407
408&ufs {
409	status = "okay";
410};
411
412&usbdrd {
413	vdd10-supply = <&ldo4_reg>;
414	vdd33-supply = <&ldo6_reg>;
415};
416
417&usbdrd_phy {
418	vbus-supply = <&usb30_vbus_reg>;
419	vbus-boost-supply = <&usb3drd_boost_5v>;
420};
421