add i.MX51 Nand support

Sascha Hauer s.hauer at
Wed Nov 10 09:53:46 EST 2010

Hi all,

The following series is a respin of the series adding i.MX51 Nand support
to the kernel for barebox.

The series reveals to problems in barebox. First the i.MX51 Nand controller
needs two memory resources. Since I know that Jean-Christophe recently
worked on adding resources to barebox I decided for a hack in the driver
for now: I just hardcoded the second base address. Second the current
implementation of dma_alloc_coherent stinks. The implementation simply
maps the whole SDRAM a second time uncached. This way we can use the
normal malloc function to allocate dma coherent memory and just add
a known offset to the returned pointer. On i.MX51 boards with 512MB SDRAM
we do not have enough space in the memory map to map the SDRAM twice, in
my case the mapping shadowed the Nand register space. Be aware of this
when you try to add Nand support to your i.MX51 board and use the babbage
code as a template.


The following changes since commit 6a84a019abf0663c27c2c41e69cf0aea1dce19e9:

  i.MX device macros: Fix typo (2010-11-10 10:46:03 +0100)

are available in the git repository at:
  git:// imx51-nand

Sascha Hauer (13):
      NAND: reset chips before usage like the kernel does
      imx_nand: remove 0xe00 offset from registers
      imx_nand: rework get_dev_status
      imx nand: remove unnecessary register write
      imx_nand: make some internally used functions overwriteable
      imx nand: do not read-modify-write SPAS register
      imx nand: add V1_V2 namespace to registers
      mxc_nand: fix correct_data function
      imx nand: move initialization to preset function
      imx nand: introduce overwritable check_int function
      imx nand: Add v3 (i.MX51) support
      fb: set id for framebuffer device correctly
      ARM i.MX51: Add nand device

 arch/arm/mach-imx/include/mach/devices-imx51.h |    5 +
 arch/arm/mach-imx/include/mach/imx51-regs.h    |    2 +
 arch/arm/mach-imx/nand.c                       |    9 +
 drivers/mtd/nand/Kconfig                       |    4 +-
 drivers/mtd/nand/nand_base.c                   |    6 +
 drivers/mtd/nand/nand_imx.c                    |  718 ++++++++++++++++--------
 drivers/video/fb.c                             |    1 +
 7 files changed, 494 insertions(+), 251 deletions(-)

More information about the barebox mailing list