According to our developers, it should just send 0xFF.
Do you see this behavior?
No, what I see that it sends 0x00 (which is fine) PLUS an undefined byte or two in the beginning (which is what I'm trying to avoid).
so, suppose that the master pushes 5 bytes to BCM920737 acting as a slave, and theBCM920737 TX FIFO is empty.
This is a good example to what I would see: "0x61 0x00 0x00 0x00 0x00".
Where 0x61 is undefined byte, usually a byte that was put in the FIFO and sent before, that byte seems to be stuck so if the master pushes another 5 bytes and the TX FIFO is still empty I will see the same values again (0x61 0x00 0x00 0x00 0x00).
Steps to reproduce : simply run the SDK SPI slave example spi_comm_slave, connect it to a generic SPI master and after reboot make the master send anything to the app and see what you get.
Is this still an issue?
I'm sorry to say that I couldn't reproduce your observation.
If you are still having this issue, my only guess is that that first byte that you see, is the byte used by the spi_comm_slave app to represent the number of bytes in a transaction. Although if the TX FIFO was empty in order to begin, it should all just be HIGH.
Does this help?