From 6a0c239c8e8a47eec1ddd255e2b77661fe11f322 Mon Sep 17 00:00:00 2001 From: Jouni Ukkonen Date: Mon, 4 Nov 2024 15:55:43 +0200 Subject: [PATCH] arch/arm64/imx9: Clear edma4 mux conf before set Warm boot might fail if edma4 channel mux is not written to default value Signed-off-by: Jouni Ukkonen --- arch/arm64/src/imx9/imx9_edma.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/arm64/src/imx9/imx9_edma.c b/arch/arm64/src/imx9/imx9_edma.c index b5fe2f3ea25..3c3110d4fe1 100644 --- a/arch/arm64/src/imx9/imx9_edma.c +++ b/arch/arm64/src/imx9/imx9_edma.c @@ -980,6 +980,9 @@ DMACH_HANDLE imx9_dmach_alloc(uint16_t dmamux, uint8_t dchpri) if (imx9_edma_tcdhasmux(dmach->base)) { + /* Set reset value first to CH MUX */ + + putreg8(0, base + IMX9_EDMA_CH_MUX_OFFSET); dmainfo("CH%d: MUX:%u->%p\n", dmach->chan, dmach->dmamux, (void *)(base + IMX9_EDMA_CH_MUX_OFFSET)); putreg8(dmach->dmamux, base + IMX9_EDMA_CH_MUX_OFFSET);