mtd: spi-nor: sfdp: default to addr_width of 3 for configurable widths
authorPratyush Yadav <p.yadav@ti.com>
Mon, 25 May 2020 09:15:31 +0000 (14:45 +0530)
committerTudor Ambarus <tudor.ambarus@microchip.com>
Sat, 30 May 2020 17:22:49 +0000 (20:22 +0300)
commitf9acd7fa80be6ee14aecdc54429f2a48e56224e8
tree67ee20e2ffc0b551c2f8a1a3bc8ba87d92030da3
parent8a2644d5f3608822925c9204a3d19a8e3025fd4a
mtd: spi-nor: sfdp: default to addr_width of 3 for configurable widths

JESD216D.01 says that when the address width can be 3 or 4, it defaults
to 3 and enters 4-byte mode when given the appropriate command. So, when
we see a configurable width, default to 3 and let flash that default to
4 change it in a post-bfpt fixup.

This fixes SMPT parsing for flashes with configurable address width. If
the SMPT descriptor advertises variable address width, we use
nor->addr_width as the address width. But since it was not set to any
value from the SFDP table, the read command uses an address width of 0,
resulting in an incorrect read being issued.

Signed-off-by: Pratyush Yadav <p.yadav@ti.com>
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
drivers/mtd/spi-nor/sfdp.c