From: Michael Trimarchi <michael@amarulasolutions.com>
To: NeilBrown <neilb@suse.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>, linux-omap@vger.kernel.org
Subject: Re: Help wanted with USB and OMAP3 off_mode
Date: Wed, 09 Jan 2013 11:24:09 +0100 [thread overview]
Message-ID: <50ED4549.6080802@amarulasolutions.com> (raw)
In-Reply-To: <20130109211931.0e00db5d@notabene.brown>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=windows-1252, Size: 3579 bytes --]
Hi Neil
On 01/09/2013 11:19 AM, NeilBrown wrote:
> On Wed, 09 Jan 2013 12:00:05 +0200 Igor Grinberg <grinberg@compulab.co.il>
> wrote:
>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>
>> Hi Neil,
>
>> On 01/09/13 00:29, NeilBrown wrote:
>>>
>>> Hi,
>>> I'm trying to get off_mode working reliably on my gta04 mobile phone.
>>>
>>> My current stumbling block is USB. The "Option" GSM module is attached via
>>> USB (there is a separate transceiver chip attached to port 1 which is placed
>>> in OMAP_EHCI_PORT_MODE_PHY).
>
>> Which PHY is this (vendor/model)?
>
> Hi Igor,
> it is the SMSC USB3322
>
> http://www.smsc.com/media/Downloads_Public/Data_Sheets/3320.pdf
>
>
> BTW I subsequently discovered that keeping USBHOST out off off_mode only
> sometimes avoid the problem, not always. So there are probably multiple
> issues :-(
Are you sure that you don't have glitch on power, reset pin during suspend?
Michael
>
> NeilBrown
>
>
>
>
>>>
>>> After a suspend/resume cycle with off_mode enabled the GSM module disappears.
>>> i.e. 'lsusb' doesn't see it any more and the various ttyHSxx devices don't
>>> exist.
>>> Without off mode, the modem always appears after resume.
>>>
>>> I discovered that the registers set by:
>>>
>>> drivers/mfd/omap-usb-host.c
>>>
>>> are not maintained across as suspend/resume so I added the following patch
>>> (which I can make a formal submission of if it looks right to others), but
>>> that didn't help (or didn't help enough).
>>>
>>> If I
>>>
>>> echo 1 > /sys/kernel/debug/pm_debug/usbhost_pwrdm/suspend
>>>
>>> thus keeping just the USBHOST power domain out of off_mode, the GSM module
>>> doesn't disappear. So it seems that some context in the usbhost domain is
>>> not being save and restored.
>>>
>>> This is as far as I can get. Can someone suggest where I should look to find
>>> out what is not being saved/restored properly, and how to go about saving and
>>> restoring?
>>>
>>> Thanks in advance,
>>> NeilBrown
>>>
>>>
>>>
>>> diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c
>>> index 23cec57..522405e 100644
>>> --- a/drivers/mfd/omap-usb-host.c
>>> +++ b/drivers/mfd/omap-usb-host.c
>>> @@ -100,6 +100,10 @@ struct usbhs_hcd_omap {
>>>
>>> void __iomem *uhh_base;
>>>
>>> + struct {
>>> + unsigned hostconfig;
>>> + } context;
>>> +
>>> struct usbhs_omap_platform_data platdata;
>>>
>>> u32 usbhs_rev;
>>> @@ -300,6 +304,10 @@ static int usbhs_runtime_resume(struct device *dev)
>>> clk_enable(omap->utmi_p1_fck);
>>> clk_enable(omap->utmi_p2_fck);
>>>
>>> + usbhs_write(omap->uhh_base,
>>> + OMAP_UHH_HOSTCONFIG,
>>> + omap->context.hostconfig);
>>> +
>>> spin_unlock_irqrestore(&omap->lock, flags);
>>>
>>> return 0;
>>> @@ -319,6 +327,8 @@ static int usbhs_runtime_suspend(struct device *dev)
>>> }
>>>
>>> spin_lock_irqsave(&omap->lock, flags);
>>> + omap->context.hostconfig = usbhs_read(omap->uhh_base,
>>> + OMAP_UHH_HOSTCONFIG);
>>>
>>> if (is_ehci_tll_mode(pdata->port_mode[0]))
>>> clk_disable(omap->usbhost_p1_fck);
>
>> - --
>> Regards,
>> Igor.
>>
> N§²æìr¸yúèØb²X¬¶Ç§vØ^)Þº{.nÇ+·¥{±¢f©{ayº\x1dÊÚë,j\a¢f£¢·hàz¹\x1e®w¥¢¸\f¢·¦j:+v¨wèjØm¶ÿ¾\a«êçzZ+ùÝ¢j"ú!tml=
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2013-01-09 10:24 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-08 22:29 Help wanted with USB and OMAP3 off_mode NeilBrown
2013-01-09 10:00 ` Igor Grinberg
2013-01-09 10:19 ` NeilBrown
2013-01-09 10:24 ` Michael Trimarchi [this message]
2013-01-09 11:34 ` NeilBrown
2013-01-09 11:42 ` Michael Trimarchi
2013-01-16 7:28 ` NeilBrown
2013-01-09 12:08 ` Michael Trimarchi
2013-01-09 12:54 ` Igor Grinberg
2013-01-16 7:26 ` NeilBrown
2013-01-16 9:28 ` Igor Grinberg
2013-01-16 10:19 ` NeilBrown
2013-01-16 11:11 ` Igor Grinberg
2013-01-17 0:22 ` NeilBrown
2013-01-17 9:24 ` NeilBrown
2013-01-16 10:00 ` Roger Quadros
2013-01-16 10:27 ` NeilBrown
2013-01-16 10:57 ` Roger Quadros
2013-01-17 11:01 ` NeilBrown
2013-01-17 11:29 ` Roger Quadros
2013-01-17 21:08 ` NeilBrown
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=50ED4549.6080802@amarulasolutions.com \
--to=michael@amarulasolutions.com \
--cc=grinberg@compulab.co.il \
--cc=linux-omap@vger.kernel.org \
--cc=neilb@suse.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.