[U-Boot] [PATCH v3 00/11] mx6: SPL NAND support

Tim Harvey tharvey at gateworks.com
Thu May 8 07:16:11 CEST 2014


This series adds some necessary framework for IMX6 SPL support. The series
includes support for NAND SPL and has been tested with MMC as well. I have
tested this on five differing Ventana baseboards with a variety of memory
(32bit 512MB, 32bit 1024MB, 64bit 1024MB) and CPU configurations (IMX6Q,
IMX6DL, IMX6S).

This is based on top of Mashahiro Yamada's patch that consolidates
arch/arm/include/asm/arch-*/spl.h [1]

v3:
 - re-ordered calls in board_init_f
 - replace imx_iomux_v3_setup_multiple_pads_array with additional intelligence
   in imx_iomux_v3_setup_multiple_pads
 - added ifdef's around cpu specific mmdc iocfg functions for code-reduction
   with single-variant board configs
 - added checks for IMX6D
 - added Freescale copyright to boot device support function
 - fixed typo s/IMX6SLD/IMX6SDL
 - encorporated cleanups in mxs_nand_spl.c per feedback

v2:
 - use compatible linker script instead of creating new one
 - remove structure passing data from SPL to u-boot
 - remove dependence on mtdpart, mtdcore, nand_util, nand_ecc, nand_base
   and nand_bbt to bring SPL down in size. This reduced codesize by about 32k
   where now mxs_spl_nand is about 12k total
 - adjust CONFIG_SPL_TEXT_BASE, CONFIG_SPL_STACK and CONFIG_SPL_MAX_SIZE
   to accomodate the IMX6SOLO/DUALLITE which have half the iRAM of the
   IMX6DUAL/IMX6QUAD
 - move boot dev detection into imx-common/spl.c
 - move macros for using pinmux array into iomux-v3.h
 - remove missing/unnecessary include
 - revert mtdparts change
 - use get_ram_size() to detect memory
 - add support for MX6SOLO and MX6DUAL
 - set CS0_END for 4GB so get_ram_size() works
 - updated DDR3 calibration values for ventana boards
 - fixed build issue - only compile spl if doing spl build
 - fixed line length issue in README
 - remove CONFIG_SPL* conditions and conditionally compile instead
 - removed prints for CPU type and DRAM size/width - uboot will print these l
 - removed unused gw_ventana_spl.cfg
 - use common read_eeprom function
 - added MMC support to SPL
 - added Masahiro Yamada's boot mode consolidation patch
   http://patchwork.ozlabs.org/patch/341817 and rebase on top of it

[1] http://patchwork.ozlabs.org/patch/341817/

Tim Harvey (11):
  SPL: NAND: remove CONFIG_SYS_NAND_PAGE_SIZE
  SPL: NAND: add support for mxs nand
  MX6: add common SPL configuration
  MX6: add boot device support for SPL
  IMX: add comments and remove unused struct fields
  MX6: add structs for mmdc and ddr iomux registers
  MX6: add mmdc configuration for MX6Q/MX6DL
  IMX: iomux: add macros to setup iomux for multiple SoC types
  IMX: ventana: split read_eeprom into standalone file
  IMX: ventana: auto-configure for IMX6Q vs IMX6DL
  IMX: ventana: switch to SPL

 arch/arm/cpu/armv7/mx6/Makefile             |   1 +
 arch/arm/cpu/armv7/mx6/ddr.c                | 473 ++++++++++++++++++++++
 arch/arm/imx-common/Makefile                |   1 +
 arch/arm/imx-common/cpu.c                   |  16 +-
 arch/arm/imx-common/iomux-v3.c              |  16 +-
 arch/arm/imx-common/spl.c                   |  81 ++++
 arch/arm/include/asm/arch-mx6/mx6-ddr.h     | 231 +++++++++++
 arch/arm/include/asm/imx-common/iomux-v3.h  |  25 ++
 board/gateworks/gw_ventana/Makefile         |   3 +-
 board/gateworks/gw_ventana/README           |  92 +++--
 board/gateworks/gw_ventana/eeprom.c         |  89 +++++
 board/gateworks/gw_ventana/gw_ventana.c     | 591 +++++++++++++++-------------
 board/gateworks/gw_ventana/gw_ventana.cfg   |  15 -
 board/gateworks/gw_ventana/gw_ventana_spl.c | 419 ++++++++++++++++++++
 board/gateworks/gw_ventana/ventana_eeprom.h |  11 +
 boards.cfg                                  |   6 +-
 common/spl/spl_nand.c                       |   2 +-
 drivers/mtd/nand/Makefile                   |   1 +
 drivers/mtd/nand/mxs_nand_spl.c             | 231 +++++++++++
 include/configs/gw_ventana.h                |  11 +
 include/configs/imx6_spl.h                  |  71 ++++
 21 files changed, 2047 insertions(+), 339 deletions(-)
 create mode 100644 arch/arm/cpu/armv7/mx6/ddr.c
 create mode 100644 arch/arm/imx-common/spl.c
 create mode 100644 board/gateworks/gw_ventana/eeprom.c
 create mode 100644 board/gateworks/gw_ventana/gw_ventana_spl.c
 create mode 100644 drivers/mtd/nand/mxs_nand_spl.c
 create mode 100644 include/configs/imx6_spl.h

-- 
1.8.3.2



More information about the U-Boot mailing list