After the latest changes in the bootloader component, some SPI Flash chips cannot be set to QIO mode.
Gigadevice GD25Q32 (ID: 0xc84016)
D (41) qio_mode: Probing for QIO mode enable...
D (46) qio_mode: Raw SPI flash chip id 0xc84016
D (50) qio_mode: Manufacturer ID 0xc8 chip ID 0x4016
I (55) qio_mode: Enabling default flash chip QIO
D (60) qio_mode: Initial flash chip status 0x0
D (67) qio_mode: Updated flash chip status 0x0
E (70) qio_mode: Failed to set QIE bit, not enabling QIO mode
Winbond W25Q64 (ID: 0xef4017)
D (47) qio_mode: Probing for QIO mode enable...
D (47) qio_mode: Raw SPI flash chip id 0xef4017
D (51) qio_mode: Manufacturer ID 0xef chip ID 0x4017
I (56) qio_mode: Enabling QIO for flash chip WinBond
D (61) qio_mode: Initial flash chip status 0x0
D (77) qio_mode: Updated flash chip status 0x0
E (77) qio_mode: Failed to set QIE bit, not enabling QIO mode
Winbond W25Q128 (ID: 0xef4018)
D (45) qio_mode: Probing for QIO mode enable...
D (46) qio_mode: Raw SPI flash chip id 0xef4018
D (50) qio_mode: Manufacturer ID 0xef chip ID 0x4018
I (55) qio_mode: Enabling QIO for flash chip WinBond
D (61) qio_mode: Initial flash chip status 0x0
D (76) qio_mode: Updated flash chip status 0x0
E (76) qio_mode: Failed to set QIE bit, not enabling QIO mode
Gigadevice GD25Q128 (ID: 0xc84018)
D (41) qio_mode: Probing for QIO mode enable...
D (45) qio_mode: Raw SPI flash chip id 0xc84018
D (50) qio_mode: Manufacturer ID 0xc8 chip ID 0x4018
I (55) qio_mode: Enabling default flash chip QIO
D (60) qio_mode: Initial flash chip status 0x0
D (67) qio_mode: Updated flash chip status 0x0
E (69) qio_mode: Failed to set QIE bit, not enabling QIO mode
Winbond W25Q64 (1.8V) (ID: 0xef6017)
Enters QIO mode, but wrong status is read.
D (47) qio_mode: Probing for QIO mode enable...
D (48) qio_mode: Raw SPI flash chip id 0xef6017
D (52) qio_mode: Manufacturer ID 0xef chip ID 0x6017
I (57) qio_mode: Enabling default flash chip QIO
D (62) qio_mode: Initial flash chip status 0x57
D (67) qio_mode: QIO mode already enabled in flash
D (72) qio_mode: Enabling QIO mode...
Gigadevice GD25LQ32 (WROVER) (ID: 0xc86016)
Enters QIO mode, but wrong status is read.
D (41) qio_mode: Probing for QIO mode enable...
D (46) qio_mode: Raw SPI flash chip id 0xc86016
D (50) qio_mode: Manufacturer ID 0xc8 chip ID 0x6016
I (55) qio_mode: Enabling QIO for flash chip GD
D (60) qio_mode: Initial flash chip status 0x5555
D (67) qio_mode: Updated flash chip status 0x7777
D (70) qio_mode: Enabling QIO mode...
Should be;
D (41) qio_mode: Probing for QIO mode enable...
D (46) qio_mode: Raw SPI flash chip id 0xc86016
D (50) qio_mode: Manufacturer ID 0xc8 chip ID 0x6016
I (55) qio_mode: Enabling QIO for flash chip GD
D (60) qio_mode: Initial flash chip status 0x1200
D (65) qio_mode: QIO mode already enabled in flash
D (70) qio_mode: Enabling QIO mode...
After the latest changes in the bootloader component, some SPI Flash chips cannot be set to QIO mode.
Gigadevice GD25Q32 (ID: 0xc84016)
Winbond W25Q64 (ID: 0xef4017)
Winbond W25Q128 (ID: 0xef4018)
Gigadevice GD25Q128 (ID: 0xc84018)
Winbond W25Q64 (1.8V) (ID: 0xef6017) Enters QIO mode, but wrong status is read.
Gigadevice GD25LQ32 (WROVER) (ID: 0xc86016) Enters QIO mode, but wrong status is read.
Should be;
The source of the problem is in flash_qio_mode.c
The solution:
After adding:
before line 149
, everything works as expected again.