From c1f300eab8f1eb0724c6be3e80da7ce2be2fa35d Mon Sep 17 00:00:00 2001 From: Venkat Gopalakrishnan Date: Wed, 2 Nov 2016 15:19:22 -0700 Subject: scsi: ufs: perform full reset at initialization The phy initialization sequence assumes a POR state but the bootloaders can leave PHY at an already initialized state, hence there could potentially be issues with the initialization from ufs driver. Perform a full reset to start from a power on reset state. Also a reset is required by the UFS hardware programming guide. Change-Id: I0118b0d3013166aeec0bb0bc0ef181e48998e758 Signed-off-by: Venkat Gopalakrishnan --- drivers/scsi/ufs/ufshcd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 67e1636c25ec..e52aed51f67d 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -9419,6 +9419,9 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem *mmio_base, unsigned int irq) goto exit_gating; } + /* Reset controller to power on reset (POR) state */ + ufshcd_vops_full_reset(hba); + /* Host controller enable */ err = ufshcd_hba_enable(hba); if (err) { -- cgit v1.2.3