]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
mmc: cv1800b: Add transmit tap delay config to fix write error
authorKongyang Liu <seashell11234455@gmail.com>
Tue, 16 Apr 2024 07:31:05 +0000 (15:31 +0800)
committerLeo Yu-Chi Liang <ycliang@andestech.com>
Wed, 1 May 2024 14:40:08 +0000 (22:40 +0800)
Currently, only the receive delay is configured while the transmit delay
is not set, which may result in errors when writing to the file. This issue
can be resolved by setting PHY_TX_SRC_INVERT to SDHCI_PHY_TX_RX_DLY.

Signed-off-by: Kongyang Liu <seashell11234455@gmail.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
drivers/mmc/cv1800b_sdhci.c

index 9af6b971984483d29bfea863e91149cbb914d65f..4e75051c3171b268f79c9e24e413bc767f2be234 100644 (file)
@@ -12,6 +12,8 @@
 #define MMC_MAX_CLOCK        375000000
 #define TUNE_MAX_PHCODE      128
 
+#define PHY_TX_SRC_INVERT  BIT(8)
+
 struct cv1800b_sdhci_plat {
        struct mmc_config cfg;
        struct mmc mmc;
@@ -19,7 +21,7 @@ struct cv1800b_sdhci_plat {
 
 static void cv1800b_set_tap_delay(struct sdhci_host *host, u16 tap)
 {
-       sdhci_writel(host, tap << 16, SDHCI_PHY_TX_RX_DLY);
+       sdhci_writel(host, PHY_TX_SRC_INVERT | tap << 16, SDHCI_PHY_TX_RX_DLY);
 }
 
 static void cv1800b_sdhci_reset(struct sdhci_host *host, u8 mask)