From d8491fcd201d344603fb5ef02bbd4369e3e982b8 Mon Sep 17 00:00:00 2001 From: David Collins Date: Thu, 16 Jan 2020 11:36:52 -0800 Subject: [PATCH 1/2] ARM: dts: qcom: update RPMh regulator voltage limits for Lahaina Update the min and max voltage limits for Lahaina RPMh regulator devices so that they match the limits imposed by boot loaders. Update initial voltages where necessary to bring them into the new min/max ranges. Also, add support for PM8350B LDO 1 and remove support for PM8350 LDO 10 to match the resources being exposed by RPMh. Lastly, move VDD_EBI level control support from PM8350C SMPS 3 to SMPS 2 to match the finalized power grid. Change-Id: Ie816a5ba2ae11b8c60377e5bb3620dbafb6085a1 --- qcom/lahaina-regulators.dtsi | 148 +++++++++++++++++------------------ 1 file changed, 74 insertions(+), 74 deletions(-) diff --git a/qcom/lahaina-regulators.dtsi b/qcom/lahaina-regulators.dtsi index d401c5ce22fe..fdda41488d4e 100644 --- a/qcom/lahaina-regulators.dtsi +++ b/qcom/lahaina-regulators.dtsi @@ -88,7 +88,7 @@ S10B: pm8350_s10: regulator-pm8350-s10 { regulator-name = "pm8350_s10"; qcom,set = ; - regulator-min-microvolt = <1726000>; + regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; qcom,init-voltage = <1800000>; }; @@ -100,8 +100,8 @@ S11B: pm8350_s11: regulator-pm8350-s11 { regulator-name = "pm8350_s11"; qcom,set = ; - regulator-min-microvolt = <870000>; - regulator-max-microvolt = <2040000>; + regulator-min-microvolt = <752000>; + regulator-max-microvolt = <1000000>; qcom,init-voltage = <952000>; }; }; @@ -112,8 +112,8 @@ S12B: pm8350_s12: regulator-pm8350-s12 { regulator-name = "pm8350_s12"; qcom,set = ; - regulator-min-microvolt = <1170000>; - regulator-max-microvolt = <2040000>; + regulator-min-microvolt = <1224000>; + regulator-max-microvolt = <1336000>; qcom,init-voltage = <1256000>; }; }; @@ -129,7 +129,7 @@ L1B: pm8350_l1: regulator-pm8350-l1 { regulator-name = "pm8350_l1"; qcom,set = ; - regulator-min-microvolt = <880000>; + regulator-min-microvolt = <912000>; regulator-max-microvolt = <920000>; qcom,init-voltage = <912000>; qcom,init-mode = ; @@ -165,9 +165,9 @@ L3B: pm8350_l3: regulator-pm8350-l3 { regulator-name = "pm8350_l3"; qcom,set = ; - regulator-min-microvolt = <928000>; - regulator-max-microvolt = <928000>; - qcom,init-voltage = <928000>; + regulator-min-microvolt = <904000>; + regulator-max-microvolt = <904000>; + qcom,init-voltage = <904000>; qcom,init-mode = ; }; }; @@ -241,8 +241,8 @@ L7B: pm8350_l7: regulator-pm8350-l7 { regulator-name = "pm8350_l7"; qcom,set = ; - regulator-min-microvolt = <1704000>; - regulator-max-microvolt = <3600000>; + regulator-min-microvolt = <2400000>; + regulator-max-microvolt = <3008000>; qcom,init-voltage = <2504000>; qcom,init-mode = ; }; @@ -282,54 +282,24 @@ }; }; - rpmh-regulator-ldob10 { - compatible = "qcom,rpmh-vrm-regulator"; - qcom,resource-name = "ldob10"; - qcom,regulator-type = "pmic5-ldo"; - qcom,supported-modes = - ; - qcom,mode-threshold-currents = <0 30000>; - L10B: pm8350_l10: regulator-pm8350-l10 { - regulator-name = "pm8350_l10"; - qcom,set = ; - regulator-min-microvolt = <1256000>; - regulator-max-microvolt = <1400000>; - qcom,init-voltage = <1256000>; - qcom,init-mode = ; - }; - }; - rpmh-regulator-smpc1 { compatible = "qcom,rpmh-vrm-regulator"; qcom,resource-name = "smpc1"; S1C: pm8350c_s1: regulator-pm8350c-s1 { regulator-name = "pm8350c_s1"; qcom,set = ; - regulator-min-microvolt = <1825000>; - regulator-max-microvolt = <1900000>; - qcom,init-voltage = <1856000>; - }; - }; - - rpmh-regulator-smpc2 { - compatible = "qcom,rpmh-vrm-regulator"; - qcom,resource-name = "smpc2"; - S2C: pm8350c_s2: regulator-pm8350c-s2 { - regulator-name = "pm8350c_s2"; - qcom,set = ; - regulator-min-microvolt = <630000>; - regulator-max-microvolt = <1000000>; - qcom,init-voltage = <800000>; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1952000>; + qcom,init-voltage = <1880000>; }; }; rpmh-regulator-ebilvl { compatible = "qcom,rpmh-arc-regulator"; qcom,resource-name = "ebi.lvl"; - VDD_IO_EBI_LEVEL: S3C_LEVEL: - pm8350c_s3_level: regulator-pm8350c-s3-level { - regulator-name = "pm8350c_s3_level"; + VDD_EBI_LEVEL: S2C_LEVEL: + pm8350c_s2_level: regulator-pm8350c-s2-level { + regulator-name = "pm8350c_s2_level"; qcom,set = ; regulator-min-microvolt = ; @@ -340,6 +310,18 @@ }; }; + rpmh-regulator-smpc3 { + compatible = "qcom,rpmh-vrm-regulator"; + qcom,resource-name = "smpc3"; + S3C: pm8350c_s3: regulator-pm8350c-s3 { + regulator-name = "pm8350c_s3"; + qcom,set = ; + regulator-min-microvolt = <496000>; + regulator-max-microvolt = <704000>; + qcom,init-voltage = <496000>; + }; + }; + rpmh-regulator-msslvl { compatible = "qcom,rpmh-arc-regulator"; qcom,resource-name = "mss.lvl"; @@ -441,9 +423,9 @@ S10C: pm8350c_s10: regulator-pm8350c-s10 { regulator-name = "pm8350c_s10"; qcom,set = ; - regulator-min-microvolt = <1060000>; - regulator-max-microvolt = <1120000>; - qcom,init-voltage = <1060000>; + regulator-min-microvolt = <1048000>; + regulator-max-microvolt = <1128000>; + qcom,init-voltage = <1048000>; }; }; @@ -513,7 +495,7 @@ regulator-name = "pm8350c_l4"; qcom,set = ; regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <2800000>; + regulator-max-microvolt = <3000000>; qcom,init-voltage = <1808000>; qcom,init-mode = ; }; @@ -531,7 +513,7 @@ regulator-name = "pm8350c_l5"; qcom,set = ; regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <2800000>; + regulator-max-microvolt = <3000000>; qcom,init-voltage = <1808000>; qcom,init-mode = ; }; @@ -566,8 +548,8 @@ L7C: pm8350c_l7: regulator-pm8350c-l7 { regulator-name = "pm8350c_l7"; qcom,set = ; - regulator-min-microvolt = <2856000>; - regulator-max-microvolt = <3104000>; + regulator-min-microvolt = <3008000>; + regulator-max-microvolt = <3008000>; qcom,init-voltage = <3008000>; qcom,init-mode = ; }; @@ -602,8 +584,8 @@ L9C: pm8350c_l9: regulator-pm8350c-l9 { regulator-name = "pm8350c_l9"; qcom,set = ; - regulator-min-microvolt = <2704000>; - regulator-max-microvolt = <2960000>; + regulator-min-microvolt = <2960000>; + regulator-max-microvolt = <3008000>; qcom,init-voltage = <2960000>; qcom,init-mode = ; }; @@ -638,8 +620,8 @@ L11C: pm8350c_l11: regulator-pm8350c-l11 { regulator-name = "pm8350c_l11"; qcom,set = ; - regulator-min-microvolt = <2504000>; - regulator-max-microvolt = <3304000>; + regulator-min-microvolt = <2400000>; + regulator-max-microvolt = <3008000>; qcom,init-voltage = <2504000>; qcom,init-mode = ; }; @@ -675,7 +657,7 @@ regulator-name = "pm8350c_l13"; qcom,set = ; regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3312000>; + regulator-max-microvolt = <3000000>; qcom,init-voltage = <3000000>; qcom,init-mode = ; }; @@ -693,14 +675,32 @@ }; }; + rpmh-regulator-ldod1 { + compatible = "qcom,rpmh-vrm-regulator"; + qcom,resource-name = "ldod1"; + qcom,regulator-type = "pmic5-ldo"; + qcom,supported-modes = + ; + qcom,mode-threshold-currents = <0 30000>; + L1D: pm8350b_l1: regulator-pm8350b-l1 { + regulator-name = "pm8350b_l1"; + qcom,set = ; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + qcom,init-voltage = <1200000>; + qcom,init-mode = ; + }; + }; + rpmh-regulator-smpe1 { compatible = "qcom,rpmh-vrm-regulator"; qcom,resource-name = "smpe1"; S1E: pmr735a_s1: regulator-pmr735a-s1 { regulator-name = "pmr735a_s1"; qcom,set = ; - regulator-min-microvolt = <1140000>; - regulator-max-microvolt = <1352000>; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1280000>; qcom,init-voltage = <1256000>; }; }; @@ -711,8 +711,8 @@ S2E: pmr735a_s2: regulator-pmr735a-s2 { regulator-name = "pmr735a_s2"; qcom,set = ; - regulator-min-microvolt = <829000>; - regulator-max-microvolt = <1352000>; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <976000>; qcom,init-voltage = <852000>; }; }; @@ -723,8 +723,8 @@ S3E: pmr735a_s3: regulator-pmr735a-s3 { regulator-name = "pmr735a_s3"; qcom,set = ; - regulator-min-microvolt = <2000000>; - regulator-max-microvolt = <2400000>; + regulator-min-microvolt = <2200000>; + regulator-max-microvolt = <2352000>; qcom,init-voltage = <2200000>; }; }; @@ -740,9 +740,9 @@ L1E: pmr735a_l1: regulator-pmr735a-l1 { regulator-name = "pmr735a_l1"; qcom,set = ; - regulator-min-microvolt = <880000>; - regulator-max-microvolt = <880000>; - qcom,init-voltage = <880000>; + regulator-min-microvolt = <912000>; + regulator-max-microvolt = <912000>; + qcom,init-voltage = <912000>; qcom,init-mode = ; }; }; @@ -776,8 +776,8 @@ L3E: pmr735a_l3: regulator-pmr735a-l3 { regulator-name = "pmr735a_l3"; qcom,set = ; - regulator-min-microvolt = <1056000>; - regulator-max-microvolt = <1800000>; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; qcom,init-voltage = <1200000>; qcom,init-mode = ; }; @@ -794,8 +794,8 @@ L4E: pmr735a_l4: regulator-pmr735a-l4 { regulator-name = "pmr735a_l4"; qcom,set = ; - regulator-min-microvolt = <1056000>; - regulator-max-microvolt = <2000000>; + regulator-min-microvolt = <1776000>; + regulator-max-microvolt = <1872000>; qcom,init-voltage = <1776000>; qcom,init-mode = ; }; @@ -830,8 +830,8 @@ L6E: pmr735a_l6: regulator-pmr735a-l6 { regulator-name = "pmr735a_l6"; qcom,set = ; - regulator-min-microvolt = <652000>; - regulator-max-microvolt = <800000>; + regulator-min-microvolt = <480000>; + regulator-max-microvolt = <904000>; qcom,init-voltage = <800000>; qcom,init-mode = ; }; From e4529d0303448688cc38d51a10aaa66ffa2436f1 Mon Sep 17 00:00:00 2001 From: David Collins Date: Mon, 20 Jan 2020 14:52:00 -0800 Subject: [PATCH 2/2] ARM: dts: msm: add a CX, MX and MMCX Turbo level proxy request for Lahaina Add proxy-consumer properties to the VDD_MMCX rpmh-regulator device node so that VDD_MMCX is kept enabled starting from early in the application processor's boot sequence. This avoids issues when accessing multimedia clock controller registers at initialization time. Additionally, add proxy-consumer properties to the VDD_CX and VDD_MX device nodes to avoid potential issues caused by a clock voting for a lower voltage level than what is physically required by a clock that is initialized at a later point. Change-Id: I4de02193c6d1e29664e9cb3198b56dca9956ccce --- qcom/lahaina-regulators.dtsi | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/qcom/lahaina-regulators.dtsi b/qcom/lahaina-regulators.dtsi index fdda41488d4e..470e2575ff7e 100644 --- a/qcom/lahaina-regulators.dtsi +++ b/qcom/lahaina-regulators.dtsi @@ -5,6 +5,7 @@ rpmh-regulator-mxclvl { compatible = "qcom,rpmh-arc-regulator"; qcom,resource-name = "mxc.lvl"; + proxy-supply = <&VDD_MXC_LEVEL>; VDD_MXC_LEVEL: S9B_LEVEL: pm8350_s9_level: regulator-pm8350-s9-level { @@ -16,6 +17,10 @@ ; qcom,init-voltage-level = ; + qcom,proxy-consumer-enable; + qcom,proxy-consumer-voltage = + ; regulator-always-on; }; @@ -37,6 +42,7 @@ qcom,resource-name = "mx.lvl"; pm8350_s5_level-parent-supply = <&VDD_MXC_LEVEL>; pm8350_s5_level_ao-parent-supply = <&VDD_MXC_LEVEL_AO>; + proxy-supply = <&VDD_MXA_LEVEL>; VDD_MXA_LEVEL: S5B_LEVEL: pm8350_s5_level: regulator-pm8350-s5-level { @@ -49,6 +55,10 @@ qcom,init-voltage-level = ; qcom,min-dropout-voltage-level = <(-1)>; + qcom,proxy-consumer-enable; + qcom,proxy-consumer-voltage = + ; regulator-always-on; }; @@ -343,6 +353,7 @@ qcom,resource-name = "cx.lvl"; pm8350c_s6_level-parent-supply = <&VDD_MXA_LEVEL>; pm8350c_s6_level_ao-parent-supply = <&VDD_MXA_LEVEL_AO>; + proxy-supply = <&VDD_CX_LEVEL>; VDD_CX_LEVEL: S6C_LEVEL: pm8350c_s6_level: regulator-pm8350c-s6-level { @@ -355,6 +366,10 @@ qcom,init-voltage-level = ; qcom,min-dropout-voltage-level = <(-1)>; + qcom,proxy-consumer-enable; + qcom,proxy-consumer-voltage = + ; regulator-always-on; }; @@ -377,6 +392,7 @@ qcom,resource-name = "mmcx.lvl"; pm8350c_s8_level-parent-supply = <&VDD_MXA_LEVEL>; pm8350c_s8_level_ao-parent-supply = <&VDD_MXA_LEVEL_AO>; + proxy-supply = <&VDD_MMCX_LEVEL>; VDD_MMCX_LEVEL: S8C_LEVEL: VDD_MM_LEVEL: pm8350c_s8_level: regulator-pm8350c-s8-level { @@ -389,6 +405,10 @@ qcom,init-voltage-level = ; qcom,min-dropout-voltage-level = <(-1)>; + qcom,proxy-consumer-enable; + qcom,proxy-consumer-voltage = + ; regulator-always-on; };