]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mmc: sdhci_am654: Write ITAPDLY for DDR52 timing
authorJudith Mendez <jm@ti.com>
Wed, 20 Mar 2024 22:38:32 +0000 (17:38 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 16 Jun 2024 11:32:22 +0000 (13:32 +0200)
[ Upstream commit d465234493bb6ad1b9c10a0c9ef9881b8d85081a ]

For DDR52 timing, DLL is enabled but tuning is not carried
out, therefore the ITAPDLY value in PHY CTRL 4 register is
not correct. Fix this by writing ITAPDLY after enabling DLL.

Fixes: a161c45f2979 ("mmc: sdhci_am654: Enable DLL only for some speed modes")
Signed-off-by: Judith Mendez <jm@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/20240320223837.959900-3-jm@ti.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mmc/host/sdhci_am654.c

index 2e302c2b0ac12a1fd634fa0e86139fcf90028079..13bff543f7c061337a4a59e5b033d53036f8b8cb 100644 (file)
@@ -304,6 +304,7 @@ static void sdhci_am654_set_clock(struct sdhci_host *host, unsigned int clock)
        if (timing > MMC_TIMING_UHS_SDR25 && clock >= CLOCK_TOO_SLOW_HZ) {
                sdhci_am654_setup_dll(host, clock);
                sdhci_am654->dll_enable = true;
+               sdhci_am654_write_itapdly(sdhci_am654, sdhci_am654->itap_del_sel[timing]);
        } else {
                sdhci_am654_setup_delay_chain(sdhci_am654, timing);
                sdhci_am654->dll_enable = false;