[PATCH] tools/mrvl_uart.sh: Remove script

Pali Rohár pali at kernel.org
Sat Feb 5 01:54:06 CET 2022


On Saturday 05 February 2022 01:40:23 Marcel Ziswiler wrote:
> On Sat, 2022-02-05 at 01:25 +0100, Pali Rohár wrote:
> > On Saturday 05 February 2022 01:01:28 Marcel Ziswiler wrote:
> > > Addendum.
> > > 
> > > On Sat, 2022-02-05 at 00:43 +0100, Marcel Ziswiler wrote:
> > > 
> > > > 
> > > [snip]
> > > 
> > > > > Kosta, do you see any problems with removing this script? As you might
> > > > > have seen, Pali and Marek did some great work on kwboot in the mean
> > > > > time. Is there anything left in mrvl_uart.sh that kwboot can't handle?
> > > > 
> > > > Disclaimer: I am not really a Kirkwood developer or at least not yet (;-p).
> > > > 
> > > > Recently, we started playing with mainline U-Boot/Linux kernel as part of an effort to port OpenWrt to
> > > > the
> > > > MikroTik RB5009UG [1]. It features an Armada 7040 which is a 64-bit Arm SoC while kwboot mentions 32-bit
> > > > platforms only. Anyway, so far I was able to boot it using the good oldé mrvl_uart.sh script as follows:
> > > > 
> > > > ⬢[zim at toolbox ~]$ ~/u-boot/tools/mrvl_uart.sh /dev/ttyUSB3 ~/arm-trusted-
> > > > firmware/build/a70x0_rb5009/release/flash-image.bin
> > > > Using device connected on serial port "/dev/ttyUSB3"
> > > > Loading flash image file "/var/home/zim/arm-trusted-firmware/build/a70x0_rb5009/release/flash-image.bin"
> > > > Recovery will run at 115200 baud
> > > > ========================================
> > > > Press the "Reset" button on the target board and the "Enter" key on the host keyboard simultaneously
> > > > Sending /var/home/zim/Sources/arm-trusted-firmware.git/build/a70x0_rb5009/release/flash-image.bin, 11377
> > > > blocks: Give your local XMODEM receive command now.
> > > > Bytes Sent:1456384   BPS:7871                            
> > > > 
> > > > Transfer complete
> > > > 
> > > > Trying this with kwboot instead I was not successful as of yet. Not sure whether I am just missing
> > > > something
> > > > or
> > > > support for booting 64-bit platforms would yet need to be added.
> > > 
> > > If I patch it as follows it actually starts transferring but does not really get too far.
> > 
> > 64-bit Armada SoCs use different image format than 32-bit Armada SoCs.
> > This format is not supported by U-Boot as U-Boot does not even build
> > images for this format. You even cannot boot U-Boot directly on those
> > 64-bit Armada SoCs. It is TF-A what is booted and it is TF-A project
> > which generate images compatible for those SoCs.
> 
> Yes, we do know that.
> 
> > So U-Boot does not have any support for those 64-bit images.
> 
> Yes, U-Boot proper basically has to be combined with TF-A using some
> external tooling.
> 
> > So you should use TF-A tools which generates these 64-bit Armada
> > bootable images.
> 
> Exactly.
> 
> 
> > Probably you could use kwboot just for sending boot pattern and then
> > generic "sx" tool (which is used also by that shell script). And after
> > that kwboot again for terminal support. But this does not verify that
> > image is correct and also may have issues if header part contains
> > executable code which prints something to UART...
> > 
> > $ kwboot -b /dev/ttyUSB0
> 
> Hm, at least kwboot from today's master does not allow -b without also
> giving it an image.

This commit is part of master branch and added support for it:
https://source.denx.de/u-boot/u-boot/-/commit/c513fe47dca24de87a904ce7d71cfd8a390e1154

If it does not work then there is some bug which should be fixed. I have
tested it and it works on my setup.

Can you check if you have that commit to ensure that we are not going to
test / debug older version?

> > $ sx flash-image.bin 0<>/dev/ttyUSB0 1>&0
> > $ kwboot -t /dev/ttyUSB0
> 
> Remember, it is not that we do not have a solution or do not know how
> this all works. It is rather that we currently use that mrvl_uart.sh
> script which this patch is about to remove and Stefan enquired about.

I see...

But I do not know what is the best option for now. If issue with -b is
investigated / fixed then that script can be replaced by two (or three)
commands. And I think it is better than maintaining two different tools
in U-Boot which do same thing. On the other hand kwboot does not support
64-bit Armada format, which mrvl_uart.sh can handle (but only because it
does not do any verification nor does not understand image format), so
for this purpose it is better. But because U-Boot does not support
64-bit Armada image format, I do not know if this script should be in
U-Boot because whole image building is outside of U-Boot responsibility
and... probably this tool should be part of TF-A project instead. So at
the end, should be this tool maintained in U-Boot project at all if
U-Boot itself does not support nor provide tooling for 64-bit Armada
images?

Any opinion?

> Thanks, Pali.
> 
> [snip]


More information about the U-Boot mailing list