[PATCH v2 3/3] mmc: hi6220_dw_mmc: add fifoth_val to private data and set it in .probe

Jaehoon Chung jh80.chung at samsung.com
Wed Apr 3 02:43:44 CEST 2024


Hi

On 2/1/24 23:05, Yang Xiwen via B4 Relay wrote:
> From: Yang Xiwen <forbidden405 at outlook.com>
> 
> The value defaults to 0 and is ignored by dw_mmc code, so the other
> users are not affected.
> 
> Setting this explicitly fixes some weird reading error found on Hi3798MV200.
> 
> Fixes: 8a5dc8140e62 ("mmc: hi6220_dw_mmc: add compatible for HC2910 support")
> 
> Signed-off-by: Yang Xiwen <forbidden405 at outlook.com>
> ---
>  drivers/mmc/hi6220_dw_mmc.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/mmc/hi6220_dw_mmc.c b/drivers/mmc/hi6220_dw_mmc.c
> index a4b8072976..dc0210402b 100644
> --- a/drivers/mmc/hi6220_dw_mmc.c
> +++ b/drivers/mmc/hi6220_dw_mmc.c
> @@ -37,6 +37,7 @@ struct hi6220_dwmmc_priv_data {
>  struct hisi_mmc_data {
>  	unsigned int clock;
>  	bool use_fifo;
> +	u32 fifoth_val;
>  };
>  
>  static int hi6220_dwmmc_of_to_plat(struct udevice *dev)
> @@ -125,6 +126,7 @@ static int hi6220_dwmmc_probe(struct udevice *dev)
>  	host->mmc = &plat->mmc;
>  
>  	host->fifo_mode = mmc_data->use_fifo;
> +	host->fifoth_val = mmc_data->fifoth_val;
>  	host->mmc->priv = &priv->host;
>  	upriv->mmc = host->mmc;
>  	host->mmc->dev = dev;
> @@ -154,13 +156,20 @@ static const struct hisi_mmc_data hi6220_mmc_data = {
>  	.use_fifo = false,
>  };
>  
> +static const struct hisi_mmc_data hi3798mv2x_mmc_data = {
> +	.clock = 50000000,
> +	.use_fifo = false,
> +	// FIFO depth is 256
Removed unnecessary comment.

Best Regards,
Jaehoon Chung

> +	.fifoth_val = MSIZE(4) | RX_WMARK(0x7f) | TX_WMARK(0x80),
> +};
> +
>  static const struct udevice_id hi6220_dwmmc_ids[] = {
>  	{ .compatible = "hisilicon,hi6220-dw-mshc",
>  	  .data = (ulong)&hi6220_mmc_data },
>  	{ .compatible = "hisilicon,hi3798cv200-dw-mshc",
>  	  .data = (ulong)&hi6220_mmc_data },
>  	{ .compatible = "hisilicon,hi3798mv200-dw-mshc",
> -	  .data = (ulong)&hi6220_mmc_data },
> +	  .data = (ulong)&hi3798mv2x_mmc_data },
>  	{ .compatible = "hisilicon,hi3660-dw-mshc",
>  	  .data = (ulong)&hi3660_mmc_data },
>  	{ }



More information about the U-Boot mailing list