Check JEDEC ID is in range between 0x0001 ... 0xFFFE,
Compare the output from 0x90 and 0x9F,
Then the size from the JEDEC ID
Otherwise fall-back to 256 kB
Extend the spi_flash_decode.py to handle more (known) SPI flash ICs
Reverted 'mfr_id' to 'manufacturer_id'
Moved devices table definition to flashmem.h
Single global variable 'spi_flash_pages64k'
The local structure holding the actual device data is used in firmware.c only
difference in code:
```
text data bss dec hex filename
223189 138560 6067 367816 59cc8 ./armsrc/obj/fullimage.elf <-- c9e751d darkside: fix backdoor support
223437 138624 6075 368136 59e08 ./armsrc/obj/fullimage.elf <-- this commit
======================================
+248 +64 +8 +320
```
* introduced a new communication command CMD_FLASHMEM_PAGES64K to get the number of 64k pages
* "the last page" is a special, holding the dicts and some other stuff, relocated to there
* raised timeout when wiping a mem page (W25Q16 looks a bit slower than W25X20BV)
* loop all pages in Flash_WipeMemory()
* Add `.ramfunc` section to bootrom loader script
* exclude spiffs functionality from flashmem.h/flashmem.c
(allows bootrom to use flashmem)
* hide unused tick.h / flashmem.h functions from bootrom
(not technically necessary; see comments)
* bootrom: add source files, include path, and defines when
`PLATFORM_DEFS` defines `WITH_FLASH`
* Define `AS_BOOTROM` to indicate code is building for bootrom