[U-Boot] [PATCH 5/5] RFC: sunxi: WIP FEL support
Siarhei Siamashka
siarhei.siamashka at gmail.com
Thu Feb 5 11:21:33 CET 2015
On Tue, 3 Feb 2015 21:18:54 -0700
Simon Glass <sjg at chromium.org> wrote:
> (What does FEL stand for?)
That's a good question. I believe that it might be based on
the "jump to fel" message from the console output of the
Allwinner's BOOT0 bootloader: http://linux-sunxi.org/FEL#Serial_output
Other than this, I don't know what this name stands for.
In fact the FEL code has a special entry point at 0xffff0020, which is
the target of this "jump to fel" action in BOOT0:
https://github.com/hno/Allwinner-Info/blob/master/BROM/ffff0000.s#L9
It initializes the USB hardware again, and I believe that this is the
reason why I have some problems trying to use this method. So far the
flow looks like this:
1. The SPL is uploaded to SRAM and executed (to initialize DRAM) and
other things.
2. As the last step in the SPL ('return_to_fel' in your code), we just
transfer control directly to 0xffff0020 instead of using the address
from the lr register.
3. The USB stack in my PC seems to be a bit confused by the MBUS
hardware re-init. For example, the next "fel ver" command fails
for me with a timeout. However the follow up fel commands work fine,
and I can successfully "write" and "exe" the main u-boot binary.
The incomplete demo patch for the fel tool has been posted at
http://lists.denx.de/pipermail/u-boot/2015-February/204024.html
> This is an attempt to make sunxi's FEL code fit with the normal U-Boot
> boot sequence instead of creating its own.
>
> Most of the FEL special-case code is removed, although I may have gone too
> far with my changes to generate a u-boot-sunxi-with-spl.bin file even when
> FEL is enabled. This may not be possible since the MMC stack makes SPL
> too large for FEL anyway, although it may be possible for other boot
> mediums.
This is actually very good.
If we can resolve the jump to 0xffff0020 problems (try to perform a
clean USB shutdown before doing this?), then the SPL size limitation
for USB booting is gone and we get a unified SPL binary for both SD
card boot and boot over USB. With no need for a lot of special sunxi
things in the U-Boot boot sequence. I'm going to have another look
at it today in the evening to see if the remaining problems can be
resolved.
> This series is available at u-boot-dm, branch sunxi-working.
Thanks a lot for this work.
--
Best regards,
Siarhei Siamashka
More information about the U-Boot
mailing list