Hi,
We are trying to boot the DSP EVM6657 in I2C Slave mode. We have connected the I2C to a ARM processor that acts as the I2C Master in this scenarios.
The reason we are doing that is to boot the DSP and set it up so that is has the correct PCIe configuration so that we can further download stuff using PCIe from the Arm processor (DSP PCIe Boot does not work for us because the default BAR are not accepted by our ARM). This is technically roughly the same as what the 6678 is doing.
So we built a IBL with only the PCIe Workarround (code took from the IBL example) and a few other settings and we managed to program the EEPROM with it and it runs and we can access the PCIe from the ARM once it is booted.
If we try to load this same IBL with the DSP in I2C Slave Boot Mode, we are able to load it and boot it but it does not get out of the loop when it waits for PCIe PLL Lock.
while (!lock) { CSL_BootCfgGetPCIEPLLLock(&lock); }
So we are a bit confused about what is different between I2C Master and I2S Slave. Is there anything that the FPGA or the RBL does differrent that would make the same code behave differently ? or is it because the PCIe is connected to a host ARM that is running while we are trying to run this loop ??
Help would be greatly appreciated.