Hello johnpeter
Good day!
1.- Please check the ORDER bit
The SC18IS606 SPI configuration register contains an ORDER bit:
- ORDER = 0 → MSB first (default)
- ORDER = 1 → LSB first
If the SC18IS606 is configured for LSB-first, but your software interprets the received byte as MSB-first, patterns can appear shifted and may look like the MSB is always set.
Could you verify what value you are writing with the F0h Configure SPI Interface command?
2.- are you reading the buffer correctly?
The SC18IS606 does not immediately return GPIO or SPI data after the command. The sequence is:
- Send GPIO Read (F5h) or SPI transaction.
- Wait for completion (poll device or use INT).
- Perform an I²C read of the buffer.
For SPI operations, the received MISO data is stored in the internal buffer and must then be read back through an I²C read transaction.
A protocol error when reading the buffer (for example treating the address byte as data, or reading one bit offset) could produce the exact "+0x80"
I hope this information has helped you, please let me know if you need help with anything else.
Have a great day and best of luck.