iceprog: Better reset of flash If the flash was in a 'weird' mode (like CRM, QPI, ...), sending a continuous stream of 0xff should take it out of it. It looks like the previous code was trying to do that, but was only transferring 8 bits and then 2 bits which is way too short. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
diff --git a/iceprog/iceprog.c b/iceprog/iceprog.c index bae9e71..695e3ed 100644 --- a/iceprog/iceprog.c +++ b/iceprog/iceprog.c
@@ -195,12 +195,10 @@ static void flash_reset() { - flash_chip_select(); - mpsse_xfer_spi_bits(0xFF, 8); - flash_chip_deselect(); + uint8_t data[8] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; flash_chip_select(); - mpsse_xfer_spi_bits(0xFF, 2); + mpsse_xfer_spi(data, 8); flash_chip_deselect(); }