Re: [PATCH v5 2/2] scsi: ufs-qcom: Fix ufs RST_n specs violation
On 2021-01-08 16:05, Can Guo wrote: On 2021-01-08 15:28, Ziqi Chen wrote: As per specs, e.g, JESD220E chapter 7.2, while powering off/on the ufs device, RST_n signal should be between VSS(Ground) and VCCQ/VCCQ2. Signed-off-by: Ziqi Chen --- drivers/scsi/ufs/ufs-qcom.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs-qcom.c index 2206b1e..d8b896c 100644 --- a/drivers/scsi/ufs/ufs-qcom.c +++ b/drivers/scsi/ufs/ufs-qcom.c @@ -582,6 +582,10 @@ static int ufs_qcom_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op) ufs_qcom_disable_lane_clks(host); phy_power_off(phy); + /* reset the connected UFS device during power down */ + if (host->device_reset) + gpiod_set_value_cansleep(host->device_reset, 1); + Instead of calling gpiod_set_value(1/0) directly, can we have a wrapper func for it? Thanks, Can Guo. Sure, it'll be better that way. Best Regards, Ziqi } else if (!ufs_qcom_is_link_active(hba)) { ufs_qcom_disable_lane_clks(host); }
Re: [PATCH v5 2/2] scsi: ufs-qcom: Fix ufs RST_n specs violation
On 2021-01-08 15:28, Ziqi Chen wrote: As per specs, e.g, JESD220E chapter 7.2, while powering off/on the ufs device, RST_n signal should be between VSS(Ground) and VCCQ/VCCQ2. Signed-off-by: Ziqi Chen --- drivers/scsi/ufs/ufs-qcom.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs-qcom.c index 2206b1e..d8b896c 100644 --- a/drivers/scsi/ufs/ufs-qcom.c +++ b/drivers/scsi/ufs/ufs-qcom.c @@ -582,6 +582,10 @@ static int ufs_qcom_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op) ufs_qcom_disable_lane_clks(host); phy_power_off(phy); + /* reset the connected UFS device during power down */ + if (host->device_reset) + gpiod_set_value_cansleep(host->device_reset, 1); + Instead of calling gpiod_set_value(1/0) directly, can we have a wrapper func for it? Thanks, Can Guo. } else if (!ufs_qcom_is_link_active(hba)) { ufs_qcom_disable_lane_clks(host); }
[PATCH v5 2/2] scsi: ufs-qcom: Fix ufs RST_n specs violation
As per specs, e.g, JESD220E chapter 7.2, while powering off/on the ufs device, RST_n signal should be between VSS(Ground) and VCCQ/VCCQ2. Signed-off-by: Ziqi Chen --- drivers/scsi/ufs/ufs-qcom.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs-qcom.c index 2206b1e..d8b896c 100644 --- a/drivers/scsi/ufs/ufs-qcom.c +++ b/drivers/scsi/ufs/ufs-qcom.c @@ -582,6 +582,10 @@ static int ufs_qcom_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op) ufs_qcom_disable_lane_clks(host); phy_power_off(phy); + /* reset the connected UFS device during power down */ + if (host->device_reset) + gpiod_set_value_cansleep(host->device_reset, 1); + } else if (!ufs_qcom_is_link_active(hba)) { ufs_qcom_disable_lane_clks(host); } -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project