diff options
author | Stefan Roese <sr@denx.de> | 2007-01-05 11:46:05 +0100 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2007-01-05 11:46:05 +0100 |
commit | cd1d937f90250a32988c37b2b4af8364d25de8ed (patch) | |
tree | c433290737f14b6c547443ad094d0519dbfa8bbf /include | |
parent | c04a1a72878f6edf7b0ce62f166cdb857a8c2d88 (diff) | |
download | u-boot-imx-cd1d937f90250a32988c37b2b4af8364d25de8ed.zip u-boot-imx-cd1d937f90250a32988c37b2b4af8364d25de8ed.tar.gz u-boot-imx-cd1d937f90250a32988c37b2b4af8364d25de8ed.tar.bz2 |
[PATCH] nand: Fix problem with oobsize calculation
Here the description from Brian Brelsford <Brian_Brelsford@dell.com>:
The Hynix part returns a 0x1d in the 4th ID byte. The Samsung part
returns a 0x15. In the code fragment below bits [1:0] determine the
page size, it is ANDed via "(extid & 0x3)" then shifted out. The
next field is also ANDed with 0x3. However this is a one bit field
as defined in the Hynix and Samsung parts in the 4th ID byte that
determins the oobsize, not a two bit field. It works on Samsung as
bits[3:2] are 01. However for the Hynix there is a 11 in these two
bits, so the oob size gets messed up.
I checked the correct linux code and the suggested fix from Brian is
also available in the linux nand mtd driver.
Signed-off-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions