xref: /openbmc/linux/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
168434024SJianhua Lu// SPDX-License-Identifier: BSD-3-Clause
268434024SJianhua Lu/*
368434024SJianhua Lu * Copyright (c) 2022, 2023 Jianhua Lu <lujianhua000@gmail.com>
468434024SJianhua Lu */
568434024SJianhua Lu
668434024SJianhua Lu#include <dt-bindings/arm/qcom,ids.h>
751c4c2bdSJianhua Lu#include <dt-bindings/phy/phy.h>
868434024SJianhua Lu#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
968434024SJianhua Lu#include "sm8250.dtsi"
1068434024SJianhua Lu#include "pm8150.dtsi"
1168434024SJianhua Lu#include "pm8150b.dtsi"
1268434024SJianhua Lu#include "pm8150l.dtsi"
1368434024SJianhua Lu#include "pm8009.dtsi"
1468434024SJianhua Lu
1568434024SJianhua Lu/*
1668434024SJianhua Lu * Delete following upstream (sm8250.dtsi) reserved
1768434024SJianhua Lu * memory mappings which are different on this device.
1868434024SJianhua Lu */
1968434024SJianhua Lu/delete-node/ &adsp_mem;
2068434024SJianhua Lu/delete-node/ &cdsp_secure_heap;
2168434024SJianhua Lu/delete-node/ &slpi_mem;
2268434024SJianhua Lu/delete-node/ &spss_mem;
2368434024SJianhua Lu/delete-node/ &xbl_aop_mem;
2468434024SJianhua Lu
2568434024SJianhua Lu/ {
2668434024SJianhua Lu	classis-type = "tablet";
2768434024SJianhua Lu
2868434024SJianhua Lu	/* required for bootloader to select correct board */
2968434024SJianhua Lu	qcom,msm-id = <QCOM_ID_SM8250 0x20001>; /* SM8250 v2.1 */
3068434024SJianhua Lu	qcom,board-id = <0x10008 0>;
3168434024SJianhua Lu
3268434024SJianhua Lu	chosen {
3368434024SJianhua Lu		#address-cells = <2>;
3468434024SJianhua Lu		#size-cells = <2>;
3568434024SJianhua Lu		ranges;
3668434024SJianhua Lu
3768434024SJianhua Lu		framebuffer: framebuffer@9c000000 {
3868434024SJianhua Lu			compatible = "simple-framebuffer";
3968434024SJianhua Lu			reg = <0x0 0x9c000000 0x0 0x2300000>;
4068434024SJianhua Lu			width = <1600>;
4168434024SJianhua Lu			height = <2560>;
4268434024SJianhua Lu			stride = <(1600 * 4)>;
4368434024SJianhua Lu			format = "a8r8g8b8";
4468434024SJianhua Lu		};
4568434024SJianhua Lu	};
4668434024SJianhua Lu
4768434024SJianhua Lu	battery_l: battery-l {
4868434024SJianhua Lu		compatible = "simple-battery";
4968434024SJianhua Lu		voltage-min-design-microvolt = <3870000>;
5068434024SJianhua Lu		energy-full-design-microwatt-hours = <16600000>;
5168434024SJianhua Lu		charge-full-design-microamp-hours = <4300000>;
5268434024SJianhua Lu	};
5368434024SJianhua Lu
5468434024SJianhua Lu	battery_r: battery-r {
5568434024SJianhua Lu		compatible = "simple-battery";
5668434024SJianhua Lu		voltage-min-design-microvolt = <3870000>;
5768434024SJianhua Lu		energy-full-design-microwatt-hours = <16600000>;
5868434024SJianhua Lu		charge-full-design-microamp-hours = <4300000>;
5968434024SJianhua Lu	};
6068434024SJianhua Lu
6168434024SJianhua Lu	bl_vddpos_5p5: bl-vddpos-regulator {
6268434024SJianhua Lu		compatible = "regulator-fixed";
6368434024SJianhua Lu		regulator-name = "bl_vddpos_5p5";
6468434024SJianhua Lu		regulator-min-microvolt = <5500000>;
6568434024SJianhua Lu		regulator-max-microvolt = <5500000>;
6668434024SJianhua Lu		regulator-enable-ramp-delay = <233>;
6768434024SJianhua Lu		gpio = <&tlmm 130 GPIO_ACTIVE_HIGH>;
6868434024SJianhua Lu		enable-active-high;
6968434024SJianhua Lu		regulator-boot-on;
7068434024SJianhua Lu	};
7168434024SJianhua Lu
7268434024SJianhua Lu	bl_vddneg_5p5: bl-vddneg-regulator {
7368434024SJianhua Lu		compatible = "regulator-fixed";
7468434024SJianhua Lu		regulator-name = "bl_vddneg_5p5";
7568434024SJianhua Lu		regulator-min-microvolt = <5500000>;
7668434024SJianhua Lu		regulator-max-microvolt = <5500000>;
7768434024SJianhua Lu		regulator-enable-ramp-delay = <233>;
7868434024SJianhua Lu		gpio = <&tlmm 131 GPIO_ACTIVE_HIGH>;
7968434024SJianhua Lu		enable-active-high;
8068434024SJianhua Lu		regulator-boot-on;
8168434024SJianhua Lu	};
8268434024SJianhua Lu
8368434024SJianhua Lu	gpio_keys: gpio-keys {
8468434024SJianhua Lu		compatible = "gpio-keys";
8568434024SJianhua Lu
8668434024SJianhua Lu		pinctrl-names = "default";
8768434024SJianhua Lu		pinctrl-0 = <&vol_up_n>;
8868434024SJianhua Lu
8968434024SJianhua Lu		key-vol-up {
9068434024SJianhua Lu			label = "Volume Up";
9168434024SJianhua Lu			gpios = <&pm8150_gpios 6 GPIO_ACTIVE_LOW>;
9268434024SJianhua Lu			linux,code = <KEY_VOLUMEUP>;
9368434024SJianhua Lu			debounce-interval = <15>;
9468434024SJianhua Lu			linux,can-disable;
9568434024SJianhua Lu			wakeup-source;
9668434024SJianhua Lu		};
9768434024SJianhua Lu	};
9868434024SJianhua Lu
9968434024SJianhua Lu	vph_pwr: vph-pwr-regulator {
10068434024SJianhua Lu		compatible = "regulator-fixed";
10168434024SJianhua Lu		regulator-name = "vph_pwr";
10268434024SJianhua Lu		regulator-min-microvolt = <3700000>;
10368434024SJianhua Lu		regulator-max-microvolt = <3700000>;
10468434024SJianhua Lu	};
10568434024SJianhua Lu
10668434024SJianhua Lu	/* S6c is really ebi.lvl but it's there for supply map completeness sake. */
10768434024SJianhua Lu	vreg_s6c_0p88: smpc6-regulator {
10868434024SJianhua Lu		compatible = "regulator-fixed";
10968434024SJianhua Lu		regulator-name = "vreg_s6c_0p88";
11068434024SJianhua Lu		regulator-min-microvolt = <880000>;
11168434024SJianhua Lu		regulator-max-microvolt = <880000>;
11268434024SJianhua Lu		regulator-always-on;
11368434024SJianhua Lu		vin-supply = <&vph_pwr>;
11468434024SJianhua Lu	};
11568434024SJianhua Lu
11668434024SJianhua Lu	reserved-memory {
11768434024SJianhua Lu		xbl_aop_mem: xbl-aop@80700000 {
11868434024SJianhua Lu			reg = <0x0 0x80600000 0x0 0x260000>;
11968434024SJianhua Lu			no-map;
12068434024SJianhua Lu		};
12168434024SJianhua Lu
12268434024SJianhua Lu		slpi_mem: slpi@88c00000 {
12368434024SJianhua Lu			reg = <0x0 0x88c00000 0x0 0x2f00000>;
12468434024SJianhua Lu			no-map;
12568434024SJianhua Lu		};
12668434024SJianhua Lu
12768434024SJianhua Lu		adsp_mem: adsp@8bb00000 {
12868434024SJianhua Lu			reg = <0x0 0x8bb00000 0x0 0x2500000>;
12968434024SJianhua Lu			no-map;
13068434024SJianhua Lu		};
13168434024SJianhua Lu
13268434024SJianhua Lu		spss_mem: spss@8e000000 {
13368434024SJianhua Lu			reg = <0x0 0x8e000000 0x0 0x100000>;
13468434024SJianhua Lu			no-map;
13568434024SJianhua Lu		};
13668434024SJianhua Lu
13768434024SJianhua Lu		cdsp_secure_heap: cdsp-secure-heap@8e100000 {
13868434024SJianhua Lu			reg = <0x0 0x8e100000 0x0 0x4600000>;
13968434024SJianhua Lu			no-map;
14068434024SJianhua Lu		};
14168434024SJianhua Lu
14268434024SJianhua Lu		cont_splash_mem: cont-splash@9c000000 {
14368434024SJianhua Lu			reg = <0x0 0x9c000000 0x0 0x2300000>;
14468434024SJianhua Lu			no-map;
14568434024SJianhua Lu		};
14668434024SJianhua Lu
14768434024SJianhua Lu		ramoops@b0000000 {
14868434024SJianhua Lu			compatible = "ramoops";
14968434024SJianhua Lu			reg = <0x0 0xb0000000 0x0 0x400000>;
15068434024SJianhua Lu			record-size = <0x1000>;
15168434024SJianhua Lu			console-size = <0x200000>;
15268434024SJianhua Lu			ecc-size = <16>;
15368434024SJianhua Lu			no-map;
15468434024SJianhua Lu		};
15568434024SJianhua Lu	};
15668434024SJianhua Lu};
15768434024SJianhua Lu
15868434024SJianhua Lu&adsp {
15968434024SJianhua Lu	firmware-name = "qcom/sm8250/xiaomi/elish/adsp.mbn";
16068434024SJianhua Lu	status = "okay";
16168434024SJianhua Lu};
16268434024SJianhua Lu
16368434024SJianhua Lu&apps_rsc {
16468434024SJianhua Lu	regulators-0 {
16568434024SJianhua Lu		compatible = "qcom,pm8150-rpmh-regulators";
16668434024SJianhua Lu		qcom,pmic-id = "a";
16768434024SJianhua Lu
16868434024SJianhua Lu		vdd-s1-supply = <&vph_pwr>;
16968434024SJianhua Lu		vdd-s2-supply = <&vph_pwr>;
17068434024SJianhua Lu		vdd-s3-supply = <&vph_pwr>;
17168434024SJianhua Lu		vdd-s4-supply = <&vph_pwr>;
17268434024SJianhua Lu		vdd-s5-supply = <&vph_pwr>;
17368434024SJianhua Lu		vdd-s6-supply = <&vph_pwr>;
17468434024SJianhua Lu		vdd-s7-supply = <&vph_pwr>;
17568434024SJianhua Lu		vdd-s8-supply = <&vph_pwr>;
17668434024SJianhua Lu		vdd-s9-supply = <&vph_pwr>;
17768434024SJianhua Lu		vdd-s10-supply = <&vph_pwr>;
17868434024SJianhua Lu		vdd-l1-l8-l11-supply = <&vreg_s6c_0p88>;
17968434024SJianhua Lu		vdd-l2-l10-supply = <&vreg_bob>;
18068434024SJianhua Lu		vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>;
18168434024SJianhua Lu		vdd-l6-l9-supply = <&vreg_s8c_1p35>;
18268434024SJianhua Lu		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
18368434024SJianhua Lu		vdd-l13-l16-l17-supply = <&vreg_bob>;
18468434024SJianhua Lu
18568434024SJianhua Lu		/* (S1+S2+S3) - cx.lvl (ARC) */
18668434024SJianhua Lu
18768434024SJianhua Lu		vreg_s4a_1p8: smps4 {
18868434024SJianhua Lu			regulator-name = "vreg_s4a_1p8";
18968434024SJianhua Lu			regulator-min-microvolt = <1800000>;
19068434024SJianhua Lu			regulator-max-microvolt = <1920000>;
19168434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
19268434024SJianhua Lu			regulator-allow-set-load;
19368434024SJianhua Lu			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
19468434024SJianhua Lu						   RPMH_REGULATOR_MODE_HPM>;
19568434024SJianhua Lu		};
19668434024SJianhua Lu
19768434024SJianhua Lu		vreg_s5a_1p9: smps5 {
19868434024SJianhua Lu			regulator-name = "vreg_s5a_1p9";
19968434024SJianhua Lu			regulator-min-microvolt = <1900000>;
20068434024SJianhua Lu			regulator-max-microvolt = <2040000>;
20168434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
20268434024SJianhua Lu		};
20368434024SJianhua Lu
20468434024SJianhua Lu		vreg_s6a_0p95: smps6 {
20568434024SJianhua Lu			regulator-name = "vreg_s6a_0p95";
20668434024SJianhua Lu			regulator-min-microvolt = <950000>;
20768434024SJianhua Lu			regulator-max-microvolt = <1128000>;
20868434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
20968434024SJianhua Lu		};
21068434024SJianhua Lu
21168434024SJianhua Lu		vreg_l2a_3p1: ldo2 {
21268434024SJianhua Lu			regulator-name = "vreg_l2a_3p1";
21368434024SJianhua Lu			regulator-min-microvolt = <3072000>;
21468434024SJianhua Lu			regulator-max-microvolt = <3072000>;
21568434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
21668434024SJianhua Lu		};
21768434024SJianhua Lu
21868434024SJianhua Lu		vreg_l3a_0p9: ldo3 {
21968434024SJianhua Lu			regulator-name = "vreg_l3a_0p9";
22068434024SJianhua Lu			regulator-min-microvolt = <928000>;
22168434024SJianhua Lu			regulator-max-microvolt = <932000>;
22268434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
22368434024SJianhua Lu		};
22468434024SJianhua Lu
22568434024SJianhua Lu		/* L4 - lmx.lvl (ARC) */
22668434024SJianhua Lu
22768434024SJianhua Lu		vreg_l5a_0p88: ldo5 {
22868434024SJianhua Lu			regulator-name = "vreg_l5a_0p88";
22968434024SJianhua Lu			regulator-min-microvolt = <880000>;
23068434024SJianhua Lu			regulator-max-microvolt = <880000>;
23168434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
23268434024SJianhua Lu		};
23368434024SJianhua Lu
23468434024SJianhua Lu		vreg_l6a_1p2: ldo6 {
23568434024SJianhua Lu			regulator-name = "vreg_l6a_1p2";
23668434024SJianhua Lu			regulator-min-microvolt = <1200000>;
23768434024SJianhua Lu			regulator-max-microvolt = <1200000>;
23868434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
23968434024SJianhua Lu			regulator-allow-set-load;
24068434024SJianhua Lu			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
24168434024SJianhua Lu						   RPMH_REGULATOR_MODE_HPM>;
24268434024SJianhua Lu		};
24368434024SJianhua Lu
24468434024SJianhua Lu		/* L7 is unused. */
24568434024SJianhua Lu
24668434024SJianhua Lu		vreg_l9a_1p2: ldo9 {
24768434024SJianhua Lu			regulator-name = "vreg_l9a_1p2";
24868434024SJianhua Lu			regulator-min-microvolt = <1200000>;
24968434024SJianhua Lu			regulator-max-microvolt = <1200000>;
25068434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
25168434024SJianhua Lu		};
25268434024SJianhua Lu
25368434024SJianhua Lu		/* L10 is unused, L11 - lcx.lvl (ARC) */
25468434024SJianhua Lu
25568434024SJianhua Lu		vreg_l12a_1p8: ldo12 {
25668434024SJianhua Lu			regulator-name = "vreg_l12a_1p8";
25768434024SJianhua Lu			regulator-min-microvolt = <1800000>;
25868434024SJianhua Lu			regulator-max-microvolt = <1800000>;
25968434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
26068434024SJianhua Lu		};
26168434024SJianhua Lu
26268434024SJianhua Lu		/* L13 is unused. */
26368434024SJianhua Lu
26468434024SJianhua Lu		vreg_l14a_1p88: ldo14 {
26568434024SJianhua Lu			regulator-name = "vreg_l14a_1p88";
26668434024SJianhua Lu			regulator-min-microvolt = <1880000>;
26768434024SJianhua Lu			regulator-max-microvolt = <1880000>;
26868434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
26968434024SJianhua Lu		};
27068434024SJianhua Lu
27168434024SJianhua Lu		/* L15 & L16 are unused. */
27268434024SJianhua Lu
27368434024SJianhua Lu		vreg_l17a_3p0: ldo17 {
27468434024SJianhua Lu			regulator-name = "vreg_l17a_3p0";
27568434024SJianhua Lu			regulator-min-microvolt = <2496000>;
27668434024SJianhua Lu			regulator-max-microvolt = <3008000>;
27768434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
27868434024SJianhua Lu			regulator-allow-set-load;
27968434024SJianhua Lu			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
28068434024SJianhua Lu						   RPMH_REGULATOR_MODE_HPM>;
28168434024SJianhua Lu		};
28268434024SJianhua Lu
28368434024SJianhua Lu		vreg_l18a_0p9: ldo18 {
28468434024SJianhua Lu			regulator-name = "vreg_l18a_0p9";
28568434024SJianhua Lu			regulator-min-microvolt = <800000>;
28668434024SJianhua Lu			regulator-max-microvolt = <920000>;
28768434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
28868434024SJianhua Lu		};
28968434024SJianhua Lu	};
29068434024SJianhua Lu
29168434024SJianhua Lu	/*
29268434024SJianhua Lu	 * Remaining regulators that are not yet supported:
29368434024SJianhua Lu	 * OLEDB: 4925000-8100000
29468434024SJianhua Lu	 * ab: 4600000-6100000
29568434024SJianhua Lu	 * ibb: 800000-5400000
29668434024SJianhua Lu	 */
29768434024SJianhua Lu	regulators-1 {
29868434024SJianhua Lu		compatible = "qcom,pm8150l-rpmh-regulators";
29968434024SJianhua Lu		qcom,pmic-id = "c";
30068434024SJianhua Lu
30168434024SJianhua Lu		vdd-s1-supply = <&vph_pwr>;
30268434024SJianhua Lu		vdd-s2-supply = <&vph_pwr>;
30368434024SJianhua Lu		vdd-s3-supply = <&vph_pwr>;
30468434024SJianhua Lu		vdd-s4-supply = <&vph_pwr>;
30568434024SJianhua Lu		vdd-s5-supply = <&vph_pwr>;
30668434024SJianhua Lu		vdd-s6-supply = <&vph_pwr>;
30768434024SJianhua Lu		vdd-s7-supply = <&vph_pwr>;
30868434024SJianhua Lu		vdd-s8-supply = <&vph_pwr>;
30968434024SJianhua Lu		vdd-l1-l8-supply = <&vreg_s4a_1p8>;
31068434024SJianhua Lu		vdd-l2-l3-supply = <&vreg_s8c_1p35>;
31168434024SJianhua Lu		vdd-l4-l5-l6-supply = <&vreg_bob>;
31268434024SJianhua Lu		vdd-l7-l11-supply = <&vreg_bob>;
31368434024SJianhua Lu		vdd-l9-l10-supply = <&vreg_bob>;
31468434024SJianhua Lu		vdd-bob-supply = <&vph_pwr>;
31568434024SJianhua Lu
31668434024SJianhua Lu		vreg_bob: bob {
31768434024SJianhua Lu			regulator-name = "vreg_bob";
31868434024SJianhua Lu			regulator-min-microvolt = <3350000>;
31968434024SJianhua Lu			regulator-max-microvolt = <3960000>;
32068434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
32168434024SJianhua Lu		};
32268434024SJianhua Lu
32368434024SJianhua Lu		/*
32468434024SJianhua Lu		 * S1-S6 are ARCs:
32568434024SJianhua Lu		 * (S1+S2) - gfx.lvl,
32668434024SJianhua Lu		 * S3 - mx.lvl,
32768434024SJianhua Lu		 * (S4+S5) - mmcx.lvl,
32868434024SJianhua Lu		 * S6 - ebi.lvl
32968434024SJianhua Lu		 */
33068434024SJianhua Lu
33168434024SJianhua Lu		vreg_s7c_0p35: smps7 {
33268434024SJianhua Lu			regulator-name = "vreg_s7c_0p35";
33368434024SJianhua Lu			regulator-min-microvolt = <348000>;
33468434024SJianhua Lu			regulator-max-microvolt = <1000000>;
33568434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
33668434024SJianhua Lu		};
33768434024SJianhua Lu
33868434024SJianhua Lu		vreg_s8c_1p35: smps8 {
33968434024SJianhua Lu			regulator-name = "vreg_s8c_1p35";
34068434024SJianhua Lu			regulator-min-microvolt = <1350000>;
34168434024SJianhua Lu			regulator-max-microvolt = <1400000>;
34268434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
34368434024SJianhua Lu		};
34468434024SJianhua Lu
34568434024SJianhua Lu		vreg_l1c_1p8: ldo1 {
34668434024SJianhua Lu			regulator-name = "vreg_l1c_1p8";
34768434024SJianhua Lu			regulator-min-microvolt = <1800000>;
34868434024SJianhua Lu			regulator-max-microvolt = <1800000>;
34968434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
35068434024SJianhua Lu		};
35168434024SJianhua Lu
35268434024SJianhua Lu		/* L2-4 are unused. */
35368434024SJianhua Lu
35468434024SJianhua Lu		vreg_l5c_1p8: ldo5 {
35568434024SJianhua Lu			regulator-name = "vreg_l5c_1p8";
35668434024SJianhua Lu			regulator-min-microvolt = <1800000>;
35768434024SJianhua Lu			regulator-max-microvolt = <2800000>;
35868434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
35968434024SJianhua Lu		};
36068434024SJianhua Lu
36168434024SJianhua Lu		vreg_l6c_2p9: ldo6 {
36268434024SJianhua Lu			regulator-name = "vreg_l6c_2p9";
36368434024SJianhua Lu			regulator-min-microvolt = <1800000>;
36468434024SJianhua Lu			regulator-max-microvolt = <2960000>;
36568434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
36668434024SJianhua Lu			regulator-allow-set-load;
36768434024SJianhua Lu			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
36868434024SJianhua Lu						   RPMH_REGULATOR_MODE_HPM>;
36968434024SJianhua Lu		};
37068434024SJianhua Lu
37168434024SJianhua Lu		vreg_l7c_2p85: ldo7 {
37268434024SJianhua Lu			regulator-name = "vreg_l7c_2p85";
37368434024SJianhua Lu			regulator-min-microvolt = <2856000>;
37468434024SJianhua Lu			regulator-max-microvolt = <3104000>;
37568434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
37668434024SJianhua Lu		};
37768434024SJianhua Lu
37868434024SJianhua Lu		vreg_l8c_1p8: ldo8 {
37968434024SJianhua Lu			regulator-name = "vreg_l8c_1p8";
38068434024SJianhua Lu			regulator-min-microvolt = <1800000>;
38168434024SJianhua Lu			regulator-max-microvolt = <1800000>;
38268434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
38368434024SJianhua Lu		};
38468434024SJianhua Lu
38568434024SJianhua Lu		vreg_l9c_2p9: ldo9 {
38668434024SJianhua Lu			regulator-name = "vreg_l9c_2p9";
38768434024SJianhua Lu			regulator-min-microvolt = <2704000>;
38868434024SJianhua Lu			regulator-max-microvolt = <2960000>;
38968434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
39068434024SJianhua Lu			regulator-allow-set-load;
39168434024SJianhua Lu			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
39268434024SJianhua Lu						   RPMH_REGULATOR_MODE_HPM>;
39368434024SJianhua Lu		};
39468434024SJianhua Lu
39568434024SJianhua Lu		vreg_l10c_3p3: ldo10 {
39668434024SJianhua Lu			regulator-name = "vreg_l10c_3p3";
39768434024SJianhua Lu			regulator-min-microvolt = <3296000>;
39868434024SJianhua Lu			regulator-max-microvolt = <3296000>;
39968434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
40068434024SJianhua Lu		};
40168434024SJianhua Lu
40268434024SJianhua Lu		vreg_l11c_3p0: ldo11 {
40368434024SJianhua Lu			regulator-name = "vreg_l11c_3p0";
40468434024SJianhua Lu			regulator-min-microvolt = <3000000>;
40568434024SJianhua Lu			regulator-max-microvolt = <3000000>;
40668434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
40768434024SJianhua Lu		};
40868434024SJianhua Lu	};
40968434024SJianhua Lu
41068434024SJianhua Lu	regulators-2 {
41168434024SJianhua Lu		compatible = "qcom,pm8009-rpmh-regulators";
41268434024SJianhua Lu		qcom,pmic-id = "f";
41368434024SJianhua Lu
41468434024SJianhua Lu		vdd-s1-supply = <&vph_pwr>;
41568434024SJianhua Lu		vdd-s2-supply = <&vreg_bob>;
41668434024SJianhua Lu		vdd-l2-supply = <&vreg_s8c_1p35>;
41768434024SJianhua Lu		vdd-l5-l6-supply = <&vreg_bob>;
41868434024SJianhua Lu		vdd-l7-supply = <&vreg_s4a_1p8>;
41968434024SJianhua Lu
42068434024SJianhua Lu		vreg_s1f_1p2: smps1 {
42168434024SJianhua Lu			regulator-name = "vreg_s1f_1p2";
42268434024SJianhua Lu			regulator-min-microvolt = <1200000>;
42368434024SJianhua Lu			regulator-max-microvolt = <1200000>;
42468434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
42568434024SJianhua Lu		};
42668434024SJianhua Lu
42768434024SJianhua Lu		vreg_s2f_0p5: smps2 {
42868434024SJianhua Lu			regulator-name = "vreg_s2f_0p5";
42968434024SJianhua Lu			regulator-min-microvolt = <512000>;
43068434024SJianhua Lu			regulator-max-microvolt = <1100000>;
43168434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
43268434024SJianhua Lu		};
43368434024SJianhua Lu
43468434024SJianhua Lu		/* L1 is unused. */
43568434024SJianhua Lu
43668434024SJianhua Lu		vreg_l2f_1p3: ldo2 {
43768434024SJianhua Lu			regulator-name = "vreg_l2f_1p3";
43868434024SJianhua Lu			regulator-min-microvolt = <1304000>;
43968434024SJianhua Lu			regulator-max-microvolt = <1304000>;
44068434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
44168434024SJianhua Lu		};
44268434024SJianhua Lu
44368434024SJianhua Lu		/* L3 & L4 are unused. */
44468434024SJianhua Lu
44568434024SJianhua Lu		vreg_l5f_2p8: ldo5 {
44668434024SJianhua Lu			regulator-name = "vreg_l5f_2p85";
44768434024SJianhua Lu			regulator-min-microvolt = <2800000>;
44868434024SJianhua Lu			regulator-max-microvolt = <2800000>;
44968434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
45068434024SJianhua Lu		};
45168434024SJianhua Lu
45268434024SJianhua Lu		vreg_l6f_2p8: ldo6 {
45368434024SJianhua Lu			regulator-name = "vreg_l6f_2p8";
45468434024SJianhua Lu			regulator-min-microvolt = <2800000>;
45568434024SJianhua Lu			regulator-max-microvolt = <2800000>;
45668434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
45768434024SJianhua Lu		};
45868434024SJianhua Lu
45968434024SJianhua Lu		vreg_l7f_1p8: ldo7 {
46068434024SJianhua Lu			regulator-name = "vreg_l7f_1p8";
46168434024SJianhua Lu			regulator-min-microvolt = <1800000>;
46268434024SJianhua Lu			regulator-max-microvolt = <1800000>;
46368434024SJianhua Lu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
46468434024SJianhua Lu		};
46568434024SJianhua Lu	};
46668434024SJianhua Lu};
46768434024SJianhua Lu
46868434024SJianhua Lu&cdsp {
46968434024SJianhua Lu	firmware-name = "qcom/sm8250/xiaomi/elish/cdsp.mbn";
47068434024SJianhua Lu	status = "okay";
47168434024SJianhua Lu};
47268434024SJianhua Lu
47368434024SJianhua Lu&gmu {
47468434024SJianhua Lu	status = "okay";
47568434024SJianhua Lu};
47668434024SJianhua Lu
47768434024SJianhua Lu&gpi_dma0 {
47868434024SJianhua Lu	status = "okay";
47968434024SJianhua Lu};
48068434024SJianhua Lu
48168434024SJianhua Lu&gpi_dma1 {
48268434024SJianhua Lu	status = "okay";
48368434024SJianhua Lu};
48468434024SJianhua Lu
48568434024SJianhua Lu&gpi_dma2 {
48668434024SJianhua Lu	status = "okay";
48768434024SJianhua Lu};
48868434024SJianhua Lu
48968434024SJianhua Lu&gpu {
49068434024SJianhua Lu	status = "okay";
49168434024SJianhua Lu
49268434024SJianhua Lu	zap-shader {
49368434024SJianhua Lu		memory-region = <&gpu_mem>;
49468434024SJianhua Lu		firmware-name = "qcom/sm8250/xiaomi/elish/a650_zap.mbn";
49568434024SJianhua Lu	};
49668434024SJianhua Lu};
49768434024SJianhua Lu
49868434024SJianhua Lu&i2c0 {
49968434024SJianhua Lu	clock-frequency = <400000>;
50068434024SJianhua Lu	status = "okay";
50168434024SJianhua Lu
50268434024SJianhua Lu	fuel-gauge@55 {
50368434024SJianhua Lu		compatible = "ti,bq27z561";
50468434024SJianhua Lu		reg = <0x55>;
50568434024SJianhua Lu		monitored-battery = <&battery_r>;
50668434024SJianhua Lu	};
50768434024SJianhua Lu};
50868434024SJianhua Lu
50968434024SJianhua Lu&i2c11 {
51068434024SJianhua Lu	clock-frequency = <400000>;
51168434024SJianhua Lu	status = "okay";
51268434024SJianhua Lu
51368434024SJianhua Lu	backlight: backlight@11 {
51468434024SJianhua Lu		compatible = "kinetic,ktz8866";
51568434024SJianhua Lu		reg = <0x11>;
51668434024SJianhua Lu		vddpos-supply = <&bl_vddpos_5p5>;
51768434024SJianhua Lu		vddneg-supply = <&bl_vddneg_5p5>;
51868434024SJianhua Lu		enable-gpios = <&tlmm 139 GPIO_ACTIVE_HIGH>;
51968434024SJianhua Lu		current-num-sinks = <5>;
52068434024SJianhua Lu		kinetic,current-ramp-delay-ms = <128>;
52168434024SJianhua Lu		kinetic,led-enable-ramp-delay-ms = <1>;
52268434024SJianhua Lu		kinetic,enable-lcd-bias;
52368434024SJianhua Lu	};
52468434024SJianhua Lu};
52568434024SJianhua Lu
52668434024SJianhua Lu&i2c13 {
52768434024SJianhua Lu	clock-frequency = <400000>;
52868434024SJianhua Lu	status = "okay";
52968434024SJianhua Lu
53068434024SJianhua Lu	fuel-gauge@55 {
53168434024SJianhua Lu		compatible = "ti,bq27z561";
53268434024SJianhua Lu		reg = <0x55>;
53368434024SJianhua Lu		monitored-battery = <&battery_l>;
53468434024SJianhua Lu	};
53568434024SJianhua Lu};
53668434024SJianhua Lu
53751c4c2bdSJianhua Lu&mdss {
53851c4c2bdSJianhua Lu	status = "okay";
53951c4c2bdSJianhua Lu};
54051c4c2bdSJianhua Lu
541*e47a7f57SDmitry Baryshkov&mdss_dsi0 {
542*e47a7f57SDmitry Baryshkov	vdda-supply = <&vreg_l9a_1p2>;
543*e47a7f57SDmitry Baryshkov	qcom,dual-dsi-mode;
544*e47a7f57SDmitry Baryshkov	qcom,sync-dual-dsi;
545*e47a7f57SDmitry Baryshkov	qcom,master-dsi;
546*e47a7f57SDmitry Baryshkov	status = "okay";
547*e47a7f57SDmitry Baryshkov
548*e47a7f57SDmitry Baryshkov	display_panel: panel@0 {
549*e47a7f57SDmitry Baryshkov		reg = <0>;
550*e47a7f57SDmitry Baryshkov		vddio-supply = <&vreg_l14a_1p88>;
551*e47a7f57SDmitry Baryshkov		reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
552*e47a7f57SDmitry Baryshkov		backlight = <&backlight>;
553*e47a7f57SDmitry Baryshkov
554*e47a7f57SDmitry Baryshkov		status = "disabled";
555*e47a7f57SDmitry Baryshkov
556*e47a7f57SDmitry Baryshkov		ports {
557*e47a7f57SDmitry Baryshkov			#address-cells = <1>;
558*e47a7f57SDmitry Baryshkov			#size-cells = <0>;
559*e47a7f57SDmitry Baryshkov
560*e47a7f57SDmitry Baryshkov			port@0 {
561*e47a7f57SDmitry Baryshkov				reg = <0>;
562*e47a7f57SDmitry Baryshkov
563*e47a7f57SDmitry Baryshkov				panel_in_0: endpoint {
564*e47a7f57SDmitry Baryshkov					remote-endpoint = <&mdss_dsi0_out>;
565*e47a7f57SDmitry Baryshkov				};
566*e47a7f57SDmitry Baryshkov			};
567*e47a7f57SDmitry Baryshkov
568*e47a7f57SDmitry Baryshkov			port@1 {
569*e47a7f57SDmitry Baryshkov				reg = <1>;
570*e47a7f57SDmitry Baryshkov
571*e47a7f57SDmitry Baryshkov				panel_in_1: endpoint {
572*e47a7f57SDmitry Baryshkov					remote-endpoint = <&mdss_dsi1_out>;
573*e47a7f57SDmitry Baryshkov				};
574*e47a7f57SDmitry Baryshkov			};
575*e47a7f57SDmitry Baryshkov		};
576*e47a7f57SDmitry Baryshkov	};
577*e47a7f57SDmitry Baryshkov};
578*e47a7f57SDmitry Baryshkov
579*e47a7f57SDmitry Baryshkov&mdss_dsi0_out {
580*e47a7f57SDmitry Baryshkov	data-lanes = <0 1 2>;
581*e47a7f57SDmitry Baryshkov	remote-endpoint = <&panel_in_0>;
582*e47a7f57SDmitry Baryshkov};
583*e47a7f57SDmitry Baryshkov
584*e47a7f57SDmitry Baryshkov&mdss_dsi0_phy {
585*e47a7f57SDmitry Baryshkov	vdds-supply = <&vreg_l5a_0p88>;
586*e47a7f57SDmitry Baryshkov	phy-type = <PHY_TYPE_CPHY>;
587*e47a7f57SDmitry Baryshkov	status = "okay";
588*e47a7f57SDmitry Baryshkov};
589*e47a7f57SDmitry Baryshkov
590*e47a7f57SDmitry Baryshkov&mdss_dsi1 {
591*e47a7f57SDmitry Baryshkov	vdda-supply = <&vreg_l9a_1p2>;
592*e47a7f57SDmitry Baryshkov	qcom,dual-dsi-mode;
593*e47a7f57SDmitry Baryshkov	qcom,sync-dual-dsi;
594*e47a7f57SDmitry Baryshkov	/* DSI1 is slave, so use DSI0 clocks */
595*e47a7f57SDmitry Baryshkov	assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
596*e47a7f57SDmitry Baryshkov	status = "okay";
597*e47a7f57SDmitry Baryshkov};
598*e47a7f57SDmitry Baryshkov
599*e47a7f57SDmitry Baryshkov&mdss_dsi1_out {
600*e47a7f57SDmitry Baryshkov	data-lanes = <0 1 2>;
601*e47a7f57SDmitry Baryshkov	remote-endpoint = <&panel_in_1>;
602*e47a7f57SDmitry Baryshkov};
603*e47a7f57SDmitry Baryshkov
604*e47a7f57SDmitry Baryshkov&mdss_dsi1_phy {
605*e47a7f57SDmitry Baryshkov	vdds-supply = <&vreg_l5a_0p88>;
606*e47a7f57SDmitry Baryshkov	phy-type = <PHY_TYPE_CPHY>;
607*e47a7f57SDmitry Baryshkov	status = "okay";
608*e47a7f57SDmitry Baryshkov};
609*e47a7f57SDmitry Baryshkov
61068434024SJianhua Lu&pcie0 {
61168434024SJianhua Lu	status = "okay";
61268434024SJianhua Lu};
61368434024SJianhua Lu
61468434024SJianhua Lu&pcie0_phy {
61568434024SJianhua Lu	vdda-phy-supply = <&vreg_l5a_0p88>;
61668434024SJianhua Lu	vdda-pll-supply = <&vreg_l9a_1p2>;
61768434024SJianhua Lu	status = "okay";
61868434024SJianhua Lu};
61968434024SJianhua Lu
62068434024SJianhua Lu&pm8150_gpios {
62168434024SJianhua Lu	vol_up_n: vol-up-n-state {
62268434024SJianhua Lu		pins = "gpio6";
62368434024SJianhua Lu		function = "normal";
62468434024SJianhua Lu		power-source = <1>;
62568434024SJianhua Lu		input-enable;
62668434024SJianhua Lu		bias-pull-up;
62768434024SJianhua Lu	};
62868434024SJianhua Lu};
62968434024SJianhua Lu
63068434024SJianhua Lu&pon_pwrkey {
63168434024SJianhua Lu	status = "okay";
63268434024SJianhua Lu};
63368434024SJianhua Lu
63468434024SJianhua Lu&pon_resin {
63568434024SJianhua Lu	linux,code = <KEY_VOLUMEDOWN>;
63668434024SJianhua Lu	status = "okay";
63768434024SJianhua Lu};
63868434024SJianhua Lu
63968434024SJianhua Lu&qupv3_id_0 {
64068434024SJianhua Lu	status = "okay";
64168434024SJianhua Lu};
64268434024SJianhua Lu
64368434024SJianhua Lu&qupv3_id_1 {
64468434024SJianhua Lu	status = "okay";
64568434024SJianhua Lu};
64668434024SJianhua Lu
64768434024SJianhua Lu&qupv3_id_2 {
64868434024SJianhua Lu	status = "okay";
64968434024SJianhua Lu};
65068434024SJianhua Lu
65168434024SJianhua Lu&slpi {
65268434024SJianhua Lu	firmware-name = "qcom/sm8250/xiaomi/elish/slpi.mbn";
65368434024SJianhua Lu	status = "okay";
65468434024SJianhua Lu};
65568434024SJianhua Lu
65668434024SJianhua Lu&tlmm {
65768434024SJianhua Lu	gpio-reserved-ranges = <40 4>;
65868434024SJianhua Lu};
65968434024SJianhua Lu
66068434024SJianhua Lu&usb_1 {
66168434024SJianhua Lu	/* USB 2.0 only */
66268434024SJianhua Lu	qcom,select-utmi-as-pipe-clk;
66368434024SJianhua Lu	status = "okay";
66468434024SJianhua Lu};
66568434024SJianhua Lu
66668434024SJianhua Lu&usb_1_dwc3 {
66768434024SJianhua Lu	dr_mode = "peripheral";
66868434024SJianhua Lu	maximum-speed = "high-speed";
66968434024SJianhua Lu	/* Remove USB3 phy */
67068434024SJianhua Lu	phys = <&usb_1_hsphy>;
67168434024SJianhua Lu	phy-names = "usb2-phy";
67268434024SJianhua Lu};
67368434024SJianhua Lu
67468434024SJianhua Lu&usb_1_hsphy {
67568434024SJianhua Lu	vdda-pll-supply = <&vreg_l5a_0p88>;
67668434024SJianhua Lu	vdda18-supply = <&vreg_l12a_1p8>;
67768434024SJianhua Lu	vdda33-supply = <&vreg_l2a_3p1>;
67868434024SJianhua Lu	status = "okay";
67968434024SJianhua Lu};
68068434024SJianhua Lu
68168434024SJianhua Lu&ufs_mem_hc {
68268434024SJianhua Lu	vcc-supply = <&vreg_l17a_3p0>;
68368434024SJianhua Lu	vcc-max-microamp = <800000>;
68468434024SJianhua Lu	vccq-supply = <&vreg_l6a_1p2>;
68568434024SJianhua Lu	vccq-max-microamp = <800000>;
68668434024SJianhua Lu	vccq2-supply = <&vreg_s4a_1p8>;
68768434024SJianhua Lu	vccq2-max-microamp = <800000>;
68868434024SJianhua Lu	status = "okay";
68968434024SJianhua Lu};
69068434024SJianhua Lu
69168434024SJianhua Lu&ufs_mem_phy {
69268434024SJianhua Lu	vdda-phy-supply = <&vreg_l5a_0p88>;
69368434024SJianhua Lu	vdda-pll-supply = <&vreg_l9a_1p2>;
69468434024SJianhua Lu	status = "okay";
69568434024SJianhua Lu};
69668434024SJianhua Lu
69768434024SJianhua Lu&venus {
69868434024SJianhua Lu	firmware-name = "qcom/sm8250/xiaomi/elish/venus.mbn";
69968434024SJianhua Lu	status = "okay";
70068434024SJianhua Lu};
701