[U-Boot] [PATCH v3 10/10] tools: Add support for Dove to kwboot
Prafulla Wadaskar
prafulla at marvell.com
Mon Feb 11 04:39:25 CET 2013
> -----Original Message-----
> From: Sebastian Hesselbarth [mailto:sebastian.hesselbarth at gmail.com]
> Sent: 17 January 2013 00:55
> To: Sebastian Hesselbarth
> Cc: Daniel Stodden; u-boot at lists.denx.de; Rabeeh Khoury; Albert
> Aribaud; Prafulla Wadaskar; Andy Fleming; Joe Hershberger; Luka Perkov
> Subject: [PATCH v3 10/10] tools: Add support for Dove to kwboot
>
> On Dove kwboot can also be used to boot an u-boot image into RAM.
> In contrast to Kirkwood, Dove does not support the UART boot mode
> sequence but requires the UART boot mode to be selected through
> strap pins. The SolidRun CuBox has a push button to allow uart
> boot mode but fails on the boot sequence sent by kwboot.
>
> This patch adds another cmdline option to allow to send a boot
> image without the boot sequence and adds support for Dove.
>
> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth at gmail.com>
> Signed-off-by: Daniel Stodden <daniel.stodden at gmail.com>
> ---
> Cc: u-boot at lists.denx.de
> Cc: Sebastian Hesselbarth <sebastian.hesselbarth at gmail.com>
> Cc: Rabeeh Khoury <rabeeh at solid-run.com>
> Cc: Albert Aribaud <albert.u.boot at aribaud.net>
> Cc: Prafulla Wadaskar <prafulla at marvell.com>
> Cc: Andy Fleming <afleming at gmail.com>
> Cc: Joe Hershberger <joe.hershberger at gmail.com>
> Cc: Daniel Stodden <daniel.stodden at gmail.com>
> Cc: Luka Perkov <luka at openwrt.org>
> ---
> doc/kwboot.1 | 13 ++++++++++---
> tools/Makefile | 2 ++
> tools/kwboot.c | 25 +++++++++++++++++++------
> 3 files changed, 31 insertions(+), 9 deletions(-)
>
> diff --git a/doc/kwboot.1 b/doc/kwboot.1
> index 25fe69a..ab4551b 100644
> --- a/doc/kwboot.1
> +++ b/doc/kwboot.1
> @@ -1,17 +1,18 @@
> -.TH KWBOOT 1 "2012-05-19"
> +.TH KWBOOT 1 "2013-01-16"
>
> .SH NAME
> -kwboot \- Boot Marvell Kirkwood SoCs over a serial link.
> +kwboot \- Boot Marvell Kirkwood/Dove SoCs over a serial link.
> .SH SYNOPSIS
> .B kwboot
> .RB [ "-b \fIimage\fP" ]
> +.RB [ "-n" ]
> .RB [ "-p" ]
> .RB [ "-t" ]
> .RB [ "-B \fIbaudrate\fP" ]
> .RB \fITTY\fP
> .SH "DESCRIPTION"
>
> -The \fBmkimage\fP program boots boards based on Marvell's Kirkwood
> +The \fBmkimage\fP program boots boards based on Marvell's
> Kirkwood/Dove
> platform 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
> @@ -68,6 +69,12 @@ If standard I/O streams connect to a console, this
> mode will terminate
> after receiving 'ctrl-\\' followed by 'c' from console input.
>
> .TP
> +.BI "\-u"
> +Disables the UART boot mode sequence for platforms that do not
> support
> +it (e.g. Dove). Usually, the UART boot mode must be selected by
> pressing
> +a push button on power-up.
> +
> +.TP
> .BI "\-B \fIbaudrate\fP"
> Adjust the baud rate on \fITTY\fP. Default rate is 115200.
>
> diff --git a/tools/Makefile b/tools/Makefile
> index 686840a..4816812 100644
> --- a/tools/Makefile
> +++ b/tools/Makefile
> @@ -72,6 +72,7 @@ BIN_FILES-$(CONFIG_SMDK5250) += mksmdk5250spl$(SFX)
> BIN_FILES-$(CONFIG_MX28) += mxsboot$(SFX)
> BIN_FILES-$(CONFIG_NETCONSOLE) += ncb$(SFX)
> BIN_FILES-$(CONFIG_SHA1_CHECK_UB_IMG) += ubsha1$(SFX)
> +BIN_FILES-$(CONFIG_DOVE) += kwboot$(SFX)
> BIN_FILES-$(CONFIG_KIRKWOOD) += kwboot$(SFX)
>
> # Source files which exist outside the tools directory
> @@ -103,6 +104,7 @@ OBJ_FILES-$(CONFIG_NETCONSOLE) += ncb.o
> NOPED_OBJ_FILES-y += os_support.o
> OBJ_FILES-$(CONFIG_SHA1_CHECK_UB_IMG) += ubsha1.o
> NOPED_OBJ_FILES-y += ublimage.o
> +OBJ_FILES-$(CONFIG_DOVE) += kwboot.o
> OBJ_FILES-$(CONFIG_KIRKWOOD) += kwboot.o
>
> # Don't build by default
> diff --git a/tools/kwboot.c b/tools/kwboot.c
> index e773f01..1e4edb6 100644
> --- a/tools/kwboot.c
> +++ b/tools/kwboot.c
> @@ -37,6 +37,10 @@ static unsigned char kwboot_msg_boot[] = {
> 0xBB, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77
> };
>
> +static unsigned char kwboot_msg_none[] = {
> + 0x00
> +};
> +
> #define KWBOOT_MSG_REQ_DELAY 10 /* ms */
> #define KWBOOT_MSG_RSP_TIMEO 50 /* ms */
>
> @@ -268,17 +272,21 @@ kwboot_bootmsg(int tty, void *msg)
> int rc;
> char c;
>
> - kwboot_printv("Sending boot message. Please reboot the
> target...");
> + kwboot_printv(msg != kwboot_msg_none
> + ? "Sending boot message. Please reboot the target..."
> + : "Sensing target. Please reboot target into UART mode...");
>
> do {
> rc = tcflush(tty, TCIOFLUSH);
> if (rc)
> break;
>
> - rc = kwboot_tty_send(tty, msg, 8);
> - if (rc) {
> - usleep(KWBOOT_MSG_REQ_DELAY * 1000);
> - continue;
> + if (msg != kwboot_msg_none) {
> + rc = kwboot_tty_send(tty, msg, 8);
> + if (rc) {
> + usleep(KWBOOT_MSG_REQ_DELAY * 1000);
> + continue;
> + }
> }
>
> rc = kwboot_tty_recv(tty, &c, 1, KWBOOT_MSG_RSP_TIMEO);
> @@ -607,6 +615,7 @@ kwboot_usage(FILE *stream, char *progname)
> fprintf(stream, " -b <image>: boot <image>\n");
> fprintf(stream, " -p: patch <image> to type 0x69 (uart boot)\n");
> fprintf(stream, "\n");
> + fprintf(stream, " -n: don't send boot message\n");
> fprintf(stream, " -t: mini terminal\n");
> fprintf(stream, "\n");
> fprintf(stream, " -B <baud>: set baud rate\n");
> @@ -636,7 +645,7 @@ main(int argc, char **argv)
> kwboot_verbose = isatty(STDOUT_FILENO);
>
> do {
> - int c = getopt(argc, argv, "hb:ptB:");
> + int c = getopt(argc, argv, "hb:nptB:");
> if (c < 0)
> break;
>
> @@ -646,6 +655,10 @@ main(int argc, char **argv)
> imgpath = optarg;
> break;
>
> + case 'n':
> + bootmsg = kwboot_msg_none;
> + break;
> +
> case 'p':
> patch = 1;
> break;
> --
> 1.7.10.4
Acked-By: Prafulla Wadaskar <prafulla at marvell.com>
Regards...
Prafulla . . .
More information about the U-Boot
mailing list