Skip to content

Commit 4a9a99a

Browse files
iuliana-prodandbaluta
authored andcommitted
imx: clear general purpose pending interrupt
Clear general purpose pending interrupt before enabling interrupts between host and DSP. The GIPn bit, from MU Status Register is cleared by writing it as “1” in order to de-assert the interrupt request source at the interrupt controller. This fixes a fw loading failure after a soft reboot caused by GIP bit that was 1. The problem was the MU which triggered endless interrupts causing timeout on Kernel side, which was waiting for FW_READY message. Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
1 parent 6131901 commit 4a9a99a

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

src/drivers/imx/ipc.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,11 @@ int platform_ipc_init(struct ipc *ipc)
194194
interrupt_register(PLATFORM_IPC_INTERRUPT, irq_handler, ipc);
195195
interrupt_enable(PLATFORM_IPC_INTERRUPT, ipc);
196196

197+
/* Clear GP pending interrupt #0 and #1 */
198+
imx_mu_xsr_rmw(IMX_MU_VERSION, IMX_MU_GSR,
199+
IMX_MU_xSR_GIPn(IMX_MU_VERSION, 0) |
200+
IMX_MU_xSR_GIPn(IMX_MU_VERSION, 1), 0);
201+
197202
/* enable GP #0 for Host -> DSP message notification
198203
* enable GP #1 for DSP -> Host message notification
199204
*/

0 commit comments

Comments
 (0)