[U-Boot] [PATCH] mmc: mxsmmc: Fix operation with DMA

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@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);

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@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
participants (2)
-
Fabio Estevam
-
Marek Vasut