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