Hopefully someone has some advice on my problem...
Our platform is an Atom Z530 with Linux 3.2.21 talking via a PCI Express to PCI bridge to a DM647 and we are seeing on some boards that the DM647 blocks in DMAPOOL_open whilst waiting for dmaCtrl->ctrlPtr.isGppInit when starting the processor via DSPLINK 1.65.01.06 compiled with cg6x 6.1.08 and DSPBIOS 5.33.03.
I have tried using debug DSPLINK but it jumps into IRAM and with corruption in both IRAM and DDR2 memory, but this doesn't happen with a release DSPLINK. I have tested and verified the exhaustively memory attached to the DM647 via JTAG emulator.
In addition DDR2 timings are also correctly configured in DSPLINK. Also switching off both L1 and L2 cache doesn't help with detecting isGppInit.
As this is happening in the DSPLINK initialisation (PROC_start on GPP returns 0x80008052), it seems that the DSPLINK dspdma=0 flag only refers to bulk transfers and dspdma (DMAPOOL_open) is used for all protocols except PROC and NOTIFY. So dspdma=0 does not help my problem.
It seems that PCI is the issue but the application is successfully loaded by DSP link except for the fact that the GPP cannot set isGppInit onto the DSP.
Thanks for any advice in advance.
Regards, Phill.