1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung's S5PV210 based Galaxy Aries board device tree source
4 */
5
6/dts-v1/;
7#include <dt-bindings/gpio/gpio.h>
8#include <dt-bindings/interrupt-controller/irq.h>
9#include "s5pv210.dtsi"
10
11/ {
12	compatible = "samsung,aries", "samsung,s5pv210";
13
14	aliases {
15		i2c6 = &i2c_pmic;
16		i2c9 = &i2c_fuel;
17	};
18
19	memory@30000000 {
20		device_type = "memory";
21		reg = <0x30000000 0x05000000
22			0x40000000 0x10000000
23			0x50000000 0x08000000>;
24	};
25
26	wifi_pwrseq: wifi-pwrseq {
27		compatible = "mmc-pwrseq-simple";
28		reset-gpios = <&gpg1 2 GPIO_ACTIVE_LOW>;
29		pinctrl-names = "default";
30		pinctrl-0 = <&wlan_gpio_rst>;
31		post-power-on-delay-ms = <500>;
32		power-off-delay-us = <500>;
33	};
34
35	i2c_pmic: i2c-gpio-0 {
36		compatible = "i2c-gpio";
37		sda-gpios = <&gpj4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
38		scl-gpios = <&gpj4 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
39		i2c-gpio,delay-us = <2>;
40		#address-cells = <1>;
41		#size-cells = <0>;
42
43		pmic@66 {
44			compatible = "maxim,max8998";
45			reg = <0x66>;
46			interrupt-parent = <&gph0>;
47			interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
48
49			max8998,pmic-buck1-default-dvs-idx = <1>;
50			max8998,pmic-buck1-dvs-gpios = <&gph0 3 GPIO_ACTIVE_HIGH>,
51							<&gph0 4 GPIO_ACTIVE_HIGH>;
52			max8998,pmic-buck1-dvs-voltage = <1275000>, <1200000>,
53							<1050000>, <950000>;
54
55			max8998,pmic-buck2-default-dvs-idx = <0>;
56			max8998,pmic-buck2-dvs-gpio = <&gph0 5 GPIO_ACTIVE_HIGH>;
57			max8998,pmic-buck2-dvs-voltage = <1100000>, <1000000>;
58
59			regulators {
60				ldo2_reg: LDO2 {
61					regulator-name = "VALIVE_1.2V";
62					regulator-min-microvolt = <1200000>;
63					regulator-max-microvolt = <1200000>;
64					regulator-always-on;
65
66					regulator-state-mem {
67						regulator-on-in-suspend;
68					};
69				};
70
71				ldo3_reg: LDO3 {
72					regulator-name = "VUSB_1.1V";
73					regulator-min-microvolt = <1100000>;
74					regulator-max-microvolt = <1100000>;
75
76					regulator-state-mem {
77						regulator-off-in-suspend;
78					};
79				};
80
81				ldo4_reg: LDO4 {
82					regulator-name = "VADC_3.3V";
83					regulator-min-microvolt = <3300000>;
84					regulator-max-microvolt = <3300000>;
85					regulator-always-on;
86
87					regulator-state-mem {
88						regulator-off-in-suspend;
89					};
90				};
91
92				ldo5_reg: LDO5 {
93					regulator-name = "VTF_2.8V";
94					regulator-min-microvolt = <2800000>;
95					regulator-max-microvolt = <2800000>;
96
97					regulator-state-mem {
98						regulator-off-in-suspend;
99					};
100				};
101
102				ldo6_reg: LDO6 {
103					regulator-name = "LDO6";
104					regulator-min-microvolt = <1600000>;
105					regulator-max-microvolt = <3600000>;
106				};
107
108				ldo7_reg: LDO7 {
109					regulator-name = "VLCD_1.8V";
110					regulator-min-microvolt = <1800000>;
111					regulator-max-microvolt = <1800000>;
112					/* Till we get panel driver */
113					regulator-always-on;
114
115					regulator-state-mem {
116						regulator-off-in-suspend;
117					};
118				};
119
120				ldo8_reg: LDO8 {
121					regulator-name = "VUSB_3.3V";
122					regulator-min-microvolt = <3300000>;
123					regulator-max-microvolt = <3300000>;
124
125					regulator-state-mem {
126						regulator-off-in-suspend;
127					};
128				};
129
130				ldo9_reg: LDO9 {
131					regulator-name = "VCC_2.8V_PDA";
132					regulator-min-microvolt = <2800000>;
133					regulator-max-microvolt = <2800000>;
134					regulator-always-on;
135				};
136
137				ldo10_reg: LDO10 {
138					regulator-name = "VPLL_1.2V";
139					regulator-min-microvolt = <1200000>;
140					regulator-max-microvolt = <1200000>;
141					regulator-always-on;
142
143					regulator-state-mem {
144						regulator-on-in-suspend;
145					};
146				};
147
148				ldo11_reg: LDO11 {
149					regulator-name = "CAM_AF_3.0V";
150					regulator-min-microvolt = <3000000>;
151					regulator-max-microvolt = <3000000>;
152
153					regulator-state-mem {
154						regulator-off-in-suspend;
155					};
156				};
157
158				ldo12_reg: LDO12 {
159					regulator-name = "CAM_SENSOR_CORE_1.2V";
160					regulator-min-microvolt = <1200000>;
161					regulator-max-microvolt = <1200000>;
162
163					regulator-state-mem {
164						regulator-off-in-suspend;
165					};
166				};
167
168				ldo13_reg: LDO13 {
169					regulator-name = "VGA_VDDIO_2.8V";
170					regulator-min-microvolt = <2800000>;
171					regulator-max-microvolt = <2800000>;
172
173					regulator-state-mem {
174						regulator-off-in-suspend;
175					};
176				};
177
178				ldo14_reg: LDO14 {
179					regulator-name = "VGA_DVDD_1.8V";
180					regulator-min-microvolt = <1800000>;
181					regulator-max-microvolt = <1800000>;
182
183					regulator-state-mem {
184						regulator-off-in-suspend;
185					};
186				};
187
188				ldo15_reg: LDO15 {
189					regulator-name = "CAM_ISP_HOST_2.8V";
190					regulator-min-microvolt = <2800000>;
191					regulator-max-microvolt = <2800000>;
192
193					regulator-state-mem {
194						regulator-off-in-suspend;
195					};
196				};
197
198				ldo16_reg: LDO16 {
199					regulator-name = "VGA_AVDD_2.8V";
200					regulator-min-microvolt = <2800000>;
201					regulator-max-microvolt = <2800000>;
202
203					regulator-state-mem {
204						regulator-off-in-suspend;
205					};
206				};
207
208				ldo17_reg: LDO17 {
209					regulator-name = "VCC_3.0V_LCD";
210					regulator-min-microvolt = <3000000>;
211					regulator-max-microvolt = <3000000>;
212					/* Till we get panel driver */
213					regulator-always-on;
214
215					regulator-state-mem {
216						regulator-off-in-suspend;
217					};
218				};
219
220				buck1_reg: BUCK1 {
221					regulator-name = "vddarm";
222					regulator-min-microvolt = <750000>;
223					regulator-max-microvolt = <1500000>;
224
225					regulator-state-mem {
226						regulator-off-in-suspend;
227						regulator-suspend-microvolt = <1250000>;
228					};
229				};
230
231				buck2_reg: BUCK2 {
232					regulator-name = "vddint";
233					regulator-min-microvolt = <750000>;
234					regulator-max-microvolt = <1500000>;
235
236					regulator-state-mem {
237						regulator-off-in-suspend;
238						regulator-suspend-microvolt = <1100000>;
239					};
240				};
241
242				buck3_reg: BUCK3 {
243					regulator-name = "VCC_1.8V";
244					regulator-min-microvolt = <1800000>;
245					regulator-max-microvolt = <1800000>;
246					regulator-always-on;
247				};
248
249				buck4_reg: BUCK4 {
250					regulator-name = "CAM_ISP_CORE_1.2V";
251					regulator-min-microvolt = <1200000>;
252					regulator-max-microvolt = <1200000>;
253
254					regulator-state-mem {
255						regulator-off-in-suspend;
256					};
257				};
258
259				ap32khz_reg: EN32KHz-AP {
260					regulator-name = "32KHz AP";
261					regulator-always-on;
262				};
263
264				cp32khz_reg: EN32KHz-CP {
265					regulator-name = "32KHz CP";
266				};
267
268				vichg_reg: ENVICHG {
269					regulator-name = "VICHG";
270					regulator-always-on;
271				};
272
273				safe1_sreg: ESAFEOUT1 {
274					regulator-name = "SAFEOUT1";
275				};
276
277				safe2_sreg: ESAFEOUT2 {
278					regulator-name = "SAFEOUT2";
279				};
280			};
281		};
282	};
283
284	i2c_fuel: i2c-gpio-1 {
285		compatible = "i2c-gpio";
286		sda-gpios = <&mp05 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
287		scl-gpios = <&mp05 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
288		i2c-gpio,delay-us = <2>;
289		#address-cells = <1>;
290		#size-cells = <0>;
291
292		fuelgauge@36 {
293			compatible = "maxim,max17040";
294			interrupt-parent = <&vic0>;
295			interrupts = <7>;
296			reg = <0x36>;
297		};
298	};
299};
300
301&fimd {
302	pinctrl-names = "default";
303	pinctrl-0 = <&lcd_clk &lcd_data24>;
304	status = "okay";
305
306	samsung,invert-vden;
307	samsung,invert-vclk;
308
309	display-timings {
310		timing-0 {
311			/* 480x800@60Hz */
312			clock-frequency = <25628040>;
313			hactive = <480>;
314			vactive = <800>;
315			hfront-porch = <16>;
316			hback-porch = <16>;
317			hsync-len = <2>;
318			vfront-porch = <28>;
319			vback-porch = <1>;
320			vsync-len = <2>;
321		};
322	};
323};
324
325&hsotg {
326	vusb_a-supply = <&ldo8_reg>;
327	vusb_d-supply = <&ldo3_reg>;
328	dr_mode = "peripheral";
329	status = "okay";
330};
331
332&pinctrl0 {
333	wlan_bt_en: wlan-bt-en {
334		samsung,pins = "gpb-5";
335		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
336		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
337		samsung,pin-val = <1>;
338	};
339
340	wlan_gpio_rst: wlan-gpio-rst {
341		samsung,pins = "gpg1-2";
342		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
343		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
344	};
345
346	wifi_host_wake: wifi-host-wake {
347		samsung,pins = "gph2-4";
348		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
349		samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
350		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
351	};
352
353	tf_detect: tf-detect {
354		samsung,pins = "gph3-4";
355		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
356		samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
357		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
358	};
359
360	wifi_wake: wifi-wake {
361		samsung,pins = "gph3-5";
362		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
363		samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
364	};
365};
366
367&sdhci1 {
368	#address-cells = <1>;
369	#size-cells = <0>;
370
371	bus-width = <4>;
372	max-frequency = <38400000>;
373	pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4 &wifi_wake &wifi_host_wake &wlan_bt_en>;
374	pinctrl-names = "default";
375	cap-sd-highspeed;
376	cap-mmc-highspeed;
377
378	mmc-pwrseq = <&wifi_pwrseq>;
379	non-removable;
380	status = "okay";
381
382	wlan@1 {
383		reg = <1>;
384		compatible = "brcm,bcm4329-fmac";
385		interrupt-parent = <&gph2>;
386		interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
387		interrupt-names = "host-wake";
388	};
389};
390
391&sdhci2 {
392	bus-width = <4>;
393	cd-gpios = <&gph3 4 GPIO_ACTIVE_LOW>;
394	vmmc-supply = <&ldo5_reg>;
395	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &tf_detect>;
396	pinctrl-names = "default";
397	status = "okay";
398};
399
400&uart0 {
401	status = "okay";
402};
403
404&uart1 {
405	status = "okay";
406};
407
408&uart2 {
409	status = "okay";
410};
411
412&usbphy {
413	status = "okay";
414	vbus-supply = <&safe1_sreg>;
415};
416
417&xusbxti {
418	clock-frequency = <24000000>;
419};
420