1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung's Exynos5420 based Arndale Octa 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/gpio/gpio.h>
13#include <dt-bindings/interrupt-controller/irq.h>
14#include <dt-bindings/input/input.h>
15#include <dt-bindings/clock/samsung,s2mps11.h>
16
17/ {
18	model = "Insignal Arndale Octa evaluation board based on EXYNOS5420";
19	compatible = "insignal,arndale-octa", "samsung,exynos5420", "samsung,exynos5";
20
21	memory@20000000 {
22		device_type = "memory";
23		reg = <0x20000000 0x80000000>;
24	};
25
26	chosen {
27		bootargs = "console=ttySAC3,115200";
28	};
29
30	firmware@2073000 {
31		compatible = "samsung,secure-firmware";
32		reg = <0x02073000 0x1000>;
33	};
34
35	fixed-rate-clocks {
36		oscclk {
37			compatible = "samsung,exynos5420-oscclk";
38			clock-frequency = <24000000>;
39		};
40	};
41
42	gpio_keys {
43		compatible = "gpio-keys";
44
45		wakeup {
46			label = "SW-TACT1";
47			gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
48			linux,code = <KEY_WAKEUP>;
49			wakeup-source;
50		};
51	};
52};
53
54&cpu0 {
55	cpu-supply = <&buck2_reg>;
56};
57
58&cpu4 {
59	cpu-supply = <&buck6_reg>;
60};
61
62&usbdrd_dwc3_1 {
63	dr_mode = "host";
64};
65
66&cci {
67	status = "disabled";
68};
69
70&hdmi {
71	hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
72	vdd_osc-supply = <&ldo7_reg>;
73	vdd_pll-supply = <&ldo6_reg>;
74	vdd-supply = <&ldo6_reg>;
75	ddc = <&i2c_2>;
76	status = "okay";
77};
78
79&hsi2c_4 {
80	status = "okay";
81
82	s2mps11_pmic@66 {
83		compatible = "samsung,s2mps11-pmic";
84		reg = <0x66>;
85
86		interrupt-parent = <&gpx3>;
87		interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
88		pinctrl-names = "default";
89		pinctrl-0 = <&s2mps11_irq>;
90
91		s2mps11_osc: clocks {
92			#clock-cells = <1>;
93			clock-output-names = "s2mps11_ap",
94					"s2mps11_cp", "s2mps11_bt";
95		};
96
97		regulators {
98			ldo1_reg: LDO1 {
99				regulator-name = "PVDD_ALIVE_1V0";
100				regulator-min-microvolt = <1000000>;
101				regulator-max-microvolt = <1000000>;
102				regulator-always-on;
103			};
104
105			ldo2_reg: LDO2 {
106				regulator-name = "PVDD_APIO_1V8";
107				regulator-min-microvolt = <1800000>;
108				regulator-max-microvolt = <1800000>;
109			};
110
111			ldo3_reg: LDO3 {
112				regulator-name = "PVDD_APIO_MMCON_1V8";
113				regulator-min-microvolt = <1800000>;
114				regulator-max-microvolt = <1800000>;
115				regulator-always-on;
116			};
117
118			ldo4_reg: LDO4 {
119				regulator-name = "PVDD_ADC_1V8";
120				regulator-min-microvolt = <1800000>;
121				regulator-max-microvolt = <1800000>;
122			};
123
124			ldo5_reg: LDO5 {
125				regulator-name = "PVDD_PLL_1V8";
126				regulator-min-microvolt = <1800000>;
127				regulator-max-microvolt = <1800000>;
128				regulator-always-on;
129			};
130
131			ldo6_reg: LDO6 {
132				regulator-name = "PVDD_ANAIP_1V0";
133				regulator-min-microvolt = <1000000>;
134				regulator-max-microvolt = <1000000>;
135			};
136
137			ldo7_reg: LDO7 {
138				regulator-name = "PVDD_ANAIP_1V8";
139				regulator-min-microvolt = <1800000>;
140				regulator-max-microvolt = <1800000>;
141			};
142
143			ldo8_reg: LDO8 {
144				regulator-name = "PVDD_ABB_1V8";
145				regulator-min-microvolt = <1800000>;
146				regulator-max-microvolt = <1800000>;
147			};
148
149			ldo9_reg: LDO9 {
150				regulator-name = "PVDD_USB_3V3";
151				regulator-min-microvolt = <3000000>;
152				regulator-max-microvolt = <3000000>;
153				regulator-always-on;
154			};
155
156			ldo10_reg: LDO10 {
157				regulator-name = "PVDD_PRE_1V8";
158				regulator-min-microvolt = <1800000>;
159				regulator-max-microvolt = <1800000>;
160				regulator-always-on;
161			};
162
163			ldo11_reg: LDO11 {
164				regulator-name = "PVDD_USB_1V0";
165				regulator-min-microvolt = <1000000>;
166				regulator-max-microvolt = <1000000>;
167				regulator-always-on;
168			};
169
170			ldo12_reg: LDO12 {
171				regulator-name = "PVDD_HSIC_1V8";
172				regulator-min-microvolt = <1800000>;
173				regulator-max-microvolt = <1800000>;
174			};
175
176			ldo13_reg: LDO13 {
177				regulator-name = "PVDD_APIO_MMCOFF_2V8";
178				regulator-min-microvolt = <2800000>;
179				regulator-max-microvolt = <2800000>;
180			};
181
182			ldo15_reg: LDO15 {
183				regulator-name = "PVDD_PERI_2V8";
184				regulator-min-microvolt = <3300000>;
185				regulator-max-microvolt = <3300000>;
186			};
187
188			ldo16_reg: LDO16 {
189				regulator-name = "PVDD_PERI_3V3";
190				regulator-min-microvolt = <2200000>;
191				regulator-max-microvolt = <2200000>;
192			};
193
194			ldo18_reg: LDO18 {
195				regulator-name = "PVDD_EMMC_1V8";
196				regulator-min-microvolt = <1800000>;
197				regulator-max-microvolt = <1800000>;
198			};
199
200			ldo19_reg: LDO19 {
201				regulator-name = "PVDD_TFLASH_2V8";
202				regulator-min-microvolt = <2800000>;
203				regulator-max-microvolt = <2800000>;
204			};
205
206			ldo20_reg: LDO20 {
207				regulator-name = "PVDD_BTWIFI_1V8";
208				regulator-min-microvolt = <1800000>;
209				regulator-max-microvolt = <1800000>;
210			};
211
212			ldo21_reg: LDO21 {
213				regulator-name = "PVDD_CAM1IO_1V8";
214				regulator-min-microvolt = <1800000>;
215				regulator-max-microvolt = <1800000>;
216			};
217
218			ldo23_reg: LDO23 {
219				regulator-name = "PVDD_MIFS_1V1";
220				regulator-min-microvolt = <1200000>;
221				regulator-max-microvolt = <1200000>;
222				regulator-always-on;
223			};
224
225			ldo24_reg: LDO24 {
226				regulator-name = "PVDD_CAM1_AVDD_2V8";
227				regulator-min-microvolt = <2800000>;
228				regulator-max-microvolt = <2800000>;
229			};
230
231			ldo26_reg: LDO26 {
232				regulator-name = "PVDD_CAM0_AF_2V8";
233				regulator-min-microvolt = <3000000>;
234				regulator-max-microvolt = <3000000>;
235			};
236
237			ldo27_reg: LDO27 {
238				regulator-name = "PVDD_G3DS_1V0";
239				regulator-min-microvolt = <1200000>;
240				regulator-max-microvolt = <1200000>;
241			};
242
243			ldo28_reg: LDO28 {
244				regulator-name = "PVDD_TSP_3V3";
245				regulator-min-microvolt = <3300000>;
246				regulator-max-microvolt = <3300000>;
247			};
248
249			ldo29_reg: LDO29 {
250				regulator-name = "PVDD_AUDIO_1V8";
251				regulator-min-microvolt = <1800000>;
252				regulator-max-microvolt = <1800000>;
253			};
254
255			ldo31_reg: LDO31 {
256				regulator-name = "PVDD_PERI_1V8";
257				regulator-min-microvolt = <1800000>;
258				regulator-max-microvolt = <1800000>;
259			};
260
261			ldo32_reg: LDO32 {
262				regulator-name = "PVDD_LCD_1V8";
263				regulator-min-microvolt = <1800000>;
264				regulator-max-microvolt = <1800000>;
265			};
266
267			ldo33_reg: LDO33 {
268				regulator-name = "PVDD_CAM0IO_1V8";
269				regulator-min-microvolt = <1800000>;
270				regulator-max-microvolt = <1800000>;
271			};
272
273			ldo35_reg: LDO35 {
274				regulator-name = "PVDD_CAM0_DVDD_1V2";
275				regulator-min-microvolt = <1200000>;
276				regulator-max-microvolt = <1200000>;
277			};
278
279			ldo38_reg: LDO38 {
280				regulator-name = "PVDD_CAM0_AVDD_2V8";
281				regulator-min-microvolt = <2800000>;
282				regulator-max-microvolt = <2800000>;
283			};
284
285			buck1_reg: BUCK1 {
286				regulator-name = "PVDD_MIF_1V1";
287				regulator-min-microvolt = <800000>;
288				regulator-max-microvolt = <1100000>;
289				regulator-always-on;
290			};
291
292			buck2_reg: BUCK2 {
293				regulator-name = "vdd_arm";
294				regulator-min-microvolt = <800000>;
295				regulator-max-microvolt = <1000000>;
296				regulator-always-on;
297			};
298
299			buck3_reg: BUCK3 {
300				regulator-name = "PVDD_INT_1V0";
301				regulator-min-microvolt = <800000>;
302				regulator-max-microvolt = <1000000>;
303				regulator-always-on;
304			};
305
306			buck4_reg: BUCK4 {
307				regulator-name = "PVDD_G3D_1V0";
308				regulator-min-microvolt = <800000>;
309				regulator-max-microvolt = <1000000>;
310			};
311
312			buck5_reg: BUCK5 {
313				regulator-name = "PVDD_LPDDR3_1V2";
314				regulator-min-microvolt = <800000>;
315				regulator-max-microvolt = <1200000>;
316				regulator-always-on;
317			};
318
319			buck6_reg: BUCK6 {
320				regulator-name = "PVDD_KFC_1V0";
321				regulator-min-microvolt = <800000>;
322				regulator-max-microvolt = <1000000>;
323				regulator-always-on;
324			};
325
326			buck7_reg: BUCK7 {
327				regulator-name = "VIN_LLDO_1V4";
328				regulator-min-microvolt = <800000>;
329				regulator-max-microvolt = <1400000>;
330				regulator-always-on;
331			};
332
333			buck8_reg: BUCK8 {
334				regulator-name = "VIN_MLDO_2V0";
335				regulator-min-microvolt = <800000>;
336				regulator-max-microvolt = <2000000>;
337				regulator-always-on;
338			};
339
340			buck9_reg: BUCK9 {
341				regulator-name = "VIN_HLDO_3V5";
342				regulator-min-microvolt = <3000000>;
343				regulator-max-microvolt = <3500000>;
344				regulator-always-on;
345			};
346
347			buck10_reg: BUCK10 {
348				regulator-name = "PVDD_EMMCF_2V8";
349				regulator-min-microvolt = <2800000>;
350				regulator-max-microvolt = <2800000>;
351			};
352		};
353	};
354};
355
356&i2c_2 {
357	status = "okay";
358};
359
360&mixer {
361	status = "okay";
362};
363
364&mmc_0 {
365	status = "okay";
366	broken-cd;
367	card-detect-delay = <200>;
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_bus1 &sd0_bus4 &sd0_bus8>;
373	vmmc-supply = <&ldo10_reg>;
374	bus-width = <8>;
375	cap-mmc-highspeed;
376};
377
378&mmc_2 {
379	status = "okay";
380	card-detect-delay = <200>;
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	vmmc-supply = <&ldo19_reg>;
387	vqmmc-supply = <&ldo13_reg>;
388	bus-width = <4>;
389	cap-sd-highspeed;
390};
391
392&pinctrl_0 {
393	s2mps11_irq: s2mps11-irq {
394		samsung,pins = "gpx3-2";
395		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
396		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
397		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
398	};
399};
400
401&rtc {
402	status = "okay";
403	clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
404	clock-names = "rtc", "rtc_src";
405};
406