From 4f67dae21b3070615d9543411bc6ccbd19cc7e65 Mon Sep 17 00:00:00 2001 From: Ram Prakash Gupta Date: Mon, 4 Jan 2021 10:35:36 +0530 Subject: [PATCH] ARM: dts: msm: Add platform dt changes for yupik for ufs Add platform dt changes for yupik for ufs. Change-Id: Ia6039ec53242a23d6341587b531b139129dd7bed --- qcom/yupik-atp.dtsi | 40 ++++++++++++++++++++++++++++++++++++++++ qcom/yupik-idp.dtsi | 40 ++++++++++++++++++++++++++++++++++++++++ qcom/yupik-qrd.dtsi | 40 ++++++++++++++++++++++++++++++++++++++++ qcom/yupik.dtsi | 17 +++++++++++++++-- 4 files changed, 135 insertions(+), 2 deletions(-) diff --git a/qcom/yupik-atp.dtsi b/qcom/yupik-atp.dtsi index 1d6b5e173e81..43bdc8a955a5 100644 --- a/qcom/yupik-atp.dtsi +++ b/qcom/yupik-atp.dtsi @@ -23,6 +23,46 @@ }; }; +&ufsphy_mem { + compatible = "qcom,ufs-phy-qmp-v4-yupik"; + + vdda-phy-supply = <&L10C>; + vdda-pll-supply = <&L6B>; + vdda-phy-max-microamp = <97500>; + vdda-pll-max-microamp = <18400>; + + status = "ok"; +}; + +&ufshc_mem { + vdd-hba-supply = <&gcc_ufs_phy_gdsc>; + vdd-hba-fixed-regulator; + + vcc-supply = <&L7B>; + vcc-voltage-level = <2504000 2952000>; + vcc-low-voltage-sup; + vcc-max-microamp = <800000>; + + vccq-supply = <&L9B>; + vccq-max-microamp = <900000>; + vccq-min-microamp = <10000>; + + /* + * Vccq2 voltage level should be 1.8V but in case of yupik + * vccq2 is supplied via eLDO, and that is controlled via + * L9B which supports a max voltage of 1.2V, but eLDO would + * supply 1.8V. + */ + vccq2-supply = <&L9B>; + vccq2-voltage-level = <1200000 1200000>; + vccq2-max-microamp = <800000>; + + qcom,vddp-ref-clk-supply = <&L9B>; + qcom,vddp-ref-clk-max-microamp = <100>; + + status = "ok"; +}; + &pmk8350_vadc { pm8350b_ref_gnd { reg = ; diff --git a/qcom/yupik-idp.dtsi b/qcom/yupik-idp.dtsi index b3ee0ab1052e..cf92f97a0fe1 100644 --- a/qcom/yupik-idp.dtsi +++ b/qcom/yupik-idp.dtsi @@ -24,6 +24,46 @@ }; }; +&ufsphy_mem { + compatible = "qcom,ufs-phy-qmp-v4-yupik"; + + vdda-phy-supply = <&L10C>; + vdda-pll-supply = <&L6B>; + vdda-phy-max-microamp = <97500>; + vdda-pll-max-microamp = <18400>; + + status = "ok"; +}; + +&ufshc_mem { + vdd-hba-supply = <&gcc_ufs_phy_gdsc>; + vdd-hba-fixed-regulator; + + vcc-supply = <&L7B>; + vcc-voltage-level = <2504000 2952000>; + vcc-low-voltage-sup; + vcc-max-microamp = <800000>; + + vccq-supply = <&L9B>; + vccq-max-microamp = <900000>; + vccq-min-microamp = <10000>; + + /* + * Vccq2 voltage level should be 1.8V but in case of yupik + * vccq2 is supplied via eLDO, and that is controlled via + * L9B which supports a max voltage of 1.2V, but eLDO would + * supply 1.8V. + */ + vccq2-supply = <&L9B>; + vccq2-voltage-level = <1200000 1200000>; + vccq2-max-microamp = <800000>; + + qcom,vddp-ref-clk-supply = <&L9B>; + qcom,vddp-ref-clk-max-microamp = <100>; + + status = "ok"; +}; + &pmk8350_vadc { pm7325b_ref_gnd { reg = ; diff --git a/qcom/yupik-qrd.dtsi b/qcom/yupik-qrd.dtsi index 047a505724fd..b31159bbca29 100644 --- a/qcom/yupik-qrd.dtsi +++ b/qcom/yupik-qrd.dtsi @@ -25,6 +25,46 @@ }; }; +&ufsphy_mem { + compatible = "qcom,ufs-phy-qmp-v4-yupik"; + + vdda-phy-supply = <&L10C>; + vdda-pll-supply = <&L6B>; + vdda-phy-max-microamp = <97500>; + vdda-pll-max-microamp = <18400>; + + status = "ok"; +}; + +&ufshc_mem { + vdd-hba-supply = <&gcc_ufs_phy_gdsc>; + vdd-hba-fixed-regulator; + + vcc-supply = <&L7B>; + vcc-voltage-level = <2504000 2952000>; + vcc-low-voltage-sup; + vcc-max-microamp = <800000>; + + vccq-supply = <&L9B>; + vccq-max-microamp = <900000>; + vccq-min-microamp = <10000>; + + /* + * Vccq2 voltage level should be 1.8V but in case of yupik + * vccq2 is supplied via eLDO, and that is controlled via + * L9B which supports a max voltage of 1.2V, but eLDO would + * supply 1.8V. + */ + vccq2-supply = <&L9B>; + vccq2-voltage-level = <1200000 1200000>; + vccq2-max-microamp = <800000>; + + qcom,vddp-ref-clk-supply = <&L9B>; + qcom,vddp-ref-clk-max-microamp = <100>; + + status = "ok"; +}; + &pmk8350_vadc { pm8350b_ref_gnd { reg = ; diff --git a/qcom/yupik.dtsi b/qcom/yupik.dtsi index 923e3eba9e03..47383e6977df 100644 --- a/qcom/yupik.dtsi +++ b/qcom/yupik.dtsi @@ -1149,6 +1149,10 @@ <0 0>, <0 0>; + interconnects = <&aggre1_noc MASTER_UFS_MEM &mc_virt SLAVE_EBI1>, + <&gem_noc MASTER_APPSS_PROC &cnoc2 SLAVE_UFS_MEM_CFG>; + interconnect-names = "ufs-ddr", "cpu-ufs"; + qcom,ufs-bus-bw,name = "ufshc_mem"; qcom,ufs-bus-bw,num-cases = <26>; qcom,ufs-bus-bw,num-paths = <2>; @@ -1209,21 +1213,30 @@ resets = <&gcc GCC_UFS_PHY_BCR>; reset-names = "rst"; + iommus = <&apps_smmu 0x80 0x0>; + qcom,iommu-dma = "fastmap"; dma-coherent; rpm-level = <3>; + /* + * UFS2.2 is drawing 40mA current during APPS PC. + * Issue is seen only if PX10 is turned off and Vccq2 is ON. + * Since Vccq2 is always-on supply we can't turn it off, + * so don't turn off PX10, by updating spm_lvl to 3. + * In sleep state (spm-lvl=3) its drawing only .5mA. + */ spm-level = <3>; status = "disabled"; qos0 { mask = <0xf0>; - vote = <59>; + vote = <65>; }; qos1 { mask = <0x0f>; - vote = <65>; + vote = <59>; }; };