[U-Boot] [PATCH 0/3] rockchip: back-to-bootrom: replace assembly-implementation with C-code

Philipp Tomsich philipp.tomsich at theobroma-systems.com
Fri Sep 15 12:02:23 UTC 2017


Recent discussions confirmed (what the code always assumed): the
Rockchip BROM always enters U-Boot with the stack-pointer valid
(i.e. the U-Boot startup code is running off the BROM stack).

We can thus replace the back-to-bootrom code (i.e. both the
save_boot_params and back_to_bootrom implementations) using C-code
based on setjmp/longjmp.  The new implementation is already structured
to allow an easy drop-in of Andy's changes to enter download-mode when
returning to the BROM.

This entails one minor tweak to asm/system.h, which only exported
the save_boot_params_ret prototype for ARMv7, but not for AArch64.


Philipp Tomsich (3):
  arm: make save_boot_params_ret prototype visible for AArch64
  rockchip: back-to-bootrom: replace assembly-implementation with C-code
  rockchip: back-to-bootrom: allow passing a cmd to the bootrom

 arch/arm/include/asm/arch-rockchip/bootrom.h | 30 +++++++++---
 arch/arm/include/asm/system.h                | 62 ++++++++++++-------------
 arch/arm/mach-rockchip/Makefile              |  4 +-
 arch/arm/mach-rockchip/bootrom.c             | 54 +++++++++++++++++++++-
 arch/arm/mach-rockchip/rk3036-board-spl.c    |  2 +-
 arch/arm/mach-rockchip/rk3188-board-tpl.c    |  2 +-
 arch/arm/mach-rockchip/rk322x-board-spl.c    |  2 +-
 arch/arm/mach-rockchip/rk3288-board-spl.c    |  4 +-
 arch/arm/mach-rockchip/rk3368-board-tpl.c    |  2 +-
 arch/arm/mach-rockchip/rk3399-board-spl.c    |  2 +-
 arch/arm/mach-rockchip/save_boot_param.S     | 69 ----------------------------
 11 files changed, 115 insertions(+), 118 deletions(-)
 delete mode 100644 arch/arm/mach-rockchip/save_boot_param.S

-- 
2.1.4



More information about the U-Boot mailing list