
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