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

Heiko Stuebner heiko at sntech.de
Thu Sep 21 09:44:26 UTC 2017


Am Donnerstag, 21. September 2017, 11:09:49 CEST schrieb Heiko Stuebner:
> Am Donnerstag, 21. September 2017, 10:19:23 CEST schrieb Philipp Tomsich:
> > 
> > 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 turned out to require a some tweaking to system.h (making sure
> > that the prototype for save_boot_params_ret is visible for A64)and
> > start.S (so binutils knows that this is a possible function entry and
> > it can correctly insert A32-to-Thumb transitions) and taking the axe
> > to setjmp.h (which created quite a few issues with it not expecting
> > A32/T32/Thumb call-sites and some fragility from GCC being smart about
> > the clobber-list of the inline assembly... which led to r9 not being
> > saved or restored).
> 
> This is missing information on dependant series. Using the u-boot-rockchip
> repository which is at
> 782088de7be7 ("rockchip: imply ADC and SARADC_ROCKCHIP on supported SoCs")
> 
> patches 1-3 apply, but patch 4 fails to apply as I seem to be missing some
> dependencies.
> 
> And the u-boot mailinglist seems to be configured very strangely, as it
> seems to rip apart patch-series only sending me some parts.
> 
> So far I can at least say, that the u-boot-rockchip repo at the above
> commit still boots. Could you please point me to mbox versions
> of needed base patches?

Also, with patches 1-3 and 5 applied the radxarock board fails to start.
I see the SPL banner and a "Returning to boot ROM..." and then nothing.

I do belive it may have something to do with the TPL's + SPL's stack both
being at the end of SRAM? Having the SPL go back to TPL and then
back to bootrom was my original intention as well, but didn't work at
the time.


Heiko


More information about the U-Boot mailing list