Re: [PATCH] arm64: dts: qcom: qcm6490: Allow UFS regulators load/mode setting

From: Bjorn Andersson
Date: Sat Oct 05 2024 - 23:29:14 EST


On Fri, Oct 04, 2024 at 01:31:10PM GMT, Rakesh Kota wrote:
> The UFS driver expects to be able to set load (and by extension, mode)
> on its supply regulators. Add the necessary properties to make that
> possible.
>
> While at it, UFS rails have different voltage requirement for UFS2.x
> v/s UFS3.x. Bootloader sets the proper voltage based on UFS type.
> There can be case where the voltage set by bootloader is overridden
> by HLOS client.
>

It's generally not accepted to do "while at it"-changes, but it happens
that I accept it. This one however, is controversial. We tend to want to
properly describe the voltage constraints, so this departure from that
stance definitely isn't an acceptable "while at it"-change...

> To prevent above issue, add change to remove voltage voting support
> for dedicated UFS rails.

You state that the bootloader will configure the appropriate voltage, I
don't see a issue description.


Either way, please split this in two.

Regards,
Bjorn

>
> Signed-off-by: Rakesh Kota <quic_kotarake@xxxxxxxxxxx>
> ---
> arch/arm64/boot/dts/qcom/qcm6490-idp.dts | 12 ++++++++----
> 1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
> index 84c45419cb8d..8a4df9c2a946 100644
> --- a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
> +++ b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
> @@ -258,13 +258,15 @@ vreg_l6b_1p2: ldo6 {
> regulator-name = "vreg_l6b_1p2";
> regulator-min-microvolt = <1140000>;
> regulator-max-microvolt = <1260000>;
> + regulator-allow-set-load;
> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>;
> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> };
>
> vreg_l7b_2p952: ldo7 {
> regulator-name = "vreg_l7b_2p952";
> - regulator-min-microvolt = <2400000>;
> - regulator-max-microvolt = <3544000>;
> + regulator-allow-set-load;
> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>;
> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> };
>
> @@ -277,8 +279,8 @@ vreg_l8b_0p904: ldo8 {
>
> vreg_l9b_1p2: ldo9 {
> regulator-name = "vreg_l9b_1p2";
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <1304000>;
> + regulator-allow-set-load;
> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>;
> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> };
>
> @@ -467,6 +469,8 @@ vreg_l10c_0p88: ldo10 {
> regulator-name = "vreg_l10c_0p88";
> regulator-min-microvolt = <720000>;
> regulator-max-microvolt = <1050000>;
> + regulator-allow-set-load;
> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>;
> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> };
>
> --
> 2.34.1
>