[U-Boot] [PATCH v3 00/15] Add an SPL to boot the da850evm from SPI

Christian Riesch christian.riesch at omicron.at
Fri Nov 25 13:37:29 CET 2011


Hi all,

Heiko Schocher added support for the low level configuration
of the DA850 SoCs and I would like to use this code on my board. At the
same time I would like to add support for this low level configuration
for the da850evm board. This makes it possible to test/use the
lowlevel functions also for developers who don't have access neither to
Heiko's board nor to mine.

The patchset aims at implementing SPL support for the da850evm
configuration to allow booting this board from SPI flash without
using the UBL (see doc/README.davinci).

Changes for v3:
- removed definition of variables from header files (pinmux configs),
  added .c file for these definitions instead
- removed noise and hardcoded values from drivers/mtd/spi/spi_spl_load.c
- split large patches into smaller ones
- replaced $(PAD_TO) in Makefile by $(CONFIG_SPL_MAX_SIZE)
- moving the pinmux definitions for da830 is not included anymore, I'll
  do this later in a separate patch

Not changed for v3:
- I kept the #if !defined... in arch/arm/lib/eabi_compat.c since I am
  afraid that this will cause problems when debugging SPLs, see
  my comment in [1].

Major changes for v2:
- Added header files that contain the definition of the pinmux structs.
- Added code that actually loads u-boot from SPI flash and starts it.

The first patches move the pinmux functions from the board tree
to the arch tree and also use the in the lowlevel configuration
in arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c. 

Patches #8 and #9 fix two problems I had during development.

The other patches add the SPL and fix mkimage for the building of AIS
images. 

The patches apply on top of mainline u-boot and Heiko's patch

arm, arm926ejs: always do cpu critical inits
http://patchwork.ozlabs.org/patch/124787/

To build run

make da850evm_config
make u-boot.ais

Then program u-boot.ais to SPI flash on the da850evm.

Regards, Christian

[1] http://lists.denx.de/pipermail/u-boot/2011-November/110727.html
[2] http://lists.denx.de/pipermail/u-boot/2011-November/109997.html

Cc: Heiko Schocher <hs at denx.de>
Cc: Sandeep Paulraj <s-paulraj at ti.com>

Christian Riesch (15):
  arm, davinci: Move pinmux functions from board to arch tree
  arm, hawkboard: Remove obsolete struct pinmux_config i2c_pins
  arm, da850evm: Do pinmux configuration for EMAC together with other
    pinmuxes
  arm, da850: Add pinmux configurations to the arch tree
  arm, da850evm: Use the pinmux configurations defined in the arch tree
  arm, hawkboard: Use the pinmux configurations defined in the arch
    tree
  arm, davinci: Remove duplication of pinmux configuration code
  arm, davinci: Fix clear bss loop for zero length bss
  arm: printf() is not available in some SPL configurations
  spl: display_options.o is required for SPI flash support in SPL
  sf: Add spi_boot() to allow booting from SPI flash in an SPL
  arm, davinci: Add SPL support for DA850 SoCs
  arm, da850evm: Add an SPL for SPI boot
  mkimage: Fix variable length header support
  arm, davinci: Add support for generating AIS images to the Makefile

 .gitignore                                         |    1 +
 Makefile                                           |   13 ++
 arch/arm/cpu/arm926ejs/davinci/Makefile            |    6 +-
 arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c    |   36 +----
 arch/arm/cpu/arm926ejs/davinci/da850_pinmux.c      |  166 ++++++++++++++++++++
 .../arm/cpu/arm926ejs/davinci/pinmux.c             |    0
 arch/arm/cpu/arm926ejs/davinci/spl.c               |   34 ++++-
 arch/arm/cpu/arm926ejs/start.S                     |    8 +-
 arch/arm/include/asm/arch-davinci/hardware.h       |    2 +
 arch/arm/include/asm/arch-davinci/pinmux_defs.h    |   50 ++++++
 arch/arm/lib/eabi_compat.c                         |    2 +
 board/davinci/common/Makefile                      |    2 +-
 board/davinci/da8xxevm/config.mk                   |    5 +
 board/davinci/da8xxevm/da830evm.c                  |    2 -
 board/davinci/da8xxevm/da850evm.c                  |  163 ++++----------------
 board/davinci/da8xxevm/hawkboard_nand_spl.c        |   59 +------
 board/davinci/da8xxevm/u-boot-spl.lds              |   73 +++++++++
 board/davinci/ea20/ea20.c                          |    2 -
 doc/README.SPL                                     |    1 +
 drivers/mtd/spi/Makefile                           |    6 +
 drivers/mtd/spi/spi_spl_load.c                     |   58 +++++++
 include/configs/da850_am18xxevm.h                  |    1 +
 include/configs/da850evm.h                         |   54 +++++++
 include/configs/hawkboard.h                        |    1 +
 include/spi_flash.h                                |    3 +
 lib/Makefile                                       |    2 +
 nand_spl/board/davinci/da8xxevm/Makefile           |   11 +-
 tools/mkimage.c                                    |   97 ++++++------
 28 files changed, 584 insertions(+), 274 deletions(-)
 create mode 100644 arch/arm/cpu/arm926ejs/davinci/da850_pinmux.c
 rename board/davinci/common/davinci_pinmux.c => arch/arm/cpu/arm926ejs/davinci/pinmux.c (100%)
 create mode 100644 arch/arm/include/asm/arch-davinci/pinmux_defs.h
 create mode 100644 board/davinci/da8xxevm/config.mk
 create mode 100644 board/davinci/da8xxevm/u-boot-spl.lds
 create mode 100644 drivers/mtd/spi/spi_spl_load.c



More information about the U-Boot mailing list