Skip to content

U-Boot MMC SPL for OMAP4

Aneesh V u-boot 7 versions – New

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest posting 2/212 patches 0 repliesNew
  2. v4 posting 1/212 patches 0 repliesSuperseded
  3. v3 posting 2/20 of 12 patches 0 repliesSuperseded
Earlier versions · 4
VersionPostedPatchesRepliesStatus
v3 posting 1/212 patches0 repliesSuperseded
v2 posting 2/21 of 22 patches0 repliesSuperseded
v2 posting 1/222 patches0 repliesSuperseded
v10 of 22 patches0 repliesSuperseded

Changes in v4 from the cover letter

* Rebased on u-boot-ti/master as on 21 Jul 2011

Patches in v4 posting 2/2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/12omap4: utility function to identify the context of hw initarch/arm/include/asm/arch-omap4/sys_proto.h arch/arm/include/asm/omap_common.h+82 -10 replies
2/12omap4: cleanup pin mux dataarch/arm/cpu/armv7/omap4/board.c arch/arm/cpu/armv7/omap4/omap4_mux_data.h arch/arm/include/asm/arch-omap4/sys_proto.h +4 more+209 -1781 reply
2/12omap4: cleanup pin mux data+0 -01 reply
2/12omap4: cleanup pin mux data+0 -01 reply
3/12omap4: add OMAP4430 revision checkarch/arm/cpu/armv7/omap4/board.c arch/arm/include/asm/arch-omap4/omap4.h arch/arm/include/asm/arch-omap4/sys_proto.h +1 more+97 -80 replies
4/12omap4: add clock supportarch/arm/cpu/armv7/omap4/Makefile arch/arm/cpu/armv7/omap4/board.c arch/arm/cpu/armv7/omap4/clocks.c +4 more+1683 -00 replies
5/12omap4: add sdram init supportarch/arm/cpu/armv7/omap4/Makefile arch/arm/cpu/armv7/omap4/board.c arch/arm/cpu/armv7/omap4/emif.c +5 more+1500 -70 replies
6/12omap4: calculate EMIF register valuesarch/arm/cpu/armv7/omap-common/Makefile arch/arm/cpu/armv7/omap-common/utils.c arch/arm/cpu/armv7/omap4/board.c +7 more+977 -100 replies
7/12omap4: automatic sdram detectionarch/arm/cpu/armv7/omap4/emif.c include/configs/omap4_panda.h include/configs/omap4_sdp4430.h+240 -00 replies
8/12armv7: start.S: fixes and enhancements for SPLarch/arm/cpu/armv7/start.S arch/arm/cpu/armv7/u-boot.lds+39 -120 replies
9/12omap: add basic SPL supportarch/arm/cpu/armv7/Makefile arch/arm/cpu/armv7/omap-common/Makefile arch/arm/cpu/armv7/omap-common/spl.c +12 more+257 -640 replies
10/12Correct ih_os for u-boot.imgMakefile+1 -10 replies
11/12omap: add MMC and FAT support to SPLarch/arm/cpu/armv7/cpu.c arch/arm/cpu/armv7/omap-common/spl.c arch/arm/cpu/armv7/omap4/board.c +6 more+287 -20 replies
12/12mkimage: Add OMAP boot image supportarch/arm/cpu/armv7/omap4/config.mk common/image.c include/image.h +6 more+321 -40 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v4 yet.

Read the v4 thread

Cover letter [U-Boot] [PATCH v4 00/12] U-Boot MMC SPL for OMAP4

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 <[email protected]> Rajendra Nayak <[email protected]>
and many others

This series depends on the following series for the new SPL framework:
http://marc.info/?l=u-boot&m=131056990001719&w=2

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
* Flexible about the payload. Any image with a mkimage header can be loaded.
* The core SPL logic is generic and available for OMAP3/4. So, OMAP3 platforms can easily extend this work to add SPL support for the respective boards.

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

V3:
* Moved to the new SPL framework
* struct based register access for clock init
* Squashed together related patches as per Wolfgang's suggestions
* Re-organization of code in sdram init for better readability
* SPL loading the payload using mkimage header
* Avoided using custom bit-field accessor macros
* Several other minor changes(documented in respective patches)

