This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Support for larger NAND flash (8192 + 744 OOB page size)

I am using a 32GBit NAND flash (Micron MT29F32G08CBADBWPR:D) with the following specifications

• Open NAND Flash Interface (ONFI) 2.3-compliant 1
• Multiple-level cell (MLC) technology
• Organization
– Page size x8: 8936 bytes (8192 + 744 bytes)
– Block size: 256 pages (2048K + 186K bytes)
– Plane size: 2 planes x 1064 blocks per plane
– Device size: 32Gb: 2128 blocks

The omap2 nand driver does not seem to support this configuration. During initialization of the gpmc, the kernel logs these error messages:

[ 1.794571] nand: Failed to detect ONFI extended param page
[ 1.800558] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0x44
[ 1.807224] nand: Micron MT29F32G08CBADAWP
[ 1.811555] nand: 4096MiB, MLC, page size: 8192, OOB size: 744
[ 1.817672] using OMAP_ECC_BCH16_CODE_HW ECC scheme
[ 1.822917] omap-elm 48080000.elm: unsupported config ecc-step=16
[ 1.829341] ELM is required for this ECC scheme
[ 1.834116] omap2-nand: probe of omap2-nand.0 failed with error -22

Looking at the kernel code, it seems the max ecc-steps is 8 (ERROR_VECTOR_MAX), and simply increasing that to 16 did not work for me.

Is an update available to work with flash parts with a larger nand flash such as this?