mtd: nand: omap: Synchronize the access to the ECC engine
authorRostislav Lisovy <lisovy@gmail.com>
Wed, 29 Oct 2014 10:10:59 +0000 (11:10 +0100)
committerBrian Norris <computersforpeace@gmail.com>
Wed, 5 Nov 2014 21:01:22 +0000 (13:01 -0800)
The AM335x Technical Reference Manual (spruh73j.pdf) says
"Because the ECC engine includes only one accumulation context,
it can be allocated to only one chip-select at a time ... "
(7.1.3.3.12.3). Since the commit 97a288ba2cfa ("ARM: omap2+:
gpmc-nand: Use dynamic platform_device_alloc()") gpmc-nand
driver supports multiple NAND flash devices connected to
the single controller.
Use global 'struct nand_hw_control' among multiple NAND
instances to synchronize the access to the single ECC Engine.

Tested with custom AM335x board using 2x NAND flash chips.

Signed-off-by: Rostislav Lisovy <lisovy@merica.cz>
Acked-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/nand/omap2.c

Simple merge