Re: [PATCH 2/2] mmc: sdhci-of-arasan: Issue DLL reset explicitly
From: Michal Simek
Date: Mon Nov 16 2020 - 02:10:00 EST
On 16. 11. 20 7:15, Manish Narani wrote:
> In the current implementation DLL reset will be issued for
> each ITAP and OTAP setting inside ATF, this is creating issues
> in some scenarios and this sequence is not inline with the TRM.
> To fix the issue, DLL reset should be removed from the ATF and
> host driver will request it explicitly.
> This patch update host driver to explicitly request for DLL reset
> before ITAP (assert DLL) and after OTAP (release DLL) settings.
>
> Fixes: a5c8b2ae2e51 ("mmc: sdhci-of-arasan: Add support for ZynqMP Platform Tap Delays Setup")
> Signed-off-by: Sai Krishna Potthuri <lakshmi.sai.krishna.potthuri@xxxxxxxxxx>
> Signed-off-by: Manish Narani <manish.narani@xxxxxxxxxx>
> ---
> drivers/mmc/host/sdhci-of-arasan.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/mmc/host/sdhci-of-arasan.c b/drivers/mmc/host/sdhci-of-arasan.c
> index 3ec5ecad637c..e066d8f51954 100644
> --- a/drivers/mmc/host/sdhci-of-arasan.c
> +++ b/drivers/mmc/host/sdhci-of-arasan.c
> @@ -635,6 +635,9 @@ static int sdhci_zynqmp_sdcardclk_set_phase(struct clk_hw *hw, int degrees)
> if (ret)
> pr_err("Error setting Output Tap Delay\n");
>
> + eemi_ops->ioctl(node_id, IOCTL_SD_DLL_RESET,
> + PM_DLL_RESET_RELEASE, 0, NULL);
> +
> return ret;
> }
>
> @@ -794,6 +797,9 @@ static int sdhci_versal_sampleclk_set_phase(struct clk_hw *hw, int degrees)
> if (host->version < SDHCI_SPEC_300)
> return 0;
>
> + eemi_ops->ioctl(node_id, IOCTL_SD_DLL_RESET,
> + PM_DLL_RESET_ASSERT, 0, NULL);
> +
> switch (host->timing) {
> case MMC_TIMING_MMC_HS:
> case MMC_TIMING_SD_HS:
>
this won't apply. It needs to be fixed.
Thanks,
Michal