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