From a7c42cd29b6bda83b8f08bba755cd5f20a582de7 Mon Sep 17 00:00:00 2001 From: Sylvain Munaut Date: Mon, 5 Aug 2019 14:34:49 +0200 Subject: 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 --- iceprog/iceprog.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) 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_read_id() 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(); } -- cgit v1.2.3