Hi! > Commit c3c016cf75360c2a0d0a065b64b438aaf7720576 is a part of the problem: > > offset 0x40000 is protected and cannot be erased > => sf help > No SPI flash selected. Please run `sf probe' > => sf probe > ... > SF: Detected N25Q512 with page size 256 Bytes, erase size 4 KiB, total > 64 MiB > cadence_spi_set_speed: speed=1000000 > => sf protect unlock 0x40000 0x20000 > cadence_spi_xfer: len=1 [bytes] > cadence_spi_xfer: len=1 [bytes] > => saveenv > Saving Environment to SPI Flash...
Disabling flash locking like this seems to do the trick: diff --git a/drivers/mtd/spi/spi_flash.c b/drivers/mtd/spi/spi_flash.c index 907067b..b75e66a 100644 --- a/drivers/mtd/spi/spi_flash.c +++ b/drivers/mtd/spi/spi_flash.c @@ -1131,14 +1131,16 @@ int spi_flash_scan(struct spi_flash *flash) /* lock hooks are flash specific - assign them based on idcode0 */ switch (idcode[0]) { +#if 0 #if defined(CONFIG_SPI_FLASH_STMICRO) || defined(CONFIG_SPI_FLASH_SST) case SPI_FLASH_CFI_MFR_STMICRO: case SPI_FLASH_CFI_MFR_SST: flash->flash_lock = stm_lock; flash->flash_unlock = stm_unlock; flash->flash_is_locked = stm_is_locked; -#endif break; +#endif +#endif default: debug("SF: Lock ops not supported for %02x flash\n", idcode[0]); } and if someone is watching, the #endif should be moved. switch (...) { break; } is strange kind of C. Best regards, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot