xref: /linux/arch/arm/boot/dts/qcom/qcom-apq8064-lg-nexus4-mako.dts (revision 23ca32e4ead48f68e37000f2552b973ef1439acb)
1// SPDX-License-Identifier: GPL-2.0-only
2#include <dt-bindings/gpio/gpio.h>
3#include <dt-bindings/input/input.h>
4#include <dt-bindings/mfd/qcom-rpm.h>
5#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
6
7#include "qcom-apq8064-v2.0.dtsi"
8#include "pm8821.dtsi"
9#include "pm8921.dtsi"
10
11/ {
12	model = "LG Nexus 4 (mako)";
13	compatible = "lg,nexus4-mako", "qcom,apq8064";
14	chassis-type = "handset";
15
16	aliases {
17		serial0 = &gsbi7_serial;
18		serial1 = &gsbi6_serial;
19		serial2 = &gsbi4_serial;
20	};
21
22	chosen {
23		stdout-path = "serial2:115200n8";
24	};
25
26	battery_cell: battery-cell {
27		compatible = "simple-battery";
28		constant-charge-current-max-microamp = <900000>;
29		operating-range-celsius = <0 45>;
30	};
31
32	reserved-memory {
33		#address-cells = <1>;
34		#size-cells = <1>;
35		ranges;
36
37		ramoops@88d00000{
38			compatible = "ramoops";
39			reg = <0x88d00000 0x100000>;
40			record-size = <0x20000>;
41			console-size = <0x20000>;
42			ftrace-size = <0x20000>;
43		};
44	};
45};
46
47&gsbi1 {
48	qcom,mode = <GSBI_PROT_I2C>;
49
50	status = "okay";
51};
52
53&gsbi1_i2c {
54	clock-frequency = <200000>;
55
56	status = "okay";
57};
58
59&gsbi4 {
60	qcom,mode = <GSBI_PROT_I2C_UART>;
61
62	status = "okay";
63};
64
65&gsbi4_serial {
66	status = "okay";
67};
68
69&pm8821 {
70	interrupts-extended = <&tlmm_pinmux 76 IRQ_TYPE_LEVEL_LOW>;
71};
72
73&pm8921 {
74	interrupts-extended = <&tlmm_pinmux 74 IRQ_TYPE_LEVEL_LOW>;
75};
76
77&pm8921_keypad {
78	linux,keymap = <
79		MATRIX_KEY(0, 0, KEY_VOLUMEDOWN)
80		MATRIX_KEY(0, 1, KEY_VOLUMEUP)
81	>;
82
83	keypad,num-rows = <1>;
84	keypad,num-columns = <5>;
85
86	status = "okay";
87};
88
89&riva {
90	pinctrl-names = "default";
91	pinctrl-0 = <&riva_wlan_pin_a>, <&riva_bt_pin_a>, <&riva_fm_pin_a>;
92
93	vddcx-supply = <&pm8921_s3>;
94	vddmx-supply = <&pm8921_l24>;
95	vddpx-supply = <&pm8921_s4>;
96
97	status = "okay";
98
99	iris {
100		vddxo-supply = <&pm8921_l4>;
101		vddrfa-supply = <&pm8921_s2>;
102		vddpa-supply = <&pm8921_l10>;
103		vdddig-supply = <&pm8921_lvs2>;
104	};
105};
106
107&rpm {
108	regulators {
109		compatible = "qcom,rpm-pm8921-regulators";
110
111		vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
112		vdd_l24-supply = <&pm8921_s1>;
113		vdd_l25-supply = <&pm8921_s1>;
114		vdd_l26-supply = <&pm8921_s7>;
115		vdd_l27-supply = <&pm8921_s7>;
116		vdd_l28-supply = <&pm8921_s7>;
117		vin_lvs1_3_6-supply = <&pm8921_s4>;
118		vin_lvs2-supply = <&pm8921_s1>;
119		vin_lvs4_5_7-supply = <&pm8921_s4>;
120
121		pm8921_l1: l1 {
122			regulator-min-microvolt = <1100000>;
123			regulator-max-microvolt = <1100000>;
124			regulator-always-on;
125			bias-pull-down;
126		};
127
128		/* mipi_dsi.1-dsi1_pll_vdda */
129		pm8921_l2: l2 {
130			regulator-min-microvolt = <1200000>;
131			regulator-max-microvolt = <1200000>;
132			bias-pull-down;
133		};
134
135		/* msm_otg-HSUSB_3p3 */
136		pm8921_l3: l3 {
137			regulator-min-microvolt = <3075000>;
138			regulator-max-microvolt = <3500000>;
139			bias-pull-down;
140		};
141
142		/* msm_otg-HSUSB_1p8 */
143		pm8921_l4: l4 {
144			regulator-always-on;
145			regulator-min-microvolt = <1800000>;
146			regulator-max-microvolt = <1800000>;
147		};
148
149		/* msm_sdcc.1-sdc_vdd */
150		pm8921_l5: l5 {
151			regulator-min-microvolt = <2950000>;
152			regulator-max-microvolt = <2950000>;
153			bias-pull-down;
154		};
155
156		/* earjack_debug */
157		pm8921_l6: l6 {
158			regulator-min-microvolt = <3000000>;
159			regulator-max-microvolt = <3000000>;
160			bias-pull-down;
161		};
162
163		/* mipi_dsi.1-dsi_vci */
164		pm8921_l8: l8 {
165			regulator-min-microvolt = <2800000>;
166			regulator-max-microvolt = <3000000>;
167			bias-pull-down;
168		};
169
170		/* wcnss_wlan.0-iris_vddpa */
171		pm8921_l10: l10 {
172			regulator-min-microvolt = <2900000>;
173			regulator-max-microvolt = <2900000>;
174			bias-pull-down;
175		};
176
177		/* mipi_dsi.1-dsi1_avdd */
178		pm8921_l11: l11 {
179			regulator-min-microvolt = <2850000>;
180			regulator-max-microvolt = <2850000>;
181			bias-pull-down;
182		};
183
184		/* touch_vdd */
185		pm8921_l15: l15 {
186			regulator-min-microvolt = <1800000>;
187			regulator-max-microvolt = <2950000>;
188			bias-pull-down;
189		};
190
191		/* slimport_dvdd */
192		pm8921_l18: l18 {
193			regulator-min-microvolt = <1100000>;
194			regulator-max-microvolt = <1100000>;
195			bias-pull-down;
196		};
197
198		/* touch_io */
199		pm8921_l22: l22 {
200			regulator-min-microvolt = <1800000>;
201			regulator-max-microvolt = <1800000>;
202			bias-pull-down;
203		};
204
205		/*
206		 * mipi_dsi.1-dsi_vddio
207		 * pil_qdsp6v4.1-pll_vdd
208		 * pil_qdsp6v4.2-pll_vdd
209		 * msm_ehci_host.0-HSUSB_1p8
210		 * msm_ehci_host.1-HSUSB_1p8
211		 */
212		pm8921_l23: l23 {
213			regulator-min-microvolt = <1800000>;
214			regulator-max-microvolt = <1800000>;
215			bias-pull-down;
216		};
217
218		/*
219		 * tabla2x-slim-CDC_VDDA_A_1P2V
220		 * tabla2x-slim-VDDD_CDC_D
221		 */
222		pm8921_l24: l24 {
223			regulator-min-microvolt = <750000>;
224			regulator-max-microvolt = <1150000>;
225			bias-pull-down;
226		};
227
228		pm8921_l25: l25 {
229			regulator-min-microvolt = <1250000>;
230			regulator-max-microvolt = <1250000>;
231			regulator-always-on;
232			bias-pull-down;
233		};
234
235		pm8921_l26: l26 {
236			regulator-min-microvolt = <375000>;
237			regulator-max-microvolt = <1050000>;
238			regulator-always-on;
239			bias-pull-down;
240		};
241
242		pm8921_l27: l27 {
243			regulator-min-microvolt = <1100000>;
244			regulator-max-microvolt = <1100000>;
245		};
246
247		pm8921_l28: l28 {
248			regulator-min-microvolt = <1050000>;
249			regulator-max-microvolt = <1050000>;
250			bias-pull-down;
251		};
252
253		/* wcnss_wlan.0-iris_vddio */
254		pm8921_lvs1: lvs1 {
255			bias-pull-down;
256		};
257
258		/* wcnss_wlan.0-iris_vdddig */
259		pm8921_lvs2: lvs2 {
260			bias-pull-down;
261		};
262
263		pm8921_lvs3: lvs3 {
264			bias-pull-down;
265		};
266
267		pm8921_lvs4: lvs4 {
268			bias-pull-down;
269		};
270
271		pm8921_lvs5: lvs5 {
272			bias-pull-down;
273		};
274
275		/* mipi_dsi.1-dsi_iovcc */
276		pm8921_lvs6: lvs6 {
277			bias-pull-down;
278		};
279
280		/*
281		 * pil_riva-pll_vdd
282		 * lvds.0-lvds_vdda
283		 * mipi_dsi.1-dsi1_vddio
284		 * hdmi_msm.0-hdmi_vdda
285		 */
286		pm8921_lvs7: lvs7 {
287			bias-pull-down;
288		};
289
290		pm8921_ncp: ncp {
291			regulator-min-microvolt = <1800000>;
292			regulator-max-microvolt = <1800000>;
293			qcom,switch-mode-frequency = <1600000>;
294		};
295
296		/* Buck SMPS */
297		pm8921_s1: s1 {
298			regulator-always-on;
299			regulator-min-microvolt = <1225000>;
300			regulator-max-microvolt = <1225000>;
301			qcom,switch-mode-frequency = <3200000>;
302			bias-pull-down;
303		};
304
305		pm8921_s2: s2 {
306			regulator-min-microvolt = <1300000>;
307			regulator-max-microvolt = <1300000>;
308			qcom,switch-mode-frequency = <1600000>;
309			bias-pull-down;
310		};
311
312		/* msm otg HSUSB_VDDCX */
313		pm8921_s3: s3 {
314			regulator-min-microvolt = <500000>;
315			regulator-max-microvolt = <1150000>;
316			qcom,switch-mode-frequency = <4800000>;
317			bias-pull-down;
318		};
319
320		/*
321		 * msm_sdcc.1-sdc-vdd_io
322		 * tabla2x-slim-CDC_VDDA_RX
323		 * tabla2x-slim-CDC_VDDA_TX
324		 * tabla2x-slim-CDC_VDD_CP
325		 * tabla2x-slim-VDDIO_CDC
326		 */
327		pm8921_s4: s4 {
328			regulator-always-on;
329			regulator-min-microvolt	= <1800000>;
330			regulator-max-microvolt	= <1800000>;
331			qcom,switch-mode-frequency = <1600000>;
332			bias-pull-down;
333			qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
334		};
335
336		/*
337		 * supply vdd_l26, vdd_l27, vdd_l28
338		 */
339		pm8921_s7: s7 {
340			regulator-min-microvolt = <1300000>;
341			regulator-max-microvolt = <1300000>;
342			qcom,switch-mode-frequency = <3200000>;
343		};
344
345		pm8921_s8: s8 {
346			regulator-min-microvolt = <2200000>;
347			regulator-max-microvolt = <2200000>;
348			qcom,switch-mode-frequency = <1600000>;
349		};
350	};
351};
352
353/* eMMC */
354&sdcc1 {
355	vmmc-supply = <&pm8921_l5>;
356	vqmmc-supply = <&pm8921_s4>;
357
358	status = "okay";
359};
360