]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
mtd: nand: pxa3xx: Fix PIO FIFO draining
authorMaxime Ripard <maxime.ripard@free-electrons.com>
Wed, 18 Feb 2015 10:32:07 +0000 (11:32 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 26 Mar 2015 14:06:56 +0000 (15:06 +0100)
commita9395cba088ceb0328892bca1fd18b45ebc3bb22
tree1b86ba6ab00c128ab98753818db6fcb4a922481f
parent9e580aea6979631799cdaa94ff1d67856ccfce90
mtd: nand: pxa3xx: Fix PIO FIFO draining

commit 8dad0386b97c4bd6edd56752ca7f2e735fe5beb4 upstream.

The NDDB register holds the data that are needed by the read and write
commands.

However, during a read PIO access, the datasheet specifies that after each 32
bytes read in that register, when BCH is enabled, we have to make sure that the
RDDREQ bit is set in the NDSR register.

This fixes an issue that was seen on the Armada 385, and presumably other mvebu
SoCs, when a read on a newly erased page would end up in the driver reporting a
timeout from the NAND.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Acked-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mtd/nand/pxa3xx_nand.c