[U-Boot] [PATCH v2 00/22] U-Boot MMC SPL for OMAP4

Aneesh V
2011-05-15T15:21:18Z

This series adds mmc SPL support for OMAP4. This is essentially
an up-streaming effort for TI's x-loader for OMAP4 using the SPL
framework

This work partly draws upon previous work done for x-loader by:
Santosh Shilimkar <santosh.shilimkar@ti.com>
Rajendra Nayak <rnayak@ti.com>
and many others

This series is depedent on the following series:
http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/95550

Features supported:
* Clock init - DPLL locking, clock domains/modules enabling
* SDRAM/DMM initialization
* Mux initialization
* MMC raw read support
* MMC FAT read support

Improvments over x-loader:
* Code completely revamped
* DPLL programming that works for all SYS_CLK frequencies
* Automatic SDRAM identification and initialization
* Board dependent parts(especially mux) deferred to u-boot. So, same
SPL will work for Panda and SDP and most likely on any other board
that comes along
* Determination of u-boot size to avoid reading extra content while
loading U-Boot
* Modular apporach to enable future addition of support for all OMAP3/4
platforms

V2:
* Some fixes in SDRAM init, clock init
* Use of pre-calculated M & N values for DPLL locking instead
run-time calculation
* Change in make files to allow reuse of common rules
between boards
* Console initialization moved further earlier in the boot
allowing traces from even clock initialization code
* Reuse utility macros from a previous series

Aneesh V (21):
omap4: add OMAP4430 revision check
armv7: start.S: provide a hook for saving boot params
omap4: save parameters passed by ROM code to SPL
arm: new labels in the linker script file
Add generic spl infrastructure
armv7: start.S: add SPL support
omap: add spl support
omap4: add spl support for OMAP4 SDP
omap4: utility function to identify the context of hw init
omap4: separate mux settings into essential and non essential parts
omap4: correct mux data for sdp4430
omap4: add clock support
omap4: add serial console support to SPL
omap4: add sdram init support
omap4: calculate EMIF register values
omap4: automatic sdram detection
armv7: embed u-boot size within u-boot for use from SPL
omap: add MMC support to SPL
omap: spl: add FAT support over MMC
omap4: add spl support for OMAP4 Panda
omap: spl: add more debug traces

John Rigby (1):
mkimage: Add OMAP boot image support

Makefile | 24 +
arch/arm/cpu/armv7/cpu.c | 7 +
arch/arm/cpu/armv7/omap-common/Makefile | 1 +
.../{omap4/lowlevel_init.S => omap-common/utils.c} | 76 +-
arch/arm/cpu/armv7/omap4/Makefile | 3 +
arch/arm/cpu/armv7/omap4/board.c | 140 ++-
arch/arm/cpu/armv7/omap4/clocks.c | 764 +++++++++++
arch/arm/cpu/armv7/omap4/clocks_get_m_n.c | 154 +++
arch/arm/cpu/armv7/omap4/emif.c | 1340 ++++++++++++++++++++
arch/arm/cpu/armv7/omap4/lowlevel_init.S | 31 +
arch/arm/cpu/armv7/omap4/omap4_mux_data.h | 76 ++
arch/arm/cpu/armv7/omap4/sdram_elpida.c | 267 ++++
arch/arm/cpu/armv7/start.S | 50 +-
arch/arm/cpu/armv7/u-boot.lds | 2 +
arch/arm/include/asm/arch-omap4/clocks.h | 506 ++++++++
arch/arm/include/asm/arch-omap4/emif.h | 1021 +++++++++++++++
arch/arm/include/asm/arch-omap4/omap4.h | 50 +-
arch/arm/include/asm/arch-omap4/sys_proto.h | 62 +-
arch/arm/include/asm/armv7.h | 6 +-
arch/arm/include/asm/global_data.h | 5 +
arch/arm/include/asm/omap_common.h | 62 +
arch/arm/include/asm/utils.h | 6 +
board/ti/panda/panda.c | 25 +-
board/ti/{sdp4430/sdp.h => panda/panda_mux_data.h} | 76 +-
board/ti/sdp4430/config.mk | 3 +-
board/ti/sdp4430/sdp.c | 25 +-
.../{panda/panda.h => sdp4430/sdp4430_mux_data.h} | 128 +--
common/image.c | 1 +
include/configs/omap4_panda.h | 24 +
include/configs/omap4_sdp4430.h | 24 +
include/image.h | 1 +
spl/board/ti/omap4.mk | 176 +++
.../config.mk => spl/board/ti/panda/Makefile | 21 +-
spl/board/ti/rules-omap.mk | 74 ++
.../config.mk => spl/board/ti/sdp4430/Makefile | 21 +-
spl/board/ti/spl-omap.c | 206 +++
.../armv7/u-boot.lds => spl/board/ti/spl-omap.lds | 69 +-
tools/Makefile | 2 +
tools/mkimage.c | 2 +
tools/mkimage.h | 1 +
tools/omapimage.c | 229 ++++
tools/omapimage.h | 50 +
42 files changed, 5498 insertions(+), 313 deletions(-)
copy arch/arm/cpu/armv7/{omap4/lowlevel_init.S => omap-common/utils.c} (50%)
create mode 100644 arch/arm/cpu/armv7/omap4/clocks.c
create mode 100644 arch/arm/cpu/armv7/omap4/clocks_get_m_n.c
create mode 100644 arch/arm/cpu/armv7/omap4/emif.c
create mode 100644 arch/arm/cpu/armv7/omap4/omap4_mux_data.h
create mode 100644 arch/arm/cpu/armv7/omap4/sdram_elpida.c
create mode 100644 arch/arm/include/asm/arch-omap4/clocks.h
create mode 100644 arch/arm/include/asm/arch-omap4/emif.h
create mode 100644 arch/arm/include/asm/omap_common.h
rename board/ti/{sdp4430/sdp.h => panda/panda_mux_data.h} (76%)
rename board/ti/{panda/panda.h => sdp4430/sdp4430_mux_data.h} (67%)
create mode 100644 spl/board/ti/omap4.mk
copy board/ti/sdp4430/config.mk => spl/board/ti/panda/Makefile (63%)
create mode 100644 spl/board/ti/rules-omap.mk
copy board/ti/sdp4430/config.mk => spl/board/ti/sdp4430/Makefile (63%)
create mode 100644 spl/board/ti/spl-omap.c
copy arch/arm/cpu/armv7/u-boot.lds => spl/board/ti/spl-omap.lds (57%)
create mode 100644 tools/omapimage.c
create mode 100644 tools/omapimage.h