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 12:14:26 +0100 [thread overview]
Message-ID: <201401131214.26154.marex@denx.de> (raw)
In-Reply-To: <52D3AF7B.6080108@samsung.com>
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? How does this
"sharing" of USB and UART work? I am very curious here :-)
> 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.
next prev parent reply other threads:[~2014-01-13 11:14 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 [this message]
2014-01-13 13:31 ` Przemyslaw Marczak
2014-01-13 14:02 ` Marek Vasut
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=201401131214.26154.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