mmc: zynq_sdhci: Dll reset only for ZynqMP platform
authorAshok Reddy Soma <ashok.reddy.soma@amd.com>
Mon, 10 Jul 2023 12:11:59 +0000 (14:11 +0200)
committerMichal Simek <michal.simek@amd.com>
Fri, 21 Jul 2023 07:00:38 +0000 (09:00 +0200)
Dll reset is needed only for ZynqMP platforms, add condition in tuning
to call arasan_zynqmp_dll_reset() just for ZynqMP platforms.

On other platforms like Versal NET, If this condition is not added, we
see PLM error messages when dll reset smc is called.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@amd.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/d673ff3bdc5c236a7f0403c920e719684abd6059.1688991117.git.michal.simek@amd.com
drivers/mmc/zynq_sdhci.c

index e779251..935540d 100644 (file)
@@ -422,7 +422,8 @@ static int arasan_sdhci_execute_tuning(struct mmc *mmc, u8 opcode)
 
        mdelay(1);
 
-       arasan_zynqmp_dll_reset(host, priv->node_id);
+       if (device_is_compatible(mmc->dev, "xlnx,zynqmp-8.9a"))
+               arasan_zynqmp_dll_reset(host, priv->node_id);
 
        sdhci_writel(host, SDHCI_INT_DATA_AVAIL, SDHCI_INT_ENABLE);
        sdhci_writel(host, SDHCI_INT_DATA_AVAIL, SDHCI_SIGNAL_ENABLE);
@@ -468,7 +469,9 @@ static int arasan_sdhci_execute_tuning(struct mmc *mmc, u8 opcode)
        }
 
        udelay(1);
-       arasan_zynqmp_dll_reset(host, priv->node_id);
+
+       if (device_is_compatible(mmc->dev, "xlnx,zynqmp-8.9a"))
+               arasan_zynqmp_dll_reset(host, priv->node_id);
 
        /* Enable only interrupts served by the SD controller */
        sdhci_writel(host, SDHCI_INT_DATA_MASK | SDHCI_INT_CMD_MASK,