[U-Boot] [PATCH v2 0/4] lpc32xx: add legacy NXP BSP drivers

slemieux.tyco at gmail.com slemieux.tyco at gmail.com
Wed Jul 29 18:14:06 CEST 2015


From: Sylvain Lemieux <slemieux at tycoint.com>

This series of patches bring the legacy NXP LPC32xx BSP
drivers SLC NAND (hardware ECC), DMA & USB into the latest u-boot.

Refer to each individual patches for details on the change done to
integrate the driver into the latest u-boot.

The legacy BSP patch (u-boot-2009.03_lpc32x0-v1.07.patch.tar.bz2)
was downloaded from the LPCLinux Web site.

The patch adding the LPC32xx MAC and SMSC RMII phy support
should be applied first:
- http://patchwork.ozlabs.org/patch/489100/
- http://patchwork.ozlabs.org/patch/489190/
- http://patchwork.ozlabs.org/patch/491419/
- http://patchwork.ozlabs.org/patch/491420/

The SLC NAND patch should be applied after:
- https://patchwork.ozlabs.org/patch/497308/

The patch modifying the I2C to use the HCLK get API function
should be applied after the SLC NAND patch:
- https://patchwork.ozlabs.org/patch/500511/

The NAND driver was only tested for large page NAND.

Potential test opportunity for small page NAND:
- Since the equivalent of the legacy NXP BSP drivers are available
  (NAND SLC / DMA / Ethernet / USB), it will be nice if somebody
  using the PHY3250 development board can test small pafe NAND.
- The remaining porting work to the latest u-boot include the 
  migration of the board & configuration files.

Changes from v1 to v2:
* Moved the DMA patch as the first patch of the series
  and the NAND SLC patch as thesecond one.
* As per discussion on mailing list with Vladimir,
  incorporate NAND SLC hardware ECC support into the following
  NAND SLC patch: https://patchwork.ozlabs.org/patch/497308/
* As per discussion on mailing list with Vladimir & Albert,
  add conditional compile option to build the original
  NAND SLC code using software ECC for SPL build.
* Moved ECC layout for small page NAND in a separate patch.
* Addressed Marek's comments on LPC32xx USB driver:
  - use "get_timer()" to handle timeout.
  - Split USB and I2C driver.
* Updated LPC32xx I2C driver to support the I2C that is part
  of the USB module.
* Removed ISP1301 USB transceiver I2C registers definition
  that are not used.
* For the USB driver, use "cpu" initialization & stop
  functions API instead of the "board" API.

Note:
I am sending the patches using <slemieux.tyco at gmail.com>,
until I can submit patch using my regular e-mail <slemieux at tycoint.com>.


Sylvain Lemieux (4):
  dma: lpc32xx: add DMA driver
  nand: lpc32xx: add hardware ECC support
  nand: lpc32xx: add ECC layout for small page NAND
  usb: lpc32xx: add host USB driver

 arch/arm/cpu/arm926ejs/lpc32xx/devices.c      |   6 +
 arch/arm/include/asm/arch-lpc32xx/clk.h       |  15 ++
 arch/arm/include/asm/arch-lpc32xx/dma.h       |  33 +++
 arch/arm/include/asm/arch-lpc32xx/sys_proto.h |   1 +
 drivers/dma/Makefile                          |   1 +
 drivers/dma/lpc32xx_dma.c                     | 153 +++++++++++
 drivers/i2c/lpc32xx_i2c.c                     |  21 +-
 drivers/mtd/nand/lpc32xx_nand_slc.c           | 351 ++++++++++++++++++++++++++
 drivers/usb/host/Makefile                     |   1 +
 drivers/usb/host/ohci-lpc32xx.c               | 245 ++++++++++++++++++
 10 files changed, 823 insertions(+), 4 deletions(-)
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/dma.h
 create mode 100644 drivers/dma/lpc32xx_dma.c
 create mode 100644 drivers/usb/host/ohci-lpc32xx.c

-- 
1.8.3.1



More information about the U-Boot mailing list