1// SPDX-License-Identifier: GPL-2.0
2#include <dt-bindings/input/input.h>
3
4#include "qcom-msm8960.dtsi"
5#include <dt-bindings/reset/qcom,gcc-msm8960.h>
6
7/ {
8	model = "Samsung Galaxy Express SGH-I437";
9	compatible = "samsung,expressatt", "qcom,msm8960";
10	chassis-type = "handset";
11
12	aliases {
13		serial0 = &gsbi5_serial;
14		mmc0 = &sdcc1; /* SDCC1 eMMC slot */
15		mmc1 = &sdcc3; /* SDCC3 SD card slot */
16	};
17
18	chosen {
19		stdout-path = "serial0:115200n8";
20	};
21};
22
23&gsbi5 {
24	qcom,mode = <GSBI_PROT_I2C_UART>;
25	status = "okay";
26};
27
28&gsbi5_serial {
29	status = "okay";
30};
31
32&sdcc1 {
33	vmmc-supply = <&pm8921_l5>;
34	status = "okay";
35};
36
37&sdcc3 {
38	vmmc-supply = <&pm8921_l6>;
39	vqmmc-supply = <&pm8921_l7>;
40	status = "okay";
41};
42
43&gsbi1 {
44	qcom,mode = <GSBI_PROT_SPI>;
45	pinctrl-0 = <&spi1_default>;
46	pinctrl-names = "default";
47	status = "okay";
48};
49
50&gsbi1_spi {
51	status = "okay";
52};
53
54&msmgpio {
55	spi1_default: spi1-default-state {
56		mosi-pins {
57			pins = "gpio6";
58			function = "gsbi1";
59			drive-strength = <12>;
60			bias-disable;
61		};
62
63		miso-pins {
64			pins = "gpio7";
65			function = "gsbi1";
66			drive-strength = <12>;
67			bias-disable;
68		};
69
70		cs-pins {
71			pins = "gpio8";
72			function = "gsbi1";
73			drive-strength = <12>;
74			bias-disable;
75			output-low;
76		};
77
78		clk-pins {
79			pins = "gpio9";
80			function = "gsbi1";
81			drive-strength = <12>;
82			bias-disable;
83		};
84	};
85};
86
87&rpm {
88	regulators {
89		compatible = "qcom,rpm-pm8921-regulators";
90		vin_lvs1_3_6-supply = <&pm8921_s4>;
91		vin_lvs2-supply = <&pm8921_s4>;
92		vin_lvs4_5_7-supply = <&pm8921_s4>;
93		vdd_ncp-supply = <&pm8921_l6>;
94		vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
95		vdd_l21_l23_l29-supply = <&pm8921_s8>;
96		vdd_l24-supply = <&pm8921_s1>;
97		vdd_l25-supply = <&pm8921_s1>;
98		vdd_l27-supply = <&pm8921_s7>;
99		vdd_l28-supply = <&pm8921_s7>;
100
101		/* Buck SMPS */
102		pm8921_s1: s1 {
103			regulator-always-on;
104			regulator-min-microvolt = <1225000>;
105			regulator-max-microvolt = <1225000>;
106			qcom,switch-mode-frequency = <3200000>;
107			bias-pull-down;
108		};
109
110		pm8921_s2: s2 {
111			regulator-min-microvolt = <1300000>;
112			regulator-max-microvolt = <1300000>;
113			qcom,switch-mode-frequency = <1600000>;
114			bias-pull-down;
115		};
116
117		pm8921_s3: s3 {
118			regulator-min-microvolt = <500000>;
119			regulator-max-microvolt = <1150000>;
120			qcom,switch-mode-frequency = <4800000>;
121			bias-pull-down;
122		};
123
124		pm8921_s4: s4 {
125			regulator-always-on;
126			regulator-min-microvolt = <1800000>;
127			regulator-max-microvolt = <1800000>;
128			qcom,switch-mode-frequency = <1600000>;
129			bias-pull-down;
130			qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
131		};
132
133		pm8921_s7: s7 {
134			regulator-min-microvolt = <1150000>;
135			regulator-max-microvolt = <1150000>;
136			qcom,switch-mode-frequency = <3200000>;
137			bias-pull-down;
138		};
139
140		pm8921_s8: s8 {
141			regulator-always-on;
142			regulator-min-microvolt = <2050000>;
143			regulator-max-microvolt = <2050000>;
144			qcom,switch-mode-frequency = <1600000>;
145			bias-pull-down;
146		};
147
148		/* PMOS LDO */
149		pm8921_l1: l1 {
150			regulator-always-on;
151			regulator-min-microvolt = <1050000>;
152			regulator-max-microvolt = <1050000>;
153			bias-pull-down;
154		};
155
156		pm8921_l2: l2 {
157			regulator-min-microvolt = <1200000>;
158			regulator-max-microvolt = <1200000>;
159			bias-pull-down;
160		};
161
162		pm8921_l3: l3 {
163			regulator-min-microvolt = <3075000>;
164			regulator-max-microvolt = <3300000>;
165			bias-pull-down;
166		};
167
168		pm8921_l4: l4 {
169			regulator-always-on;
170			regulator-min-microvolt = <1800000>;
171			regulator-max-microvolt = <1800000>;
172			bias-pull-down;
173		};
174
175		pm8921_l5: l5 {
176			regulator-min-microvolt = <2950000>;
177			regulator-max-microvolt = <2950000>;
178			bias-pull-down;
179		};
180
181		pm8921_l6: l6 {
182			regulator-min-microvolt = <2950000>;
183			regulator-max-microvolt = <2950000>;
184			bias-pull-down;
185		};
186
187		pm8921_l7: l7 {
188			regulator-always-on;
189			regulator-min-microvolt = <1850000>;
190			regulator-max-microvolt = <2950000>;
191			bias-pull-down;
192		};
193
194		pm8921_l8: l8 {
195			regulator-min-microvolt = <3000000>;
196			regulator-max-microvolt = <3100000>;
197			bias-pull-down;
198		};
199
200		pm8921_l9: l9 {
201			regulator-min-microvolt = <2850000>;
202			regulator-max-microvolt = <2850000>;
203			bias-pull-down;
204		};
205
206		pm8921_l10: l10 {
207			regulator-min-microvolt = <3000000>;
208			regulator-max-microvolt = <3000000>;
209			bias-pull-down;
210		};
211
212		pm8921_l11: l11 {
213			regulator-min-microvolt = <2800000>;
214			regulator-max-microvolt = <3300000>;
215			bias-pull-down;
216		};
217
218		pm8921_l12: l12 {
219			regulator-min-microvolt = <1200000>;
220			regulator-max-microvolt = <1200000>;
221			bias-pull-down;
222		};
223
224		pm8921_l14: l14 {
225			regulator-min-microvolt = <1800000>;
226			regulator-max-microvolt = <1800000>;
227			bias-pull-down;
228		};
229
230		pm8921_l15: l15 {
231			regulator-min-microvolt = <1800000>;
232			regulator-max-microvolt = <2950000>;
233			bias-pull-down;
234		};
235
236		pm8921_l16: l16 {
237			regulator-min-microvolt = <2800000>;
238			regulator-max-microvolt = <3000000>;
239			bias-pull-down;
240		};
241
242		pm8921_l17: l17 {
243			regulator-min-microvolt = <1800000>;
244			regulator-max-microvolt = <3300000>;
245			bias-pull-down;
246		};
247
248		pm8921_l18: l18 {
249			regulator-min-microvolt = <1200000>;
250			regulator-max-microvolt = <1500000>;
251			bias-pull-down;
252		};
253
254		pm8921_l21: l21 {
255			regulator-min-microvolt = <1900000>;
256			regulator-max-microvolt = <1900000>;
257			bias-pull-down;
258		};
259
260		pm8921_l22: l22 {
261			regulator-min-microvolt = <2750000>;
262			regulator-max-microvolt = <2750000>;
263			bias-pull-down;
264		};
265
266		pm8921_l23: l23 {
267			regulator-always-on;
268			regulator-min-microvolt = <1800000>;
269			regulator-max-microvolt = <1800000>;
270			bias-pull-down;
271		};
272
273		pm8921_l24: l24 {
274			regulator-min-microvolt = <750000>;
275			regulator-max-microvolt = <1150000>;
276			bias-pull-down;
277		};
278
279		pm8921_l25: l25 {
280			regulator-always-on;
281			regulator-min-microvolt = <1225000>;
282			regulator-max-microvolt = <1225000>;
283			bias-pull-down;
284		};
285
286		/* Low Voltage Switch */
287		pm8921_lvs1: lvs1 {
288			bias-pull-down;
289		};
290
291		pm8921_lvs2: lvs2 {
292			bias-pull-down;
293		};
294
295		pm8921_lvs3: lvs3 {
296			bias-pull-down;
297		};
298
299		pm8921_lvs4: lvs4 {
300			bias-pull-down;
301		};
302
303		pm8921_lvs5: lvs5 {
304			bias-pull-down;
305		};
306
307		pm8921_lvs6: lvs6 {
308			bias-pull-down;
309		};
310
311		pm8921_lvs7: lvs7 {
312			bias-pull-down;
313		};
314
315		pm8921_ncp: ncp {
316			regulator-min-microvolt = <1800000>;
317			regulator-max-microvolt = <1800000>;
318			qcom,switch-mode-frequency = <1600000>;
319		};
320	};
321};
322
323&usb_hs1_phy {
324	v3p3-supply = <&pm8921_l3>;
325	v1p8-supply = <&pm8921_l4>;
326};
327
328&usb1 {
329	dr_mode = "otg";
330	status = "okay";
331};
332