V4:
* Rebased on u-boot-ti/master as on 21 Jul 2011

Aneesh V (11):
omap4: utility function to identify the context of hw init
omap4: cleanup pin mux data
omap4: add OMAP4430 revision check
omap4: add clock support
omap4: add sdram init support
omap4: calculate EMIF register values
omap4: automatic sdram detection
armv7: start.S: fixes and enhancements for SPL
omap: add basic SPL support
Correct ih_os for u-boot.img
omap: add MMC and FAT support to SPL

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

 Makefile                                           |    2 +-
 arch/arm/cpu/armv7/Makefile                        |    7 +-
 arch/arm/cpu/armv7/cpu.c                           |    7 +
 arch/arm/cpu/armv7/omap-common/Makefile            |    5 +
 arch/arm/cpu/armv7/omap-common/spl.c               |  272 ++++
 arch/arm/cpu/armv7/omap-common/u-boot-spl.lds      |   62 +
 arch/arm/cpu/armv7/omap-common/utils.c             |   57 +
 arch/arm/cpu/armv7/omap4/Makefile                  |    6 +
 arch/arm/cpu/armv7/omap4/board.c                   |  161 +++-
 arch/arm/cpu/armv7/omap4/clocks.c                  |  842 +++++++++++++
 .../panda => arch/arm/cpu/armv7/omap4}/config.mk   |   25 +-
 arch/arm/cpu/armv7/omap4/emif.c                    | 1305 ++++++++++++++++++++
 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            |  282 +++++
 arch/arm/cpu/armv7/start.S                         |   50 +-
 arch/arm/cpu/armv7/u-boot.lds                      |    2 +
 arch/arm/include/asm/arch-omap4/clocks.h           |  664 ++++++++++
 arch/arm/include/asm/arch-omap4/emif.h             | 1034 ++++++++++++++++
 arch/arm/include/asm/arch-omap4/omap4.h            |   52 +-
 arch/arm/include/asm/arch-omap4/sys_proto.h        |   72 ++-
 arch/arm/include/asm/armv7.h                       |    5 +
 arch/arm/include/asm/omap_common.h                 |   56 +
 board/ti/panda/Makefile                            |    2 +
 board/ti/panda/panda.c                             |   25 +-
 board/ti/{sdp4430/sdp.h => panda/panda_mux_data.h} |   76 +-
 board/ti/sdp4430/Makefile                          |    2 +
 board/ti/sdp4430/config.mk                         |   31 -
 board/ti/sdp4430/sdp.c                             |   25 +-
 .../{panda/panda.h => sdp4430/sdp4430_mux_data.h}  |  128 +--
 common/image.c                                     |    9 +-
 include/configs/omap4_panda.h                      |   37 +
 include/configs/omap4_sdp4430.h                    |   37 +
 include/image.h                                    |    1 +
 spl/Makefile                                       |    6 +
 tools/Makefile                                     |    2 +
 tools/mkimage.c                                    |    2 +
 tools/mkimage.h                                    |    1 +
 tools/omap/clocks_get_m_n.c                        |  197 +++
 tools/omapimage.c                                  |  224 ++++
 tools/omapimage.h                                  |   50 +
 41 files changed, 5668 insertions(+), 262 deletions(-)
 create mode 100644 arch/arm/cpu/armv7/omap-common/spl.c
 create mode 100644 arch/arm/cpu/armv7/omap-common/u-boot-spl.lds
 create mode 100644 arch/arm/cpu/armv7/omap-common/utils.c
 create mode 100644 arch/arm/cpu/armv7/omap4/clocks.c
 rename {board/ti/panda => arch/arm/cpu/armv7/omap4}/config.mk (64%)
 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%)
 delete mode 100644 board/ti/sdp4430/config.mk
 rename board/ti/{panda/panda.h => sdp4430/sdp4430_mux_data.h} (67%)
 create mode 100644 tools/omap/clocks_get_m_n.c
 create mode 100644 tools/omapimage.c
 create mode 100644 tools/omapimage.h