This is an automated email from the ASF dual-hosted git repository.
xiaoxiang781216 pushed a commit to branch releases/13.0
in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/releases/13.0 by this push:
new ab92c23c6e0 arch/arm64/src/imx9/imx9_usdhc.c: Fix imx9 usdhc DMA
initialization
ab92c23c6e0 is described below
commit ab92c23c6e0ac18da604c16d6db63d0a2b7bcf84
Author: Jukka Laitinen <[email protected]>
AuthorDate: Mon Aug 3 14:40:55 2026 +0300
arch/arm64/src/imx9/imx9_usdhc.c: Fix imx9 usdhc DMA initialization
USDHC_PROCTL selects whether the usdhc uses SDMA or ADMA. This driver
only uses the SDMA or no DMA at all, so select that option. There might be a
wrong register value left by ROM code or an earlier bootloader which uses
ADMA.
Signed-off-by: Jukka Laitinen <[email protected]>
---
arch/arm64/src/imx9/imx9_usdhc.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/src/imx9/imx9_usdhc.c b/arch/arm64/src/imx9/imx9_usdhc.c
index 3e2eaaee7e3..67b59fa4276 100644
--- a/arch/arm64/src/imx9/imx9_usdhc.c
+++ b/arch/arm64/src/imx9/imx9_usdhc.c
@@ -1477,6 +1477,11 @@ static void imx9_reset(struct sdio_dev_s *dev)
mcinfo("Reset complete\n");
+ /* Set PROCTL to select SDMA or no DMA. */
+
+ modifyreg32(priv->addr + IMX9_USDHC_PROCTL_OFFSET,
+ USDHC_PROCTL_DMAS_MASK, USDHC_PROCTL_DMAS_NODMA);
+
/* Make sure that all clocking is disabled */
imx9_clock(dev, CLOCK_SDIO_DISABLED);