On Mon 2016-05-30 10:43:39, Fabio Estevam wrote: > On Mon, May 30, 2016 at 5:33 AM, Pavel Machek <pa...@denx.de> wrote: > > > 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... > > Does this quick hack help? I am wondering if yous SPI flash power up > with the SR field protected:
This may be stupid but... is it possible that changes made by write_sr() persist over powerdown? Best regards, Pavel > --- a/drivers/mtd/spi/spi_flash.c > +++ b/drivers/mtd/spi/spi_flash.c > @@ -1021,11 +1021,7 @@ int spi_flash_scan(struct spi_flash *flash) > return -EPROTONOSUPPORT; > } > > - /* Flash powers up read-only, so clear BP# bits */ > - if (idcode[0] == SPI_FLASH_CFI_MFR_ATMEL || > - idcode[0] == SPI_FLASH_CFI_MFR_MACRONIX || > - idcode[0] == SPI_FLASH_CFI_MFR_SST) > - write_sr(flash, 0); > + write_sr(flash, 0); > > /* Assign spi data */ > flash->name = params->name; -- (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