[PATCH 21/22] mtd: rawnand: arasan: Workaround a misbehaving prog type with NV-DDR
Miquel Raynal
miquel.raynal at bootlin.com
Wed May 26 02:03:52 PDT 2021
On Wed, 2021-05-05 at 21:37:49 UTC, Miquel Raynal wrote:
> As explained in the comment introduced above the fix, the Arasan
> controller driver starts an operation when the prog register is being
> written with a "type" specific to the action to perform.
>
> The prog type used until now to perform a CHANGE READ COLUMN with an SDR
> interface was the PAGE READ type (CMD + ADDR + CMD +
> DATA). Unfortunately, for an unknown reason (let's call this a silicon
> bug) any CHANGE READ COLUMN performed this way in NV-DDR mode will fail:
> the data ready flag will never be triggered, nor will be the transfer
> complete flag. Forcefully, this leads to a timeout situation which is
> not easy to handle.
>
> Fortunately, it was spotted that sending the same commands through a
> different prog register "type", CHANGE READ COLUMN ENHANCED, would work
> all the time (even though this particular command is not supported by
> the core and is only available in a limited set of devices - we only
> care about the controller configuration and not the actual command which
> is sent to the device). So let's use this type instead when a CHANGE
> READ COLUMN is requested.
>
> Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git nand/next.
Miquel
More information about the linux-mtd
mailing list