Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
Introduction

...

Code Block
themeMidnight
config MTD_NAND_ECC_SW_BCH
        bool "Support software BCH ECC"
        select BCH
        default n
        help
          This enables support for software BCH error correction. Binary BCH
          codes are more powerful and cpu intensive than traditional Hamming
          ECC codes. They are used with NAND devices requiring more than 1 bit
          of error correction.

config MTD_NAND_ARASAN
    tristate "Support for Arasan Nand Flash controller"
    depends on HAS_IOMEM && HAS_DMA
	select BCH
    help
      Enables the driver for the Arasan NAND flash controller on Zynq Ultrascale+ MPSoC.

Device Tree Settings

More information on nand device tree node details, refer the link Nand device tree
Example for device tree

...

Below test cases requires the following user space tools
mtd_debug, nandtest
All these tools are part of the mtd-utils and source is available from link http://git.infradead.org/mtd-utils.git

Note: expected output may not be same and its all depends on the flash device and configuration of the target system.

...

Code Block
themeMidnight
[  383.850772] =================================================
[  383.857809] mtd_readtest: MTD device: 1
[  383.861648] mtd_readtest: MTD device size 20971520, eraseblock size 4194304, page size 16384, count of eraseblocks 5, pages per eraseblock 256, OOB size 1216
[  383.875808] mtd_test: scanning for bad eraseblocks
[  383.880599] mtd_test: block 0 is bad
[  383.884204] mtd_test: block 2 is bad
[  383.887775] mtd_test: scanned 5 eraseblocks, 2 are bad
[  383.892915] mtd_readtest: testing page read
[  384.155680] mtd_readtest: finished
[  384.159103] =================================================
 
**Note:** Paths for the modules and tool names may vary from release to release. Please cross verify before starting the test.
 
 

Change Log

  • 2024.2

    • Summary
      • None
    • Commits
      • None
  • 2024.1

    • Summary
      • Include ECC syndrome along with in-band data while checking for ECC failure
    • Commits
  • 2023.2

    • Summary
      • Avoid overwriting valid data while checking for bitflips during HW-ECC read
    • Commits
  • 2023.1

    • Summary
      • Update NAND bus clock instead of system clock
      • Fix clock rate in NV-DDR
    • Commits
  • 2022.2

    • Summary
      • Update NAND bus clock instead of system clock
      • Fix clock rate in NV-DDR
      • Provide an additional ->exec_op() check
    • Commits
  • 2022.1

    • Summary
      • Prevent an unsupported configuration
    • Commits
  • 2021.2

    • Summary
      • Add a helper to check if a CHANGE_READ_COLUMN is possible.
      • Check if CHANGE_READ_COLUMN is supported.
    • Commits
  • 2021.1

    • Summary
      • Support the hardware BCH ECC engine.
      • Use the ECC framework OOB layouts.
      • Add NV-DDR Interface support.
      • Workaround a misbehaving prog type with NV-DDR.
    • Commits

Mainline status

Mainlined

Related Links

...