Hi Pete,
On 05.04.22 06:08, Pete Smith wrote:
On Wednesday, March 30th, 2022 at 10:42 AM, Nico Huber wrote: The chip I'm trying to flash is the Macronix MX25L12873F which support was added for in commit 16661d82e3c17e224a21c109572b0834ec63a17c / Change-Id I59c8067f15b5ceac5a2e2f8fe93431a465f17e23 on 14/07-21.
...
Chip status register is 0x7c. Chip status register: Status Register Write Disable (SRWD, SRP, ...) \ is not set Chip status register: Bit 6 is set Chip status register: Block Protect 3 (BP3) is set Chip status register: Block Protect 2 (BP2) is set Chip status register: Block Protect 1 (BP1) is set Chip status register: Block Protect 0 (BP0) is set Chip status register: Write Enable Latch (WEL) is not set Chip status register: Write In Progress (WIP/BUSY) is not set This chip may contain one-time programmable memory. flashrom cannot read and may never be able to write it, hence it may not be able to \ completely clone the contents of this chip (see man page for details). Some block protection in effect, disabling... Block protection could \ not be disabled!
this is likely the source of the problem. For some reason, flashrom can't write the BP* (block protection) bits. I've been looking into the datasheet and couldn't find a possible explanation. This particular model doesn't seem to have a hardware write protection. I guess either something is wrong with the hardware, could be wrong voltage / insuf- ficient power, or there's some advanced protection mechanism enabled.
You could test if communication is 100% reliable, e.g. read once, verify multiple times. Also, measure the voltage at the flash chip.
Adding Nikolai in CC as he might have an idea about the BP bits.
Nico