I am facing a problem when m4 using i2c and spi resources in Android(bootmcu && boota mmc0), m4 will block.
But if I just run m4 at uboot(only bootmcu), it runs OK.
And also m4 runs OK, if m4 does not use i2c or spi resources in Android(bootmcu && boota mmc0).
I am sure I have disabled i2c and spi resources and pinmux in linux kernel device tree(imx8mq-evk.dts).
So what's the possible reason? Am I missing any configurations(RDC or clock configurations)?In my opinion, m4 will run OK if resource will not conflict between m4 and linux.
You're correct, you need to disable the peripherals that it would be used by M4 when running Cortex-A and Cortex-M at the same time.
Please check that in your code you're not using other peripherals. Also, please note that you'll need to reserve UART2, since it is used by the Cortex-M by default for terminal.