Re: [PATCH v1 1/2] scsi: dt-bindings: ufs: Add vcc-voltage-level for UFS

From: Rob Herring
Date: Fri Sep 18 2020 - 15:02:01 EST


On Tue, Sep 15, 2020 at 2:10 AM <nguyenb@xxxxxxxxxxxxxx> wrote:
>
> On 2020-09-14 11:35, Rob Herring wrote:
> > On Mon, Aug 31, 2020 at 11:00:47PM -0700, Bao D. Nguyen wrote:
> >> UFS's specifications supports a range of Vcc operating
> >> voltage levels. Add documentation for the UFS's Vcc voltage
> >> levels setting.
> >>
> >> Signed-off-by: Can Guo <cang@xxxxxxxxxxxxxx>
> >> Signed-off-by: Asutosh Das <asutoshd@xxxxxxxxxxxxxx>
> >> Signed-off-by: Bao D. Nguyen <nguyenb@xxxxxxxxxxxxxx>
> >> ---
> >> Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt | 2 ++
> >> 1 file changed, 2 insertions(+)
> >>
> >> diff --git a/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt
> >> b/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt
> >> index 415ccdd..7257b32 100644
> >> --- a/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt
> >> +++ b/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt
> >> @@ -23,6 +23,8 @@ Optional properties:
> >> with "phys" attribute, provides phandle to
> >> UFS PHY node
> >> - vdd-hba-supply : phandle to UFS host controller supply
> >> regulator node
> >> - vcc-supply : phandle to VCC supply regulator node
> >> +- vcc-voltage-level : specifies voltage levels for VCC supply.
> >> + Should be specified in pairs (min, max),
> >> units uV.
> >
> > The expectation is the regulator pointed to by 'vcc-supply' has the
> > voltage constraints. Those constraints are supposed to be the board
> > constraints, not the regulator operating design constraints. If that
> > doesn't work for your case, then it should be addressed in a common way
> > for the regulator binding.
> The UFS regulator has a min_uV and max_uV limits. Currently, the min and
> max are hardcoded
> to UFS2.1 Spec allowed values of 2.7V and 3.6V respectively.
> With this change, I am trying to fix a couple issues:
> 1. The 2.7V min value only applies to UFS2.1 devices. with UFS3.0+
> devices, the VCC min should be 2.4V.
> Hardcoding the min_uV to 2.7V does not work for UFS3.0+ devices.

Don't you know the device version attached and can adjust the voltage
based on that? Or you have to set the voltage first?

> 2. Allow users to select a different Vcc voltage within the allowed
> range.
> Using the min value, the UFS device is operating at marginal Vcc
> voltage.
> In addition the PMIC and the board designs may add some variables
> especially at extreme
> temperatures. We observe stability issues when using the min Vcc
> voltage.

Again, we have standard regulator properties for this already that you
can tune per board.

Rob