public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] usb: ums: wait for usb cable connection before enter ums mode
Date: Mon, 13 Jan 2014 15:02:38 +0100	[thread overview]
Message-ID: <201401131502.38440.marex@denx.de> (raw)
In-Reply-To: <52D3EACE.4010602@samsung.com>

On Monday, January 13, 2014 at 02:31:58 PM, Przemyslaw Marczak wrote:
> Hello,
> 
> On 01/13/2014 12:14 PM, Marek Vasut wrote:
> > On Monday, January 13, 2014 at 10:18:51 AM, Przemyslaw Marczak wrote:
> >> Hello everyone,
> >> 
> >> On 01/07/2014 03:08 PM, Przemyslaw Marczak wrote:
> >>> Before this change ums mode can not be entered when device
> >>> was using the same usb port for usb/uart communication.
> >>> Switching USB cable from UART to USB always causes ums exit.
> >>> 
> >>> Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
> >>> 
> >>> ---
> >>> 
> >>>    common/cmd_usb_mass_storage.c |   24 ++++++++++++++++++++++++
> >>>    include/usb_mass_storage.h    |    3 +++
> >>>    2 files changed, 27 insertions(+)
> >>> 
> >>> diff --git a/common/cmd_usb_mass_storage.c
> >>> b/common/cmd_usb_mass_storage.c index 99487f4..5f557d5 100644
> >>> --- a/common/cmd_usb_mass_storage.c
> >>> +++ b/common/cmd_usb_mass_storage.c
> >>> @@ -42,6 +42,30 @@ int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag,
> >>> 
> >>>    	g_dnl_register("ums");
> >>> 
> >>> +	/* Timeout unit: seconds */
> >>> +	int cable_ready_timeout = UMS_CABLE_READY_TIMEOUT;
> >>> +
> >>> +	if (!usb_cable_connected()) {
> >>> +		puts("Please connect USB cable.\n");
> >>> +
> >>> +		while (!usb_cable_connected()) {
> >>> +			if (ctrlc()) {
> >>> +				puts("\rCTRL+C - Operation aborted.\n");
> >>> +				goto exit;
> >>> +			}
> >>> +			if (!cable_ready_timeout) {
> >>> +				puts("\rUSB cable not detected.\n" \
> >>> +				     "Command exit.\n");
> >>> +				goto exit;
> >>> +			}
> >>> +
> >>> +			printf("\rAuto exit in: %.2d s.", cable_ready_timeout);
> >>> +			mdelay(1000);
> >>> +			cable_ready_timeout--;
> >>> +		}
> >>> +		puts("\r\n");
> >>> +	}
> >>> +
> >>> 
> >>>    	while (1) {
> >>>    	
> >>>    		usb_gadget_handle_interrupts();
> >>> 
> >>> diff --git a/include/usb_mass_storage.h b/include/usb_mass_storage.h
> >>> index 9df3adc..058dcf1 100644
> >>> --- a/include/usb_mass_storage.h
> >>> +++ b/include/usb_mass_storage.h
> >>> @@ -20,6 +20,9 @@
> >>> 
> >>>    #define UMS_NUM_SECTORS		0
> >>>    #endif
> >>> 
> >>> +/* Wait at maximum 60 seconds for cable connection */
> >>> +#define UMS_CABLE_READY_TIMEOUT	60
> >>> +
> >>> 
> >>>    struct ums {
> >>>    
> >>>    	int (*read_sector)(struct ums *ums_dev,
> >>>    	
> >>>    			   ulong start, lbaint_t blkcnt, void *buf);
> >> 
> >> I was send some very useful fix to the ums. It is required for users who
> >> are using the same usb port for USB and UART purposes. Without this fix
> >> such users just can't use ums because it will always exit to prompt when
> >> user change the cable.
> > 
> > Can you please share the schematic of such a cable in public?
> 
> Unfortunately I am not allowed to share such information.

Is the trats2 so similar to galaxy SIII or what ? :)

> > How does this
> > "sharing" of USB and UART work? I am very curious here :-)
> 
> Regarding the USB sharing explanation - please refer to FSA9480 data
> sheet. It is available on the Internet.

Thanks.

> I can also recommend looking into newest kernel code support for Trats2
> device.

Yes, this is helpful, thanks!

> >> So I have few questions...
> >> Marek, could you review this patch?
> > 
> > On it!
> > 
> >> And what about the release, are you going to send pull request before
> >> the release?
> >> If not, then is it possible to apply this patch directly to
> >> u-boot/master by Tom Rini?
> > 
> > PR will happen once I am through the load of patches in my mailbox.
> 
> Thank you for patch apply.
> 
> Regards,

  reply	other threads:[~2014-01-13 14:02 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-07 14:08 [U-Boot] [PATCH] usb: ums: wait for usb cable connection before enter ums mode Przemyslaw Marczak
2014-01-13  9:18 ` Przemyslaw Marczak
2014-01-13 11:14   ` Marek Vasut
2014-01-13 13:31     ` Przemyslaw Marczak
2014-01-13 14:02       ` Marek Vasut [this message]
2014-01-13 11:29 ` Marek Vasut

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=201401131502.38440.marex@denx.de \
    --to=marex@denx.de \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox