ARM: SPL: Make more generic, merge DaVinci and OMAP
Get series with b4
b4 am [email protected]Versions newest first
- v3 Latest0 of 19 patches 0 repliesNew
Patches in v3 No applies recorded yet
None of the 19 patches the cover letter announces are in this archive.
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.
Cover letter [U-Boot] [PATCH v3 0/19] ARM: SPL: Make more generic, merge DaVinci and OMAP
Hi Tom,
Thanks for the patches.
Quoted 15 lines · Tom Rini
Hey all,
The following patch series merges the davinci and omap-common SPL frameworks into a single framework,
CONFIG_SPL_FRAMEWORKalong with a few small cleanups to the code to make it a little smaller and more flexible. The end result is that davinci can now opt in on SPL-boots-Linux by just setting the right defines and other platforms would just need to adapt to this framework. In my testing, davinci gains between 300 and 700 bytes for this (not enabling the SPL OS feature) and omap4/5/etc lose just a little bit (from theprintf->putschanges). I've tested this onomap3_beagle(xM and classic) andomap4_panda. I don't have any davinci platforms that were previously using SPL so I can't boot-test those changes but since everyone setsCONFIG_SPL_MAX_SIZE, we're OK in that department.
Quoted 3 lines
To make this series easier to test I've placed it on
http://github.com/trini/u-boot WIP/spl-improvements
I tested the patchset on omap-l138 for SPI boot mode now the board comes up and reset too works, no issues found as in v2.
The only problem is that I am not able to test other boot modes on it recently there were patches added for da850 to support NAND spl, direct NOR boot mode and MMC spl, this patches are pulled by Albert but not in mainline yet.
Thx,
--Prabhakar
Quoted 112 lines
I've looked a little into re-reducing the size and the biggest problem I see is that SPI a lot of informational prints that we don't need, strictly speaking, but are nice in a normal U-Boot context. I'm unsure of the best way to quiet these as I don't like the idea of sprinkling
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54303 and I'm sending another email to discuss that.--
TomChanges in v2:
- Add
- AddCONFIG_SYS_SPL_MALLOC_START/ SIZE defines from Christian Riesch
- Addarch/arm/cpu/arm926ejs/davinci/config.mkto build u-boot.ais
- Fix checkpatch warning (u32*boot_params_ptr-> u32*boot_params_ptr)
- Place files into common/spl (due to gcc bug #54303) andinclude/spl.h
- Reorder all of the patches that used to follow this to precede.Changes in v3:
CONFIG_SPL_FRAMEWORK
perform early init. Fixes the cannot reset problem.
- Fix checkpatch.pl warning
- Fix thinko, Nand -> SPI (spotted by Prabhakar Lad)
- Make u-boot.ais use u-boot.img not u-boot.bin, now that it uses
- Make use ofboard_init_fbeing a weak function now so that we can
- Rename to README.da850, add more direct recovery method (Christian Riesch)Tom Rini (19):
Makefile: Move SPL files to clobber, remove from clean
spl_mmc: Make FAT checks / calls guarded withCONFIG_SPL_FAT_SUPPORT
omap-common: SPL: AddCONFIG_SPL_DISPLAY_PRINT/spl_display_print()
omap-common: Fix typo insave_boot_params()inlowlevel_init.S
ARM: SPL: Renameomap_boot_devicetospl_boot_device
ARM: SPL: Renameomap_boot_modetospl_boot_mode()
ARM: SPL: RemoveNAND_MODE_HW_ECCfromspl_nand.c
ARM: SPL: Only callmem_malloc_initif configured
ARM: SPL: Add <asm/spl.h> and <asm/arch/spl.h>
ARM: SPL: Makespl_mmc.cmore generic
ARM: SPL: Clean upspl.c/spl_nand.cslightly
ARM: SPL: Start hooking in the current SPI SPL support
ARM: SPL: Movegpmc_init()tospl_board_init()
SPL: Move the omap SPL framework to common/spl
spl: MakeCONFIG_SPL_FRAMEWORKboard_init_f__weak
ARM: SPL: Convert davinci toCONFIG_SPL_FRAMEWORK
da850: Add README.da850
SPL: Enhancedrivers/mtd/nand/nand_spl_load.c
SPL: Enhancespi_spl_loadto match the other load functionsMakefile | 16 +-- README | 9 ++ arch/arm/cpu/arm926ejs/davinci/config.mk | 16 +++ arch/arm/cpu/arm926ejs/davinci/spl.c | 56 ++++------ arch/arm/cpu/armv7/am33xx/board.c | 2 +- arch/arm/cpu/armv7/omap-common/Makefile | 13 --- arch/arm/cpu/armv7/omap-common/boot-common.c | 27 ++++- arch/arm/cpu/armv7/omap-common/hwinit-common.c | 7 +- arch/arm/cpu/armv7/omap-common/lowlevel_init.S | 6 +- arch/arm/cpu/armv7/omap-common/spl_nand.c | 111 -------------------- arch/arm/cpu/armv7/omap3/board.c | 28 +++-- arch/arm/include/asm/arch-am33xx/spl.h | 31 ++++++ arch/arm/include/asm/arch-davinci/spl.h | 28 +++++ arch/arm/include/asm/arch-omap3/spl.h | 34 ++++++ arch/arm/include/asm/arch-omap4/spl.h | 35 ++++++ arch/arm/include/asm/arch-omap4/sys_proto.h | 1 - arch/arm/include/asm/arch-omap5/spl.h | 35 ++++++ arch/arm/include/asm/arch-omap5/sys_proto.h | 1 - arch/arm/include/asm/omap_common.h | 77 -------------- arch/arm/include/asm/spl.h | 29 +++++ board/davinci/da8xxevm/README.da850 | 62 +++++++++++ board/overo/overo.c | 10 -- common/spl/Makefile | 37 +++++++ .../arm/cpu/armv7/omap-common => common/spl}/spl.c | 49 ++++----- .../armv7/omap-common => common/spl}/spl_ymodem.c | 3 +- doc/README.SPL | 1 - drivers/mmc/Makefile | 5 + .../armv7/omap-common => drivers/mmc}/spl_mmc.c | 24 ++--- drivers/mtd/nand/Makefile | 7 +- drivers/mtd/nand/nand_spl_load.c | 89 +++++++++++----- drivers/mtd/spi/spi_spl_load.c | 23 ++-- include/configs/am335x_evm.h | 1 + include/configs/am3517_crane.h | 2 + include/configs/am3517_evm.h | 2 + include/configs/cam_enc_4xx.h | 3 +- include/configs/da850evm.h | 5 + include/configs/devkit8000.h | 1 + include/configs/hawkboard.h | 3 +- include/configs/mcx.h | 2 + include/configs/omap3_beagle.h | 1 + include/configs/omap3_evm_common.h | 1 + include/configs/omap3_overo.h | 1 + include/configs/omap4_common.h | 2 + include/configs/omap5_evm.h | 2 + include/configs/tam3517-common.h | 2 + include/configs/tricorder.h | 1 + include/spl.h | 70 ++++++++++++ spl/Makefile | 1 + 48 files changed, 614 insertions(+), 358 deletions(-) create mode 100644 arch/arm/cpu/arm926ejs/davinci/config.mk delete mode 100644 arch/arm/cpu/armv7/omap-common/spl_nand.c create mode 100644 arch/arm/include/asm/arch-am33xx/spl.h create mode 100644 arch/arm/include/asm/arch-davinci/spl.h create mode 100644 arch/arm/include/asm/arch-omap3/spl.h create mode 100644 arch/arm/include/asm/arch-omap4/spl.h create mode 100644 arch/arm/include/asm/arch-omap5/spl.h create mode 100644 arch/arm/include/asm/spl.h create mode 100644 board/davinci/da8xxevm/README.da850 create mode 100644 common/spl/Makefile rename {arch/arm/cpu/armv7/omap-common => common/spl}/spl.c (85%) rename {arch/arm/cpu/armv7/omap-common => common/spl}/spl_ymodem.c (96%) rename {arch/arm/cpu/armv7/omap-common => drivers/mmc}/spl_mmc.c (91%) create mode 100644 include/spl.h