Skip to content

Commit d338c6d

Browse files
mnaranistorulf
authored andcommitted
mmc: sdhci-of-arasan: Use Mask writes for Tap delays
Mask the ITAP and OTAP delay bits before updating with the new tap value for Versal platform. Fixes: 1a47072 ("sdhci: arasan: Add support for Versal Tap Delays") Signed-off-by: Sai Krishna Potthuri <lakshmi.sai.krishna.potthuri@xilinx.com> Signed-off-by: Manish Narani <manish.narani@xilinx.com> Acked-by: Michal Simek <michal.simek@xilinx.com> Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/1605515565-117562-3-git-send-email-manish.narani@xilinx.com Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
1 parent 9e95343 commit d338c6d

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

drivers/mmc/host/sdhci-of-arasan.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@
3030
#define SDHCI_ARASAN_VENDOR_REGISTER 0x78
3131

3232
#define SDHCI_ARASAN_ITAPDLY_REGISTER 0xF0F8
33+
#define SDHCI_ARASAN_ITAPDLY_SEL_MASK 0xFF
34+
3335
#define SDHCI_ARASAN_OTAPDLY_REGISTER 0xF0FC
36+
#define SDHCI_ARASAN_OTAPDLY_SEL_MASK 0x3F
3437

3538
#define SDHCI_ARASAN_CQE_BASE_ADDR 0x200
3639
#define VENDOR_ENHANCED_STROBE BIT(0)
@@ -755,6 +758,7 @@ static int sdhci_versal_sdcardclk_set_phase(struct clk_hw *hw, int degrees)
755758
regval = sdhci_readl(host, SDHCI_ARASAN_OTAPDLY_REGISTER);
756759
regval |= SDHCI_OTAPDLY_ENABLE;
757760
sdhci_writel(host, regval, SDHCI_ARASAN_OTAPDLY_REGISTER);
761+
regval &= ~SDHCI_ARASAN_OTAPDLY_SEL_MASK;
758762
regval |= tap_delay;
759763
sdhci_writel(host, regval, SDHCI_ARASAN_OTAPDLY_REGISTER);
760764
}
@@ -822,6 +826,7 @@ static int sdhci_versal_sampleclk_set_phase(struct clk_hw *hw, int degrees)
822826
sdhci_writel(host, regval, SDHCI_ARASAN_ITAPDLY_REGISTER);
823827
regval |= SDHCI_ITAPDLY_ENABLE;
824828
sdhci_writel(host, regval, SDHCI_ARASAN_ITAPDLY_REGISTER);
829+
regval &= ~SDHCI_ARASAN_ITAPDLY_SEL_MASK;
825830
regval |= tap_delay;
826831
sdhci_writel(host, regval, SDHCI_ARASAN_ITAPDLY_REGISTER);
827832
regval &= ~SDHCI_ITAPDLY_CHGWIN;

0 commit comments

Comments
 (0)