Skip to content

NAND update

William Juul u-boot 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest9 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/9NAND updateboard/bf537-stamp/nand.c board/dave/PPChameleonEVB/nand.c board/delta/nand.c +9 more+215 -3270 replies
2/9NAND updatecommon/cmd_doc.c common/cmd_nand.c+114 -1212 replies
3/9NAND updatecpu/arm926ejs/davinci/nand.c cpu/ppc4xx/ndfc.c+44 -540 replies
4/9NAND updatedrivers/nand/nand_bbt.c+370 -1820 replies
5/9NAND updatedrivers/nand/nand_ecc.c drivers/nand/nand_ids.c drivers/nand/nand_util.c+359 -1880 replies
6/9NAND updateinclude/common.h include/linux/err.h include/linux/mtd/blktrans.h +7 more+567 -2050 replies
7/9NAND updateinclude/linux/mtd/nand.h+305 -1420 replies
8/9NAND updateinclude/linux/mtd/nftl-user.h include/linux/mtd/nftl.h include/linux/mtd/ubi-header.h +1 more+618 -720 replies
9/9NAND update+0 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [U-Boot-Users] [PATCH 0/9] NAND update

Update NAND to use MTD from Linux 2.6.22.1

A lot changed in the Linux MTD code, since it was last ported from Linux to U-Boot. This patch takes U-Boot NAND support to the level of Linux 2.6.22.1 and will enable support for very large NAND devices (4KB pages) and ease the compatibility between U-Boot and Linux filesystems and drivers.

This patch is tested on two custom boards with PPC and ARM processors running YAFFS in U-Boot and Linux using gcc-4.1.2 cross compilers. We intend to submitt a YAFFS patch after this patch has been submitted/accepted.

MAKEALL ppc/arm has some issues:
* DOC/OneNand/nand_spl is not building (I have not tried porting these parts, and since I do not have any HW and I am not familiar with this code/HW I think its best left to someone else.)

Except for the issues mentioned above, I have ported all drivers necessary to run MAKEALL ppc/arm without errors and warnings. Many drivers were trivial to port, but some were not so trivial. The following drivers must be examined carefully and maybe rewritten to some degree:
cpu/ppc4xx/ndfc.c
cpu/arm926ejs/davinci/nand.c
board/delta/nand.c
board/zylonite/nand.c

----

We have set up a git repository were you can pull the patch:
http://git.tandberg.com/tandberg/u-boot.git
Since my last email to the list I have cleaned up some coding style issues as requested by Stefan Roese.

The master branch is tracking the official u-boot.git master branch. The branch mtd-update-1.3.0-rc3 is based on tag v1.3.0-rc3
The branch mtd-update will (to some degree) continue to track u-boot updates.

The file drivers/nand/nand_base.c contains the struct nand_oob_128 which is not (yet) part of Linux mtd. I will try to figure out if this implementation is valid by asking on the linux-mtd mailing list.

Note that the following patch-series is broken unless it is seen as one single patch. It is broken up to multiple emails to fit the size limit. This patch series is based on a diff against v1.3.0-rc3.

Best regards
William Juul

-------------------------------------------------
William Juul, Senior Development Engineer
Data Respons Norge AS
Sandviksveien 26
P.O. Box 489
NO-1323 H?vik, Norway

www.datarespons.no
-------------------------------------------------

 board/bf537-stamp/nand.c         |   43 +-
 board/dave/PPChameleonEVB/nand.c |   49 +-
 board/delta/nand.c               |   41 +-
 board/esd/common/esd405ep_nand.c |   42 +-
 board/freescale/m5329evb/nand.c  |   42 +-
 board/nc650/nand.c               |   78 +-
 board/netstar/nand.c             |   20 +-
 board/prodrive/alpr/nand.c       |   57 +-
 board/prodrive/pdnb3/nand.c      |   53 +-
 board/sc3/sc3nand.c              |   44 +-
 board/tqm8272/tqm8272.c          |   34 +-
 board/zylonite/nand.c            |   39 +-
 common/cmd_doc.c                 |    5 +-
 common/cmd_nand.c                |  230 ++--
 cpu/arm926ejs/davinci/nand.c     |   41 +-
 cpu/ppc4xx/ndfc.c                |   57 +-
 drivers/nand/diskonchip.c        |  559 ++++---
 drivers/nand/nand_base.c         | 3445 ++++++++++++++++++++------------------
 drivers/nand/nand_bbt.c          |  552 ++++--
 drivers/nand/nand_ecc.c          |   21 +-
 drivers/nand/nand_ids.c          |  169 ++-
 drivers/nand/nand_util.c         |  357 +++--
 include/common.h                 |    2 +
 include/linux/err.h              |   45 +
 include/linux/mtd/blktrans.h     |   81 +
 include/linux/mtd/compat.h       |    7 +-
 include/linux/mtd/doc2000.h      |  217 ++--
 include/linux/mtd/inftl-user.h   |   91 +
 include/linux/mtd/jffs2-user.h   |   35 +
 include/linux/mtd/mtd-abi.h      |  137 ++-
 include/linux/mtd/mtd.h          |  154 ++-
 include/linux/mtd/nand.h         |  447 ++++--
 include/linux/mtd/nftl-user.h    |   76 +
 include/linux/mtd/nftl.h         |   93 +-
 include/linux/mtd/ubi-header.h   |  360 ++++
 include/linux/mtd/ubi-user.h     |  161 ++
 include/nand.h                   |    3 +-
 37 files changed, 4665 insertions(+), 3222 deletions(-)