xref: /freebsd-src/sys/contrib/device-tree/src/arm/samsung/exynos5420-galaxy-tab-common.dtsi (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Base DT for Samsung's family of tablets based on Exynos5420.
4f126890aSEmmanuel Vadot *
5f126890aSEmmanuel Vadot * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
6f126890aSEmmanuel Vadot *		http://www.samsung.com
7f126890aSEmmanuel Vadot * Copyright (c) 2022 Henrik Grimler
8f126890aSEmmanuel Vadot */
9f126890aSEmmanuel Vadot
10f126890aSEmmanuel Vadot/dts-v1/;
11f126890aSEmmanuel Vadot#include "exynos5420.dtsi"
12f126890aSEmmanuel Vadot#include "exynos5420-cpus.dtsi"
13f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
14f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
15f126890aSEmmanuel Vadot#include <dt-bindings/clock/samsung,s2mps11.h>
16f126890aSEmmanuel Vadot
17f126890aSEmmanuel Vadot/ {
18f126890aSEmmanuel Vadot	chassis-type = "tablet";
19f126890aSEmmanuel Vadot
20f126890aSEmmanuel Vadot	/*
21f126890aSEmmanuel Vadot	 * To successfully boot the mainline kernel with the stock
22f126890aSEmmanuel Vadot	 * bootloader (SBOOT), the tlb needs to be flushed after the
23f126890aSEmmanuel Vadot	 * page table pointer has been updated in __common_mmu_cache_on.
24f126890aSEmmanuel Vadot	 * The same hack is also needed to boot exynos4412-i9300 with
25f126890aSEmmanuel Vadot	 * stock bootloader, and probably other Samsung devices of
26f126890aSEmmanuel Vadot	 * similar age.  See
27f126890aSEmmanuel Vadot	 * https://lore.kernel.org/all/1355276466-18295-1-git-send-email-arve@android.com
28f126890aSEmmanuel Vadot	 * for more details.
29f126890aSEmmanuel Vadot	 */
30f126890aSEmmanuel Vadot
31f126890aSEmmanuel Vadot	aliases {
32f126890aSEmmanuel Vadot		mmc0 = &mmc_0;
33*01950c46SEmmanuel Vadot		mmc1 = &mmc_1;
34f126890aSEmmanuel Vadot		mmc2 = &mmc_2;
35f126890aSEmmanuel Vadot	};
36f126890aSEmmanuel Vadot
37f126890aSEmmanuel Vadot	chosen {
38f126890aSEmmanuel Vadot		stdout-path = "serial2:115200n8";
39f126890aSEmmanuel Vadot	};
40f126890aSEmmanuel Vadot
41f126890aSEmmanuel Vadot	memory@20000000 {
42f126890aSEmmanuel Vadot		device_type = "memory";
43*01950c46SEmmanuel Vadot		reg = <0x20000000 0xbfa00000>;
44f126890aSEmmanuel Vadot	};
45f126890aSEmmanuel Vadot
46f126890aSEmmanuel Vadot	firmware@2073000 {
47f126890aSEmmanuel Vadot		compatible = "samsung,secure-firmware";
48f126890aSEmmanuel Vadot		reg = <0x02073000 0x1000>;
49f126890aSEmmanuel Vadot	};
50f126890aSEmmanuel Vadot
51f126890aSEmmanuel Vadot	fixed-rate-clocks {
52f126890aSEmmanuel Vadot		oscclk {
53f126890aSEmmanuel Vadot			compatible = "samsung,exynos5420-oscclk";
54f126890aSEmmanuel Vadot			clock-frequency = <24000000>;
55f126890aSEmmanuel Vadot		};
56f126890aSEmmanuel Vadot	};
57f126890aSEmmanuel Vadot
58f126890aSEmmanuel Vadot	gpio-keys {
59f126890aSEmmanuel Vadot		compatible = "gpio-keys";
60f126890aSEmmanuel Vadot
61f126890aSEmmanuel Vadot		key-power {
62f126890aSEmmanuel Vadot			debounce-interval = <10>;
63f126890aSEmmanuel Vadot			gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
64f126890aSEmmanuel Vadot			label = "Power";
65f126890aSEmmanuel Vadot			linux,code = <KEY_POWER>;
66f126890aSEmmanuel Vadot			wakeup-source;
67f126890aSEmmanuel Vadot		};
68f126890aSEmmanuel Vadot
69f126890aSEmmanuel Vadot		key-home {
70f126890aSEmmanuel Vadot			debounce-interval = <10>;
71f126890aSEmmanuel Vadot			gpios = <&gpx0 5 GPIO_ACTIVE_LOW>;
72f126890aSEmmanuel Vadot			label = "Home";
73f126890aSEmmanuel Vadot			linux,code = <KEY_HOME>;
74f126890aSEmmanuel Vadot			wakeup-source;
75f126890aSEmmanuel Vadot		};
76f126890aSEmmanuel Vadot
77f126890aSEmmanuel Vadot		key-volume-up {
78f126890aSEmmanuel Vadot			debounce-interval = <10>;
79f126890aSEmmanuel Vadot			gpios = <&gpx0 2 GPIO_ACTIVE_LOW>;
80f126890aSEmmanuel Vadot			label = "Volume Up";
81f126890aSEmmanuel Vadot			linux,code = <KEY_VOLUMEUP>;
82f126890aSEmmanuel Vadot		};
83f126890aSEmmanuel Vadot
84f126890aSEmmanuel Vadot		key-volume-down {
85f126890aSEmmanuel Vadot			debounce-interval = <10>;
86f126890aSEmmanuel Vadot			gpios = <&gpx0 3 GPIO_ACTIVE_LOW>;
87f126890aSEmmanuel Vadot			label = "Volume Down";
88f126890aSEmmanuel Vadot			linux,code = <KEY_VOLUMEDOWN>;
89f126890aSEmmanuel Vadot		};
90f126890aSEmmanuel Vadot	};
91*01950c46SEmmanuel Vadot
92*01950c46SEmmanuel Vadot	mmc1_pwrseq: pwrseq {
93*01950c46SEmmanuel Vadot		compatible = "mmc-pwrseq-simple";
94*01950c46SEmmanuel Vadot		reset-gpios = <&gpy7 7 GPIO_ACTIVE_LOW>;
95*01950c46SEmmanuel Vadot		clocks = <&s2mps11_osc S2MPS11_CLK_BT>;
96*01950c46SEmmanuel Vadot		clock-names = "ext_clock";
97*01950c46SEmmanuel Vadot	};
98f126890aSEmmanuel Vadot};
99f126890aSEmmanuel Vadot
100f126890aSEmmanuel Vadot&cci {
101f126890aSEmmanuel Vadot	/* CCI is disabled in hardware */
102f126890aSEmmanuel Vadot	status = "disabled";
103f126890aSEmmanuel Vadot};
104f126890aSEmmanuel Vadot
105f126890aSEmmanuel Vadot&cpu0 {
106f126890aSEmmanuel Vadot	cpu-supply = <&buck2_reg>;
107f126890aSEmmanuel Vadot};
108f126890aSEmmanuel Vadot
109f126890aSEmmanuel Vadot&cpu4 {
110f126890aSEmmanuel Vadot	cpu-supply = <&buck6_reg>;
111f126890aSEmmanuel Vadot};
112f126890aSEmmanuel Vadot
113f126890aSEmmanuel Vadot&gpu {
114f126890aSEmmanuel Vadot	status = "okay";
115f126890aSEmmanuel Vadot	mali-supply = <&buck4_reg>;
116f126890aSEmmanuel Vadot};
117f126890aSEmmanuel Vadot
118f126890aSEmmanuel Vadot&hsi2c_7 {
119f126890aSEmmanuel Vadot	status = "okay";
120f126890aSEmmanuel Vadot
121f126890aSEmmanuel Vadot	pmic@66 {
122f126890aSEmmanuel Vadot		compatible = "samsung,s2mps11-pmic";
123f126890aSEmmanuel Vadot		reg = <0x66>;
124f126890aSEmmanuel Vadot
125f126890aSEmmanuel Vadot		interrupt-parent = <&gpx3>;
126f126890aSEmmanuel Vadot		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
127f126890aSEmmanuel Vadot		pinctrl-names = "default";
128f126890aSEmmanuel Vadot		pinctrl-0 = <&s2mps11_irq>;
129f126890aSEmmanuel Vadot
130f126890aSEmmanuel Vadot		s2mps11_osc: clocks {
131f126890aSEmmanuel Vadot			compatible = "samsung,s2mps11-clk";
132f126890aSEmmanuel Vadot			#clock-cells = <1>;
133f126890aSEmmanuel Vadot			clock-output-names = "s2mps11_ap", "s2mps11_cp",
134f126890aSEmmanuel Vadot					     "s2mps11_bt";
135f126890aSEmmanuel Vadot		};
136f126890aSEmmanuel Vadot
137f126890aSEmmanuel Vadot		regulators {
138f126890aSEmmanuel Vadot			buck1_reg: BUCK1 {
139f126890aSEmmanuel Vadot				regulator-name = "VDD_MIF_1V1";
140f126890aSEmmanuel Vadot				regulator-min-microvolt = <700000>;
141f126890aSEmmanuel Vadot				regulator-max-microvolt = <1300000>;
142f126890aSEmmanuel Vadot				regulator-always-on;
143f126890aSEmmanuel Vadot				regulator-boot-on;
144f126890aSEmmanuel Vadot
145f126890aSEmmanuel Vadot				regulator-state-mem {
146f126890aSEmmanuel Vadot					regulator-off-in-suspend;
147f126890aSEmmanuel Vadot				};
148f126890aSEmmanuel Vadot			};
149f126890aSEmmanuel Vadot
150f126890aSEmmanuel Vadot			buck2_reg: BUCK2 {
151f126890aSEmmanuel Vadot				regulator-name = "VDD_ARM_1V0";
152f126890aSEmmanuel Vadot				regulator-min-microvolt = <800000>;
153f126890aSEmmanuel Vadot				regulator-max-microvolt = <1500000>;
154f126890aSEmmanuel Vadot				regulator-always-on;
155f126890aSEmmanuel Vadot				regulator-boot-on;
156f126890aSEmmanuel Vadot
157f126890aSEmmanuel Vadot				regulator-state-mem {
158f126890aSEmmanuel Vadot					regulator-off-in-suspend;
159f126890aSEmmanuel Vadot				};
160f126890aSEmmanuel Vadot			};
161f126890aSEmmanuel Vadot
162f126890aSEmmanuel Vadot			buck3_reg: BUCK3 {
163f126890aSEmmanuel Vadot				regulator-name = "VDD_INT_1V0";
164f126890aSEmmanuel Vadot				regulator-min-microvolt = <800000>;
165f126890aSEmmanuel Vadot				regulator-max-microvolt = <1400000>;
166f126890aSEmmanuel Vadot				regulator-always-on;
167f126890aSEmmanuel Vadot				regulator-boot-on;
168f126890aSEmmanuel Vadot
169f126890aSEmmanuel Vadot				regulator-state-mem {
170f126890aSEmmanuel Vadot					regulator-off-in-suspend;
171f126890aSEmmanuel Vadot				};
172f126890aSEmmanuel Vadot			};
173f126890aSEmmanuel Vadot
174f126890aSEmmanuel Vadot			buck4_reg: BUCK4 {
175f126890aSEmmanuel Vadot				regulator-name = "VDD_G3D_1V0";
176f126890aSEmmanuel Vadot				regulator-min-microvolt = <700000>;
177f126890aSEmmanuel Vadot				regulator-max-microvolt = <1400000>;
178f126890aSEmmanuel Vadot				regulator-always-on;
179f126890aSEmmanuel Vadot				regulator-boot-on;
180f126890aSEmmanuel Vadot
181f126890aSEmmanuel Vadot				regulator-state-mem {
182f126890aSEmmanuel Vadot					regulator-off-in-suspend;
183f126890aSEmmanuel Vadot				};
184f126890aSEmmanuel Vadot			};
185f126890aSEmmanuel Vadot
186f126890aSEmmanuel Vadot			buck5_reg: BUCK5 {
187f126890aSEmmanuel Vadot				regulator-name = "VDD_MEM_1V2";
188f126890aSEmmanuel Vadot				regulator-min-microvolt = <1200000>;
189f126890aSEmmanuel Vadot				regulator-max-microvolt = <1200000>;
190f126890aSEmmanuel Vadot				regulator-always-on;
191f126890aSEmmanuel Vadot				regulator-boot-on;
192f126890aSEmmanuel Vadot
193f126890aSEmmanuel Vadot				regulator-state-mem {
194f126890aSEmmanuel Vadot					regulator-off-in-suspend;
195f126890aSEmmanuel Vadot				};
196f126890aSEmmanuel Vadot
197f126890aSEmmanuel Vadot			};
198f126890aSEmmanuel Vadot
199f126890aSEmmanuel Vadot			buck6_reg: BUCK6 {
200f126890aSEmmanuel Vadot				regulator-name = "VDD_KFC_1V0";
201f126890aSEmmanuel Vadot				regulator-min-microvolt = <800000>;
202f126890aSEmmanuel Vadot				regulator-max-microvolt = <1500000>;
203f126890aSEmmanuel Vadot				regulator-always-on;
204f126890aSEmmanuel Vadot				regulator-boot-on;
205f126890aSEmmanuel Vadot
206f126890aSEmmanuel Vadot				regulator-state-mem {
207f126890aSEmmanuel Vadot					regulator-off-in-suspend;
208f126890aSEmmanuel Vadot				};
209f126890aSEmmanuel Vadot			};
210f126890aSEmmanuel Vadot
211f126890aSEmmanuel Vadot			buck7_reg: BUCK7 {
212f126890aSEmmanuel Vadot				regulator-name = "VIN_LLDO_1V4";
213f126890aSEmmanuel Vadot				regulator-min-microvolt = <1200000>;
214f126890aSEmmanuel Vadot				regulator-max-microvolt = <1500000>;
215f126890aSEmmanuel Vadot				regulator-always-on;
216f126890aSEmmanuel Vadot			};
217f126890aSEmmanuel Vadot
218f126890aSEmmanuel Vadot			buck8_reg: BUCK8 {
219f126890aSEmmanuel Vadot				regulator-name = "VIN_MLDO_2V0";
220f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
221f126890aSEmmanuel Vadot				regulator-max-microvolt = <2100000>;
222f126890aSEmmanuel Vadot				regulator-always-on;
223f126890aSEmmanuel Vadot			};
224f126890aSEmmanuel Vadot
225f126890aSEmmanuel Vadot			buck9_reg: BUCK9 {
226f126890aSEmmanuel Vadot				regulator-name = "VIN_HLDO_3V5";
227f126890aSEmmanuel Vadot				regulator-min-microvolt = <3000000>;
228f126890aSEmmanuel Vadot				regulator-max-microvolt = <3500000>;
229f126890aSEmmanuel Vadot				regulator-always-on;
230f126890aSEmmanuel Vadot			};
231f126890aSEmmanuel Vadot
232f126890aSEmmanuel Vadot			buck10_reg: BUCK10 {
233f126890aSEmmanuel Vadot				regulator-name = "VDD_CAM_ISP_1V0";
234f126890aSEmmanuel Vadot				regulator-min-microvolt = <750000>;
235f126890aSEmmanuel Vadot				regulator-max-microvolt = <3550000>;
236f126890aSEmmanuel Vadot			};
237f126890aSEmmanuel Vadot
238f126890aSEmmanuel Vadot			ldo1_reg: LDO1 {
239f126890aSEmmanuel Vadot				regulator-name = "VDD_ALIVE_1.0V";
240f126890aSEmmanuel Vadot				regulator-min-microvolt = <1000000>;
241f126890aSEmmanuel Vadot				regulator-max-microvolt = <1000000>;
242f126890aSEmmanuel Vadot				regulator-always-on;
243f126890aSEmmanuel Vadot			};
244f126890aSEmmanuel Vadot
245f126890aSEmmanuel Vadot			ldo2_reg: LDO2 {
246f126890aSEmmanuel Vadot				regulator-name = "VDD_APIO_1V8";
247f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
248f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
249f126890aSEmmanuel Vadot				regulator-always-on;
250f126890aSEmmanuel Vadot				regulator-boot-on;
251f126890aSEmmanuel Vadot
252f126890aSEmmanuel Vadot				regulator-state-mem {
253f126890aSEmmanuel Vadot					regulator-on-in-suspend;
254f126890aSEmmanuel Vadot				};
255f126890aSEmmanuel Vadot			};
256f126890aSEmmanuel Vadot
257f126890aSEmmanuel Vadot			ldo3_reg: LDO3 {
258f126890aSEmmanuel Vadot				regulator-name = "VDD_APIO_MMC01_1V8";
259f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
260f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
261f126890aSEmmanuel Vadot				regulator-always-on;
262f126890aSEmmanuel Vadot
263f126890aSEmmanuel Vadot				regulator-state-mem {
264f126890aSEmmanuel Vadot					regulator-off-in-suspend;
265f126890aSEmmanuel Vadot				};
266f126890aSEmmanuel Vadot			};
267f126890aSEmmanuel Vadot
268f126890aSEmmanuel Vadot			ldo4_reg: LDO4 {
269f126890aSEmmanuel Vadot				regulator-name = "VDD_ADC_1V8";
270f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
271f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
272f126890aSEmmanuel Vadot				regulator-always-on;
273f126890aSEmmanuel Vadot				regulator-boot-on;
274f126890aSEmmanuel Vadot
275f126890aSEmmanuel Vadot				regulator-state-mem {
276f126890aSEmmanuel Vadot					regulator-on-in-suspend;
277f126890aSEmmanuel Vadot				};
278f126890aSEmmanuel Vadot			};
279f126890aSEmmanuel Vadot
280f126890aSEmmanuel Vadot			ldo5_reg: LDO5 {
281f126890aSEmmanuel Vadot				/* Unused */
282f126890aSEmmanuel Vadot				regulator-name = "VDD_LDO5";
283f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
284f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
285f126890aSEmmanuel Vadot			};
286f126890aSEmmanuel Vadot
287f126890aSEmmanuel Vadot			ldo6_reg: LDO6 {
288f126890aSEmmanuel Vadot				regulator-name = "VDD_MIPI_1V0";
289f126890aSEmmanuel Vadot				regulator-min-microvolt = <1000000>;
290f126890aSEmmanuel Vadot				regulator-max-microvolt = <1000000>;
291f126890aSEmmanuel Vadot				regulator-always-on;
292f126890aSEmmanuel Vadot				regulator-boot-on;
293f126890aSEmmanuel Vadot
294f126890aSEmmanuel Vadot				regulator-state-mem {
295f126890aSEmmanuel Vadot					regulator-off-in-suspend;
296f126890aSEmmanuel Vadot				};
297f126890aSEmmanuel Vadot			};
298f126890aSEmmanuel Vadot
299f126890aSEmmanuel Vadot			ldo7_reg: LDO7 {
300f126890aSEmmanuel Vadot				regulator-name = "VDD_MIPI_PLL_ABB1_18V";
301f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
302f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
303f126890aSEmmanuel Vadot				regulator-always-on;
304f126890aSEmmanuel Vadot				regulator-boot-on;
305f126890aSEmmanuel Vadot
306f126890aSEmmanuel Vadot				regulator-state-mem {
307f126890aSEmmanuel Vadot					regulator-off-in-suspend;
308f126890aSEmmanuel Vadot				};
309f126890aSEmmanuel Vadot			};
310f126890aSEmmanuel Vadot
311f126890aSEmmanuel Vadot			ldo8_reg: LDO8 {
312f126890aSEmmanuel Vadot				/* Unused */
313f126890aSEmmanuel Vadot				regulator-name = "VDD_LDO8";
314f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
315f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
316f126890aSEmmanuel Vadot			};
317f126890aSEmmanuel Vadot
318f126890aSEmmanuel Vadot			ldo9_reg: LDO9 {
319f126890aSEmmanuel Vadot				regulator-name = "VDD_UOTG_3V0";
320f126890aSEmmanuel Vadot				regulator-min-microvolt = <3000000>;
321f126890aSEmmanuel Vadot				regulator-max-microvolt = <3000000>;
322f126890aSEmmanuel Vadot				regulator-always-on;
323f126890aSEmmanuel Vadot				regulator-boot-on;
324f126890aSEmmanuel Vadot
325f126890aSEmmanuel Vadot				regulator-state-mem {
326f126890aSEmmanuel Vadot					regulator-on-in-suspend;
327f126890aSEmmanuel Vadot				};
328f126890aSEmmanuel Vadot			};
329f126890aSEmmanuel Vadot
330f126890aSEmmanuel Vadot			ldo10_reg: LDO10 {
331f126890aSEmmanuel Vadot				regulator-name = "VDDQ_PRE_1V8";
332f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
333f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
334f126890aSEmmanuel Vadot				regulator-always-on;
335f126890aSEmmanuel Vadot				regulator-boot-on;
336f126890aSEmmanuel Vadot
337f126890aSEmmanuel Vadot				regulator-state-mem {
338f126890aSEmmanuel Vadot					regulator-on-in-suspend;
339f126890aSEmmanuel Vadot				};
340f126890aSEmmanuel Vadot			};
341f126890aSEmmanuel Vadot
342f126890aSEmmanuel Vadot			ldo11_reg: LDO11 {
343f126890aSEmmanuel Vadot				regulator-name = "VDD_HSIC_1V0";
344f126890aSEmmanuel Vadot				regulator-min-microvolt = <1000000>;
345f126890aSEmmanuel Vadot				regulator-max-microvolt = <1000000>;
346f126890aSEmmanuel Vadot				regulator-always-on;
347f126890aSEmmanuel Vadot				regulator-boot-on;
348f126890aSEmmanuel Vadot
349f126890aSEmmanuel Vadot				regulator-state-mem {
350f126890aSEmmanuel Vadot					regulator-on-in-suspend;
351f126890aSEmmanuel Vadot				};
352f126890aSEmmanuel Vadot			};
353f126890aSEmmanuel Vadot
354f126890aSEmmanuel Vadot			ldo12_reg: LDO12 {
355f126890aSEmmanuel Vadot				regulator-name = "VDD_HSIC_1V8";
356f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
357f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
358f126890aSEmmanuel Vadot				regulator-always-on;
359f126890aSEmmanuel Vadot				regulator-boot-on;
360f126890aSEmmanuel Vadot
361f126890aSEmmanuel Vadot				regulator-state-mem {
362f126890aSEmmanuel Vadot					regulator-on-in-suspend;
363f126890aSEmmanuel Vadot				};
364f126890aSEmmanuel Vadot			};
365f126890aSEmmanuel Vadot
366f126890aSEmmanuel Vadot			ldo13_reg: LDO13 {
367f126890aSEmmanuel Vadot				regulator-name = "VDD_APIO_MMC2_2V8";
368f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
369f126890aSEmmanuel Vadot				regulator-max-microvolt = <2800000>;
370f126890aSEmmanuel Vadot				regulator-boot-on;
371f126890aSEmmanuel Vadot
372f126890aSEmmanuel Vadot				regulator-state-mem {
373f126890aSEmmanuel Vadot					regulator-off-in-suspend;
374f126890aSEmmanuel Vadot				};
375f126890aSEmmanuel Vadot			};
376f126890aSEmmanuel Vadot
377f126890aSEmmanuel Vadot			ldo14_reg: LDO14 {
378f126890aSEmmanuel Vadot				regulator-name = "VDD_MOTOR_3V0";
379f126890aSEmmanuel Vadot				regulator-min-microvolt = <3000000>;
380f126890aSEmmanuel Vadot				regulator-max-microvolt = <3000000>;
381f126890aSEmmanuel Vadot
382f126890aSEmmanuel Vadot				regulator-state-mem {
383f126890aSEmmanuel Vadot					regulator-off-in-suspend;
384f126890aSEmmanuel Vadot				};
385f126890aSEmmanuel Vadot			};
386f126890aSEmmanuel Vadot
387f126890aSEmmanuel Vadot			ldo15_reg: LDO15 {
388f126890aSEmmanuel Vadot				regulator-name = "VDD_LDO15";
389f126890aSEmmanuel Vadot				/*
390f126890aSEmmanuel Vadot				 * LDO15 varies between devices and is
391f126890aSEmmanuel Vadot				 * specified in the device dts
392f126890aSEmmanuel Vadot				 */
393f126890aSEmmanuel Vadot			};
394f126890aSEmmanuel Vadot
395f126890aSEmmanuel Vadot			ldo16_reg: LDO16 {
396f126890aSEmmanuel Vadot				regulator-name = "VDD_AP_2V8";
397f126890aSEmmanuel Vadot				regulator-min-microvolt = <2800000>;
398f126890aSEmmanuel Vadot				regulator-max-microvolt = <2800000>;
399f126890aSEmmanuel Vadot				regulator-always-on;
400f126890aSEmmanuel Vadot				regulator-boot-on;
401f126890aSEmmanuel Vadot
402f126890aSEmmanuel Vadot				regulator-state-mem {
403f126890aSEmmanuel Vadot					regulator-on-in-suspend;
404f126890aSEmmanuel Vadot				};
405f126890aSEmmanuel Vadot			};
406f126890aSEmmanuel Vadot
407f126890aSEmmanuel Vadot			ldo17_reg: LDO17 {
408f126890aSEmmanuel Vadot				regulator-name = "VDD_LDO17";
409f126890aSEmmanuel Vadot				/*
410f126890aSEmmanuel Vadot				 * LDO17 varies between devices and is
411f126890aSEmmanuel Vadot				 * specified in the device dts
412f126890aSEmmanuel Vadot				 */
413f126890aSEmmanuel Vadot			};
414f126890aSEmmanuel Vadot
415f126890aSEmmanuel Vadot			ldo18_reg: LDO18 {
416f126890aSEmmanuel Vadot				/* Unused */
417f126890aSEmmanuel Vadot				regulator-name = "VDD_LDO18";
418f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
419f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
420f126890aSEmmanuel Vadot			};
421f126890aSEmmanuel Vadot
422f126890aSEmmanuel Vadot			ldo19_reg: LDO19 {
423f126890aSEmmanuel Vadot				regulator-name = "VDD_VTF_2V8";
424f126890aSEmmanuel Vadot				regulator-min-microvolt = <2800000>;
425f126890aSEmmanuel Vadot				regulator-max-microvolt = <2800000>;
426f126890aSEmmanuel Vadot
427f126890aSEmmanuel Vadot				regulator-state-mem {
428f126890aSEmmanuel Vadot					regulator-off-in-suspend;
429f126890aSEmmanuel Vadot				};
430f126890aSEmmanuel Vadot			};
431f126890aSEmmanuel Vadot
432f126890aSEmmanuel Vadot			ldo20_reg: LDO20 {
433f126890aSEmmanuel Vadot				regulator-name = "VDD_CAM1_CAM_1V8";
434f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
435f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
436f126890aSEmmanuel Vadot
437f126890aSEmmanuel Vadot				regulator-state-mem {
438f126890aSEmmanuel Vadot					regulator-off-in-suspend;
439f126890aSEmmanuel Vadot				};
440f126890aSEmmanuel Vadot			};
441f126890aSEmmanuel Vadot
442f126890aSEmmanuel Vadot			ldo21_reg: LDO21 {
443f126890aSEmmanuel Vadot				regulator-name = "VDD_CAM_IO_1V8";
444f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
445f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
446f126890aSEmmanuel Vadot
447f126890aSEmmanuel Vadot				regulator-state-mem {
448f126890aSEmmanuel Vadot					regulator-off-in-suspend;
449f126890aSEmmanuel Vadot				};
450f126890aSEmmanuel Vadot			};
451f126890aSEmmanuel Vadot
452f126890aSEmmanuel Vadot			ldo22_reg: LDO22 {
453f126890aSEmmanuel Vadot				regulator-name = "VDD_CAM0_S_CORE_1V1";
454f126890aSEmmanuel Vadot				regulator-min-microvolt = <1050000>;
455f126890aSEmmanuel Vadot				regulator-max-microvolt = <1200000>;
456f126890aSEmmanuel Vadot
457f126890aSEmmanuel Vadot				regulator-state-mem {
458f126890aSEmmanuel Vadot					regulator-off-in-suspend;
459f126890aSEmmanuel Vadot				};
460f126890aSEmmanuel Vadot			};
461f126890aSEmmanuel Vadot
462f126890aSEmmanuel Vadot			ldo23_reg: LDO23 {
463f126890aSEmmanuel Vadot				regulator-name = "VDD_MIFS_1V1";
464f126890aSEmmanuel Vadot				regulator-min-microvolt = <800000>;
465f126890aSEmmanuel Vadot				regulator-max-microvolt = <1100000>;
466f126890aSEmmanuel Vadot				regulator-always-on;
467f126890aSEmmanuel Vadot
468f126890aSEmmanuel Vadot				regulator-state-mem {
469f126890aSEmmanuel Vadot					regulator-on-in-suspend;
470f126890aSEmmanuel Vadot				};
471f126890aSEmmanuel Vadot			};
472f126890aSEmmanuel Vadot
473f126890aSEmmanuel Vadot			ldo24_reg: LDO24 {
474f126890aSEmmanuel Vadot				regulator-name = "VDD_TSP_3V3";
475f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
476f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
477f126890aSEmmanuel Vadot
478f126890aSEmmanuel Vadot				regulator-state-mem {
479f126890aSEmmanuel Vadot					regulator-off-in-suspend;
480f126890aSEmmanuel Vadot				};
481f126890aSEmmanuel Vadot			};
482f126890aSEmmanuel Vadot
483f126890aSEmmanuel Vadot			ldo25_reg: LDO25 {
484f126890aSEmmanuel Vadot				/* Unused */
485f126890aSEmmanuel Vadot				regulator-name = "VDD_LDO25";
486f126890aSEmmanuel Vadot				regulator-min-microvolt = <800000>;
487f126890aSEmmanuel Vadot				regulator-max-microvolt = <3950000>;
488f126890aSEmmanuel Vadot			};
489f126890aSEmmanuel Vadot
490f126890aSEmmanuel Vadot			ldo26_reg: LDO26 {
491f126890aSEmmanuel Vadot				regulator-name = "VDD_CAM0_AF_2V8";
492f126890aSEmmanuel Vadot				regulator-min-microvolt = <2800000>;
493f126890aSEmmanuel Vadot				regulator-max-microvolt = <2800000>;
494f126890aSEmmanuel Vadot
495f126890aSEmmanuel Vadot				regulator-state-mem {
496f126890aSEmmanuel Vadot					regulator-off-in-suspend;
497f126890aSEmmanuel Vadot				};
498f126890aSEmmanuel Vadot			};
499f126890aSEmmanuel Vadot
500f126890aSEmmanuel Vadot			ldo27_reg: LDO27 {
501f126890aSEmmanuel Vadot				regulator-name = "VDD_G3DS_1V0";
502f126890aSEmmanuel Vadot				regulator-min-microvolt = <800000>;
503f126890aSEmmanuel Vadot				regulator-max-microvolt = <1000000>;
504f126890aSEmmanuel Vadot				regulator-always-on;
505f126890aSEmmanuel Vadot
506f126890aSEmmanuel Vadot				regulator-state-mem {
507f126890aSEmmanuel Vadot					regulator-on-in-suspend;
508f126890aSEmmanuel Vadot				};
509f126890aSEmmanuel Vadot			};
510f126890aSEmmanuel Vadot
511f126890aSEmmanuel Vadot			ldo28_reg: LDO28 {
512f126890aSEmmanuel Vadot				regulator-name = "VDD_LDO28";
513f126890aSEmmanuel Vadot				/*
514f126890aSEmmanuel Vadot				 * LDO28 varies between devices and is
515f126890aSEmmanuel Vadot				 * specified in the device dts
516f126890aSEmmanuel Vadot				 */
517f126890aSEmmanuel Vadot			};
518f126890aSEmmanuel Vadot
519f126890aSEmmanuel Vadot			ldo29_reg: LDO29 {
520f126890aSEmmanuel Vadot				regulator-name = "VDD_LDO29";
521f126890aSEmmanuel Vadot				/*
522f126890aSEmmanuel Vadot				 * LDO29 varies between devices and is
523f126890aSEmmanuel Vadot				 * specified in the device dts
524f126890aSEmmanuel Vadot				 */
525f126890aSEmmanuel Vadot			};
526f126890aSEmmanuel Vadot
527f126890aSEmmanuel Vadot			ldo30_reg: LDO30 {
528f126890aSEmmanuel Vadot				regulator-name = "VDD_TOUCH_1V8";
529f126890aSEmmanuel Vadot				regulator-min-microvolt = <1900000>;
530f126890aSEmmanuel Vadot				regulator-max-microvolt = <1900000>;
531f126890aSEmmanuel Vadot
532f126890aSEmmanuel Vadot				regulator-state-mem {
533f126890aSEmmanuel Vadot					regulator-off-in-suspend;
534f126890aSEmmanuel Vadot				};
535f126890aSEmmanuel Vadot			};
536f126890aSEmmanuel Vadot
537f126890aSEmmanuel Vadot			ldo31_reg: LDO31 {
538f126890aSEmmanuel Vadot				regulator-name = "VDD_LDO31";
539f126890aSEmmanuel Vadot				/*
540f126890aSEmmanuel Vadot				 * LDO31 varies between devices and is
541f126890aSEmmanuel Vadot				 * specified in the device dts
542f126890aSEmmanuel Vadot				 */
543f126890aSEmmanuel Vadot			};
544f126890aSEmmanuel Vadot
545f126890aSEmmanuel Vadot			ldo32_reg: LDO32 {
546f126890aSEmmanuel Vadot				regulator-name = "VDD_LDO32";
547f126890aSEmmanuel Vadot				/*
548f126890aSEmmanuel Vadot				 * LDO32 varies between devices and is
549f126890aSEmmanuel Vadot				 * specified in the device dts
550f126890aSEmmanuel Vadot				 */
551f126890aSEmmanuel Vadot			};
552f126890aSEmmanuel Vadot
553f126890aSEmmanuel Vadot			ldo33_reg: LDO33 {
554f126890aSEmmanuel Vadot				regulator-name = "VDD_MHL_1V8";
555f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
556f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
557f126890aSEmmanuel Vadot
558f126890aSEmmanuel Vadot				regulator-state-mem {
559f126890aSEmmanuel Vadot					regulator-off-in-suspend;
560f126890aSEmmanuel Vadot				};
561f126890aSEmmanuel Vadot			};
562f126890aSEmmanuel Vadot
563f126890aSEmmanuel Vadot			ldo34_reg: LDO34 {
564f126890aSEmmanuel Vadot				regulator-name = "VDD_MHL_3V3";
565f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
566f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
567f126890aSEmmanuel Vadot
568f126890aSEmmanuel Vadot				regulator-state-mem {
569f126890aSEmmanuel Vadot					regulator-off-in-suspend;
570f126890aSEmmanuel Vadot				};
571f126890aSEmmanuel Vadot			};
572f126890aSEmmanuel Vadot
573f126890aSEmmanuel Vadot			ldo35_reg: LDO35 {
574f126890aSEmmanuel Vadot				regulator-name = "VDD_SIL_1V2";
575f126890aSEmmanuel Vadot				regulator-min-microvolt = <1200000>;
576f126890aSEmmanuel Vadot				regulator-max-microvolt = <1200000>;
577f126890aSEmmanuel Vadot
578f126890aSEmmanuel Vadot				regulator-state-mem {
579f126890aSEmmanuel Vadot					regulator-off-in-suspend;
580f126890aSEmmanuel Vadot				};
581f126890aSEmmanuel Vadot			};
582f126890aSEmmanuel Vadot
583f126890aSEmmanuel Vadot			ldo36_reg: LDO36 {
584f126890aSEmmanuel Vadot				/* Unused */
585f126890aSEmmanuel Vadot				regulator-name = "VDD_LDO36";
586f126890aSEmmanuel Vadot				regulator-min-microvolt = <800000>;
587f126890aSEmmanuel Vadot				regulator-max-microvolt = <3950000>;
588f126890aSEmmanuel Vadot			};
589f126890aSEmmanuel Vadot
590f126890aSEmmanuel Vadot			ldo37_reg: LDO37 {
591f126890aSEmmanuel Vadot				/* Unused */
592f126890aSEmmanuel Vadot				regulator-name = "VDD_LDO37";
593f126890aSEmmanuel Vadot				regulator-min-microvolt = <800000>;
594f126890aSEmmanuel Vadot				regulator-max-microvolt = <3950000>;
595f126890aSEmmanuel Vadot			};
596f126890aSEmmanuel Vadot
597f126890aSEmmanuel Vadot			ldo38_reg: LDO38 {
598f126890aSEmmanuel Vadot				regulator-name = "VDD_KEY_LED_3V3";
599f126890aSEmmanuel Vadot				regulator-min-microvolt = <2500000>;
600f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
601f126890aSEmmanuel Vadot
602f126890aSEmmanuel Vadot				regulator-state-mem {
603f126890aSEmmanuel Vadot					regulator-off-in-suspend;
604f126890aSEmmanuel Vadot				};
605f126890aSEmmanuel Vadot			};
606f126890aSEmmanuel Vadot		};
607f126890aSEmmanuel Vadot	};
608f126890aSEmmanuel Vadot};
609f126890aSEmmanuel Vadot
610f126890aSEmmanuel Vadot&mixer {
611f126890aSEmmanuel Vadot	status = "okay";
612f126890aSEmmanuel Vadot};
613f126890aSEmmanuel Vadot
614f126890aSEmmanuel Vadot/* Internal storage */
615f126890aSEmmanuel Vadot&mmc_0 {
616f126890aSEmmanuel Vadot	status = "okay";
617f126890aSEmmanuel Vadot	bus-width = <8>;
618f126890aSEmmanuel Vadot	cap-mmc-highspeed;
619f126890aSEmmanuel Vadot	card-detect-delay = <200>;
620f126890aSEmmanuel Vadot	mmc-ddr-1_8v;
621f126890aSEmmanuel Vadot	mmc-hs200-1_8v;
622f126890aSEmmanuel Vadot	non-removable;
623f126890aSEmmanuel Vadot	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
624f126890aSEmmanuel Vadot	pinctrl-names = "default";
625f126890aSEmmanuel Vadot	samsung,dw-mshc-ciu-div = <3>;
626f126890aSEmmanuel Vadot	samsung,dw-mshc-ddr-timing = <0 2>;
627f126890aSEmmanuel Vadot	samsung,dw-mshc-sdr-timing = <0 4>;
628f126890aSEmmanuel Vadot	vqmmc-supply = <&ldo3_reg>;
629f126890aSEmmanuel Vadot};
630f126890aSEmmanuel Vadot
631*01950c46SEmmanuel Vadot/* WiFi */
632*01950c46SEmmanuel Vadot&mmc_1 {
633*01950c46SEmmanuel Vadot	bus-width = <4>;
634*01950c46SEmmanuel Vadot	cap-sd-highspeed;
635*01950c46SEmmanuel Vadot	cap-sdio-irq;
636*01950c46SEmmanuel Vadot	card-detect-delay = <200>;
637*01950c46SEmmanuel Vadot	keep-power-in-suspend;
638*01950c46SEmmanuel Vadot	mmc-pwrseq = <&mmc1_pwrseq>;
639*01950c46SEmmanuel Vadot	non-removable;
640*01950c46SEmmanuel Vadot	pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_int>, <&sd1_bus1>,
641*01950c46SEmmanuel Vadot		    <&sd1_bus4>, <&wifi_en>;
642*01950c46SEmmanuel Vadot	pinctrl-names = "default";
643*01950c46SEmmanuel Vadot	vqmmc-supply = <&ldo2_reg>;
644*01950c46SEmmanuel Vadot	samsung,dw-mshc-ciu-div = <1>;
645*01950c46SEmmanuel Vadot	samsung,dw-mshc-ddr-timing = <0 2>;
646*01950c46SEmmanuel Vadot	samsung,dw-mshc-sdr-timing = <0 1>;
647*01950c46SEmmanuel Vadot	status = "okay";
648*01950c46SEmmanuel Vadot};
649*01950c46SEmmanuel Vadot
650f126890aSEmmanuel Vadot/* External sdcard */
651f126890aSEmmanuel Vadot&mmc_2 {
652f126890aSEmmanuel Vadot	status = "okay";
653f126890aSEmmanuel Vadot	bus-width = <4>;
654f126890aSEmmanuel Vadot	cap-sd-highspeed;
655f126890aSEmmanuel Vadot	card-detect-delay = <200>;
656f126890aSEmmanuel Vadot	cd-gpios = <&gpx2 4 GPIO_ACTIVE_LOW>;
657f126890aSEmmanuel Vadot	pinctrl-0 = <&sd2_clk &sd2_cmd &mmc2_cd &sd2_bus1 &sd2_bus4>;
658f126890aSEmmanuel Vadot	pinctrl-names = "default";
659f126890aSEmmanuel Vadot	samsung,dw-mshc-ciu-div = <3>;
660f126890aSEmmanuel Vadot	samsung,dw-mshc-ddr-timing = <0 2>;
661f126890aSEmmanuel Vadot	samsung,dw-mshc-sdr-timing = <0 4>;
662f126890aSEmmanuel Vadot	sd-uhs-sdr50;
663f126890aSEmmanuel Vadot	vmmc-supply = <&ldo19_reg>;
664f126890aSEmmanuel Vadot	vqmmc-supply = <&ldo13_reg>;
665f126890aSEmmanuel Vadot};
666f126890aSEmmanuel Vadot
667f126890aSEmmanuel Vadot&pinctrl_0 {
668f126890aSEmmanuel Vadot	mmc2_cd: mmc2-cd-pins {
669f126890aSEmmanuel Vadot		samsung,pins = "gpx2-4";
670f126890aSEmmanuel Vadot		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
671f126890aSEmmanuel Vadot	};
672f126890aSEmmanuel Vadot
673f126890aSEmmanuel Vadot	s2mps11_irq: s2mps11-irq-pins {
674f126890aSEmmanuel Vadot		samsung,pins = "gpx3-0";
675f126890aSEmmanuel Vadot		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
676f126890aSEmmanuel Vadot		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
677f126890aSEmmanuel Vadot		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
678f126890aSEmmanuel Vadot	};
679*01950c46SEmmanuel Vadot
680*01950c46SEmmanuel Vadot	wifi_en: wifi-en-pins {
681*01950c46SEmmanuel Vadot		samsung,pins = "gpy7-7";
682*01950c46SEmmanuel Vadot		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
683*01950c46SEmmanuel Vadot	};
684f126890aSEmmanuel Vadot};
685f126890aSEmmanuel Vadot
686f126890aSEmmanuel Vadot&rtc {
687f126890aSEmmanuel Vadot	status = "okay";
688f126890aSEmmanuel Vadot	clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
689f126890aSEmmanuel Vadot	clock-names = "rtc", "rtc_src";
690f126890aSEmmanuel Vadot};
691f126890aSEmmanuel Vadot
692f126890aSEmmanuel Vadot&tmu_cpu0 {
693f126890aSEmmanuel Vadot	vtmu-supply = <&ldo10_reg>;
694f126890aSEmmanuel Vadot};
695f126890aSEmmanuel Vadot
696f126890aSEmmanuel Vadot&tmu_cpu1 {
697f126890aSEmmanuel Vadot	vtmu-supply = <&ldo10_reg>;
698f126890aSEmmanuel Vadot};
699f126890aSEmmanuel Vadot
700f126890aSEmmanuel Vadot&tmu_cpu2 {
701f126890aSEmmanuel Vadot	vtmu-supply = <&ldo10_reg>;
702f126890aSEmmanuel Vadot};
703f126890aSEmmanuel Vadot
704f126890aSEmmanuel Vadot&tmu_cpu3 {
705f126890aSEmmanuel Vadot	vtmu-supply = <&ldo10_reg>;
706f126890aSEmmanuel Vadot};
707f126890aSEmmanuel Vadot
708f126890aSEmmanuel Vadot&tmu_gpu {
709f126890aSEmmanuel Vadot	vtmu-supply = <&ldo10_reg>;
710f126890aSEmmanuel Vadot};
711f126890aSEmmanuel Vadot
712f126890aSEmmanuel Vadot&usbdrd_dwc3_0 {
713f126890aSEmmanuel Vadot	dr_mode = "peripheral";
714f126890aSEmmanuel Vadot};
715f126890aSEmmanuel Vadot
716f126890aSEmmanuel Vadot&usbdrd_dwc3_1 {
717f126890aSEmmanuel Vadot	dr_mode = "peripheral";
718f126890aSEmmanuel Vadot};
719f126890aSEmmanuel Vadot
720f126890aSEmmanuel Vadot&usbdrd3_0 {
721f126890aSEmmanuel Vadot	vdd33-supply = <&ldo9_reg>;
722f126890aSEmmanuel Vadot	vdd10-supply = <&ldo11_reg>;
723f126890aSEmmanuel Vadot};
724f126890aSEmmanuel Vadot
725f126890aSEmmanuel Vadot&usbdrd3_1 {
726f126890aSEmmanuel Vadot	vdd33-supply = <&ldo9_reg>;
727f126890aSEmmanuel Vadot	vdd10-supply = <&ldo11_reg>;
728f126890aSEmmanuel Vadot};
729