tegra: nand: fix read_byte required for proper onfi detection
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>
Wed, 5 Aug 2015 22:47:05 +0000 (00:47 +0200)
committerTom Warren <twarren@nvidia.com>
Thu, 13 Aug 2015 20:06:02 +0000 (13:06 -0700)
commit1bc66a57c067eba5f687c2ab0a70956821dc7220
treefa00c6940f7dedaafff3c75df1ffa5dc9017e9f8
parent10ef82d398e2789af57e01a4f8e5eed74a876f32
tegra: nand: fix read_byte required for proper onfi detection

Fix PIO read_byte() implementation not only used for the legacy READ ID
but also the PARAM command required for proper ONFI detection.

This fix is inspired by Lucas Stach's Linux Tegra NAND driver of late
(not mainline yet but getting there soon I hope).

I vaguely remember that those commands are special on 16-bit bus NAND
(e.g. always return 8-bit data regardless) and later Linux MTD fixed/
changed the way this is handled which in turn broke once U-Boot pulled
that in. Basically instead of doing PIO read regular DMA block read is
now used which this patch actually fixes.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
drivers/mtd/nand/tegra_nand.c