I'm working on a USB Type C solution. A TPS65982, a W25Q80 flash connected via SPI, a host microprocessor connected via I2C1. The flash is initially empty. How to get the firmware/configuration into the flash? How to do the bringup of the flash?
I've started with a TPS65982-EVM. Connected it via I2C to the microcontroller. Ported the relevant python script (flash_update_region_0/1.py) to our host system. Update works like a charm via I2C 4CC commands. Can update low or high region. Can destroy one region. Can boot from the other. Can repair the first. Good solution for updates.
Now I've erased the flash. TPS65982 boots, scans the flash and reports via register 0x2D that it can not boot correctly (flash attached, tries region 0 and 1 but fails with CRC error). Reading the flash (FLrd) returns bogus zeros only. Writing/updating the flash (FLwd) does no longer yield the expected results. Reading register 0x03 gives 'BOOT'. So back to my original question: how to do bringup with an empty flash? Are there alternatives to SPI? (maybe SWD?)
Regards, Michael