I met some problem while trying to make McBSP work at DSP core of DM8148.
Hope somebody can help.
Detail information:
I am using TMS320DM8148BCYE0 v2.1 on the board. McBSP is connected with external IC to transmit/receive data with SSI protocol.
External IC is the SSI master, CLKR/FSR, CLKX/FSX are provided by external IC. McBSP is controlled at C674x core.
McBSP Clock initialization:
writel(0x03, CM_SYSCLK20_CLKSEL);
while(readl(CM_SYSCLK20_CLKSEL) != 0x3);
writel(0x0, MCBSP_UART_CLKSRC); // choose RPCM output
while(readl(MCBSP_UART_CLKSRC) != 0x0);
writel(0x0, CM_AUDIOCLK_MCBSP_CLKSEL); // choose sysclk20
while(readl(CM_AUDIOCLK_MCBSP_CLKSEL) != 0x0);
writel(0x2, CM_ALWON_L3_SLOW_CLKSTCTRL); // Enable L3 clock
while(((readl(CM_ALWON_L3_SLOW_CLKSTCTRL) & (0x01<<12))>>12)!=0x1); // Confirm L3 clock enable
writel(0x2, CM_ALWON_MCBSP_CLKCTRL); // enable mcbsp clock
while(readl(CM_ALWON_MCBSP_CLKCTRL) != 0x2);
McBSP registers are configured to work as slave. Other configuration are ported from OMAP-L138 McBSP driver.
Observation:
Rx Clock and Rx FSYNC can be captured, but RRDY is always 0, DMA and interrupt all can't work.
It looks that McBSP block isn't working at all.
Is there any sample code for DM8148 McBSP driver?
Most of my code are ported from OMAP-L138, is there any special difference need take care?
Thanks a lot!