1.TH KWBOOT 1 "2021-08-25" 2 3.SH NAME 4kwboot \- Boot Marvell Kirkwood (and others 32-bit) SoCs over a serial link. 5.SH SYNOPSIS 6.B kwboot 7.RB [ "-b \fIimage\fP" ] 8.RB [ "-t" ] 9.RB [ "-B \fIbaudrate\fP" ] 10.RB \fITTY\fP 11.SH "DESCRIPTION" 12 13The \fBkwboot\fP program boots boards based on Marvell's 32-bit 14platforms including Kirkwood, Dove, A370, AXP, A375, A38x 15and A39x over their integrated UART. Boot image files will typically 16contain a second stage boot loader, such as U-Boot. The image file 17must conform to Marvell's BootROM firmware image format 18(\fIkwbimage v0\fP or \fIv1\fP), created using a tool such as 19\fBmkimage\fP. 20 21Following power-up or a system reset, system BootROM code polls the 22UART for a brief period of time, sensing a handshake message which 23initiates an image upload. This program sends this boot message until 24it receives a positive acknowledgement. The image is transferred using 25Xmodem. 26 27Additionally, this program implements a minimal terminal mode, which 28can be used either standalone, or entered immediately following boot 29image transfer completion. This is often useful to catch early boot 30messages, or to manually interrupt a default boot procedure performed 31by the second-stage loader. 32 33.SH "OPTIONS" 34 35.TP 36.BI "\-b \fIimage\fP" 37Handshake; then upload file \fIimage\fP over \fITTY\fP. 38 39Note that for the encapsulated boot code to be executed, \fIimage\fP 40must be of type "UART boot" (0x69). The \fBkwboot\fP program changes 41this type automatically, unless the \fIimage\fP is signed, in which 42case it cannot be changed. 43 44This mode writes handshake status and upload progress indication to 45stdout. It is possible that \fIimage\fP contains an optional binary 46code in it's header which may also print some output via UART (for 47example U-Boot SPL does this). In such a case, this output is also 48written to stdout after the header is sent. 49 50.TP 51.BI "\-p" 52Obsolete. Does nothing. 53 54In the past, when this option was used, the program patched the header 55in the image prior upload, to "UART boot" type. This is now done by 56default. 57 58.TP 59.BI "\-t" 60Run a terminal program, connecting standard input and output to 61.RB \fITTY\fP. 62 63If used in combination with \fB-b\fP, terminal mode is entered 64immediately following a successful image upload. 65 66If standard I/O streams connect to a console, this mode will terminate 67after receiving \fBctrl-\e\fP followed by \fBc\fP from console input. 68 69.TP 70.BI "\-B \fIbaudrate\fP" 71If used in combination with \fB-b\fP, inject into the image header 72code that changes baud rate to \fIbaudrate\fP after uploading image 73header, and code that changes the baud rate back to the default 74(115200 Bd) before executing payload, and also adjust the baud rate 75on \fITTY\fP correspondingly. This can make the upload significantly 76faster. 77 78If used in combination with \fB-t\fP, adjust the baud rate to 79\fIbaudrate\fP on \fITTY\fP before starting terminal. 80 81If both \fB-b\fP and \fB-t\fP are used, the baud rate is changed 82back to 115200 after the upload. 83 84Tested values for \fIbaudrate\fP for Armada 38x include: 115200, 85230400, 460800, 500000, 576000, 921600, 1000000, 1152000, 1500000, 862000000, 2500000, 3125000, 4000000 and 5200000. 87 88.SH "SEE ALSO" 89.PP 90\fBmkimage\fP(1) 91 92.SH "AUTHORS" 93 94Daniel Stodden <daniel.stodden@gmail.com> 95.br 96Luka Perkov <luka@openwrt.org> 97.br 98David Purdy <david.c.purdy@gmail.com> 99.br 100Pali Rohár <pali@kernel.org> 101.br 102Marek Behún <marek.behun@nic.cz> 103