• Tudor.Ambarus@microchip.com's avatar
    mtd: spi-nor: fix selection of uniform erase type in flexible conf · e8828ec1
    Tudor.Ambarus@microchip.com authored
    There are uniform, non-uniform and flexible erase flash configurations.
    
    The non-uniform erase types, are the erase types that can _not_ erase
    the entire flash by their own.
    
    As the code was, in case flashes had flexible erase capabilities
    (support both uniform and non-uniform erase types in the same flash
    configuration) and supported multiple uniform erase type sizes, the
    code did not sort the uniform erase types, and could select a wrong
    erase type size.
    
    Sort the uniform erase mask in case of flexible erase flash
    configurations, in order to select the best uniform erase type size.
    
    Uniform, non-uniform, and flexible configurations with just a valid
    uniform erase type, are not affected by this change.
    
    Uniform erase tested on mx25l3273fm2i-08g and sst26vf064B-104i/sn.
    Non uniform erase tested on sst26vf064B-104i/sn.
    
    Fixes: 5390a8df ("mtd: spi-nor: add support to non-uniform SFDP SPI NOR flash memories")
    Signed-off-by: default avatarTudor Ambarus <tudor.ambarus@microchip.com>
    Signed-off-by: default avatarBoris Brezillon <boris.brezillon@bootlin.com>
    e8828ec1
spi-nor.c 111 KB