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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).