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