[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <MN2PR04MB699170FFA7B2DD59014374D5FC4C0@MN2PR04MB6991.namprd04.prod.outlook.com>
Date: Tue, 19 Nov 2019 12:41:10 +0000
From: Avri Altman <Avri.Altman@....com>
To: "cang@...eaurora.org" <cang@...eaurora.org>
CC: Can Guo <cang@....qualcomm.com>,
"asutoshd@...eaurora.org" <asutoshd@...eaurora.org>,
"nguyenb@...eaurora.org" <nguyenb@...eaurora.org>,
"rnayak@...eaurora.org" <rnayak@...eaurora.org>,
"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
"kernel-team@...roid.com" <kernel-team@...roid.com>,
"saravanak@...gle.com" <saravanak@...gle.com>,
"salyzyn@...gle.com" <salyzyn@...gle.com>,
Alim Akhtar <alim.akhtar@...sung.com>,
Pedro Sousa <pedrom.sousa@...opsys.com>,
"James E.J. Bottomley" <jejb@...ux.ibm.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
Stanley Chu <stanley.chu@...iatek.com>,
Tomas Winkler <tomas.winkler@...el.com>,
open list <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH v2 2/4] scsi: ufs: Update VCCQ2 and VCCQ min/max voltage
hard codes
>
> On 2019-11-18 15:15, Avri Altman wrote:
> >>
> >> From: Can Guo <cang@...eaurora.org>
> >>
> >> Per UFS 3.0 JEDEC standard, the VCCQ2 min voltage is 1.7v and the
> >> VCCQ voltage range is 1.14v ~ 1.26v. Update their hard codes
> >> accordingly to make sure they work in a safe range compliant for ver
> >> 1.0/2.0/2.1/3.0 UFS devices.
> > So to keep it safe, we need to use largest range:
> > min_uV = min over all spec ranges, and max_uV = max over all spec
> > ranges.
> > Meaning leave it as it is if we want to be backward compatible with
> > UFS1.0.
> >
> > Thanks,
> > Avri
> >
>
> Hi Avri,
>
> Sorry I don't quite follow you here.
> Leaving it as it is means for UFS2.1 devices, when boot up, if we call
> regulator_set_voltage(1.65, 1.95) to setup its VCCQ2,
> regulator_set_voltage() will
> give you 1.65v on VCCQ2 if the voltage level of this regulator is wider, say (1.60,
> 1.95).
> Meaning you will finally set 1.65v to VCCQ2. But 1.65v is out of spec for UFS
> v2.1 as it requires min voltage to be 1.7v on VCCQ2. So, the smallest range is
> safe.
> Of course, in real board design, the regulator's voltage level is limited/designed
> by power team to be in a safe range, say (1.8, 1.92), so that calling
> regulator_set_voltage(1.65, 1.95) still gives you 1.8v. But it does not mean the
> current hard codes are compliant for all UFS devices.
You are correct - the narrowest the range the better - as long as you don't cross the limits of previous spec.
So changing 1.1 -> 1.14 and 1.65 -> 1.7 is fine.
While at it, Vccq max in UFS3.0 is 1.26, why not change 1.3 -> 1.26, like you indicated in your commit log?
Thanks,
Avri
>
> Best Regards,
> Can Guo.
>
> >>
> >> Signed-off-by: Can Guo <cang@...eaurora.org>
> >> ---
> >> drivers/scsi/ufs/ufs.h | 4 ++--
> >> 1 file changed, 2 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/drivers/scsi/ufs/ufs.h b/drivers/scsi/ufs/ufs.h index
> >> 385bac8..9df4f4d
> >> 100644
> >> --- a/drivers/scsi/ufs/ufs.h
> >> +++ b/drivers/scsi/ufs/ufs.h
> >> @@ -500,9 +500,9 @@ struct ufs_query_res {
> >> #define UFS_VREG_VCC_MAX_UV 3600000 /* uV */
> >> #define UFS_VREG_VCC_1P8_MIN_UV 1700000 /* uV */
> >> #define UFS_VREG_VCC_1P8_MAX_UV 1950000 /* uV */
> >> -#define UFS_VREG_VCCQ_MIN_UV 1100000 /* uV */
> >> +#define UFS_VREG_VCCQ_MIN_UV 1140000 /* uV */
> >> #define UFS_VREG_VCCQ_MAX_UV 1300000 /* uV */
> >> -#define UFS_VREG_VCCQ2_MIN_UV 1650000 /* uV */
> >> +#define UFS_VREG_VCCQ2_MIN_UV 1700000 /* uV */
> >> #define UFS_VREG_VCCQ2_MAX_UV 1950000 /* uV */
> >>
> >> /*
> >> --
> >> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora
> >> Forum, a Linux Foundation Collaborative Project
Powered by blists - more mailing lists