103 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
			
		
		
	
	
			103 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
.TH KWBOOT 1 "2021-08-25"
 | 
						|
 | 
						|
.SH NAME
 | 
						|
kwboot \- Boot Marvell Kirkwood (and others 32-bit) SoCs over a serial link.
 | 
						|
.SH SYNOPSIS
 | 
						|
.B kwboot
 | 
						|
.RB [ "-b \fIimage\fP" ]
 | 
						|
.RB [ "-t" ]
 | 
						|
.RB [ "-B \fIbaudrate\fP" ]
 | 
						|
.RB \fITTY\fP
 | 
						|
.SH "DESCRIPTION"
 | 
						|
 | 
						|
The \fBkwboot\fP program boots boards based on Marvell's 32-bit
 | 
						|
platforms including Kirkwood, Dove, A370, AXP, A375, A38x
 | 
						|
and A39x over their integrated UART. Boot image files will typically
 | 
						|
contain a second stage boot loader, such as U-Boot. The image file
 | 
						|
must conform to Marvell's BootROM firmware image format
 | 
						|
(\fIkwbimage v0\fP or \fIv1\fP), created using a tool such as
 | 
						|
\fBmkimage\fP.
 | 
						|
 | 
						|
Following power-up or a system reset, system BootROM code polls the
 | 
						|
UART for a brief period of time, sensing a handshake message which
 | 
						|
initiates an image upload. This program sends this boot message until
 | 
						|
it receives a positive acknowledgement. The image is transferred using
 | 
						|
Xmodem.
 | 
						|
 | 
						|
Additionally, this program implements a minimal terminal mode, which
 | 
						|
can be used either standalone, or entered immediately following boot
 | 
						|
image transfer completion. This is often useful to catch early boot
 | 
						|
messages, or to manually interrupt a default boot procedure performed
 | 
						|
by the second-stage loader.
 | 
						|
 | 
						|
.SH "OPTIONS"
 | 
						|
 | 
						|
.TP
 | 
						|
.BI "\-b \fIimage\fP"
 | 
						|
Handshake; then upload file \fIimage\fP over \fITTY\fP.
 | 
						|
 | 
						|
Note that for the encapsulated boot code to be executed, \fIimage\fP
 | 
						|
must be of type "UART boot" (0x69). The \fBkwboot\fP program changes
 | 
						|
this type automatically, unless the \fIimage\fP is signed, in which
 | 
						|
case it cannot be changed.
 | 
						|
 | 
						|
This mode writes handshake status and upload progress indication to
 | 
						|
stdout. It is possible that \fIimage\fP contains an optional binary
 | 
						|
code in it's header which may also print some output via UART (for
 | 
						|
example U-Boot SPL does this). In such a case, this output is also
 | 
						|
written to stdout after the header is sent.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI "\-p"
 | 
						|
Obsolete. Does nothing.
 | 
						|
 | 
						|
In the past, when this option was used, the program patched the header
 | 
						|
in the image prior upload, to "UART boot" type. This is now done by
 | 
						|
default.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI "\-t"
 | 
						|
Run a terminal program, connecting standard input and output to
 | 
						|
.RB \fITTY\fP.
 | 
						|
 | 
						|
If used in combination with \fB-b\fP, terminal mode is entered
 | 
						|
immediately following a successful image upload.
 | 
						|
 | 
						|
If standard I/O streams connect to a console, this mode will terminate
 | 
						|
after receiving \fBctrl-\e\fP followed by \fBc\fP from console input.
 | 
						|
 | 
						|
.TP
 | 
						|
.BI "\-B \fIbaudrate\fP"
 | 
						|
If used in combination with \fB-b\fP, inject into the image header
 | 
						|
code that changes baud rate to \fIbaudrate\fP after uploading image
 | 
						|
header, and code that changes the baud rate back to the default
 | 
						|
(115200 Bd) before executing payload, and also adjust the baud rate
 | 
						|
on \fITTY\fP correspondingly. This can make the upload significantly
 | 
						|
faster.
 | 
						|
 | 
						|
If used in combination with \fB-t\fP, adjust the baud rate to
 | 
						|
\fIbaudrate\fP on \fITTY\fP before starting terminal.
 | 
						|
 | 
						|
If both \fB-b\fP and \fB-t\fP are used, the baud rate is changed
 | 
						|
back to 115200 after the upload.
 | 
						|
 | 
						|
Tested values for \fIbaudrate\fP for Armada 38x include: 115200,
 | 
						|
230400, 460800, 500000, 576000, 921600, 1000000, 1152000, 1500000,
 | 
						|
2000000, 2500000, 3125000, 4000000 and 5200000.
 | 
						|
 | 
						|
.SH "SEE ALSO"
 | 
						|
.PP
 | 
						|
\fBmkimage\fP(1)
 | 
						|
 | 
						|
.SH "AUTHORS"
 | 
						|
 | 
						|
Daniel Stodden <daniel.stodden@gmail.com>
 | 
						|
.br
 | 
						|
Luka Perkov <luka@openwrt.org>
 | 
						|
.br
 | 
						|
David Purdy <david.c.purdy@gmail.com>
 | 
						|
.br
 | 
						|
Pali Rohár <pali@kernel.org>
 | 
						|
.br
 | 
						|
Marek Behún <marek.behun@nic.cz>
 |