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

From: Krzysztof Kozlowski
Date: Fri Aug 04 2023 - 05:43:33 EST


On 04/08/2023 10:04, Naveen Kumar Goud Arepalli (QUIC) wrote:
>>> 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?:
>>>>> Yes, we are removing the range of the regulator.
>>
>> 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?
>> >>>> For a UFS device 3.x, we cannot start as UFS 2.0. vcc has to be as per UFS 3.x recommendations.
>>
>> 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.
>
> I have trouble finding which part is your reply and which is quote of Andrew. Please reconfigure your mail client.

Who said this? Me or you? I am pretty sure I *said this*.

Not only you pasted it as your reply, but you also re-wrapped lines.

That's not how email communication works outside of corporate structure.
Please, don't bring Outlook style to our lives...

>
>>>>>> As per upstream UFS driver, voltage voting is not there and we vote only for enable/disable .
>> Since UFS is the only client in Linux for this rail (L8A ), we don't
>> need min and max range to support UFS 2.x and 3.x cards.
>
> I would assume some reasonable range is always desired. Why it cannot be the wider range from both? 2.4 - 3.6?

Again - who said that? I am 100% sure that me, not you.

>
> Wider range cannot be mentioned in DT, For UFS 2.x range is 2.7 V to 3.6 V and for UFS 3.x range is 2.4V to 2.7V.
> Giving the wider range will not set the correct voltage.

So is this your reply?

I don't see a problem in wider range...

>
> For example:
> If the range is mentioned as 2.4V to 3.6V in DT and we have connected UFS 2.x device, Since UFS driver is voting only for
> regulator_enable(voltage is not being set) the voltage will be 2.4V(min voltage) from pmic driver which is wrong voltage for
> UFS 2.x devices, which is violation of spec.

So what is your solution? Remove constraints? Then who configures them?
You rely on bootloader which is not what we want.

Best regards,
Krzysztof