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

Bjorn Andersson
2020-09-15T18:37:11Z

On Tue 15 Sep 16:47 UTC 2020, nguyenb@codeaurora.org wrote:

> On 2020-09-15 06:43, Bjorn Andersson wrote:
> > On Tue 15 Sep 03:14 CDT 2020, nguyenb@codeaurora.org wrote:
> >
> > > On 2020-09-14 21:41, Bjorn Andersson wrote:
> > > > On Tue 01 Sep 01:00 CDT 2020, 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@codeaurora.org>
> > > > > Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
> > > > > Signed-off-by: Bao D. Nguyen <nguyenb@codeaurora.org>
> > > > > ---
> > > > > 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.
> > > >
> > > > What exactly are these pairs representing?
> > > The pair is the min and max Vcc voltage request to the PMIC chip.
> > > As a result, the regulator output voltage would only be in this range.
> > >
> >
> > If you have static min/max voltage constraints for a device on a
> > particular board the right way to handle this is to adjust the board's
> > regulator-min-microvolt and regulator-max-microvolt accordingly - and
> > not call regulator_set_voltage() from the river at all.
> >
> > In other words, you shouldn't add this new property to describe
> > something already described in the node vcc-supply points to.
> >
> > Regards,
> > Bjorn
> Thank you all for your comments. The current driver hardcoding 2.7V Vcc min
> voltage
> does not work for UFS3.0+ devices according to the UFS device JEDEC spec.
> However, we will
> try to address it in a different way.
>

Right, but what I'm saying is that you should remove the
regulator_set_voltage() call from the driver and rely on the device's
dts, in which case you won't have this problem.

Thanks,
Bjorn

> Regards,
> Bao
>
> >
> > > >
> > > > Is this supposed to be 3 pairs of (min,max) for vcc, vcc and vccq2 to be
> > > > passed into a regulator_set_voltage() for each regulator?
> > > Yes, that's right. I should include the other power supplies in this
> > > change
> > > as well.
> > > >
> > > > Or are these some sort of "operating points" for the vcc-supply?
> > > >
> > > > Regards,
> > > > Bjorn
> > > >
> > > > > - vccq-supply : phandle to VCCQ supply regulator node
> > > > > - vccq2-supply : phandle to VCCQ2 supply regulator node
> > > > > - vcc-supply-1p8 : For embedded UFS devices, valid VCC range
> > > > > is 1.7-1.95V
> > > > > --
> > > > > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora
> > > > > Forum,
> > > > > a Linux Foundation Collaborative Project
> > > > >