All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lukasz Majewski <l.majewski@samsung.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 3/4] usb: board_usb_init and board_usb_cleanup calls in the fastboot command
Date: Mon, 18 May 2015 15:02:36 +0200	[thread overview]
Message-ID: <20150518150236.13882481@amdc2363> (raw)
In-Reply-To: <1431798665-28790-3-git-send-email-contact@paulk.fr>

Hi Paul,

> Each USB download function command calls board_usb_init before
> registering the USB gadget and board_usb_cleanup after de-registering
> it. On devices currently using fasboot, musb-new is usually
> initialized earlier, but some other boards might need the
> board_usb_init call to properly initialize musb-new.
> 
> This requires adding an argument (the USB controller index) to the
> fastboot command, as it is currently done with other USB download
> gadget functions.
> 
> Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
> ---
>  common/cmd_fastboot.c             | 31
> +++++++++++++++++++++++++------ include/configs/ti_omap5_common.h |
> 2 +- 2 files changed, 26 insertions(+), 7 deletions(-)
> 
> diff --git a/common/cmd_fastboot.c b/common/cmd_fastboot.c
> index d52ccfb..86fbddf 100644
> --- a/common/cmd_fastboot.c
> +++ b/common/cmd_fastboot.c
> @@ -10,11 +10,26 @@
>  #include <common.h>
>  #include <command.h>
>  #include <g_dnl.h>
> +#include <usb.h>
>  
>  static int do_fastboot(cmd_tbl_t *cmdtp, int flag, int argc, char
> *const argv[]) {
> +	int controller_index;
> +	char *usb_controller;
>  	int ret;
>  
> +	if (argc < 2)
> +		return CMD_RET_USAGE;
> +
> +	usb_controller = argv[1];
> +	controller_index = simple_strtoul(usb_controller, NULL, 0);
> +
> +	ret = board_usb_init(controller_index, USB_INIT_DEVICE);
> +	if (ret) {
> +		error("USB init failed: %d", ret);
> +		return CMD_RET_FAILURE;
> +	}
> +
>  	g_dnl_clear_detach();
>  	ret = g_dnl_register("usb_dnl_fastboot");
>  	if (ret)
> @@ -23,9 +38,8 @@ static int do_fastboot(cmd_tbl_t *cmdtp, int flag,
> int argc, char *const argv[]) if (!g_dnl_board_usb_cable_connected())
> { puts("\rUSB cable not detected.\n" \
>  		     "Command exit.\n");
> -		g_dnl_unregister();
> -		g_dnl_clear_detach();
> -		return CMD_RET_FAILURE;
> +		ret = CMD_RET_FAILURE;
> +		goto exit;
>  	}
>  
>  	while (1) {
> @@ -36,14 +50,19 @@ static int do_fastboot(cmd_tbl_t *cmdtp, int
> flag, int argc, char *const argv[]) usb_gadget_handle_interrupts(0);
>  	}
>  
> +	ret = CMD_RET_SUCCESS;
> +
> +exit:
>  	g_dnl_unregister();
>  	g_dnl_clear_detach();
> -	return CMD_RET_SUCCESS;
> +	board_usb_cleanup(controller_index, USB_INIT_DEVICE);
> +
> +	return ret;
>  }
>  
>  U_BOOT_CMD(
> -	fastboot,	1,	0,	do_fastboot,
> +	fastboot, 2, 1, do_fastboot,
>  	"use USB Fastboot protocol",
> -	"\n"
> +	"<USB_controller>\n"
>  	"    - run as a fastboot usb device"
>  );
> diff --git a/include/configs/ti_omap5_common.h
> b/include/configs/ti_omap5_common.h index 3383491..dd1dcf5 100644
> --- a/include/configs/ti_omap5_common.h
> +++ b/include/configs/ti_omap5_common.h
> @@ -138,7 +138,7 @@
>  	"if test ${dofastboot} -eq 1; then " \
>  		"echo Boot fastboot requested, resetting
> dofastboot ...;" \ "setenv dofastboot 0; saveenv;" \
> -		"echo Booting into fastboot ...; fastboot;" \
> +		"echo Booting into fastboot ...; fastboot 0;" \
>  	"fi;" \
>  	"run findfdt; " \
>  	"run mmcboot;" \

Acked-by: Lukasz Majewski <l.majewski@samsung.com>

I will test this patch on my devices and then pull it to u-boot-dfu
tree.

Thanks for your work!

-- 
Best regards,

Lukasz Majewski

Samsung R&D Institute Poland (SRPOL) | Linux Platform Group

  reply	other threads:[~2015-05-18 13:02 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-16 17:51 [U-Boot] [PATCH 1/4] usb: USB download gadget and functions config options coherent naming Paul Kocialkowski
2015-05-16 17:51 ` [U-Boot] [PATCH 2/4] usb: Fastboot function config for better consistency with other functions Paul Kocialkowski
2015-05-18 13:02   ` Lukasz Majewski
2015-05-16 17:51 ` [U-Boot] [PATCH 3/4] usb: board_usb_init and board_usb_cleanup calls in the fastboot command Paul Kocialkowski
2015-05-18 13:02   ` Lukasz Majewski [this message]
2015-05-16 17:51 ` [U-Boot] [PATCH 4/4] usb: gadget: Weak board_usb_init/cleanup definitions in USB download gadget code Paul Kocialkowski
2015-05-18 13:02   ` Lukasz Majewski
2015-05-18 13:01 ` [U-Boot] [PATCH 1/4] usb: USB download gadget and functions config options coherent naming Lukasz Majewski
2015-06-12 10:42   ` Paul Kocialkowski
2015-06-12 14:10     ` Lukasz Majewski
2015-06-12 17:59       ` Paul Kocialkowski
2015-06-12 20:06         ` Lukasz Majewski
2015-06-12 20:14           ` Paul Kocialkowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150518150236.13882481@amdc2363 \
    --to=l.majewski@samsung.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.