[U-Boot] [PATCH v4 2/4] nand: lpc32xx: add SLC NAND controller support

LEMIEUX, SYLVAIN slemieux at Tycoint.com
Wed Jul 29 20:46:49 CEST 2015


> From: Scott Wood [mailto:scottwood at freescale.com]
> Sent: 27-Jul-15 9:24 PM
>
> On Sat, 2015-07-18 at 03:07 +0300, Vladimir Zapolskiy wrote:
> > The change adds support of LPC32xx SLC NAND controller.
> >
> > LPC32xx SoC has two different mutually exclusive NAND controllers to
> > communicate with single and multiple layer chips.
> >
> > This simple driver allows to specify NAND chip timings and defines
> > custom read_buf()/write_buf() operations, because access to 8-bit data
> > register must be 32-bit aligned.
> >
> > Support of hardware ECC calculation is not implemented (data
> > correction is always done by software), since it requires a working
> > DMA engine.
> >
> > The driver can be included to an SPL image.
> >
> > Signed-off-by: Vladimir Zapolskiy <vz at mleia.com>
> > ---
> > Changes from v3 to v4:
> > * renamed "lpc32xx_nand_slc_registers" to "lpc32xx_nand_slc_regs",
> > * replaced non-leading tabs with spaces to get columned assignments,
> > * removed leftover redundant type casts,
> > * lpc32xx_nand_cmd_ctrl() sets address register iff (ctrl & NAND_ALE).
> >
> > Changes from v2 to v3:
> > * no changes, sent a non-rebased version by mistake.
> >
> > Changes from v1 to v2:
> > * addressed Albert's and Scott's comments to LPC32xx SLC NAND driver:
> >   - removed unnecessary uint32_t casts in write_buf()/write_byte(),
> >   - removed IO_ADDR_[RW] assignment, this is done in nand.c for SPL
> >     and generally not needed for custom defined PIO interfaces in
> >     U-boot (with exception of simple NAND SPL, addressed by 1/4),
> >   - removed leftover declarations of HW ECC related bit fields,
> >     this should be added along with HW ECC support,
> >   - improved description of a reason why software ECC is selected,
> >     if DMA is unavailable (explicit reference to User Manual from NXP).
> >
> > Previous review can be found here:
> >   v3:
> >     http://lists.denx.de/pipermail/u-boot/2015-July/219431.html
> >
> >   v2:
> >     http://lists.denx.de/pipermail/u-boot/2015-July/219422.html
> >
> >   v1:
> >     http://lists.denx.de/pipermail/u-boot/2015-July/219095.html
> >     http://lists.denx.de/pipermail/u-boot/2015-July/219254.html
> >
> >  arch/arm/cpu/arm926ejs/lpc32xx/devices.c      |   6 +
> >  arch/arm/include/asm/arch-lpc32xx/clk.h       |   2 +
> >  arch/arm/include/asm/arch-lpc32xx/sys_proto.h |   1 +
> >  drivers/mtd/nand/Makefile                     |   1 +
> >  drivers/mtd/nand/lpc32xx_nand_slc.c           | 176
> > ++++++++++++++++++++++++++
> >  5 files changed, 186 insertions(+)
> >  create mode 100644 drivers/mtd/nand/lpc32xx_nand_slc.c
>
> Acked-by: Scott Wood <scottwood at freescale.com>
>
> -Scott

Tested for large page NAND.
Tested-by: Sylvain Lemieux <slemieux at tycoint.com>


________________________________

This e-mail contains privileged and confidential information intended for the use of the addressees named above. If you are not the intended recipient of this e-mail, you are hereby notified that you must not disseminate, copy or take any action in respect of any information contained in it. If you have received this e-mail in error, please notify the sender immediately by e-mail and immediately destroy this e-mail and its attachments.


More information about the U-Boot mailing list