blob: acdea891d9f0fc2135bc6c63fa87cca0d1a2b40a [file] [log] [blame]
Marek Behúnd1d71742021-09-24 23:07:15 +02001.TH KWBOOT 1 "2021-08-25"
Luka Perkovd131ad62012-05-27 11:44:51 +00002
3.SH NAME
Marek Behúnd1d71742021-09-24 23:07:15 +02004kwboot \- Boot Marvell Kirkwood (and others 32-bit) SoCs over a serial link.
Luka Perkovd131ad62012-05-27 11:44:51 +00005.SH SYNOPSIS
6.B kwboot
7.RB [ "-b \fIimage\fP" ]
Luka Perkovd131ad62012-05-27 11:44:51 +00008.RB [ "-t" ]
9.RB [ "-B \fIbaudrate\fP" ]
10.RB \fITTY\fP
11.SH "DESCRIPTION"
12
Marek Behúnd1d71742021-09-24 23:07:15 +020013The \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
Luka Perkovd131ad62012-05-27 11:44:51 +000016contain a second stage boot loader, such as U-Boot. The image file
17must conform to Marvell's BootROM firmware image format
Marek Behúnd1d71742021-09-24 23:07:15 +020018(\fIkwbimage v0\fP or \fIv1\fP), created using a tool such as
19\fBmkimage\fP.
Luka Perkovd131ad62012-05-27 11:44:51 +000020
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
Vagrant Cascadiana6f70a32016-03-15 12:16:39 -070024it receives a positive acknowledgement. The image is transferred using
Luka Perkovd131ad62012-05-27 11:44:51 +000025Xmodem.
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
Marek Behúnd1d71742021-09-24 23:07:15 +020040must 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.
Luka Perkovd131ad62012-05-27 11:44:51 +000043
44This mode writes handshake status and upload progress indication to
Marek Behúnd1d71742021-09-24 23:07:15 +020045stdout. 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.
Luka Perkovd131ad62012-05-27 11:44:51 +000049
50.TP
51.BI "\-p"
Marek Behúnd1d71742021-09-24 23:07:15 +020052Obsolete. Does nothing.
Luka Perkovd131ad62012-05-27 11:44:51 +000053
Marek Behúnd1d71742021-09-24 23:07:15 +020054In 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.
Luka Perkovd131ad62012-05-27 11:44:51 +000057
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
Marek Behúnd1d71742021-09-24 23:07:15 +020067after receiving \fBctrl-\e\fP followed by \fBc\fP from console input.
Luka Perkovd131ad62012-05-27 11:44:51 +000068
69.TP
70.BI "\-B \fIbaudrate\fP"
Marek Behúnd1d71742021-09-24 23:07:15 +020071If 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.
Luka Perkovd131ad62012-05-27 11:44:51 +000087
88.SH "SEE ALSO"
89.PP
90\fBmkimage\fP(1)
91
92.SH "AUTHORS"
93
94Daniel Stodden <daniel.stodden@gmail.com>
95.br
Luka Perkov3fdf7592012-12-03 03:24:15 +000096Luka Perkov <luka@openwrt.org>
Luka Perkovd131ad62012-05-27 11:44:51 +000097.br
98David Purdy <david.c.purdy@gmail.com>
Marek Behúnd1d71742021-09-24 23:07:15 +020099.br
100Pali Rohár <pali@kernel.org>
101.br
102Marek Behún <marek.behun@nic.cz>