[PATCH] mmc: cv1800b: Add transmit tap delay config to fix write error

Jaehoon Chung jh80.chung at samsung.com
Wed Apr 17 13:40:52 CEST 2024



> -----Original Message-----
> From: Kongyang Liu <seashell11234455 at gmail.com>
> Sent: Tuesday, April 16, 2024 4:31 PM
> To: u-boot at lists.denx.de
> Cc: Jaehoon Chung <jh80.chung at samsung.com>; Leo Yu-Chi Liang <ycliang at andestech.com>; Peng Fan
> <peng.fan at nxp.com>; Tom Rini <trini at konsulko.com>
> Subject: [PATCH] mmc: cv1800b: Add transmit tap delay config to fix write error
> 
> 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 at gmail.com>

Reviewed-by: Jaehoon Chung <jh80.chung at samsung.com>

Best Regards,
Jaehoon Chung

> ---
> 
>  drivers/mmc/cv1800b_sdhci.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/mmc/cv1800b_sdhci.c b/drivers/mmc/cv1800b_sdhci.c
> index 2275c53777..a50f4cff0d 100644
> --- a/drivers/mmc/cv1800b_sdhci.c
> +++ b/drivers/mmc/cv1800b_sdhci.c
> @@ -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)
> --
> 2.41.0




More information about the U-Boot mailing list