Update: Spare XM25QH128A chips just arrived from China. Successfully flashed a chip with Bus Pirate SPI and patched flashrom. Writing works fine. Laptop boots normally.
I was advised there was a typo in my chip list.
Here: #define XMC_XM25QH128A 0x1708 Should be: #define XMC_XM25QH128A 0x7018
Anyhow, I have downloaded flashrom master, patched it with this data and recompiled it. I'm reporting that the probing and reading appears to be working for XM25QH128A. BIOS is now dumped. I'll test writing/erasing once I get the spare chips.
*On a side note:* Be sure to connect all chip pins to their respective terminals. For example, I originally believed this XMC chip was unsupported because it failed to probe/read while the Winbond one worked fine with the same setup. I left the /WP and /HOLD pins unconnected in my setup, but after connecting them both to Vcc via a 4k7 resistor the reading worked perfectly.
#define XMC_ID 0x20 /* same as ST_ID */ #define XMC_XM25QH256B 0x6019 #define XMC_XM25QH128A 0x1708 #define XMC_XM25QH128B 0x6018 #define XMC_XM25QH64A 0x7017 #define XMC_XM25QH64B 0x6017 #define XMC_XM25QH32B 0x4016 /* 0x6016 for QPI mode */ #define XMC_XM25QH16B 0x4015 #define XMC_XM25QH80B 0x4014 #define XMC_XM25QH40B 0x4013 #define XMC_XM25QU256B 0x7019 #define XMC_XM25QU128B 0x5018 #define XMC_XM25QU64A 0x3817 #define XMC_XM25QU64B 0x5017 #define XMC_XM25QU40B 0x5013 #define XMC_XM25QU20B 0x5012