I am trying to complete the auto baud process with a ADBF706WCCPZ4xx before using it in slave boot mode. At 128800bps a bit width is ~7.76us, the device is responding with a ~7.67us bit width which works well. If I go up to 250000bps a bit width is 4us but the device responds with a 3.4us bit width and thats not going to work. At 1Mbps the device is responding with 858ns bit width or 858kbps. Whats the limit here? I've got a 500k image to load at boot and I'd like to go a little faster than 128k.
An SR has been logged through private support for this issue, and will continue to be dealt with through that channel. We will post the outcome here, if appropriate.
As per the discussion in the private support, I am posting the final resolution here for others to get benefit.
"As per your test, you are sending out both first loader (which configures the CGU and invoke adi_rom_boot() API) and second loader (application) via LDR viewer. So when using LDR viewer, there is no option to send second LDR without sending the’@’ character.
However, as customer is going to send it via a Host controller, the first loader should have the auto baud detection(send the’@’ character). Once this program configures the CGU to set the SCLK to higher value and when invoking the adi_rom_boot() for UART slave boot, there is an option to “not to use autobaud detection” and UART clock can be configured in the UART Slave Boot command instead (refer page#1901 in the HRM).
We have tested this scenario for the baud rate of 622000 and attached the SPI Host code along with this. As a first stage loader we reused the same “BF70x_Bootrom” project but slightly modified. When calling “adi_rom_boot()”, we disabled autobaud detection and provided the UART clock (0xA) as per the SCLK of 100MHz, this is configured via UART Slave Boot command. After reset (UART slave boot mode is set in the BF707 slave) we send the BF70x_Bootrom LDR via LDR viewer utility (this happens in the lesser baud rate). Now the slave processor executes this to change the CGU and then invoke adi_rom_boot() API, now the slave DSP is waiting for the next LDR to load. We used another HOST processor (BF707) as UART host which send the “application” ldr at the baud rate of 622000. This works well for us.
Refer the comments embedded in the project file for more information."