[U-Boot] [PATCH v3 0/8] SPL: Port SPL framework to powerpc

Stefan Roese
2012-09-26T09:01:06Z

This patchset ports the SPL framework to powerpc. Its based on the
SPL generalization lately done by Tom Rini. The patches can be applied
on top of his 7th version located here:

http://github.com/trini/u-boot WIP/spl-improvements

Additionally, a new MPC5200 board port is included, the a3m071 board
port. This board port uses this SPL framework mainly to speed up
booting into the OS (Linux of course). Detection of Linux vs. U-Boot
booting is done here by checking the environment variable "boot_os".
If "boot_os" is set to "yes", then the OS (Linux) is booted. Otherwise
the "real" U-Boot is booted. For this env checking in the SPL, a small
restructuring of the env code has been done.

Comments welcome!

Thanks,
Stefan

Changes in v2:
- Rebased on Tom's SPL framework patches v4
- Add option to skip copying of the mkimage header
- Rebased on Tom's SPL framework patches v4
- Rebased on Tom's SPL framework patches v4
- a3m071 build: Concat SPL binary and u-boot.img directly (no padding)

Changes in v3:
- Rebased on current master plus SPL framework v7
- Don't use special MPC5xxx memcpy in SPL
- Move linker symbols to header spl.h (checkpatch)

Stefan Roese (8):
powerpc: Extract EPAPR_MAGIC constants into processor.h
SPL: Port SPL framework to powerpc
env: Extract getenv_f() into separate source file
mpc5200: Add SPL support
mpc5200: Add a3m071 board support
fdt: cmd_fdt: Call fdt_chosen() from "fdt boardsetup"
Makefile: Add possibility to set entry-point for u-boot.img
Makefile: Add target for combined spl/u-boot.bin & u-boot.img

MAINTAINERS | 2 +
Makefile | 14 +-
arch/powerpc/cpu/mpc5xxx/Makefile | 4 +
arch/powerpc/cpu/mpc5xxx/spl_boot.c | 79 +++++++
arch/powerpc/cpu/mpc5xxx/start.S | 22 ++
arch/powerpc/cpu/mpc5xxx/u-boot-spl.lds | 57 +++++
arch/powerpc/include/asm/processor.h | 6 +
arch/powerpc/include/asm/spl.h | 31 +++
arch/powerpc/lib/Makefile | 11 +
arch/powerpc/lib/bootm.c | 6 -
arch/powerpc/lib/spl.c | 42 ++++
board/a3m071/Makefile | 36 +++
board/a3m071/README | 79 +++++++
board/a3m071/a3m071.c | 335 +++++++++++++++++++++++++++
board/a3m071/mt46v16m16-75.h | 32 +++
boards.cfg | 1 +
common/Makefile | 4 +
common/cmd_fdt.c | 4 +-
common/cmd_nvedit.c | 58 -----
common/env_getenv_f.c | 82 +++++++
common/spl/spl.c | 10 +
include/configs/a3m071.h | 385 ++++++++++++++++++++++++++++++++
22 files changed, 1234 insertions(+), 66 deletions(-)
create mode 100644 arch/powerpc/cpu/mpc5xxx/spl_boot.c
create mode 100644 arch/powerpc/cpu/mpc5xxx/u-boot-spl.lds
create mode 100644 arch/powerpc/include/asm/spl.h
create mode 100644 arch/powerpc/lib/spl.c
create mode 100644 board/a3m071/Makefile
create mode 100644 board/a3m071/README
create mode 100644 board/a3m071/a3m071.c
create mode 100644 board/a3m071/mt46v16m16-75.h
create mode 100644 common/env_getenv_f.c
create mode 100644 include/configs/a3m071.h

--
1.7.12.1