linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: rogerq@ti.com (Roger Quadros)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCh V10 04/12] usb: ehci: ehci-mv: use PHY driver for ehci
Date: Mon, 17 Jun 2013 11:17:21 +0300	[thread overview]
Message-ID: <51BEC611.5090304@ti.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1306141553030.3152-100000@netrider.rowland.org>

On 06/14/2013 11:01 PM, Alan Stern wrote:
> On Fri, 14 Jun 2013, Roger Quadros wrote:
> 
>>>> hi
>>>> The following is my understanding.
>>>> I think for PHY initialization and shutdown part, it is generic for
>>>> other parts.
>>>> PHY initialization need to be called before hc_driver->reset is called.
>>>> I think it can be added at usb_add_hcd.
>>>> For PHY shutdown, it can be added at usb_remove_hcd.
>>>
>>> Yes, that should work.
>>
>> I don't think this will work with OMAP USB host controller when used in
>> Transceiver-less mode (e.g. HSIC). In this mode we need to release the HSIC
>> reset (mapped to PHY init), after the EHCI controller is up and running.
>>
>> On the other hand, in the PHY mode, the PHY needs to be initialized (brought out
>> of reset) before the EHCI controller starts.
> 
> In other words, transceiver-less mode effectively works without using a 
> software-controlled PHY?
> 
Right.

>> This behavior might be different on other controllers. Generalization is good
>> as long as there is an override available for the controllers to handle the
>> PHY init/shutdown themselves.
> 
> To avoid PHY init/shutdown, the platform driver should simply leave the 
> generic PHY pointer (which has not yet been added to struct hcd) set to 
> NULL.
> 
>>>> For suspend/resume, i do not know how to add it. For our EHCI driver,
>>>> when system goes to deep idle states, we just directly shutdown the
>>>> hcd and initialize it again when the system goes back.
>>>
>>> You shut down the host controller?  Then how does it detect wakeup 
>>> events?  And how does it know if a device was disconnected while the 
>>> power was off?
>>>
>>
>> On OMAP as well we are aiming to cut clocks to the host controller (state saved)
>> during bus/system suspend. PHY is in low power mode capable of detecting wakeup events.
>> The SoC is configured to wake up on any I/O activity on the PHY pins. Upon
>> detection of PHY related I/O event, SoC wakes up, we restore the host controller state
>> and proceed as normal.
> 
> Maybe it's just me, but turning off USB Vbus power during suspend seems
> like a bad idea.  Except for the case where all the root-hub ports are 
> disabled (such as when no devices are plugged in) -- in that case it's 
> fine.

We don't turn off Vbus power at all. Just the USB controller IPs clocks (internal to
our SoC) are cut off.

cheers,
-roger

  parent reply	other threads:[~2013-06-17  8:17 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-13  5:51 [V9 PATCH 00/12] mv-usb phy driver Chao Xie
2013-05-13  5:51 ` [PATCh V10 01/12] usb: phy: protect phy init and shutdown for mutiple deivces Chao Xie
2013-05-13  5:51 ` [PATCh V10 02/12] usb: phy: mv_usb2: add PHY driver for marvell usb2 controller Chao Xie
2013-05-13  5:51 ` [PATCh V10 03/12] usb: gadget: mv_udc: use PHY driver for udc Chao Xie
2013-05-13  5:51 ` [PATCh V10 04/12] usb: ehci: ehci-mv: use PHY driver for ehci Chao Xie
2013-05-13 14:13   ` Alan Stern
2013-05-28 16:24     ` Felipe Balbi
2013-05-29  3:58       ` Chao Xie
2013-05-29 17:37         ` Felipe Balbi
2013-05-30 11:45           ` Roger Quadros
2013-05-30 14:23             ` Alan Stern
2013-06-13  2:45               ` Chao Xie
2013-06-13 15:08                 ` Alan Stern
2013-06-14  1:31                   ` Chao Xie
2013-06-14  1:55                     ` Chao Xie
2013-06-15  2:24                       ` Alan Stern
2013-06-14  9:07                   ` Roger Quadros
2013-06-14 20:01                     ` Alan Stern
2013-06-17  6:12                       ` Chao Xie
2013-06-17 14:01                         ` Alan Stern
2013-06-17  8:17                       ` Roger Quadros [this message]
2013-05-13  5:51 ` [PATCh V10 05/12] usb: phy: phy-mv-usb: use USB2 PHY driver for otg Chao Xie
2013-05-13  5:51 ` [PATCh V10 06/12] usb: mv_u3d: usb phy drivers for phy operation Chao Xie
2013-05-13  5:51 ` [PATCh V10 07/12] arm: mmp2: change the defintion of usb devices Chao Xie
2013-05-13  5:51 ` [PATCh V10 08/12] arm: pxa910: " Chao Xie
2013-05-13  5:51 ` [PATCh V10 09/12] arm: ttc_dkb: modify usb support Chao Xie
2013-05-13  5:51 ` [PATCh V10 10/12] arm: mmp: remove unused usb devices Chao Xie
2013-05-13  5:51 ` [PATCh V10 11/12] arm: brownstone: add usb support for the board Chao Xie
2013-05-13  5:51 ` [PATCh V10 12/12] usb: mv_usb: remove the phy callbacks in pdata Chao Xie

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=51BEC611.5090304@ti.com \
    --to=rogerq@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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).