Re: [PATCH V1] arm64: dts: qcom: sa8775p-ride: Remove min and max voltages for L8A

From: Andrew Halaney
Date: Tue Jul 25 2023 - 17:51:46 EST


On Tue, Jul 25, 2023 at 03:30:07PM +0530, Naveen Kumar Goud Arepalli wrote:
> L8A is the supply for UFS VCC, UFS specification allows different VCC
> configurations for UFS devices.
> -UFS 2.x devices: 2.70V - 3.60V
> -UFS 3.x devices: 2.40V - 2.70V
>
> As sa8775p-ride supports both ufs 2.x and ufs 3.x devices, remove min/max
> voltages for L8A regulator. Initial voltage of L8A will be set to 2.504v
> or 2.952v during PON depending on the UFS device type. On sa8775, UFS is
> the only client in Linux for L8A and this regulator will be voted only
> for enabling/disabling.
>
> Signed-off-by: Naveen Kumar Goud Arepalli <quic_narepall@xxxxxxxxxxx>
> ---
> arch/arm64/boot/dts/qcom/sa8775p-ride.dts | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sa8775p-ride.dts b/arch/arm64/boot/dts/qcom/sa8775p-ride.dts
> index ed76680410b4..6f3891a09e59 100644
> --- a/arch/arm64/boot/dts/qcom/sa8775p-ride.dts
> +++ b/arch/arm64/boot/dts/qcom/sa8775p-ride.dts
> @@ -98,8 +98,6 @@
>
> vreg_l8a: ldo8 {
> regulator-name = "vreg_l8a";
> - regulator-min-microvolt = <2504000>;
> - regulator-max-microvolt = <3300000>;
> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> regulator-allow-set-load;
> regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
> --
> 2.17.1
>

Reviewing with very little expertise in the area....
A few questions below that would help me understand this a bit better.

Does it make sense to *not* set the range of the regulator at all?:

1. A board dts knows its UFS device
2. Is UFS backwards compatible with respect to UFS2/UFS3?
I don't know how the version is determined, but if it's a
"start at UFS2, go to UFS3" should it be scaled as that goes?

Relying on the bootloader to set up the device before the kernel starts
seems like a direction that should be actively avoided instead of
depended on in my opinion.

Thanks,
Andrew