File Index
Files and directories
Sign in
FILE

sdm845-lg-common.dtsi

File preview with syntax highlighting.

linux-6.19.14/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi DEVICETREE
  1// SPDX-License-Identifier: GPL-2.0
  2/*
  3 * SDM845 LG G7 / V35 (judyln / judyp) common device tree
  4 *
  5 * Copyright (c) 2022, The Linux Foundation. All rights reserved.
  6 */
  7
  8#include <dt-bindings/gpio/gpio.h>
  9#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
 10#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 11
 12#include "sdm845.dtsi"
 13#include "pm8998.dtsi"
 14#include "pmi8998.dtsi"
 15
 16/delete-node/ &adsp_mem;
 17/delete-node/ &cdsp_mem;
 18/delete-node/ &gpu_mem;
 19/delete-node/ &ipa_fw_mem;
 20/delete-node/ &mba_region;
 21/delete-node/ &mpss_region;
 22/delete-node/ &qseecom_mem;
 23/delete-node/ &rmtfs_mem;
 24/delete-node/ &slpi_mem;
 25/delete-node/ &spss_mem;
 26/delete-node/ &venus_mem;
 27/delete-node/ &wlan_msa_mem;
 28
 29/ {
 30	chosen {
 31		#address-cells = <2>;
 32		#size-cells = <2>;
 33		ranges;
 34	};
 35
 36	reserved-memory {
 37		#address-cells = <2>;
 38		#size-cells = <2>;
 39		ranges;
 40
 41		qseecom_mem: memory@b2000000 {
 42			reg = <0 0xb2000000 0 0x1800000>;
 43			no-map;
 44		};
 45
 46		gpu_mem: memory@8c415000 {
 47			reg = <0 0x8c415000 0 0x2000>;
 48			no-map;
 49		};
 50
 51		ipa_fw_mem: memory@8c400000 {
 52			reg = <0 0x8c400000 0 0x10000>;
 53			no-map;
 54		};
 55
 56		adsp_mem: memory@8c500000 {
 57			reg = <0 0x8c500000 0 0x1e00000>;
 58			no-map;
 59		};
 60
 61		wlan_msa_mem: memory@8e300000 {
 62			reg = <0 0x8e300000 0 0x100000>;
 63			no-map;
 64		};
 65
 66		mpss_region: memory@8e400000 {
 67			reg = <0 0x8e400000 0 0x8900000>;
 68			no-map;
 69		};
 70
 71		venus_mem: memory@96d00000 {
 72			reg = <0 0x96d00000 0 0x500000>;
 73			no-map;
 74		};
 75
 76		cdsp_mem: memory@97200000 {
 77			reg = <0 0x97200000 0 0x800000>;
 78			no-map;
 79		};
 80
 81		mba_region: memory@97a00000 {
 82			reg = <0 0x97a00000 0 0x200000>;
 83			no-map;
 84		};
 85
 86		slpi_mem: memory@97c00000 {
 87			reg = <0 0x97c00000 0 0x1400000>;
 88			no-map;
 89		};
 90
 91		spss_mem: memory@99000000 {
 92			reg = <0 0x99000000 0 0x100000>;
 93			no-map;
 94		};
 95
 96		/* Framebuffer region */
 97		memory@9d400000 {
 98			reg = <0x0 0x9d400000 0x0 0x2400000>;
 99			no-map;
100		};
101
102		rmtfs_mem: rmtfs-region@f0800000 {
103			compatible = "qcom,rmtfs-mem";
104			reg = <0 0xf0800000 0 0x202000>;
105			qcom,use-guard-pages;
106			no-map;
107
108			qcom,client-id = <1>;
109			qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
110		};
111	};
112
113	gpio-keys {
114		compatible = "gpio-keys";
115
116		pinctrl-names = "default";
117		pinctrl-0 = <&vol_up_pin_a>;
118
119		label = "GPIO Buttons";
120
121		key-vol-up {
122			label = "Volume up";
123			linux,code = <KEY_VOLUMEUP>;
124			gpios = <&pm8998_gpios 6 GPIO_ACTIVE_LOW>;
125		};
126	};
127
128	vph_pwr: vph-pwr-regulator {
129		compatible = "regulator-fixed";
130		regulator-name = "vph_pwr";
131		regulator-min-microvolt = <3700000>;
132		regulator-max-microvolt = <3700000>;
133	};
134
135	/*
136	 * Apparently RPMh does not provide support for PM8998 S4 because it
137	 * is always-on; model it as a fixed regulator.
138	 */
139	vreg_s4a_1p8: pm8998-smps4-regulator {
140		compatible = "regulator-fixed";
141		regulator-name = "vreg_s4a_1p8";
142
143		regulator-min-microvolt = <1800000>;
144		regulator-max-microvolt = <1800000>;
145
146		regulator-always-on;
147		regulator-boot-on;
148
149		vin-supply = <&vph_pwr>;
150	};
151};
152
153&adsp_pas {
154	status = "okay";
155};
156
157&apps_rsc {
158	regulators-0 {
159		compatible = "qcom,pm8998-rpmh-regulators";
160		qcom,pmic-id = "a";
161
162		vdd-s1-supply = <&vph_pwr>;
163		vdd-s2-supply = <&vph_pwr>;
164		vdd-s3-supply = <&vph_pwr>;
165		vdd-s4-supply = <&vph_pwr>;
166		vdd-s5-supply = <&vph_pwr>;
167		vdd-s6-supply = <&vph_pwr>;
168		vdd-s7-supply = <&vph_pwr>;
169		vdd-s8-supply = <&vph_pwr>;
170		vdd-s9-supply = <&vph_pwr>;
171		vdd-s10-supply = <&vph_pwr>;
172		vdd-s11-supply = <&vph_pwr>;
173		vdd-s12-supply = <&vph_pwr>;
174		vdd-s13-supply = <&vph_pwr>;
175		vdd-l1-l27-supply = <&vreg_s7a_1p025>;
176		vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>;
177		vdd-l3-l11-supply = <&vreg_s7a_1p025>;
178		vdd-l4-l5-supply = <&vreg_s7a_1p025>;
179		vdd-l6-supply = <&vph_pwr>;
180		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>;
181		vdd-l9-supply = <&vreg_bob>;
182		vdd-l10-l23-l25-supply = <&vreg_bob>;
183		vdd-l13-l19-l21-supply = <&vreg_bob>;
184		vdd-l16-l28-supply = <&vreg_bob>;
185		vdd-l18-l22-supply = <&vreg_bob>;
186		vdd-l20-l24-supply = <&vreg_bob>;
187		vdd-l26-supply = <&vreg_s3a_1p35>;
188		vin-lvs-1-2-supply = <&vreg_s4a_1p8>;
189
190		vreg_s2a_1p125: smps2 {
191			regulator-min-microvolt = <1100000>;
192			regulator-max-microvolt = <1100000>;
193		};
194
195		vreg_s3a_1p35: smps3 {
196			regulator-min-microvolt = <1352000>;
197			regulator-max-microvolt = <1352000>;
198		};
199
200		vreg_s5a_2p04: smps5 {
201			regulator-min-microvolt = <1904000>;
202			regulator-max-microvolt = <2040000>;
203		};
204
205		vreg_s7a_1p025: smps7 {
206			regulator-min-microvolt = <900000>;
207			regulator-max-microvolt = <1028000>;
208		};
209
210		vdd_qusb_hs0:
211		vdda_hp_pcie_core:
212		vdda_mipi_csi0_0p9:
213		vdda_mipi_csi1_0p9:
214		vdda_mipi_csi2_0p9:
215		vdda_mipi_dsi0_pll:
216		vdda_mipi_dsi1_pll:
217		vdda_qlink_lv:
218		vdda_qlink_lv_ck:
219		vdda_qrefs_0p875:
220		vdda_pcie_core:
221		vdda_pll_cc_ebi01:
222		vdda_pll_cc_ebi23:
223		vdda_sp_sensor:
224		vdda_ufs1_core:
225		vdda_ufs2_core:
226		vdda_usb1_ss_core:
227		vdda_usb2_ss_core:
228		vreg_l1a_0p875: ldo1 {
229			regulator-min-microvolt = <880000>;
230			regulator-max-microvolt = <880000>;
231			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
232		};
233
234		vddpx_10:
235		vreg_l2a_1p2: ldo2 {
236			regulator-min-microvolt = <1200000>;
237			regulator-max-microvolt = <1200000>;
238			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
239			regulator-always-on;
240		};
241
242		vreg_l3a_1p0: ldo3 {
243			regulator-min-microvolt = <1000000>;
244			regulator-max-microvolt = <1000000>;
245			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
246		};
247
248		vdd_wcss_cx:
249		vdd_wcss_mx:
250		vdda_wcss_pll:
251		vreg_l5a_0p8: ldo5 {
252			regulator-min-microvolt = <800000>;
253			regulator-max-microvolt = <800000>;
254			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
255		};
256
257		vddpx_13:
258		vreg_l6a_1p8: ldo6 {
259			regulator-min-microvolt = <1856000>;
260			regulator-max-microvolt = <1856000>;
261			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
262		};
263
264		vreg_l7a_1p8: ldo7 {
265			regulator-min-microvolt = <1800000>;
266			regulator-max-microvolt = <1800000>;
267			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
268		};
269
270		vreg_l8a_1p2: ldo8 {
271			regulator-min-microvolt = <1200000>;
272			regulator-max-microvolt = <1248000>;
273			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
274		};
275
276		vreg_l9a_1p8: ldo9 {
277			regulator-min-microvolt = <1704000>;
278			regulator-max-microvolt = <2928000>;
279			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
280		};
281
282		vreg_l10a_1p8: ldo10 {
283			regulator-min-microvolt = <1704000>;
284			regulator-max-microvolt = <2928000>;
285			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
286		};
287
288		vreg_l11a_1p0: ldo11 {
289			regulator-min-microvolt = <1000000>;
290			regulator-max-microvolt = <1048000>;
291			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
292		};
293
294		vdd_qfprom:
295		vdd_qfprom_sp:
296		vdda_apc1_cs_1p8:
297		vdda_gfx_cs_1p8:
298		vdda_qrefs_1p8:
299		vdda_qusb_hs0_1p8:
300		vddpx_11:
301		vreg_l12a_1p8: ldo12 {
302			regulator-min-microvolt = <1800000>;
303			regulator-max-microvolt = <1800000>;
304			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
305		};
306
307		vddpx_2:
308		vreg_l13a_2p95: ldo13 {
309			regulator-min-microvolt = <1800000>;
310			regulator-max-microvolt = <2960000>;
311			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
312		};
313
314		vreg_l14a_1p88: ldo14 {
315			regulator-min-microvolt = <1800000>;
316			regulator-max-microvolt = <1880000>;
317			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
318		};
319
320		vreg_l15a_1p8: ldo15 {
321			regulator-min-microvolt = <1800000>;
322			regulator-max-microvolt = <1800000>;
323			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
324		};
325
326		vreg_l17a_1p3: ldo17 {
327			regulator-min-microvolt = <1304000>;
328			regulator-max-microvolt = <1304000>;
329			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
330		};
331
332		vreg_l18a_2p7: ldo18 {
333			regulator-min-microvolt = <2704000>;
334			regulator-max-microvolt = <2960000>;
335			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
336		};
337
338		vreg_l20a_2p95: ldo20 {
339			regulator-min-microvolt = <2704000>;
340			regulator-max-microvolt = <2960000>;
341			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
342		};
343
344		vreg_l21a_2p95: ldo21 {
345			regulator-min-microvolt = <2704000>;
346			regulator-max-microvolt = <2960000>;
347			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
348		};
349
350		vreg_l22a_2p85: ldo22 {
351			regulator-min-microvolt = <2800000>;
352			regulator-max-microvolt = <2800000>;
353			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
354		};
355
356		vreg_l23a_3p3: ldo23 {
357			regulator-min-microvolt = <3000000>;
358			regulator-max-microvolt = <3312000>;
359			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
360		};
361
362		vdda_qusb_hs0_3p1:
363		vreg_l24a_3p075: ldo24 {
364			regulator-min-microvolt = <3088000>;
365			regulator-max-microvolt = <3088000>;
366			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
367		};
368
369		vreg_l25a_3p3: ldo25 {
370			regulator-min-microvolt = <3000000>;
371			regulator-max-microvolt = <3312000>;
372			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
373		};
374
375		vdda_hp_pcie_1p2:
376		vdda_hv_ebi0:
377		vdda_hv_ebi1:
378		vdda_hv_ebi2:
379		vdda_hv_ebi3:
380		vdda_mipi_csi_1p25:
381		vdda_mipi_dsi0_1p2:
382		vdda_mipi_dsi1_1p2:
383		vdda_pcie_1p2:
384		vdda_ufs1_1p2:
385		vdda_ufs2_1p2:
386		vdda_usb1_ss_1p2:
387		vdda_usb2_ss_1p2:
388		vreg_l26a_1p2: ldo26 {
389			regulator-min-microvolt = <1200000>;
390			regulator-max-microvolt = <1200000>;
391			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
392		};
393
394		vreg_l28a_3p0: ldo28 {
395			regulator-min-microvolt = <1800000>;
396			regulator-max-microvolt = <1800000>;
397			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
398		};
399
400		vreg_lvs1a_1p8: lvs1 {
401			regulator-min-microvolt = <1800000>;
402			regulator-max-microvolt = <1800000>;
403		};
404
405		vreg_lvs2a_1p8: lvs2 {
406			regulator-min-microvolt = <1800000>;
407			regulator-max-microvolt = <1800000>;
408		};
409	};
410
411	regulators-1 {
412		compatible = "qcom,pmi8998-rpmh-regulators";
413		qcom,pmic-id = "b";
414
415		vdd-bob-supply = <&vph_pwr>;
416
417		vreg_bob: bob {
418			regulator-min-microvolt = <3312000>;
419			regulator-max-microvolt = <3600000>;
420			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
421			regulator-allow-bypass;
422		};
423	};
424
425	regulators-2 {
426		compatible = "qcom,pm8005-rpmh-regulators";
427		qcom,pmic-id = "c";
428
429		vdd-s1-supply = <&vph_pwr>;
430		vdd-s2-supply = <&vph_pwr>;
431		vdd-s3-supply = <&vph_pwr>;
432		vdd-s4-supply = <&vph_pwr>;
433
434		vreg_s3c_0p6: smps3 {
435			regulator-min-microvolt = <600000>;
436			regulator-max-microvolt = <600000>;
437		};
438	};
439};
440
441&cdsp_pas {
442	status = "okay";
443};
444
445&dispcc {
446	status = "disabled";
447};
448
449&gcc {
450	protected-clocks = <GCC_QSPI_CORE_CLK>,
451			   <GCC_QSPI_CORE_CLK_SRC>,
452			   <GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
453			   <GCC_LPASS_Q6_AXI_CLK>,
454			   <GCC_LPASS_SWAY_CLK>;
455};
456
457&gpu {
458	status = "okay";
459};
460
461&ipa {
462	qcom,gsi-loader = "modem";
463	status = "okay";
464};
465
466&mss_pil {
467	status = "okay";
468};
469
470&pm8998_resin {
471	linux,code = <KEY_VOLUMEDOWN>;
472	status = "okay";
473};
474
475&sdhc_2 {
476	status = "okay";
477
478	cd-gpios = <&tlmm 126 GPIO_ACTIVE_LOW>;
479
480	pinctrl-names = "default";
481	pinctrl-0 = <&sdc2_clk &sdc2_cmd &sdc2_data &sd_card_det_n>;
482
483	vmmc-supply = <&vreg_l21a_2p95>;
484	vqmmc-supply = <&vddpx_2>;
485};
486
487/*
488 * UFS works partially and only with clk_ignore_unused.
489 * Sometimes it crashes with I/O errors.
490 */
491&ufs_mem_hc {
492	status = "okay";
493
494	reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;
495
496	vcc-supply = <&vreg_l20a_2p95>;
497	vcc-max-microamp = <600000>;
498};
499
500&ufs_mem_phy {
501	status = "okay";
502
503	vdda-phy-supply = <&vdda_ufs1_core>;
504	vdda-pll-supply = <&vdda_ufs1_1p2>;
505};
506
507&usb_1 {
508	status = "okay";
509};
510
511&usb_1_dwc3 {
512	/* TODO: these devices have usb id pin */
513	dr_mode = "peripheral";
514};
515
516&usb_1_hsphy {
517	status = "okay";
518
519	vdd-supply = <&vdda_usb1_ss_core>;
520	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
521	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
522
523	qcom,imp-res-offset-value = <8>;
524	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
525	qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
526	qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
527};
528
529&usb_1_qmpphy {
530	status = "okay";
531
532	vdda-phy-supply = <&vdda_usb1_ss_1p2>;
533	vdda-pll-supply = <&vdda_usb1_ss_core>;
534};
535
536/* PINCTRL - additions to nodes defined in sdm845.dtsi */
537
538&tlmm {
539	gpio-reserved-ranges = <28 4>, <81 4>;
540
541	sdc2_clk: sdc2-clk-state {
542		pins = "sdc2_clk";
543		bias-disable;
544
545		/*
546		 * It seems that mmc_test reports errors if drive
547		 * strength is not 16 on clk, cmd, and data pins.
548		 *
549		 * TODO: copy-pasted from mtp, try other values
550		 * on these devices.
551		 */
552		drive-strength = <16>;
553	};
554
555	sdc2_cmd: sdc2-cmd-state {
556		pins = "sdc2_cmd";
557		bias-pull-up;
558		drive-strength = <16>;
559	};
560
561	sdc2_data: sdc2-data-state {
562		pins = "sdc2_data";
563		bias-pull-up;
564		drive-strength = <16>;
565	};
566
567	sd_card_det_n: sd-card-det-n-state {
568		pins = "gpio126";
569		function = "gpio";
570		bias-pull-up;
571	};
572};
573
574&pm8998_gpios {
575	vol_up_pin_a: vol-up-active-state {
576		pins = "gpio6";
577		function = "normal";
578		input-enable;
579		bias-pull-up;
580		qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
581	};
582};
~/ Read-only file preview.