lpcware

433x M4 USB stops to work(cannot enumeration ) when enable sgpio/DMA in M0

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
Content originally posted in LPCWare by jpplus on Mon Dec 08 02:51:29 MST 2014
I meet a problem that when I enable sgpio/DMA in M0,  then in M4 the USB cannot enumueration and stop working.
if I don't use SGPIO, then USB works perferct. The USB is configured as CDC/ACM VCOM.
the SGPIO is used like I2S to triigger DMA as audio application. The SGPIO is confgured and run in M0. In M4, the USB is init and run.
Enabling individual SGPIO in M0 or  enabling USB in M4 is Ok, but it seems they cannot run together.
As USB and SGPIO audio application can run, the pin mux and clock should set correctly.

my steps are:
1) init M4, init all clock
2) start M0
3) start M4 USB
4) start M0 codec, DMA, sgpio

if I skip the M0 DMA init or sgpio init, then the M4 USB can work. If I init DMA and enable SGPIO( I think DMA interrupt will come then), then USB stop to work.
or I don't plug in USB cable, then it is still working, and my audio app can work. But after I plug in the cable, the audio stop working and USB cannot ENU.

any idea about that?
any possible of conflict on these two(sgpio/DMA, USB)?

please help, as I indeed need the USB to stream or configure some data.

Outcomes