Re: [PATCH v1 3/5] scsi: ufs: Update VCCQ2 and VCCQ min voltage hard codes

From: cang
Date: Tue Nov 12 2019 - 21:56:32 EST


On 2019-11-12 15:56, Avri Altman wrote:


Per UFS 3.0 JEDEC standard, the VCCQ2 min voltage is 1.7v and the VCCQ min
voltage is 1.14v, update their hard codes accordingly.

Signed-off-by: Can Guo <cang@xxxxxxxxxxxxxx>
AFAIK, Vccq2 is 1.7 - 1.95 in UFS2.1 as well.
Current constants applies to UFS1.1, as indicated in the original patch.
Vccq is <1.1 - 1.3> in UFS2.1, and <1.14 - 1.26>, so need to update
the max as well, and
make the assignments in ufshcd_populate_vreg depends on hba->ufs_version?


Hi Avri,

Thank you for the comments. I will also update max voltage of VCCQ in next series.

BTW, making the assignments in ufshcd_populate_vregs depends on hba->ufs_version is
not practical. #1. hba->ufs_version is only get after vregs and clocks are ON,
which is way after ufshcd_populate_vregs. #2. hba->ufs_version is the version
of HCI, but we need to know the version of the connected UFS device.

The purpose of this change is to make sure the voltages of VCCQ and VCCQ2 work in
a safe range for all ver 1.1/2.0/2.1/3.0 UFS devices that can be connected to a host.

Best Regards,
Can Guo.

---
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