xref: /linux/arch/arm/boot/dts/qcom/qcom-mdm9615-wp8548.dtsi (revision 8299cc4b6ca3c02f2b51a8bb18beb659f3c4f4c1)
1c69af934SNeil Armstrong// SPDX-License-Identifier: GPL-2.0+ OR MIT
23106dba6SNeil Armstrong/*
33106dba6SNeil Armstrong * Device Tree Source for Sierra Wireless WP8548 Module
43106dba6SNeil Armstrong *
53106dba6SNeil Armstrong * Copyright (C) 2016 BayLibre, SAS.
63106dba6SNeil Armstrong * Author : Neil Armstrong <narmstrong@baylibre.com>
73106dba6SNeil Armstrong */
83106dba6SNeil Armstrong
93106dba6SNeil Armstrong#include "qcom-mdm9615.dtsi"
10e9297150SDmitry Baryshkov#include "pm8018.dtsi"
113106dba6SNeil Armstrong
123106dba6SNeil Armstrong/ {
133106dba6SNeil Armstrong	model = "Sierra Wireless WP8548 Module";
143106dba6SNeil Armstrong	compatible = "swir,wp8548", "qcom,mdm9615";
153106dba6SNeil Armstrong
16ce0295a5SDavid Heidelberg	memory@48000000 {
17abe60a3aSRob Herring		device_type = "memory";
183106dba6SNeil Armstrong		reg = <0x48000000 0x7F00000>;
193106dba6SNeil Armstrong	};
203106dba6SNeil Armstrong};
213106dba6SNeil Armstrong
223106dba6SNeil Armstrong&msmgpio {
233106dba6SNeil Armstrong	pinctrl-0 = <&reset_out_pins>;
243106dba6SNeil Armstrong	pinctrl-names = "default";
253106dba6SNeil Armstrong
26fadae8feSNeil Armstrong	gsbi3_pins: gsbi3-state {
27fadae8feSNeil Armstrong		gsbi3-pins {
283106dba6SNeil Armstrong			pins = "gpio8", "gpio9", "gpio10", "gpio11";
293106dba6SNeil Armstrong			function = "gsbi3";
303106dba6SNeil Armstrong			drive-strength = <8>;
313106dba6SNeil Armstrong			bias-disable;
323106dba6SNeil Armstrong		};
333106dba6SNeil Armstrong	};
343106dba6SNeil Armstrong
35fadae8feSNeil Armstrong	gsbi4_pins: gsbi4-state {
36fadae8feSNeil Armstrong		gsbi4-pins {
373106dba6SNeil Armstrong			pins = "gpio12", "gpio13", "gpio14", "gpio15";
383106dba6SNeil Armstrong			function = "gsbi4";
393106dba6SNeil Armstrong			drive-strength = <8>;
403106dba6SNeil Armstrong			bias-disable;
413106dba6SNeil Armstrong		};
423106dba6SNeil Armstrong	};
433106dba6SNeil Armstrong
44fadae8feSNeil Armstrong	gsbi5_i2c_pins: gsbi5-i2c-state {
45fadae8feSNeil Armstrong		sda-pins {
463106dba6SNeil Armstrong			pins = "gpio16";
473106dba6SNeil Armstrong			function = "gsbi5_i2c";
483106dba6SNeil Armstrong			drive-strength = <8>;
493106dba6SNeil Armstrong			bias-disable;
503106dba6SNeil Armstrong		};
513106dba6SNeil Armstrong
52fadae8feSNeil Armstrong		scl-pins {
533106dba6SNeil Armstrong			pins = "gpio17";
543106dba6SNeil Armstrong			function = "gsbi5_i2c";
553106dba6SNeil Armstrong			drive-strength = <2>;
563106dba6SNeil Armstrong			bias-disable;
573106dba6SNeil Armstrong		};
583106dba6SNeil Armstrong	};
593106dba6SNeil Armstrong
60fadae8feSNeil Armstrong	gsbi5_uart_pins: gsbi5-uart-state {
61fadae8feSNeil Armstrong		gsbi5-uart-pins {
623106dba6SNeil Armstrong			pins = "gpio18", "gpio19";
633106dba6SNeil Armstrong			function = "gsbi5_uart";
643106dba6SNeil Armstrong			drive-strength = <8>;
653106dba6SNeil Armstrong			bias-disable;
663106dba6SNeil Armstrong		};
673106dba6SNeil Armstrong	};
683106dba6SNeil Armstrong
69fadae8feSNeil Armstrong	reset_out_pins: reset-out-state {
70fadae8feSNeil Armstrong		reset-out-pins {
713106dba6SNeil Armstrong			pins = "gpio66";
723106dba6SNeil Armstrong			function = "gpio";
733106dba6SNeil Armstrong			drive-strength = <2>;
743106dba6SNeil Armstrong			bias-pull-up;
753106dba6SNeil Armstrong			output-high;
763106dba6SNeil Armstrong		};
773106dba6SNeil Armstrong	};
783106dba6SNeil Armstrong};
793106dba6SNeil Armstrong
807661e1e7SDmitry Baryshkov&pm8018 {
817661e1e7SDmitry Baryshkov	interrupts-extended = <&intc GIC_PPI 226 IRQ_TYPE_LEVEL_HIGH>;
827661e1e7SDmitry Baryshkov};
837661e1e7SDmitry Baryshkov
840e4688cdSDmitry Baryshkov&pm8018_gpio {
854fcdaf4bSKrzysztof Kozlowski	usb_vbus_5v_pins: usb-vbus-5v-state {
863106dba6SNeil Armstrong		pins = "gpio4";
873106dba6SNeil Armstrong		function = "normal";
883106dba6SNeil Armstrong		output-high;
893106dba6SNeil Armstrong		bias-disable;
903106dba6SNeil Armstrong		qcom,drive-strength = <1>;
913106dba6SNeil Armstrong		power-source = <2>;
923106dba6SNeil Armstrong	};
933106dba6SNeil Armstrong};
943106dba6SNeil Armstrong
953106dba6SNeil Armstrong&gsbi3 {
960fd69f04SAdrian Schmutzler	status = "okay";
973106dba6SNeil Armstrong	qcom,mode = <GSBI_PROT_SPI>;
983106dba6SNeil Armstrong};
993106dba6SNeil Armstrong
1003106dba6SNeil Armstrong&gsbi3_spi {
1010fd69f04SAdrian Schmutzler	status = "okay";
1023106dba6SNeil Armstrong	pinctrl-0 = <&gsbi3_pins>;
1033106dba6SNeil Armstrong	pinctrl-names = "default";
1043106dba6SNeil Armstrong	assigned-clocks = <&gcc GSBI3_QUP_CLK>;
1053106dba6SNeil Armstrong	assigned-clock-rates = <24000000>;
1063106dba6SNeil Armstrong};
1073106dba6SNeil Armstrong
1083106dba6SNeil Armstrong&gsbi4 {
1090fd69f04SAdrian Schmutzler	status = "okay";
1103106dba6SNeil Armstrong	qcom,mode = <GSBI_PROT_UART_W_FC>;
1113106dba6SNeil Armstrong};
1123106dba6SNeil Armstrong
1133106dba6SNeil Armstrong&gsbi4_serial {
1140fd69f04SAdrian Schmutzler	status = "okay";
1153106dba6SNeil Armstrong	pinctrl-0 = <&gsbi4_pins>;
1163106dba6SNeil Armstrong	pinctrl-names = "default";
1173106dba6SNeil Armstrong};
1183106dba6SNeil Armstrong
1193106dba6SNeil Armstrong&gsbi5 {
1200fd69f04SAdrian Schmutzler	status = "okay";
1213106dba6SNeil Armstrong	qcom,mode = <GSBI_PROT_I2C_UART>;
1223106dba6SNeil Armstrong};
1233106dba6SNeil Armstrong
1243106dba6SNeil Armstrong&gsbi5_i2c {
1250fd69f04SAdrian Schmutzler	status = "okay";
1263106dba6SNeil Armstrong	clock-frequency = <200000>;
1273106dba6SNeil Armstrong	pinctrl-0 = <&gsbi5_i2c_pins>;
1283106dba6SNeil Armstrong	pinctrl-names = "default";
1293106dba6SNeil Armstrong};
1303106dba6SNeil Armstrong
1313106dba6SNeil Armstrong&gsbi5_serial {
1320fd69f04SAdrian Schmutzler	status = "okay";
1333106dba6SNeil Armstrong	pinctrl-0 = <&gsbi5_uart_pins>;
1343106dba6SNeil Armstrong	pinctrl-names = "default";
1353106dba6SNeil Armstrong};
1363106dba6SNeil Armstrong
137*8299cc4bSDmitry Baryshkov&rpm {
138*8299cc4bSDmitry Baryshkov	regulators {
139*8299cc4bSDmitry Baryshkov		compatible = "qcom,rpm-pm8018-regulators";
140*8299cc4bSDmitry Baryshkov
141*8299cc4bSDmitry Baryshkov		vin_lvs1-supply = <&pm8018_s3>;
142*8299cc4bSDmitry Baryshkov
143*8299cc4bSDmitry Baryshkov		vdd_l7-supply = <&pm8018_s4>;
144*8299cc4bSDmitry Baryshkov		vdd_l8-supply = <&pm8018_s3>;
145*8299cc4bSDmitry Baryshkov		vdd_l9_l10_l11_l12-supply = <&pm8018_s5>;
146*8299cc4bSDmitry Baryshkov
147*8299cc4bSDmitry Baryshkov		/* Buck SMPS */
148*8299cc4bSDmitry Baryshkov		pm8018_s1: s1 {
149*8299cc4bSDmitry Baryshkov			regulator-min-microvolt = <500000>;
150*8299cc4bSDmitry Baryshkov			regulator-max-microvolt = <1150000>;
151*8299cc4bSDmitry Baryshkov			qcom,switch-mode-frequency = <1600000>;
152*8299cc4bSDmitry Baryshkov			bias-pull-down;
153*8299cc4bSDmitry Baryshkov		};
154*8299cc4bSDmitry Baryshkov
155*8299cc4bSDmitry Baryshkov		pm8018_s2: s2 {
156*8299cc4bSDmitry Baryshkov			regulator-min-microvolt = <1225000>;
157*8299cc4bSDmitry Baryshkov			regulator-max-microvolt = <1300000>;
158*8299cc4bSDmitry Baryshkov			qcom,switch-mode-frequency = <1600000>;
159*8299cc4bSDmitry Baryshkov			bias-pull-down;
160*8299cc4bSDmitry Baryshkov		};
161*8299cc4bSDmitry Baryshkov
162*8299cc4bSDmitry Baryshkov		pm8018_s3: s3 {
163*8299cc4bSDmitry Baryshkov			regulator-always-on;
164*8299cc4bSDmitry Baryshkov			regulator-min-microvolt = <1800000>;
165*8299cc4bSDmitry Baryshkov			regulator-max-microvolt = <1800000>;
166*8299cc4bSDmitry Baryshkov			qcom,switch-mode-frequency = <1600000>;
167*8299cc4bSDmitry Baryshkov			bias-pull-down;
168*8299cc4bSDmitry Baryshkov		};
169*8299cc4bSDmitry Baryshkov
170*8299cc4bSDmitry Baryshkov		pm8018_s4: s4 {
171*8299cc4bSDmitry Baryshkov			regulator-min-microvolt = <2100000>;
172*8299cc4bSDmitry Baryshkov			regulator-max-microvolt = <2200000>;
173*8299cc4bSDmitry Baryshkov			qcom,switch-mode-frequency = <1600000>;
174*8299cc4bSDmitry Baryshkov			bias-pull-down;
175*8299cc4bSDmitry Baryshkov		};
176*8299cc4bSDmitry Baryshkov
177*8299cc4bSDmitry Baryshkov		pm8018_s5: s5 {
178*8299cc4bSDmitry Baryshkov			regulator-always-on;
179*8299cc4bSDmitry Baryshkov			regulator-min-microvolt = <1350000>;
180*8299cc4bSDmitry Baryshkov			regulator-max-microvolt = <1350000>;
181*8299cc4bSDmitry Baryshkov			qcom,switch-mode-frequency = <1600000>;
182*8299cc4bSDmitry Baryshkov			bias-pull-down;
183*8299cc4bSDmitry Baryshkov		};
184*8299cc4bSDmitry Baryshkov
185*8299cc4bSDmitry Baryshkov		/* PMOS LDO */
186*8299cc4bSDmitry Baryshkov		pm8018_l2: l2 {
187*8299cc4bSDmitry Baryshkov			regulator-always-on;
188*8299cc4bSDmitry Baryshkov			regulator-min-microvolt = <1800000>;
189*8299cc4bSDmitry Baryshkov			regulator-max-microvolt = <1800000>;
190*8299cc4bSDmitry Baryshkov			bias-pull-down;
191*8299cc4bSDmitry Baryshkov		};
192*8299cc4bSDmitry Baryshkov
193*8299cc4bSDmitry Baryshkov		pm8018_l3: l3 {
194*8299cc4bSDmitry Baryshkov			regulator-always-on;
195*8299cc4bSDmitry Baryshkov			regulator-min-microvolt = <1800000>;
196*8299cc4bSDmitry Baryshkov			regulator-max-microvolt = <1800000>;
197*8299cc4bSDmitry Baryshkov			bias-pull-down;
198*8299cc4bSDmitry Baryshkov		};
199*8299cc4bSDmitry Baryshkov
200*8299cc4bSDmitry Baryshkov		pm8018_l4: l4 {
201*8299cc4bSDmitry Baryshkov			regulator-min-microvolt = <3300000>;
202*8299cc4bSDmitry Baryshkov			regulator-max-microvolt = <3300000>;
203*8299cc4bSDmitry Baryshkov			bias-pull-down;
204*8299cc4bSDmitry Baryshkov		};
205*8299cc4bSDmitry Baryshkov
206*8299cc4bSDmitry Baryshkov		pm8018_l5: l5 {
207*8299cc4bSDmitry Baryshkov			regulator-min-microvolt = <2850000>;
208*8299cc4bSDmitry Baryshkov			regulator-max-microvolt = <2850000>;
209*8299cc4bSDmitry Baryshkov			bias-pull-down;
210*8299cc4bSDmitry Baryshkov		};
211*8299cc4bSDmitry Baryshkov
212*8299cc4bSDmitry Baryshkov		pm8018_l6: l6 {
213*8299cc4bSDmitry Baryshkov			regulator-min-microvolt = <1800000>;
214*8299cc4bSDmitry Baryshkov			regulator-max-microvolt = <2850000>;
215*8299cc4bSDmitry Baryshkov			bias-pull-down;
216*8299cc4bSDmitry Baryshkov		};
217*8299cc4bSDmitry Baryshkov
218*8299cc4bSDmitry Baryshkov		pm8018_l7: l7 {
219*8299cc4bSDmitry Baryshkov			regulator-min-microvolt = <1850000>;
220*8299cc4bSDmitry Baryshkov			regulator-max-microvolt = <1900000>;
221*8299cc4bSDmitry Baryshkov			bias-pull-down;
222*8299cc4bSDmitry Baryshkov		};
223*8299cc4bSDmitry Baryshkov
224*8299cc4bSDmitry Baryshkov		pm8018_l8: l8 {
225*8299cc4bSDmitry Baryshkov			regulator-min-microvolt = <1200000>;
226*8299cc4bSDmitry Baryshkov			regulator-max-microvolt = <1200000>;
227*8299cc4bSDmitry Baryshkov			bias-pull-down;
228*8299cc4bSDmitry Baryshkov		};
229*8299cc4bSDmitry Baryshkov
230*8299cc4bSDmitry Baryshkov		pm8018_l9: l9 {
231*8299cc4bSDmitry Baryshkov			regulator-min-microvolt = <750000>;
232*8299cc4bSDmitry Baryshkov			regulator-max-microvolt = <1150000>;
233*8299cc4bSDmitry Baryshkov			bias-pull-down;
234*8299cc4bSDmitry Baryshkov		};
235*8299cc4bSDmitry Baryshkov
236*8299cc4bSDmitry Baryshkov		pm8018_l10: l10 {
237*8299cc4bSDmitry Baryshkov			regulator-min-microvolt = <1050000>;
238*8299cc4bSDmitry Baryshkov			regulator-max-microvolt = <1050000>;
239*8299cc4bSDmitry Baryshkov			bias-pull-down;
240*8299cc4bSDmitry Baryshkov		};
241*8299cc4bSDmitry Baryshkov
242*8299cc4bSDmitry Baryshkov		pm8018_l11: l11 {
243*8299cc4bSDmitry Baryshkov			regulator-min-microvolt = <1050000>;
244*8299cc4bSDmitry Baryshkov			regulator-max-microvolt = <1050000>;
245*8299cc4bSDmitry Baryshkov			bias-pull-down;
246*8299cc4bSDmitry Baryshkov		};
247*8299cc4bSDmitry Baryshkov
248*8299cc4bSDmitry Baryshkov		pm8018_l12: l12 {
249*8299cc4bSDmitry Baryshkov			regulator-min-microvolt = <1050000>;
250*8299cc4bSDmitry Baryshkov			regulator-max-microvolt = <1050000>;
251*8299cc4bSDmitry Baryshkov			bias-pull-down;
252*8299cc4bSDmitry Baryshkov		};
253*8299cc4bSDmitry Baryshkov
254*8299cc4bSDmitry Baryshkov		pm8018_l13: l13 {
255*8299cc4bSDmitry Baryshkov			regulator-min-microvolt = <1850000>;
256*8299cc4bSDmitry Baryshkov			regulator-max-microvolt = <2950000>;
257*8299cc4bSDmitry Baryshkov			bias-pull-down;
258*8299cc4bSDmitry Baryshkov		};
259*8299cc4bSDmitry Baryshkov
260*8299cc4bSDmitry Baryshkov		pm8018_l14: l14 {
261*8299cc4bSDmitry Baryshkov			regulator-min-microvolt = <2850000>;
262*8299cc4bSDmitry Baryshkov			regulator-max-microvolt = <2850000>;
263*8299cc4bSDmitry Baryshkov			bias-pull-down;
264*8299cc4bSDmitry Baryshkov		};
265*8299cc4bSDmitry Baryshkov
266*8299cc4bSDmitry Baryshkov		/* Low Voltage Switch */
267*8299cc4bSDmitry Baryshkov		pm8018_lvs1: lvs1 {
268*8299cc4bSDmitry Baryshkov			bias-pull-down;
269*8299cc4bSDmitry Baryshkov		};
270*8299cc4bSDmitry Baryshkov	};
271*8299cc4bSDmitry Baryshkov};
272*8299cc4bSDmitry Baryshkov
2733106dba6SNeil Armstrong&sdcc1 {
2740fd69f04SAdrian Schmutzler	status = "okay";
2753106dba6SNeil Armstrong};
276