[U-Boot] [EXT] How to update Espressobin (U-Boot) firmware?

Kostya Porotchkin kostap at marvell.com
Tue Jul 18 15:13:24 UTC 2017


Hi, Andre,

The A37xx SoC does not support boot from SD.
Only boot from eMMC is supported, however your board probably only has soldering pads for the eMMC and not eMMC chip installed.
If you want to play with the bootloader without jeopardizing your SPI image, you have to use either UART or SATA boot mode.

For the boot image build you will need to obtain the u-boot, ATF and the image building tools sources.
https://github.com/MarvellEmbeddedProcessors/atf-marvell/tree/atf-v1.3-armada-17.06
https://github.com/MarvellEmbeddedProcessors/A3700-utils-marvell/tree/A3700_utils-armada-17.06
https://github.com/MarvellEmbeddedProcessors/u-boot-marvell/tree/u-boot-2017.03-armada-17.06

The "utils" git contains also the UART download tool.
It uses a proprietary download protocol and not xmodem one as in KW case.
The flash image structure on this platform also differs from KW, so please do not try to directly burn a "bin" or "kw" file created by the u-boot build system.
The ATF git from above already contains the required changes in the Makefile for running the additional steps of the final flash image formatting.
Additionally, the boot image contains a boot device information in its header, so you cannot move SPI flash image to another boot device.

For the boot loader build instructions please check the following documents:
https://github.com/MarvellEmbeddedProcessors/atf-marvell/blob/atf-v1.3-17.04/docs/marvell/build.txt
https://github.com/MarvellEmbeddedProcessors/u-boot-marvell/blob/u-boot-2017.03-armada-17.06/doc/mvebu/build.txt

UART boot details:
https://github.com/MarvellEmbeddedProcessors/u-boot-marvell/blob/u-boot-2017.03-armada-17.06/doc/mvebu/uart_boot.txt


Regards
Kosta

> -----Original Message-----
> From: Andre Przywara [mailto:andre.przywara at arm.com]
> Sent: Tuesday, July 18, 2017 17:45
> To: Kostya Porotchkin
> Cc: Stefan Roese; Marc Zyngier; Thomas Petazzoni; Gregory CLEMENT;
> Antoine Tenart; Andreas Färber; U-Boot
> Subject: [EXT] How to update Espressobin (U-Boot) firmware?
> 
> External Email
> 
> ----------------------------------------------------------------------
> Hi,
> 
> I wanted to exploit U-Boot's EFI support on the Espressobin board, to
> use off-the-shelf arm64 distribution installer images. This should work
> with current U-Boot, which has support for the Espressobin board (and
> for UEFI).
> 
> The firmware my board ships with seems to be built from older and non-
> upstream sources - and, in contrast to the Macchiatobin board - I cannot
> find either proper sources for all components (mv-ddr, ATF) nor
> *any* kind of instructions how to (re-)build and update the firmware.
> 
> So I was wondering if there are any instructions or documentation I
> missed on how to update at least U-Boot?
> 
> I see some hints that people are apparently chain-loading mainline U-
> Boot, is this the only way?
> I dumped the SPI flash and could identify the ATF FIP image on it, but I
> am a bit wary of bricking the board by just squashing a freshly built u-
> boot.bin into that - which I guess wouldn't work that easily anyway.
> 
> And to allow experimentation: Are the boot selection jumpers actually
> working? Setting them to SD card (111) doesn't seem to make a difference
> (it still booted off the SPI flash, apparently). Or does it fall back to
> SPI flash in case the SD image is not valid (I put the dumped image at
> sector 1)?
> I see that selecting "UART" (110) gives me that "E" prompt, apparently
> waiting for some data to be fed, but again can't tell what to do from
> here? I take it that mkimage/kwboot won't work as is, as it needs ATF? I
> found some mentioning of a Windows binary, but hope that's not the only
> way to use this mode?
> 
> I'd be very grateful for any insight into this!
> 
> Cheers,
> Andre.


More information about the U-Boot mailing list