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