[U-Boot] [PATCH] mmc: mxsmmc: Fix operation with DMA
Marek Vasut
marek.vasut at gmail.com
Mon Apr 2 19:54:25 CEST 2012
Dear Fabio Estevam,
> Initialize the DMA controller so that the following errors are fixed:
>
> U-Boot 2012.04-rc1-00001-g037cbfd (Apr 02 2012 - 10:57:48)
>
> Freescale i.MX28 family at 454 MHz
> DRAM: 128 MiB
> MMC: MXS MMC: 0
> MMC0: DMA transfer failed
> MMC0: DMA transfer failed
> MMC0: DMA transfer failed
> MMC0: DMA transfer failed
> MMC init failed
>
> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
> ---
> drivers/mmc/mxsmmc.c | 3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/mmc/mxsmmc.c b/drivers/mmc/mxsmmc.c
> index e8bad9d..57f9953 100644
> --- a/drivers/mmc/mxsmmc.c
> +++ b/drivers/mmc/mxsmmc.c
> @@ -303,6 +303,9 @@ int mxsmmc_initialize(bd_t *bis, int id, int
> (*wp)(int)) return -ENOMEM;
> }
>
> + /* Init the DMA controller. */
> + mxs_dma_init();
> +
> priv->desc = mxs_dma_desc_alloc();
> if (!priv->desc) {
> free(priv);
AAAAAH!
You don't have NAND over there, that explains it :)
Now, this is a problem on m28evk, because this init happens twice there. Can you
possibly pull this somewhere into arch_cpu_init() or similar call?
Best regards,
Marek Vasut
More information about the U-Boot
mailing list