From 49ebbfc3edfc6a19aa88a868d2f185f7ab65b53d Mon Sep 17 00:00:00 2001 From: Aniruddha Rao Date: Fri, 30 May 2025 09:32:31 +0000 Subject: [PATCH] ufs: tegra: Set MPHY EQ timeout Set MPHY EQ timeout as per the HW recommendations Bug 5136701 Change-Id: Icf8012044f13006b76921e8f783c246d2953b858 Signed-off-by: Aniruddha Rao Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3373643 (cherry picked from commit b918e90ad2c7dfb649fd98a9c65d35ff70a47d0f) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3407950 Tested-by: Mallikarjun Kasoju GVS: buildbot_gerritrpt Reviewed-by: Bitan Biswas Reviewed-by: Mallikarjun Kasoju --- drivers/scsi/ufs/ufs-tegra-common.c | 6 ++++-- drivers/scsi/ufs/ufs-tegra.h | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/ufs/ufs-tegra-common.c b/drivers/scsi/ufs/ufs-tegra-common.c index 47af7797..d6cfdc7a 100644 --- a/drivers/scsi/ufs/ufs-tegra-common.c +++ b/drivers/scsi/ufs/ufs-tegra-common.c @@ -1284,8 +1284,10 @@ static int ufs_tegra_eq_timeout(struct ufs_tegra_host *ufs_tegra) { struct device *dev = ufs_tegra->hba->dev; int err; + uint32_t mphy_eq_timeout = (ufs_tegra->soc->chip_id >= TEGRA264) ? + MPHY_EQ_TIMEOUT_T264 : MPHY_EQ_TIMEOUT; - mphy_writel(ufs_tegra->mphy_l0_base, MPHY_EQ_TIMEOUT, + mphy_writel(ufs_tegra->mphy_l0_base, mphy_eq_timeout, MPHY_RX_APB_VENDOR3B_0_T234); mphy_update(ufs_tegra->mphy_l0_base, MPHY_GO_BIT, MPHY_RX_APB_VENDOR2_0_T234); err = mphy_go_bit_status(ufs_tegra->mphy_l0_base, MPHY_RX_APB_VENDOR2_0_T234); @@ -1294,7 +1296,7 @@ static int ufs_tegra_eq_timeout(struct ufs_tegra_host *ufs_tegra) goto end; } if (ufs_tegra->x2config) { - mphy_writel(ufs_tegra->mphy_l1_base, MPHY_EQ_TIMEOUT, + mphy_writel(ufs_tegra->mphy_l1_base, mphy_eq_timeout, MPHY_RX_APB_VENDOR3B_0_T234); mphy_update(ufs_tegra->mphy_l1_base, MPHY_GO_BIT, MPHY_RX_APB_VENDOR2_0_T234); err = mphy_go_bit_status(ufs_tegra->mphy_l1_base, MPHY_RX_APB_VENDOR2_0_T234); diff --git a/drivers/scsi/ufs/ufs-tegra.h b/drivers/scsi/ufs/ufs-tegra.h index ba00cab4..0ac4d787 100644 --- a/drivers/scsi/ufs/ufs-tegra.h +++ b/drivers/scsi/ufs/ufs-tegra.h @@ -86,6 +86,7 @@ #define MPHY_PWR_CHANGE_CLK_BOOST 0x0017 #define MPHY_EQ_TIMEOUT 0x1AADB5 +#define MPHY_EQ_TIMEOUT_T264 0xFFFFFFFF #define MPHY_GO_BIT 1U #define MPHY_RX_APB_CAPABILITY_88_8B_0 0x88