xref: /linux/arch/arm/boot/dts/qcom/qcom-msm8960-samsung-expressatt.dts (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2724ba675SRob Herring#include <dt-bindings/input/input.h>
35c903b85SDmitry Baryshkov#include <dt-bindings/reset/qcom,gcc-msm8960.h>
4724ba675SRob Herring
5724ba675SRob Herring#include "qcom-msm8960.dtsi"
65c903b85SDmitry Baryshkov#include "pm8921.dtsi"
78d909805SRudraksha Gupta#include <dt-bindings/gpio/gpio.h>
88d909805SRudraksha Gupta#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
98d909805SRudraksha Gupta#include <dt-bindings/input/gpio-keys.h>
10724ba675SRob Herring
11724ba675SRob Herring/ {
12724ba675SRob Herring	model = "Samsung Galaxy Express SGH-I437";
13724ba675SRob Herring	compatible = "samsung,expressatt", "qcom,msm8960";
14724ba675SRob Herring	chassis-type = "handset";
15724ba675SRob Herring
16724ba675SRob Herring	aliases {
17724ba675SRob Herring		serial0 = &gsbi5_serial;
18724ba675SRob Herring		mmc0 = &sdcc1; /* SDCC1 eMMC slot */
19724ba675SRob Herring		mmc1 = &sdcc3; /* SDCC3 SD card slot */
20724ba675SRob Herring	};
21724ba675SRob Herring
22724ba675SRob Herring	chosen {
23724ba675SRob Herring		stdout-path = "serial0:115200n8";
24724ba675SRob Herring	};
258d909805SRudraksha Gupta
268d909805SRudraksha Gupta	gpio-keys {
278d909805SRudraksha Gupta		compatible = "gpio-keys";
288d909805SRudraksha Gupta
298d909805SRudraksha Gupta		pinctrl-names = "default";
308d909805SRudraksha Gupta		pinctrl-0 = <&gpio_keys_pin_a>;
318d909805SRudraksha Gupta
328d909805SRudraksha Gupta		key-home {
338d909805SRudraksha Gupta			label = "Home";
348d909805SRudraksha Gupta			gpios = <&msmgpio 40 GPIO_ACTIVE_LOW>;
358d909805SRudraksha Gupta			debounce-interval = <5>;
368d909805SRudraksha Gupta			linux,code = <KEY_HOMEPAGE>;
378d909805SRudraksha Gupta			wakeup-event-action = <EV_ACT_ASSERTED>;
388d909805SRudraksha Gupta			wakeup-source;
398d909805SRudraksha Gupta		};
408d909805SRudraksha Gupta
418d909805SRudraksha Gupta		key-volume-up {
428d909805SRudraksha Gupta			label = "Volume Up";
438d909805SRudraksha Gupta			gpios = <&msmgpio 50 GPIO_ACTIVE_LOW>;
448d909805SRudraksha Gupta			debounce-interval = <5>;
458d909805SRudraksha Gupta			linux,code = <KEY_VOLUMEUP>;
468d909805SRudraksha Gupta		};
478d909805SRudraksha Gupta
488d909805SRudraksha Gupta		key-volume-down {
498d909805SRudraksha Gupta			label = "Volume Down";
508d909805SRudraksha Gupta			gpios = <&msmgpio 81 GPIO_ACTIVE_LOW>;
518d909805SRudraksha Gupta			debounce-interval = <5>;
528d909805SRudraksha Gupta			linux,code = <KEY_VOLUMEDOWN>;
538d909805SRudraksha Gupta		};
548d909805SRudraksha Gupta	};
55724ba675SRob Herring};
56724ba675SRob Herring
57724ba675SRob Herring&gsbi5 {
58724ba675SRob Herring	qcom,mode = <GSBI_PROT_I2C_UART>;
59724ba675SRob Herring	status = "okay";
60724ba675SRob Herring};
61724ba675SRob Herring
62724ba675SRob Herring&gsbi5_serial {
63724ba675SRob Herring	status = "okay";
64724ba675SRob Herring};
65724ba675SRob Herring
66724ba675SRob Herring&sdcc1 {
67724ba675SRob Herring	vmmc-supply = <&pm8921_l5>;
68724ba675SRob Herring	status = "okay";
69724ba675SRob Herring};
70724ba675SRob Herring
71724ba675SRob Herring&sdcc3 {
72724ba675SRob Herring	vmmc-supply = <&pm8921_l6>;
73724ba675SRob Herring	vqmmc-supply = <&pm8921_l7>;
74724ba675SRob Herring	status = "okay";
75724ba675SRob Herring};
76724ba675SRob Herring
77724ba675SRob Herring&gsbi1 {
78724ba675SRob Herring	qcom,mode = <GSBI_PROT_SPI>;
79724ba675SRob Herring	pinctrl-0 = <&spi1_default>;
80724ba675SRob Herring	pinctrl-names = "default";
81724ba675SRob Herring	status = "okay";
82724ba675SRob Herring};
83724ba675SRob Herring
84724ba675SRob Herring&gsbi1_spi {
85724ba675SRob Herring	status = "okay";
86724ba675SRob Herring};
87724ba675SRob Herring
88*5936ee21SRudraksha Gupta&gsbi3 {
89*5936ee21SRudraksha Gupta	qcom,mode = <GSBI_PROT_I2C>;
90*5936ee21SRudraksha Gupta	status = "okay";
91*5936ee21SRudraksha Gupta};
92*5936ee21SRudraksha Gupta
93*5936ee21SRudraksha Gupta&gsbi3_i2c {
94*5936ee21SRudraksha Gupta	status = "okay";
95*5936ee21SRudraksha Gupta
96*5936ee21SRudraksha Gupta	// Atmel mXT224S touchscreen
97*5936ee21SRudraksha Gupta	touchscreen@4a {
98*5936ee21SRudraksha Gupta		compatible = "atmel,maxtouch";
99*5936ee21SRudraksha Gupta		reg = <0x4a>;
100*5936ee21SRudraksha Gupta		interrupt-parent = <&msmgpio>;
101*5936ee21SRudraksha Gupta		interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
102*5936ee21SRudraksha Gupta		vdda-supply = <&pm8921_lvs6>;
103*5936ee21SRudraksha Gupta		vdd-supply = <&pm8921_l17>;
104*5936ee21SRudraksha Gupta		pinctrl-names = "default";
105*5936ee21SRudraksha Gupta		pinctrl-0 = <&touchscreen>;
106*5936ee21SRudraksha Gupta	};
107*5936ee21SRudraksha Gupta};
108*5936ee21SRudraksha Gupta
109724ba675SRob Herring&msmgpio {
110724ba675SRob Herring	spi1_default: spi1-default-state {
111724ba675SRob Herring		mosi-pins {
112724ba675SRob Herring			pins = "gpio6";
113724ba675SRob Herring			function = "gsbi1";
114724ba675SRob Herring			drive-strength = <12>;
115724ba675SRob Herring			bias-disable;
116724ba675SRob Herring		};
117724ba675SRob Herring
118724ba675SRob Herring		miso-pins {
119724ba675SRob Herring			pins = "gpio7";
120724ba675SRob Herring			function = "gsbi1";
121724ba675SRob Herring			drive-strength = <12>;
122724ba675SRob Herring			bias-disable;
123724ba675SRob Herring		};
124724ba675SRob Herring
125724ba675SRob Herring		cs-pins {
126724ba675SRob Herring			pins = "gpio8";
127724ba675SRob Herring			function = "gsbi1";
128724ba675SRob Herring			drive-strength = <12>;
129724ba675SRob Herring			bias-disable;
130724ba675SRob Herring			output-low;
131724ba675SRob Herring		};
132724ba675SRob Herring
133724ba675SRob Herring		clk-pins {
134724ba675SRob Herring			pins = "gpio9";
135724ba675SRob Herring			function = "gsbi1";
136724ba675SRob Herring			drive-strength = <12>;
137724ba675SRob Herring			bias-disable;
138724ba675SRob Herring		};
139724ba675SRob Herring	};
1408d909805SRudraksha Gupta
1418d909805SRudraksha Gupta	gpio_keys_pin_a: gpio-keys-active-state {
1428d909805SRudraksha Gupta		pins = "gpio40", "gpio50", "gpio81";
1438d909805SRudraksha Gupta		function = "gpio";
1448d909805SRudraksha Gupta		drive-strength = <8>;
1458d909805SRudraksha Gupta		bias-disable;
1468d909805SRudraksha Gupta	};
147*5936ee21SRudraksha Gupta
148*5936ee21SRudraksha Gupta	touchscreen: touchscreen-int-state {
149*5936ee21SRudraksha Gupta		pins = "gpio11";
150*5936ee21SRudraksha Gupta		function = "gpio";
151*5936ee21SRudraksha Gupta		output-enable;
152*5936ee21SRudraksha Gupta		bias-disable;
153*5936ee21SRudraksha Gupta		drive-strength = <2>;
154*5936ee21SRudraksha Gupta	};
155724ba675SRob Herring};
156724ba675SRob Herring
15731c4b741SDmitry Baryshkov&pm8921 {
15831c4b741SDmitry Baryshkov	interrupts-extended = <&msmgpio 104 IRQ_TYPE_LEVEL_LOW>;
15931c4b741SDmitry Baryshkov};
16031c4b741SDmitry Baryshkov
161724ba675SRob Herring&rpm {
162724ba675SRob Herring	regulators {
163724ba675SRob Herring		compatible = "qcom,rpm-pm8921-regulators";
164724ba675SRob Herring		vin_lvs1_3_6-supply = <&pm8921_s4>;
165724ba675SRob Herring		vin_lvs2-supply = <&pm8921_s4>;
166724ba675SRob Herring		vin_lvs4_5_7-supply = <&pm8921_s4>;
167724ba675SRob Herring		vdd_ncp-supply = <&pm8921_l6>;
168724ba675SRob Herring		vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
169724ba675SRob Herring		vdd_l21_l23_l29-supply = <&pm8921_s8>;
170724ba675SRob Herring		vdd_l24-supply = <&pm8921_s1>;
171724ba675SRob Herring		vdd_l25-supply = <&pm8921_s1>;
172724ba675SRob Herring		vdd_l27-supply = <&pm8921_s7>;
173724ba675SRob Herring		vdd_l28-supply = <&pm8921_s7>;
174724ba675SRob Herring
175724ba675SRob Herring		/* Buck SMPS */
176724ba675SRob Herring		pm8921_s1: s1 {
177724ba675SRob Herring			regulator-always-on;
178724ba675SRob Herring			regulator-min-microvolt = <1225000>;
179724ba675SRob Herring			regulator-max-microvolt = <1225000>;
180724ba675SRob Herring			qcom,switch-mode-frequency = <3200000>;
181724ba675SRob Herring			bias-pull-down;
182724ba675SRob Herring		};
183724ba675SRob Herring
184724ba675SRob Herring		pm8921_s2: s2 {
185724ba675SRob Herring			regulator-min-microvolt = <1300000>;
186724ba675SRob Herring			regulator-max-microvolt = <1300000>;
187724ba675SRob Herring			qcom,switch-mode-frequency = <1600000>;
188724ba675SRob Herring			bias-pull-down;
189724ba675SRob Herring		};
190724ba675SRob Herring
191724ba675SRob Herring		pm8921_s3: s3 {
192724ba675SRob Herring			regulator-min-microvolt = <500000>;
193724ba675SRob Herring			regulator-max-microvolt = <1150000>;
194724ba675SRob Herring			qcom,switch-mode-frequency = <4800000>;
195724ba675SRob Herring			bias-pull-down;
196724ba675SRob Herring		};
197724ba675SRob Herring
198724ba675SRob Herring		pm8921_s4: s4 {
199724ba675SRob Herring			regulator-always-on;
200724ba675SRob Herring			regulator-min-microvolt = <1800000>;
201724ba675SRob Herring			regulator-max-microvolt = <1800000>;
202724ba675SRob Herring			qcom,switch-mode-frequency = <1600000>;
203724ba675SRob Herring			bias-pull-down;
204724ba675SRob Herring			qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
205724ba675SRob Herring		};
206724ba675SRob Herring
207724ba675SRob Herring		pm8921_s7: s7 {
208724ba675SRob Herring			regulator-min-microvolt = <1150000>;
209724ba675SRob Herring			regulator-max-microvolt = <1150000>;
210724ba675SRob Herring			qcom,switch-mode-frequency = <3200000>;
211724ba675SRob Herring			bias-pull-down;
212724ba675SRob Herring		};
213724ba675SRob Herring
214724ba675SRob Herring		pm8921_s8: s8 {
215724ba675SRob Herring			regulator-always-on;
216724ba675SRob Herring			regulator-min-microvolt = <2050000>;
217724ba675SRob Herring			regulator-max-microvolt = <2050000>;
218724ba675SRob Herring			qcom,switch-mode-frequency = <1600000>;
219724ba675SRob Herring			bias-pull-down;
220724ba675SRob Herring		};
221724ba675SRob Herring
222724ba675SRob Herring		/* PMOS LDO */
223724ba675SRob Herring		pm8921_l1: l1 {
224724ba675SRob Herring			regulator-always-on;
225724ba675SRob Herring			regulator-min-microvolt = <1050000>;
226724ba675SRob Herring			regulator-max-microvolt = <1050000>;
227724ba675SRob Herring			bias-pull-down;
228724ba675SRob Herring		};
229724ba675SRob Herring
230724ba675SRob Herring		pm8921_l2: l2 {
231724ba675SRob Herring			regulator-min-microvolt = <1200000>;
232724ba675SRob Herring			regulator-max-microvolt = <1200000>;
233724ba675SRob Herring			bias-pull-down;
234724ba675SRob Herring		};
235724ba675SRob Herring
236724ba675SRob Herring		pm8921_l3: l3 {
237724ba675SRob Herring			regulator-min-microvolt = <3075000>;
238724ba675SRob Herring			regulator-max-microvolt = <3300000>;
239724ba675SRob Herring			bias-pull-down;
240724ba675SRob Herring		};
241724ba675SRob Herring
242724ba675SRob Herring		pm8921_l4: l4 {
243724ba675SRob Herring			regulator-always-on;
244724ba675SRob Herring			regulator-min-microvolt = <1800000>;
245724ba675SRob Herring			regulator-max-microvolt = <1800000>;
246724ba675SRob Herring			bias-pull-down;
247724ba675SRob Herring		};
248724ba675SRob Herring
249724ba675SRob Herring		pm8921_l5: l5 {
250724ba675SRob Herring			regulator-min-microvolt = <2950000>;
251724ba675SRob Herring			regulator-max-microvolt = <2950000>;
252724ba675SRob Herring			bias-pull-down;
253724ba675SRob Herring		};
254724ba675SRob Herring
255724ba675SRob Herring		pm8921_l6: l6 {
256724ba675SRob Herring			regulator-min-microvolt = <2950000>;
257724ba675SRob Herring			regulator-max-microvolt = <2950000>;
258724ba675SRob Herring			bias-pull-down;
259724ba675SRob Herring		};
260724ba675SRob Herring
261724ba675SRob Herring		pm8921_l7: l7 {
262724ba675SRob Herring			regulator-always-on;
263724ba675SRob Herring			regulator-min-microvolt = <1850000>;
264724ba675SRob Herring			regulator-max-microvolt = <2950000>;
265724ba675SRob Herring			bias-pull-down;
266724ba675SRob Herring		};
267724ba675SRob Herring
268724ba675SRob Herring		pm8921_l8: l8 {
269724ba675SRob Herring			regulator-min-microvolt = <3000000>;
270724ba675SRob Herring			regulator-max-microvolt = <3100000>;
271724ba675SRob Herring			bias-pull-down;
272724ba675SRob Herring		};
273724ba675SRob Herring
274724ba675SRob Herring		pm8921_l9: l9 {
275724ba675SRob Herring			regulator-min-microvolt = <2850000>;
276724ba675SRob Herring			regulator-max-microvolt = <2850000>;
277724ba675SRob Herring			bias-pull-down;
278724ba675SRob Herring		};
279724ba675SRob Herring
280724ba675SRob Herring		pm8921_l10: l10 {
281724ba675SRob Herring			regulator-min-microvolt = <3000000>;
282724ba675SRob Herring			regulator-max-microvolt = <3000000>;
283724ba675SRob Herring			bias-pull-down;
284724ba675SRob Herring		};
285724ba675SRob Herring
286724ba675SRob Herring		pm8921_l11: l11 {
287724ba675SRob Herring			regulator-min-microvolt = <2800000>;
288724ba675SRob Herring			regulator-max-microvolt = <3300000>;
289724ba675SRob Herring			bias-pull-down;
290724ba675SRob Herring		};
291724ba675SRob Herring
292724ba675SRob Herring		pm8921_l12: l12 {
293724ba675SRob Herring			regulator-min-microvolt = <1200000>;
294724ba675SRob Herring			regulator-max-microvolt = <1200000>;
295724ba675SRob Herring			bias-pull-down;
296724ba675SRob Herring		};
297724ba675SRob Herring
298724ba675SRob Herring		pm8921_l14: l14 {
299724ba675SRob Herring			regulator-min-microvolt = <1800000>;
300724ba675SRob Herring			regulator-max-microvolt = <1800000>;
301724ba675SRob Herring			bias-pull-down;
302724ba675SRob Herring		};
303724ba675SRob Herring
304724ba675SRob Herring		pm8921_l15: l15 {
305724ba675SRob Herring			regulator-min-microvolt = <1800000>;
306724ba675SRob Herring			regulator-max-microvolt = <2950000>;
307724ba675SRob Herring			bias-pull-down;
308724ba675SRob Herring		};
309724ba675SRob Herring
310724ba675SRob Herring		pm8921_l16: l16 {
311724ba675SRob Herring			regulator-min-microvolt = <2800000>;
312724ba675SRob Herring			regulator-max-microvolt = <3000000>;
313724ba675SRob Herring			bias-pull-down;
314724ba675SRob Herring		};
315724ba675SRob Herring
316724ba675SRob Herring		pm8921_l17: l17 {
317*5936ee21SRudraksha Gupta			regulator-min-microvolt = <3300000>;
318724ba675SRob Herring			regulator-max-microvolt = <3300000>;
319724ba675SRob Herring			bias-pull-down;
320724ba675SRob Herring		};
321724ba675SRob Herring
322724ba675SRob Herring		pm8921_l18: l18 {
323724ba675SRob Herring			regulator-min-microvolt = <1200000>;
324724ba675SRob Herring			regulator-max-microvolt = <1500000>;
325724ba675SRob Herring			bias-pull-down;
326724ba675SRob Herring		};
327724ba675SRob Herring
328724ba675SRob Herring		pm8921_l21: l21 {
329724ba675SRob Herring			regulator-min-microvolt = <1900000>;
330724ba675SRob Herring			regulator-max-microvolt = <1900000>;
331724ba675SRob Herring			bias-pull-down;
332724ba675SRob Herring		};
333724ba675SRob Herring
334724ba675SRob Herring		pm8921_l22: l22 {
335724ba675SRob Herring			regulator-min-microvolt = <2750000>;
336724ba675SRob Herring			regulator-max-microvolt = <2750000>;
337724ba675SRob Herring			bias-pull-down;
338724ba675SRob Herring		};
339724ba675SRob Herring
340724ba675SRob Herring		pm8921_l23: l23 {
341724ba675SRob Herring			regulator-always-on;
342724ba675SRob Herring			regulator-min-microvolt = <1800000>;
343724ba675SRob Herring			regulator-max-microvolt = <1800000>;
344724ba675SRob Herring			bias-pull-down;
345724ba675SRob Herring		};
346724ba675SRob Herring
347724ba675SRob Herring		pm8921_l24: l24 {
348724ba675SRob Herring			regulator-min-microvolt = <750000>;
349724ba675SRob Herring			regulator-max-microvolt = <1150000>;
350724ba675SRob Herring			bias-pull-down;
351724ba675SRob Herring		};
352724ba675SRob Herring
353724ba675SRob Herring		pm8921_l25: l25 {
354724ba675SRob Herring			regulator-always-on;
355724ba675SRob Herring			regulator-min-microvolt = <1225000>;
356724ba675SRob Herring			regulator-max-microvolt = <1225000>;
357724ba675SRob Herring			bias-pull-down;
358724ba675SRob Herring		};
359724ba675SRob Herring
360724ba675SRob Herring		/* Low Voltage Switch */
361724ba675SRob Herring		pm8921_lvs1: lvs1 {
362724ba675SRob Herring			bias-pull-down;
363724ba675SRob Herring		};
364724ba675SRob Herring
365724ba675SRob Herring		pm8921_lvs2: lvs2 {
366724ba675SRob Herring			bias-pull-down;
367724ba675SRob Herring		};
368724ba675SRob Herring
369724ba675SRob Herring		pm8921_lvs3: lvs3 {
370724ba675SRob Herring			bias-pull-down;
371724ba675SRob Herring		};
372724ba675SRob Herring
373724ba675SRob Herring		pm8921_lvs4: lvs4 {
374724ba675SRob Herring			bias-pull-down;
375724ba675SRob Herring		};
376724ba675SRob Herring
377724ba675SRob Herring		pm8921_lvs5: lvs5 {
378724ba675SRob Herring			bias-pull-down;
379724ba675SRob Herring		};
380724ba675SRob Herring
381724ba675SRob Herring		pm8921_lvs6: lvs6 {
382724ba675SRob Herring			bias-pull-down;
383724ba675SRob Herring		};
384724ba675SRob Herring
385724ba675SRob Herring		pm8921_lvs7: lvs7 {
386724ba675SRob Herring			bias-pull-down;
387724ba675SRob Herring		};
388724ba675SRob Herring
389724ba675SRob Herring		pm8921_ncp: ncp {
390724ba675SRob Herring			regulator-min-microvolt = <1800000>;
391724ba675SRob Herring			regulator-max-microvolt = <1800000>;
392724ba675SRob Herring			qcom,switch-mode-frequency = <1600000>;
393724ba675SRob Herring		};
394724ba675SRob Herring	};
395724ba675SRob Herring};
396724ba675SRob Herring
397724ba675SRob Herring&usb_hs1_phy {
398724ba675SRob Herring	v3p3-supply = <&pm8921_l3>;
399724ba675SRob Herring	v1p8-supply = <&pm8921_l4>;
400724ba675SRob Herring};
401724ba675SRob Herring
402724ba675SRob Herring&usb1 {
403724ba675SRob Herring	dr_mode = "otg";
404724ba675SRob Herring	status = "okay";
405724ba675SRob Herring};
406