Hi Steve,
The recovery method mainly uses EEPROM memories which are a 1-bit read/normal read mode SPI interface. The select EEPROM needs to meet the EEPROM instructions standard. It also supports Serial NOR flash, but if you use this type of memory, you need to verify that complies with the EEPROM standard.
The ROM bootloader knows how to communicate with this memory because it uses the EEPROM instructions standard, hence the instruction will always be the same.
Note1: BootROM uses SPI Mode(0,0)(CPOL=0, CPHA=0)access type. You cannot modify this.
Note2: BootROM mainly supports 2bytes(storage size is 4Kb - 512Kb) / 3bytes(1Mb - 128Mb)address EEPROM/NOR.
One of my coworkers has made some tests with different memories to verify the recovery mode. The memories he used and worked fine are the followings:
- Onsemi CAT25512HU5I-GT3 (EEPROM, 1-bit SPI, 20MHz, 128B Page/512Kb Device)
- Micron MT25QL128ABA1ESE-OSIT (NOR Flash, Multiple I/O, 133MHz-STR, 64B Page/4-32-64KB Sector/128Mb Device)
- Spansion S25FL129P (NOR Flash, Multiple I/O, 80MHz, 256B Page/4-8-64-256KB Sector/128Mb Device)
These memories are just examples. As long as you choose a memory that complies with the information mentioned above you shouldn't have any problems.
The coworker that made these tests also has a personal blog. Here he created a document regarding the EEPROM standard. Although the document is in Chinese, you can use the built-in translation of your browser to get the main idea of the blog.
痞子衡嵌入式:串行EEPROM接口事实标准及SPI EEPROM简介 - 痞子衡 - 博客园 (cnblogs.com)
Regards,
Victor