ramips: fix reboot with W25Q256 with 4-address-mode enabled
authorDaniel Golle <daniel@makrotopia.org>
Wed, 6 Jun 2018 23:51:58 +0000 (01:51 +0200)
committerDaniel Golle <daniel@makrotopia.org>
Thu, 7 Jun 2018 00:34:13 +0000 (02:34 +0200)
commit8796680277f4b231386fbc6e8a1ccae91d9fcbe8
tree7b7cc964fec7ef442f0a2fdaba4ae0ce3970583f
parent1bbe813db0bb8dc65b8ed7740cf7f35a81b8ba0e
ramips: fix reboot with W25Q256 with 4-address-mode enabled

Some board vendors actually changed the loader to expect the chip
to come up in 4-address-mode and flipped the ADP bit in the flash
chip's configuration register which makes it come up in 4-address-mode.
Hence it doesn't make sense to avoid switching to 4-address-mode on
those boards but the opposite as otherwise reboot hangs eg. on the
WrtNode2 boards. Fix this by checking the ADP register and only using
SPI_NOR_4B_READ_OP on chips which have ADP==0 (come up in 3-byte mode).

See also datasheet section 7.1.11 Power Up Address Mode (ADP)

Fixes: 22d982ea0 ("ramips: add support for switching between 3-byte and 4-byte addressing on w25q256 flash")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
target/linux/ramips/patches-4.14/0054-mtd-spi-nor-w25q256-respect-default-mode.patch [new file with mode: 0644]