[PATCH u-boot-marvell v3 00/39] kwboot higher baudrate

Marek Behún kabel at kernel.org
Fri Sep 24 23:06:37 CEST 2021


From: Marek Behún <marek.behun at nic.cz>

Hello Stefan and others,

here's v3 of series adding support for booting Marvell platforms via
UART (those bootable with kwboot) at higher baudrates.

Tested on Turris Omnia up to 5.15 MBd, which is 44x faster than
115200 Bd.

The user can direct kwboot to use higher baudrate via the -B option.
(BTW this option was there before but did not work with the -b option.)

Only the payload part of the KWB image is uploaded at this higher
baudrate. The header part is still uploaded at 115200 Bd, since the code
that changes baudrate is injected into header as a binary extension.
(The payload part makes up majority of the binary, though. On Turris
 Omnia the payload currently makes ~87%.)

The series also contains various other fixes, refactors and improvements
of the code, upon which the main change is done.

Marek & Pali

Changes since v2:
- fixed integer overflow in patch 15
- fixed commit title in patch 32

Changes since v1:
- fixed uploading of older kwb images, now all kwb images should be able
  to upload at faster baudrate
- fixed injecting code that changes baudrate back
- various other fixes and refactors, the best way to compare with v1 is
  to apply v1 and v2 separately and compare the resulting kwboot.c

Marek Behún (19):
  tools: kwbimage: Fix printf format warning
  tools: kwboot: Fix buffer overflow in kwboot_terminal()
  tools: kwboot: Make the quit sequence buffer const
  tools: kwboot: Refactor and fix writing buffer
  tools: kwboot: Fix comparison of integers with different size
  tools: kwboot: Use a function to check whether received byte is a
    Xmodem reply
  tools: kwboot: Print new line after SPL output
  tools: kwboot: Allow greater timeout when executing header code
  tools: kwboot: Prevent waiting indefinitely if no xmodem reply is
    received
  tools: kwbimage: Simplify iteration over version 1 optional headers
  tools: kwbimage: Refactor image_version()
  tools: kwbimage: Refactor kwbimage header size determination
  tools: kwboot: Explicitly check against size of struct main_hdr_v1
  tools: kwboot: Check whether baudrate was set to requested value
  tools: kwboot: Cosmetic fix
  tools: kwboot: Avoid code repetition in kwboot_img_patch()
  tools: kwboot: Update file header
  doc/kwboot.1: Update man page
  MAINTAINERS: Add entry for kwbimage / kwboot tools

Pali Rohár (20):
  tools: kwboot: Print version information header
  tools: kwboot: Fix kwboot_xm_sendblock() function when
    kwboot_tty_recv() fails
  tools: kwboot: Fix return type of kwboot_xm_makeblock() function
  tools: kwboot: Fix printing progress
  tools: kwboot: Print newline on error when progress was not completed
  tools: kwboot: Split sending image into header and data stages
  tools: kwboot: Allow non-xmodem text output from BootROM only in a
    specific case
  tools: kwboot: Properly finish xmodem transfer
  tools: kwboot: Always call kwboot_img_patch_hdr()
  tools: kwboot: Don't patch image header if signed
  tools: kwboot: Patch source address in image header
  tools: kwboot: Patch destination address to DDR area for SPI image
  tools: kwbimage: Update comments describing kwbimage v1 structures
  tools: kwboot: Round up header size to 128 B when patching
  tools: kwboot: Support higher baudrates when booting via UART
  tools: kwboot: Allow any baudrate on Linux
  tools: kwboot: Fix initializing tty device
  tools: kwboot: Disable tty interbyte timeout
  tools: kwboot: Disable non-blocking mode
  tools: kwboot: Add Pali and Marek as authors

 MAINTAINERS           |   10 +
 doc/kwboot.1          |   60 ++-
 tools/kwbimage.c      |  130 ++---
 tools/kwbimage.h      |   99 +++-
 tools/kwboot.c        | 1197 +++++++++++++++++++++++++++++++++++------
 tools/termios_linux.h |  189 +++++++
 6 files changed, 1385 insertions(+), 300 deletions(-)
 create mode 100644 tools/termios_linux.h

-- 
2.32.0



More information about the U-Boot mailing list