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 <ziqichen@xxxxxxxxxxxxxx> --- 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); }