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 <jbx6...@gmail.com>
Reviewed-by: Kever Yang <kever.y...@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)

Reply via email to