]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
mtd: spinand: winbond: Fix ODTR write VCR on W35NxxJW
authorMiquel Raynal <miquel.raynal@bootlin.com>
Fri, 10 Apr 2026 17:41:05 +0000 (19:41 +0200)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Mon, 27 Apr 2026 13:08:04 +0000 (15:08 +0200)
commit135ac3b84bcedae1860e7a9512d63166f42b736e
tree00d9340098247fb202ec6c706f2bbc094be27d53
parent8d655748aba1b603c54053a20322401dc1e5d782
mtd: spinand: winbond: Fix ODTR write VCR on W35NxxJW

In most scenarios this variant is actually unused (VCR is written in
SSDR mode), but we need to provide an octal variant. The address is 24
bits but is sent over 4 bytes MSB first. This means we need to shift the
register address by one extra byte for the address to be correct.

I didn't catch this initially because the volatile register region is
256 bytes wide, so the write-then-read procedure did work with the small
register addresses I was using at that time: 0 and 1.

Fixes: 44a2f49b9bdc ("mtd: spinand: winbond: W35N octal DTR support")
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
drivers/mtd/nand/spi/winbond.c