[PATCH v5 08/13] rockchip: mmc: rockchip_dw_mmc: add rk3066/rk3188 support

Kever Yang kever.yang at rock-chips.com
Mon Apr 11 04:24:34 CEST 2022


On 2022/4/10 00:55, Johan Jonker wrote:
> The Rockchip SoCs rk3066/rk3188 have MMC DT nodes
> with as compatible string "rockchip,rk2928-dw-mshc".
> Add OF_PLATDATA support to the existing driver with
> help of a DM_DRIVER_ALIAS.
>
> This type needs a permanent enabled fifo.
> The other Rockchip SoCs always have the property
> "u-boot,spl-fifo-mode" in the MMC DT nodes,
> because MMC to SRAM can't do DMA.
> Make this property a requirement for MMC OF_PLATDATA
> structures. The property "fifo-mode" must be added
> for all other compile modes.
>
> Signed-off-by: Johan Jonker <jbx6244 at gmail.com>
Reviewed-by: Kever Yang <kever.yang at rock-chips.com>

Thanks,
- Kever
> ---
>
> Changed V5:
>    reword
>    remove driver_data
>    add OF_PLATDATA u_boot_spl_fifo_mode requirement
>
> Changed V4:
>    use boolean
> ---
>   drivers/mmc/rockchip_dw_mmc.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/rockchip_dw_mmc.c b/drivers/mmc/rockchip_dw_mmc.c
> index be065ec0c3..573bf16c87 100644
> --- a/drivers/mmc/rockchip_dw_mmc.c
> +++ b/drivers/mmc/rockchip_dw_mmc.c
> @@ -119,7 +119,7 @@ static int rockchip_dwmmc_probe(struct udevice *dev)
>   	host->priv = dev;
>   	host->dev_index = 0;
>   	priv->fifo_depth = dtplat->fifo_depth;
> -	priv->fifo_mode = 0;
> +	priv->fifo_mode = dtplat->u_boot_spl_fifo_mode;
>   	priv->minmax[0] = 400000;  /*  400 kHz */
>   	priv->minmax[1] = dtplat->max_frequency;
>   
> @@ -180,5 +180,6 @@ U_BOOT_DRIVER(rockchip_rk3288_dw_mshc) = {
>   	.plat_auto	= sizeof(struct rockchip_mmc_plat),
>   };
>   
> +DM_DRIVER_ALIAS(rockchip_rk3288_dw_mshc, rockchip_rk2928_dw_mshc)
>   DM_DRIVER_ALIAS(rockchip_rk3288_dw_mshc, rockchip_rk3328_dw_mshc)
>   DM_DRIVER_ALIAS(rockchip_rk3288_dw_mshc, rockchip_rk3368_dw_mshc)


More information about the U-Boot mailing list