All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maxime Ripard <maxime.ripard@free-electrons.com>
To: Arokux X <arokux@gmail.com>
Cc: Kishon Vijay Abraham I <kishon@ti.com>,
	peter.chen@freescale.com, Felipe Balbi <balbi@ti.com>,
	Alan Stern <stern@rowland.harvard.edu>,
	Greg KH <gregkh@linuxfoundation.org>,
	linux-usb@vger.kernel.org,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: When USB PHY framework should be used?
Date: Tue, 22 Oct 2013 11:50:01 +0100	[thread overview]
Message-ID: <20131022105001.GQ3041@lukather> (raw)
In-Reply-To: <CAPNxggbs6hJtPA+2kqg34D8kV73BdNft2kZdMhUKtsAD=SsCnA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1968 bytes --]

On Mon, Oct 21, 2013 at 01:19:46PM +0200, Arokux X wrote:
> Dear Kishon,
> 
> thank you for the answer, no problem it was late! Your understanding
> is almost correct.
> 
> > From whatever I could understand, you have a USB HOST controller (each HOST
> > controller has an EHCI controller and a companion OHCI controller?). There are
> > separate clocks for each of EHCI and OHCI controller. EHCI and OHCI has
> > separate PHYs. Both these PHYs are fed by the same common clock. And you have a
> > separate reset bits for each of the PHYs.
> 
> EHCI and OHCI have the same PHY. And this PHY has a reset bit. This is
> exactly what bothers me. Because there should be something central to
> both EHCI and OHCI which manages this reset bit, i.e. the bit should
> be cleared if and only if both EHCI and OHCI controllers are unloaded
> (as modules). I have done a nice picture of the hardware here, please
> take a look at it:
> 
> http://linux-sunxi.org/User:Arokux#USB_Host_Hardware
> 
> I've just realized that there is another commo thing for EHCI and OHCI
> - a GPIO which turns on the power to the USB_VBUS. The power should be
> supplied if at least one of the EHCI or OHCI is loaded. This again
> needs some central management.
> 
> So to summarize, I have two things (reset bit and GPIO for the
> USB_VBUS) which are common to EHCI and OHCI and need to be managed
> outside of the EHCI/OHCI bus glue drivers. My exact question is: where
> this management should be done? Are there good examples in the kernel
> already?

It looks to me like all of these are just different registers of the
same controller. So to me, you should have a single driver for it, that
manages both the reset, regulators and clocks, and loads both the ohci
and ehci layers. bcma-hcd seems to be doing exactly that for example.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

      parent reply	other threads:[~2013-10-22 10:50 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-10 19:21 When USB PHY framework should be used? Arokux X
2013-10-11  1:42 ` Peter Chen
2013-10-11  6:07 ` Kishon Vijay Abraham I
2013-10-11 17:22   ` Arokux X
2013-10-12  1:19     ` Chen Peter-B29397
2013-10-12 10:07     ` Kishon Vijay Abraham I
2013-10-14 18:17       ` Arokux X
2013-10-20 22:23         ` Arokux X
2013-10-21  9:02         ` Kishon Vijay Abraham I
2013-10-21 11:19           ` Arokux X
2013-10-21 12:44             ` Kishon Vijay Abraham I
2013-10-22 10:50             ` Maxime Ripard [this message]

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=20131022105001.GQ3041@lukather \
    --to=maxime.ripard@free-electrons.com \
    --cc=arokux@gmail.com \
    --cc=balbi@ti.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=kishon@ti.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=peter.chen@freescale.com \
    --cc=stern@rowland.harvard.edu \
    /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.