162306a36Sopenharmony_ci// SPDX-License-Identifier: BSD-3-Clause 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2022, 2023 Jianhua Lu <lujianhua000@gmail.com> 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include <dt-bindings/arm/qcom,ids.h> 762306a36Sopenharmony_ci#include <dt-bindings/phy/phy.h> 862306a36Sopenharmony_ci#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 962306a36Sopenharmony_ci#include "sm8250.dtsi" 1062306a36Sopenharmony_ci#include "pm8150.dtsi" 1162306a36Sopenharmony_ci#include "pm8150b.dtsi" 1262306a36Sopenharmony_ci#include "pm8150l.dtsi" 1362306a36Sopenharmony_ci#include "pm8009.dtsi" 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci/* 1662306a36Sopenharmony_ci * Delete following upstream (sm8250.dtsi) reserved 1762306a36Sopenharmony_ci * memory mappings which are different on this device. 1862306a36Sopenharmony_ci */ 1962306a36Sopenharmony_ci/delete-node/ &adsp_mem; 2062306a36Sopenharmony_ci/delete-node/ &cdsp_secure_heap; 2162306a36Sopenharmony_ci/delete-node/ &slpi_mem; 2262306a36Sopenharmony_ci/delete-node/ &spss_mem; 2362306a36Sopenharmony_ci/delete-node/ &xbl_aop_mem; 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci/ { 2662306a36Sopenharmony_ci classis-type = "tablet"; 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci /* required for bootloader to select correct board */ 2962306a36Sopenharmony_ci qcom,msm-id = <QCOM_ID_SM8250 0x20001>; /* SM8250 v2.1 */ 3062306a36Sopenharmony_ci qcom,board-id = <0x10008 0>; 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci chosen { 3362306a36Sopenharmony_ci #address-cells = <2>; 3462306a36Sopenharmony_ci #size-cells = <2>; 3562306a36Sopenharmony_ci ranges; 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci framebuffer: framebuffer@9c000000 { 3862306a36Sopenharmony_ci compatible = "simple-framebuffer"; 3962306a36Sopenharmony_ci reg = <0x0 0x9c000000 0x0 0x2300000>; 4062306a36Sopenharmony_ci width = <1600>; 4162306a36Sopenharmony_ci height = <2560>; 4262306a36Sopenharmony_ci stride = <(1600 * 4)>; 4362306a36Sopenharmony_ci format = "a8r8g8b8"; 4462306a36Sopenharmony_ci }; 4562306a36Sopenharmony_ci }; 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci battery_l: battery-l { 4862306a36Sopenharmony_ci compatible = "simple-battery"; 4962306a36Sopenharmony_ci voltage-min-design-microvolt = <3870000>; 5062306a36Sopenharmony_ci energy-full-design-microwatt-hours = <16600000>; 5162306a36Sopenharmony_ci charge-full-design-microamp-hours = <4300000>; 5262306a36Sopenharmony_ci }; 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci battery_r: battery-r { 5562306a36Sopenharmony_ci compatible = "simple-battery"; 5662306a36Sopenharmony_ci voltage-min-design-microvolt = <3870000>; 5762306a36Sopenharmony_ci energy-full-design-microwatt-hours = <16600000>; 5862306a36Sopenharmony_ci charge-full-design-microamp-hours = <4300000>; 5962306a36Sopenharmony_ci }; 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci bl_vddpos_5p5: bl-vddpos-regulator { 6262306a36Sopenharmony_ci compatible = "regulator-fixed"; 6362306a36Sopenharmony_ci regulator-name = "bl_vddpos_5p5"; 6462306a36Sopenharmony_ci regulator-min-microvolt = <5500000>; 6562306a36Sopenharmony_ci regulator-max-microvolt = <5500000>; 6662306a36Sopenharmony_ci regulator-enable-ramp-delay = <233>; 6762306a36Sopenharmony_ci gpio = <&tlmm 130 GPIO_ACTIVE_HIGH>; 6862306a36Sopenharmony_ci enable-active-high; 6962306a36Sopenharmony_ci regulator-boot-on; 7062306a36Sopenharmony_ci }; 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci bl_vddneg_5p5: bl-vddneg-regulator { 7362306a36Sopenharmony_ci compatible = "regulator-fixed"; 7462306a36Sopenharmony_ci regulator-name = "bl_vddneg_5p5"; 7562306a36Sopenharmony_ci regulator-min-microvolt = <5500000>; 7662306a36Sopenharmony_ci regulator-max-microvolt = <5500000>; 7762306a36Sopenharmony_ci regulator-enable-ramp-delay = <233>; 7862306a36Sopenharmony_ci gpio = <&tlmm 131 GPIO_ACTIVE_HIGH>; 7962306a36Sopenharmony_ci enable-active-high; 8062306a36Sopenharmony_ci regulator-boot-on; 8162306a36Sopenharmony_ci }; 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci gpio_keys: gpio-keys { 8462306a36Sopenharmony_ci compatible = "gpio-keys"; 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci pinctrl-names = "default"; 8762306a36Sopenharmony_ci pinctrl-0 = <&vol_up_n>; 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci key-vol-up { 9062306a36Sopenharmony_ci label = "Volume Up"; 9162306a36Sopenharmony_ci gpios = <&pm8150_gpios 6 GPIO_ACTIVE_LOW>; 9262306a36Sopenharmony_ci linux,code = <KEY_VOLUMEUP>; 9362306a36Sopenharmony_ci debounce-interval = <15>; 9462306a36Sopenharmony_ci linux,can-disable; 9562306a36Sopenharmony_ci wakeup-source; 9662306a36Sopenharmony_ci }; 9762306a36Sopenharmony_ci }; 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci vph_pwr: vph-pwr-regulator { 10062306a36Sopenharmony_ci compatible = "regulator-fixed"; 10162306a36Sopenharmony_ci regulator-name = "vph_pwr"; 10262306a36Sopenharmony_ci regulator-min-microvolt = <3700000>; 10362306a36Sopenharmony_ci regulator-max-microvolt = <3700000>; 10462306a36Sopenharmony_ci }; 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ci /* S6c is really ebi.lvl but it's there for supply map completeness sake. */ 10762306a36Sopenharmony_ci vreg_s6c_0p88: smpc6-regulator { 10862306a36Sopenharmony_ci compatible = "regulator-fixed"; 10962306a36Sopenharmony_ci regulator-name = "vreg_s6c_0p88"; 11062306a36Sopenharmony_ci regulator-min-microvolt = <880000>; 11162306a36Sopenharmony_ci regulator-max-microvolt = <880000>; 11262306a36Sopenharmony_ci regulator-always-on; 11362306a36Sopenharmony_ci vin-supply = <&vph_pwr>; 11462306a36Sopenharmony_ci }; 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci reserved-memory { 11762306a36Sopenharmony_ci xbl_aop_mem: xbl-aop@80700000 { 11862306a36Sopenharmony_ci reg = <0x0 0x80600000 0x0 0x260000>; 11962306a36Sopenharmony_ci no-map; 12062306a36Sopenharmony_ci }; 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci slpi_mem: slpi@88c00000 { 12362306a36Sopenharmony_ci reg = <0x0 0x88c00000 0x0 0x2f00000>; 12462306a36Sopenharmony_ci no-map; 12562306a36Sopenharmony_ci }; 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ci adsp_mem: adsp@8bb00000 { 12862306a36Sopenharmony_ci reg = <0x0 0x8bb00000 0x0 0x2500000>; 12962306a36Sopenharmony_ci no-map; 13062306a36Sopenharmony_ci }; 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ci spss_mem: spss@8e000000 { 13362306a36Sopenharmony_ci reg = <0x0 0x8e000000 0x0 0x100000>; 13462306a36Sopenharmony_ci no-map; 13562306a36Sopenharmony_ci }; 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci cdsp_secure_heap: cdsp-secure-heap@8e100000 { 13862306a36Sopenharmony_ci reg = <0x0 0x8e100000 0x0 0x4600000>; 13962306a36Sopenharmony_ci no-map; 14062306a36Sopenharmony_ci }; 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ci cont_splash_mem: cont-splash@9c000000 { 14362306a36Sopenharmony_ci reg = <0x0 0x9c000000 0x0 0x2300000>; 14462306a36Sopenharmony_ci no-map; 14562306a36Sopenharmony_ci }; 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ci ramoops@b0000000 { 14862306a36Sopenharmony_ci compatible = "ramoops"; 14962306a36Sopenharmony_ci reg = <0x0 0xb0000000 0x0 0x400000>; 15062306a36Sopenharmony_ci record-size = <0x1000>; 15162306a36Sopenharmony_ci console-size = <0x200000>; 15262306a36Sopenharmony_ci ecc-size = <16>; 15362306a36Sopenharmony_ci no-map; 15462306a36Sopenharmony_ci }; 15562306a36Sopenharmony_ci }; 15662306a36Sopenharmony_ci}; 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci&adsp { 15962306a36Sopenharmony_ci firmware-name = "qcom/sm8250/xiaomi/elish/adsp.mbn"; 16062306a36Sopenharmony_ci status = "okay"; 16162306a36Sopenharmony_ci}; 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci&apps_rsc { 16462306a36Sopenharmony_ci regulators-0 { 16562306a36Sopenharmony_ci compatible = "qcom,pm8150-rpmh-regulators"; 16662306a36Sopenharmony_ci qcom,pmic-id = "a"; 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci vdd-s1-supply = <&vph_pwr>; 16962306a36Sopenharmony_ci vdd-s2-supply = <&vph_pwr>; 17062306a36Sopenharmony_ci vdd-s3-supply = <&vph_pwr>; 17162306a36Sopenharmony_ci vdd-s4-supply = <&vph_pwr>; 17262306a36Sopenharmony_ci vdd-s5-supply = <&vph_pwr>; 17362306a36Sopenharmony_ci vdd-s6-supply = <&vph_pwr>; 17462306a36Sopenharmony_ci vdd-s7-supply = <&vph_pwr>; 17562306a36Sopenharmony_ci vdd-s8-supply = <&vph_pwr>; 17662306a36Sopenharmony_ci vdd-s9-supply = <&vph_pwr>; 17762306a36Sopenharmony_ci vdd-s10-supply = <&vph_pwr>; 17862306a36Sopenharmony_ci vdd-l1-l8-l11-supply = <&vreg_s6c_0p88>; 17962306a36Sopenharmony_ci vdd-l2-l10-supply = <&vreg_bob>; 18062306a36Sopenharmony_ci vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>; 18162306a36Sopenharmony_ci vdd-l6-l9-supply = <&vreg_s8c_1p35>; 18262306a36Sopenharmony_ci vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>; 18362306a36Sopenharmony_ci vdd-l13-l16-l17-supply = <&vreg_bob>; 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci /* (S1+S2+S3) - cx.lvl (ARC) */ 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ci vreg_s4a_1p8: smps4 { 18862306a36Sopenharmony_ci regulator-name = "vreg_s4a_1p8"; 18962306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 19062306a36Sopenharmony_ci regulator-max-microvolt = <1920000>; 19162306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 19262306a36Sopenharmony_ci regulator-allow-set-load; 19362306a36Sopenharmony_ci regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 19462306a36Sopenharmony_ci RPMH_REGULATOR_MODE_HPM>; 19562306a36Sopenharmony_ci }; 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci vreg_s5a_1p9: smps5 { 19862306a36Sopenharmony_ci regulator-name = "vreg_s5a_1p9"; 19962306a36Sopenharmony_ci regulator-min-microvolt = <1900000>; 20062306a36Sopenharmony_ci regulator-max-microvolt = <2040000>; 20162306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 20262306a36Sopenharmony_ci }; 20362306a36Sopenharmony_ci 20462306a36Sopenharmony_ci vreg_s6a_0p95: smps6 { 20562306a36Sopenharmony_ci regulator-name = "vreg_s6a_0p95"; 20662306a36Sopenharmony_ci regulator-min-microvolt = <950000>; 20762306a36Sopenharmony_ci regulator-max-microvolt = <1128000>; 20862306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 20962306a36Sopenharmony_ci }; 21062306a36Sopenharmony_ci 21162306a36Sopenharmony_ci vreg_l2a_3p1: ldo2 { 21262306a36Sopenharmony_ci regulator-name = "vreg_l2a_3p1"; 21362306a36Sopenharmony_ci regulator-min-microvolt = <3072000>; 21462306a36Sopenharmony_ci regulator-max-microvolt = <3072000>; 21562306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 21662306a36Sopenharmony_ci }; 21762306a36Sopenharmony_ci 21862306a36Sopenharmony_ci vreg_l3a_0p9: ldo3 { 21962306a36Sopenharmony_ci regulator-name = "vreg_l3a_0p9"; 22062306a36Sopenharmony_ci regulator-min-microvolt = <928000>; 22162306a36Sopenharmony_ci regulator-max-microvolt = <932000>; 22262306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 22362306a36Sopenharmony_ci }; 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ci /* L4 - lmx.lvl (ARC) */ 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ci vreg_l5a_0p88: ldo5 { 22862306a36Sopenharmony_ci regulator-name = "vreg_l5a_0p88"; 22962306a36Sopenharmony_ci regulator-min-microvolt = <880000>; 23062306a36Sopenharmony_ci regulator-max-microvolt = <880000>; 23162306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 23262306a36Sopenharmony_ci }; 23362306a36Sopenharmony_ci 23462306a36Sopenharmony_ci vreg_l6a_1p2: ldo6 { 23562306a36Sopenharmony_ci regulator-name = "vreg_l6a_1p2"; 23662306a36Sopenharmony_ci regulator-min-microvolt = <1200000>; 23762306a36Sopenharmony_ci regulator-max-microvolt = <1200000>; 23862306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 23962306a36Sopenharmony_ci regulator-allow-set-load; 24062306a36Sopenharmony_ci regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 24162306a36Sopenharmony_ci RPMH_REGULATOR_MODE_HPM>; 24262306a36Sopenharmony_ci }; 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ci /* L7 is unused. */ 24562306a36Sopenharmony_ci 24662306a36Sopenharmony_ci vreg_l9a_1p2: ldo9 { 24762306a36Sopenharmony_ci regulator-name = "vreg_l9a_1p2"; 24862306a36Sopenharmony_ci regulator-min-microvolt = <1200000>; 24962306a36Sopenharmony_ci regulator-max-microvolt = <1200000>; 25062306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 25162306a36Sopenharmony_ci }; 25262306a36Sopenharmony_ci 25362306a36Sopenharmony_ci /* L10 is unused, L11 - lcx.lvl (ARC) */ 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci vreg_l12a_1p8: ldo12 { 25662306a36Sopenharmony_ci regulator-name = "vreg_l12a_1p8"; 25762306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 25862306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 25962306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 26062306a36Sopenharmony_ci }; 26162306a36Sopenharmony_ci 26262306a36Sopenharmony_ci /* L13 is unused. */ 26362306a36Sopenharmony_ci 26462306a36Sopenharmony_ci vreg_l14a_1p88: ldo14 { 26562306a36Sopenharmony_ci regulator-name = "vreg_l14a_1p88"; 26662306a36Sopenharmony_ci regulator-min-microvolt = <1880000>; 26762306a36Sopenharmony_ci regulator-max-microvolt = <1880000>; 26862306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 26962306a36Sopenharmony_ci }; 27062306a36Sopenharmony_ci 27162306a36Sopenharmony_ci /* L15 & L16 are unused. */ 27262306a36Sopenharmony_ci 27362306a36Sopenharmony_ci vreg_l17a_3p0: ldo17 { 27462306a36Sopenharmony_ci regulator-name = "vreg_l17a_3p0"; 27562306a36Sopenharmony_ci regulator-min-microvolt = <2496000>; 27662306a36Sopenharmony_ci regulator-max-microvolt = <3008000>; 27762306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 27862306a36Sopenharmony_ci regulator-allow-set-load; 27962306a36Sopenharmony_ci regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 28062306a36Sopenharmony_ci RPMH_REGULATOR_MODE_HPM>; 28162306a36Sopenharmony_ci }; 28262306a36Sopenharmony_ci 28362306a36Sopenharmony_ci vreg_l18a_0p9: ldo18 { 28462306a36Sopenharmony_ci regulator-name = "vreg_l18a_0p9"; 28562306a36Sopenharmony_ci regulator-min-microvolt = <800000>; 28662306a36Sopenharmony_ci regulator-max-microvolt = <920000>; 28762306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 28862306a36Sopenharmony_ci }; 28962306a36Sopenharmony_ci }; 29062306a36Sopenharmony_ci 29162306a36Sopenharmony_ci /* 29262306a36Sopenharmony_ci * Remaining regulators that are not yet supported: 29362306a36Sopenharmony_ci * OLEDB: 4925000-8100000 29462306a36Sopenharmony_ci * ab: 4600000-6100000 29562306a36Sopenharmony_ci * ibb: 800000-5400000 29662306a36Sopenharmony_ci */ 29762306a36Sopenharmony_ci regulators-1 { 29862306a36Sopenharmony_ci compatible = "qcom,pm8150l-rpmh-regulators"; 29962306a36Sopenharmony_ci qcom,pmic-id = "c"; 30062306a36Sopenharmony_ci 30162306a36Sopenharmony_ci vdd-s1-supply = <&vph_pwr>; 30262306a36Sopenharmony_ci vdd-s2-supply = <&vph_pwr>; 30362306a36Sopenharmony_ci vdd-s3-supply = <&vph_pwr>; 30462306a36Sopenharmony_ci vdd-s4-supply = <&vph_pwr>; 30562306a36Sopenharmony_ci vdd-s5-supply = <&vph_pwr>; 30662306a36Sopenharmony_ci vdd-s6-supply = <&vph_pwr>; 30762306a36Sopenharmony_ci vdd-s7-supply = <&vph_pwr>; 30862306a36Sopenharmony_ci vdd-s8-supply = <&vph_pwr>; 30962306a36Sopenharmony_ci vdd-l1-l8-supply = <&vreg_s4a_1p8>; 31062306a36Sopenharmony_ci vdd-l2-l3-supply = <&vreg_s8c_1p35>; 31162306a36Sopenharmony_ci vdd-l4-l5-l6-supply = <&vreg_bob>; 31262306a36Sopenharmony_ci vdd-l7-l11-supply = <&vreg_bob>; 31362306a36Sopenharmony_ci vdd-l9-l10-supply = <&vreg_bob>; 31462306a36Sopenharmony_ci vdd-bob-supply = <&vph_pwr>; 31562306a36Sopenharmony_ci 31662306a36Sopenharmony_ci vreg_bob: bob { 31762306a36Sopenharmony_ci regulator-name = "vreg_bob"; 31862306a36Sopenharmony_ci regulator-min-microvolt = <3350000>; 31962306a36Sopenharmony_ci regulator-max-microvolt = <3960000>; 32062306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 32162306a36Sopenharmony_ci }; 32262306a36Sopenharmony_ci 32362306a36Sopenharmony_ci /* 32462306a36Sopenharmony_ci * S1-S6 are ARCs: 32562306a36Sopenharmony_ci * (S1+S2) - gfx.lvl, 32662306a36Sopenharmony_ci * S3 - mx.lvl, 32762306a36Sopenharmony_ci * (S4+S5) - mmcx.lvl, 32862306a36Sopenharmony_ci * S6 - ebi.lvl 32962306a36Sopenharmony_ci */ 33062306a36Sopenharmony_ci 33162306a36Sopenharmony_ci vreg_s7c_0p35: smps7 { 33262306a36Sopenharmony_ci regulator-name = "vreg_s7c_0p35"; 33362306a36Sopenharmony_ci regulator-min-microvolt = <348000>; 33462306a36Sopenharmony_ci regulator-max-microvolt = <1000000>; 33562306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 33662306a36Sopenharmony_ci }; 33762306a36Sopenharmony_ci 33862306a36Sopenharmony_ci vreg_s8c_1p35: smps8 { 33962306a36Sopenharmony_ci regulator-name = "vreg_s8c_1p35"; 34062306a36Sopenharmony_ci regulator-min-microvolt = <1350000>; 34162306a36Sopenharmony_ci regulator-max-microvolt = <1400000>; 34262306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 34362306a36Sopenharmony_ci }; 34462306a36Sopenharmony_ci 34562306a36Sopenharmony_ci vreg_l1c_1p8: ldo1 { 34662306a36Sopenharmony_ci regulator-name = "vreg_l1c_1p8"; 34762306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 34862306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 34962306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 35062306a36Sopenharmony_ci }; 35162306a36Sopenharmony_ci 35262306a36Sopenharmony_ci /* L2-4 are unused. */ 35362306a36Sopenharmony_ci 35462306a36Sopenharmony_ci vreg_l5c_1p8: ldo5 { 35562306a36Sopenharmony_ci regulator-name = "vreg_l5c_1p8"; 35662306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 35762306a36Sopenharmony_ci regulator-max-microvolt = <2800000>; 35862306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 35962306a36Sopenharmony_ci }; 36062306a36Sopenharmony_ci 36162306a36Sopenharmony_ci vreg_l6c_2p9: ldo6 { 36262306a36Sopenharmony_ci regulator-name = "vreg_l6c_2p9"; 36362306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 36462306a36Sopenharmony_ci regulator-max-microvolt = <2960000>; 36562306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 36662306a36Sopenharmony_ci regulator-allow-set-load; 36762306a36Sopenharmony_ci regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 36862306a36Sopenharmony_ci RPMH_REGULATOR_MODE_HPM>; 36962306a36Sopenharmony_ci }; 37062306a36Sopenharmony_ci 37162306a36Sopenharmony_ci vreg_l7c_2p85: ldo7 { 37262306a36Sopenharmony_ci regulator-name = "vreg_l7c_2p85"; 37362306a36Sopenharmony_ci regulator-min-microvolt = <2856000>; 37462306a36Sopenharmony_ci regulator-max-microvolt = <3104000>; 37562306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 37662306a36Sopenharmony_ci }; 37762306a36Sopenharmony_ci 37862306a36Sopenharmony_ci vreg_l8c_1p8: ldo8 { 37962306a36Sopenharmony_ci regulator-name = "vreg_l8c_1p8"; 38062306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 38162306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 38262306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 38362306a36Sopenharmony_ci }; 38462306a36Sopenharmony_ci 38562306a36Sopenharmony_ci vreg_l9c_2p9: ldo9 { 38662306a36Sopenharmony_ci regulator-name = "vreg_l9c_2p9"; 38762306a36Sopenharmony_ci regulator-min-microvolt = <2704000>; 38862306a36Sopenharmony_ci regulator-max-microvolt = <2960000>; 38962306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 39062306a36Sopenharmony_ci regulator-allow-set-load; 39162306a36Sopenharmony_ci regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 39262306a36Sopenharmony_ci RPMH_REGULATOR_MODE_HPM>; 39362306a36Sopenharmony_ci }; 39462306a36Sopenharmony_ci 39562306a36Sopenharmony_ci vreg_l10c_3p3: ldo10 { 39662306a36Sopenharmony_ci regulator-name = "vreg_l10c_3p3"; 39762306a36Sopenharmony_ci regulator-min-microvolt = <3296000>; 39862306a36Sopenharmony_ci regulator-max-microvolt = <3296000>; 39962306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 40062306a36Sopenharmony_ci }; 40162306a36Sopenharmony_ci 40262306a36Sopenharmony_ci vreg_l11c_3p0: ldo11 { 40362306a36Sopenharmony_ci regulator-name = "vreg_l11c_3p0"; 40462306a36Sopenharmony_ci regulator-min-microvolt = <3000000>; 40562306a36Sopenharmony_ci regulator-max-microvolt = <3000000>; 40662306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 40762306a36Sopenharmony_ci }; 40862306a36Sopenharmony_ci }; 40962306a36Sopenharmony_ci 41062306a36Sopenharmony_ci regulators-2 { 41162306a36Sopenharmony_ci compatible = "qcom,pm8009-rpmh-regulators"; 41262306a36Sopenharmony_ci qcom,pmic-id = "f"; 41362306a36Sopenharmony_ci 41462306a36Sopenharmony_ci vdd-s1-supply = <&vph_pwr>; 41562306a36Sopenharmony_ci vdd-s2-supply = <&vreg_bob>; 41662306a36Sopenharmony_ci vdd-l2-supply = <&vreg_s8c_1p35>; 41762306a36Sopenharmony_ci vdd-l5-l6-supply = <&vreg_bob>; 41862306a36Sopenharmony_ci vdd-l7-supply = <&vreg_s4a_1p8>; 41962306a36Sopenharmony_ci 42062306a36Sopenharmony_ci vreg_s1f_1p2: smps1 { 42162306a36Sopenharmony_ci regulator-name = "vreg_s1f_1p2"; 42262306a36Sopenharmony_ci regulator-min-microvolt = <1200000>; 42362306a36Sopenharmony_ci regulator-max-microvolt = <1200000>; 42462306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 42562306a36Sopenharmony_ci }; 42662306a36Sopenharmony_ci 42762306a36Sopenharmony_ci vreg_s2f_0p5: smps2 { 42862306a36Sopenharmony_ci regulator-name = "vreg_s2f_0p5"; 42962306a36Sopenharmony_ci regulator-min-microvolt = <512000>; 43062306a36Sopenharmony_ci regulator-max-microvolt = <1100000>; 43162306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 43262306a36Sopenharmony_ci }; 43362306a36Sopenharmony_ci 43462306a36Sopenharmony_ci /* L1 is unused. */ 43562306a36Sopenharmony_ci 43662306a36Sopenharmony_ci vreg_l2f_1p3: ldo2 { 43762306a36Sopenharmony_ci regulator-name = "vreg_l2f_1p3"; 43862306a36Sopenharmony_ci regulator-min-microvolt = <1304000>; 43962306a36Sopenharmony_ci regulator-max-microvolt = <1304000>; 44062306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 44162306a36Sopenharmony_ci }; 44262306a36Sopenharmony_ci 44362306a36Sopenharmony_ci /* L3 & L4 are unused. */ 44462306a36Sopenharmony_ci 44562306a36Sopenharmony_ci vreg_l5f_2p8: ldo5 { 44662306a36Sopenharmony_ci regulator-name = "vreg_l5f_2p85"; 44762306a36Sopenharmony_ci regulator-min-microvolt = <2800000>; 44862306a36Sopenharmony_ci regulator-max-microvolt = <2800000>; 44962306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 45062306a36Sopenharmony_ci }; 45162306a36Sopenharmony_ci 45262306a36Sopenharmony_ci vreg_l6f_2p8: ldo6 { 45362306a36Sopenharmony_ci regulator-name = "vreg_l6f_2p8"; 45462306a36Sopenharmony_ci regulator-min-microvolt = <2800000>; 45562306a36Sopenharmony_ci regulator-max-microvolt = <2800000>; 45662306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 45762306a36Sopenharmony_ci }; 45862306a36Sopenharmony_ci 45962306a36Sopenharmony_ci vreg_l7f_1p8: ldo7 { 46062306a36Sopenharmony_ci regulator-name = "vreg_l7f_1p8"; 46162306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 46262306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 46362306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 46462306a36Sopenharmony_ci }; 46562306a36Sopenharmony_ci }; 46662306a36Sopenharmony_ci}; 46762306a36Sopenharmony_ci 46862306a36Sopenharmony_ci&cdsp { 46962306a36Sopenharmony_ci firmware-name = "qcom/sm8250/xiaomi/elish/cdsp.mbn"; 47062306a36Sopenharmony_ci status = "okay"; 47162306a36Sopenharmony_ci}; 47262306a36Sopenharmony_ci 47362306a36Sopenharmony_ci&gmu { 47462306a36Sopenharmony_ci status = "okay"; 47562306a36Sopenharmony_ci}; 47662306a36Sopenharmony_ci 47762306a36Sopenharmony_ci&gpi_dma0 { 47862306a36Sopenharmony_ci status = "okay"; 47962306a36Sopenharmony_ci}; 48062306a36Sopenharmony_ci 48162306a36Sopenharmony_ci&gpi_dma1 { 48262306a36Sopenharmony_ci status = "okay"; 48362306a36Sopenharmony_ci}; 48462306a36Sopenharmony_ci 48562306a36Sopenharmony_ci&gpi_dma2 { 48662306a36Sopenharmony_ci status = "okay"; 48762306a36Sopenharmony_ci}; 48862306a36Sopenharmony_ci 48962306a36Sopenharmony_ci&gpu { 49062306a36Sopenharmony_ci status = "okay"; 49162306a36Sopenharmony_ci 49262306a36Sopenharmony_ci zap-shader { 49362306a36Sopenharmony_ci memory-region = <&gpu_mem>; 49462306a36Sopenharmony_ci firmware-name = "qcom/sm8250/xiaomi/elish/a650_zap.mbn"; 49562306a36Sopenharmony_ci }; 49662306a36Sopenharmony_ci}; 49762306a36Sopenharmony_ci 49862306a36Sopenharmony_ci&i2c0 { 49962306a36Sopenharmony_ci clock-frequency = <400000>; 50062306a36Sopenharmony_ci status = "okay"; 50162306a36Sopenharmony_ci 50262306a36Sopenharmony_ci fuel-gauge@55 { 50362306a36Sopenharmony_ci compatible = "ti,bq27z561"; 50462306a36Sopenharmony_ci reg = <0x55>; 50562306a36Sopenharmony_ci monitored-battery = <&battery_r>; 50662306a36Sopenharmony_ci }; 50762306a36Sopenharmony_ci}; 50862306a36Sopenharmony_ci 50962306a36Sopenharmony_ci&i2c11 { 51062306a36Sopenharmony_ci clock-frequency = <400000>; 51162306a36Sopenharmony_ci status = "okay"; 51262306a36Sopenharmony_ci 51362306a36Sopenharmony_ci backlight: backlight@11 { 51462306a36Sopenharmony_ci compatible = "kinetic,ktz8866"; 51562306a36Sopenharmony_ci reg = <0x11>; 51662306a36Sopenharmony_ci vddpos-supply = <&bl_vddpos_5p5>; 51762306a36Sopenharmony_ci vddneg-supply = <&bl_vddneg_5p5>; 51862306a36Sopenharmony_ci enable-gpios = <&tlmm 139 GPIO_ACTIVE_HIGH>; 51962306a36Sopenharmony_ci current-num-sinks = <5>; 52062306a36Sopenharmony_ci kinetic,current-ramp-delay-ms = <128>; 52162306a36Sopenharmony_ci kinetic,led-enable-ramp-delay-ms = <1>; 52262306a36Sopenharmony_ci kinetic,enable-lcd-bias; 52362306a36Sopenharmony_ci }; 52462306a36Sopenharmony_ci}; 52562306a36Sopenharmony_ci 52662306a36Sopenharmony_ci&i2c13 { 52762306a36Sopenharmony_ci clock-frequency = <400000>; 52862306a36Sopenharmony_ci status = "okay"; 52962306a36Sopenharmony_ci 53062306a36Sopenharmony_ci fuel-gauge@55 { 53162306a36Sopenharmony_ci compatible = "ti,bq27z561"; 53262306a36Sopenharmony_ci reg = <0x55>; 53362306a36Sopenharmony_ci monitored-battery = <&battery_l>; 53462306a36Sopenharmony_ci }; 53562306a36Sopenharmony_ci}; 53662306a36Sopenharmony_ci 53762306a36Sopenharmony_ci&mdss { 53862306a36Sopenharmony_ci status = "okay"; 53962306a36Sopenharmony_ci}; 54062306a36Sopenharmony_ci 54162306a36Sopenharmony_ci&mdss_dsi0 { 54262306a36Sopenharmony_ci vdda-supply = <&vreg_l9a_1p2>; 54362306a36Sopenharmony_ci qcom,dual-dsi-mode; 54462306a36Sopenharmony_ci qcom,sync-dual-dsi; 54562306a36Sopenharmony_ci qcom,master-dsi; 54662306a36Sopenharmony_ci status = "okay"; 54762306a36Sopenharmony_ci 54862306a36Sopenharmony_ci display_panel: panel@0 { 54962306a36Sopenharmony_ci reg = <0>; 55062306a36Sopenharmony_ci vddio-supply = <&vreg_l14a_1p88>; 55162306a36Sopenharmony_ci reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>; 55262306a36Sopenharmony_ci backlight = <&backlight>; 55362306a36Sopenharmony_ci 55462306a36Sopenharmony_ci status = "disabled"; 55562306a36Sopenharmony_ci 55662306a36Sopenharmony_ci ports { 55762306a36Sopenharmony_ci #address-cells = <1>; 55862306a36Sopenharmony_ci #size-cells = <0>; 55962306a36Sopenharmony_ci 56062306a36Sopenharmony_ci port@0 { 56162306a36Sopenharmony_ci reg = <0>; 56262306a36Sopenharmony_ci 56362306a36Sopenharmony_ci panel_in_0: endpoint { 56462306a36Sopenharmony_ci remote-endpoint = <&mdss_dsi0_out>; 56562306a36Sopenharmony_ci }; 56662306a36Sopenharmony_ci }; 56762306a36Sopenharmony_ci 56862306a36Sopenharmony_ci port@1 { 56962306a36Sopenharmony_ci reg = <1>; 57062306a36Sopenharmony_ci 57162306a36Sopenharmony_ci panel_in_1: endpoint { 57262306a36Sopenharmony_ci remote-endpoint = <&mdss_dsi1_out>; 57362306a36Sopenharmony_ci }; 57462306a36Sopenharmony_ci }; 57562306a36Sopenharmony_ci }; 57662306a36Sopenharmony_ci }; 57762306a36Sopenharmony_ci}; 57862306a36Sopenharmony_ci 57962306a36Sopenharmony_ci&mdss_dsi0_out { 58062306a36Sopenharmony_ci data-lanes = <0 1 2>; 58162306a36Sopenharmony_ci remote-endpoint = <&panel_in_0>; 58262306a36Sopenharmony_ci}; 58362306a36Sopenharmony_ci 58462306a36Sopenharmony_ci&mdss_dsi0_phy { 58562306a36Sopenharmony_ci vdds-supply = <&vreg_l5a_0p88>; 58662306a36Sopenharmony_ci phy-type = <PHY_TYPE_CPHY>; 58762306a36Sopenharmony_ci status = "okay"; 58862306a36Sopenharmony_ci}; 58962306a36Sopenharmony_ci 59062306a36Sopenharmony_ci&mdss_dsi1 { 59162306a36Sopenharmony_ci vdda-supply = <&vreg_l9a_1p2>; 59262306a36Sopenharmony_ci qcom,dual-dsi-mode; 59362306a36Sopenharmony_ci qcom,sync-dual-dsi; 59462306a36Sopenharmony_ci /* DSI1 is slave, so use DSI0 clocks */ 59562306a36Sopenharmony_ci assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>; 59662306a36Sopenharmony_ci status = "okay"; 59762306a36Sopenharmony_ci}; 59862306a36Sopenharmony_ci 59962306a36Sopenharmony_ci&mdss_dsi1_out { 60062306a36Sopenharmony_ci data-lanes = <0 1 2>; 60162306a36Sopenharmony_ci remote-endpoint = <&panel_in_1>; 60262306a36Sopenharmony_ci}; 60362306a36Sopenharmony_ci 60462306a36Sopenharmony_ci&mdss_dsi1_phy { 60562306a36Sopenharmony_ci vdds-supply = <&vreg_l5a_0p88>; 60662306a36Sopenharmony_ci phy-type = <PHY_TYPE_CPHY>; 60762306a36Sopenharmony_ci status = "okay"; 60862306a36Sopenharmony_ci}; 60962306a36Sopenharmony_ci 61062306a36Sopenharmony_ci&pcie0 { 61162306a36Sopenharmony_ci status = "okay"; 61262306a36Sopenharmony_ci}; 61362306a36Sopenharmony_ci 61462306a36Sopenharmony_ci&pcie0_phy { 61562306a36Sopenharmony_ci vdda-phy-supply = <&vreg_l5a_0p88>; 61662306a36Sopenharmony_ci vdda-pll-supply = <&vreg_l9a_1p2>; 61762306a36Sopenharmony_ci status = "okay"; 61862306a36Sopenharmony_ci}; 61962306a36Sopenharmony_ci 62062306a36Sopenharmony_ci&pm8150_gpios { 62162306a36Sopenharmony_ci vol_up_n: vol-up-n-state { 62262306a36Sopenharmony_ci pins = "gpio6"; 62362306a36Sopenharmony_ci function = "normal"; 62462306a36Sopenharmony_ci power-source = <1>; 62562306a36Sopenharmony_ci input-enable; 62662306a36Sopenharmony_ci bias-pull-up; 62762306a36Sopenharmony_ci }; 62862306a36Sopenharmony_ci}; 62962306a36Sopenharmony_ci 63062306a36Sopenharmony_ci&pon_pwrkey { 63162306a36Sopenharmony_ci status = "okay"; 63262306a36Sopenharmony_ci}; 63362306a36Sopenharmony_ci 63462306a36Sopenharmony_ci&pon_resin { 63562306a36Sopenharmony_ci linux,code = <KEY_VOLUMEDOWN>; 63662306a36Sopenharmony_ci status = "okay"; 63762306a36Sopenharmony_ci}; 63862306a36Sopenharmony_ci 63962306a36Sopenharmony_ci&qupv3_id_0 { 64062306a36Sopenharmony_ci status = "okay"; 64162306a36Sopenharmony_ci}; 64262306a36Sopenharmony_ci 64362306a36Sopenharmony_ci&qupv3_id_1 { 64462306a36Sopenharmony_ci status = "okay"; 64562306a36Sopenharmony_ci}; 64662306a36Sopenharmony_ci 64762306a36Sopenharmony_ci&qupv3_id_2 { 64862306a36Sopenharmony_ci status = "okay"; 64962306a36Sopenharmony_ci}; 65062306a36Sopenharmony_ci 65162306a36Sopenharmony_ci&slpi { 65262306a36Sopenharmony_ci firmware-name = "qcom/sm8250/xiaomi/elish/slpi.mbn"; 65362306a36Sopenharmony_ci status = "okay"; 65462306a36Sopenharmony_ci}; 65562306a36Sopenharmony_ci 65662306a36Sopenharmony_ci&tlmm { 65762306a36Sopenharmony_ci gpio-reserved-ranges = <40 4>; 65862306a36Sopenharmony_ci}; 65962306a36Sopenharmony_ci 66062306a36Sopenharmony_ci&usb_1 { 66162306a36Sopenharmony_ci /* USB 2.0 only */ 66262306a36Sopenharmony_ci qcom,select-utmi-as-pipe-clk; 66362306a36Sopenharmony_ci status = "okay"; 66462306a36Sopenharmony_ci}; 66562306a36Sopenharmony_ci 66662306a36Sopenharmony_ci&usb_1_dwc3 { 66762306a36Sopenharmony_ci dr_mode = "peripheral"; 66862306a36Sopenharmony_ci maximum-speed = "high-speed"; 66962306a36Sopenharmony_ci /* Remove USB3 phy */ 67062306a36Sopenharmony_ci phys = <&usb_1_hsphy>; 67162306a36Sopenharmony_ci phy-names = "usb2-phy"; 67262306a36Sopenharmony_ci}; 67362306a36Sopenharmony_ci 67462306a36Sopenharmony_ci&usb_1_hsphy { 67562306a36Sopenharmony_ci vdda-pll-supply = <&vreg_l5a_0p88>; 67662306a36Sopenharmony_ci vdda18-supply = <&vreg_l12a_1p8>; 67762306a36Sopenharmony_ci vdda33-supply = <&vreg_l2a_3p1>; 67862306a36Sopenharmony_ci status = "okay"; 67962306a36Sopenharmony_ci}; 68062306a36Sopenharmony_ci 68162306a36Sopenharmony_ci&ufs_mem_hc { 68262306a36Sopenharmony_ci vcc-supply = <&vreg_l17a_3p0>; 68362306a36Sopenharmony_ci vcc-max-microamp = <800000>; 68462306a36Sopenharmony_ci vccq-supply = <&vreg_l6a_1p2>; 68562306a36Sopenharmony_ci vccq-max-microamp = <800000>; 68662306a36Sopenharmony_ci vccq2-supply = <&vreg_s4a_1p8>; 68762306a36Sopenharmony_ci vccq2-max-microamp = <800000>; 68862306a36Sopenharmony_ci status = "okay"; 68962306a36Sopenharmony_ci}; 69062306a36Sopenharmony_ci 69162306a36Sopenharmony_ci&ufs_mem_phy { 69262306a36Sopenharmony_ci vdda-phy-supply = <&vreg_l5a_0p88>; 69362306a36Sopenharmony_ci vdda-pll-supply = <&vreg_l9a_1p2>; 69462306a36Sopenharmony_ci status = "okay"; 69562306a36Sopenharmony_ci}; 69662306a36Sopenharmony_ci 69762306a36Sopenharmony_ci&venus { 69862306a36Sopenharmony_ci firmware-name = "qcom/sm8250/xiaomi/elish/venus.mbn"; 69962306a36Sopenharmony_ci status = "okay"; 70062306a36Sopenharmony_ci}; 701