On Friday, May 01, 2015 at 09:05:15 AM, Michal Suchanek wrote: > On 1 May 2015 at 01:13, Marek Vasut <[email protected]> wrote: > > On Thursday, April 30, 2015 at 11:13:12 PM, Michal Suchanek wrote: > >> The sector size of the flash memory is unclear from datasheet or may > >> possibly vary between chips so add a flag to always use 4k blocks. > >> > >> Currently 4k blocks are always used when possible but in the future > >> somebody might want to do some optimizations with sector erase. > >> > >> Signed-off-by: Michal Suchanek <[email protected]> > > > > I _think_ you might be able to determine the size, no ? > > > > One way is to ask the vendor, but you can also try something like: > > 1) erase the whole SPI NOR > > 2) overwrite it with zeroes (or ones ? I think it should be all ones > > after erasing). > > 3) Erase sector 0 > > 4) Read some 128 KiB back > > 5) Observe what is the difference. > > I can determine it for this particular chip. However, when the vendor > datasheet says the block is 64/32K it might mean that chips with this > ID can have either block size.
http://www.chingistek.com/img/Product_Files/Pm25LD010020datasheet%20v04.pdf page 21: SECTOR_ER (20h) erases 4kByte sector. BLOCK_ER (d8h) erases 64kByte sector. http://www.gigadevice.com/product/download/366.html?locale=en_US page 27-28: Sector Erase (SE) (20h) erases 4kByte sector 64KB Block Erase (BE) (d8h) erases 64kByte sector > It's a value that we don't use anyway so I just mark it as unknown > here for future reference. Looks like standard SPI NOR opcodes [1], nothing unknown there ;-) [1] include/linux/mtd/spi-nor.h Best regards, Marek Vasut -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

