From: s.hauer@pengutronix.de (Sascha Hauer)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 0/8] MXS: Add i.MX28 USB Host driver
Date: Wed, 18 Apr 2012 09:40:58 +0200 [thread overview]
Message-ID: <20120418074058.GM3852@pengutronix.de> (raw)
In-Reply-To: <F281D0F91ED19E4D8E63A7504E8A649803B76562@039-SN2MPN1-023.039d.mgd.msft.net>
On Wed, Apr 18, 2012 at 04:31:50AM +0000, Chen Peter-B29397 wrote:
>
> >
> > Your patches won't work when more than one USB port is enabled because
> > of the singular usb transceiver present in the kernel. That of course is
> > not your fault. I think Heikki (Added to Cc) is working on this issue,
> > but I don't know the status here.
> >
> > Another problem is that what you are doing does not integrate at all
> > with otg. I don't ask you to implement otg support because you are
> > likely not interested in this, but since you are adding a new ehci
> > glue driver anyway I suggest another approach:
> >
> > Put a driver under drivers/usb/otg which:
> >
> > - matches a 'imx-usb' device
> > - gets/enables all clocks needed for USB
> > - finds the transceiver
> > - registers a ehci device
> >
> > Future additions would be:
> >
> > - Put a USB_MODE_HOST/DEVICE flag into platform_data, and register a
> > host or gadget driver depending on this flag
> > - Add a USB_MODE_OTG flag to platform_data and implement otg in this
> > driver (or use whatever infrastructure present in the kernel then)
> >
> > This is similar to what msm does. This way we have the clocks and phys
> > handled where they are needed. We may use this code on i.MX later.
> >
> > We did this wrong on i.MX (and several other architectures) and getting
> > this right will be hard work. No need to introduce the same flaws again
> > with a new architecture.
> >
> Hi Sascha,
>
> We have been discussing i.mx usb re-structure at freescale internal during
> this periods, one side does not agree with otg driver manages PHY/clock
> solution due to below reasons:
>
> - May confuse the users who only use device or host function, the users may
> double "why I need to include otg file to support device/host only function"?
I can't find anything confusing in this.
>
> - For some special cases, like device sends resume signal(remote wakeup)
> after host suspend, but before otg suspend (system needs to refuse to suspend) .
> It needs to add hcd flag to judge if there is a remote wakeup after host suspend,
> and if the port is sending resume signal now (when the port is sending resume signal,
> we can't put power to low power mode). Is it suitable to put some hcd stuffs at otg driver?
I can't follow you here what the actual problem is, but since the otg
driver is the driver for host and gadget (which happens to pass control to
either the host or the gadget driver most of the time) it is ok to do
whatever it takes in the otg driver to make it work.
>
> - Any disadvantages three individual drivers manage PHY/clock separately after the generic PHY
> layer/FSL PHY driver have finished? It can define where to get/put PHY/clock operation at
> individual drivers clearly. When OTG switch, for host mode, the hcd struct (includes interrupt)
> will be free/created using usb_remove_hcd/usb_add_hcd, for device mode,
> we can deinit/init udc like current ci13xxx_udc.c at ci13xxx_vbus_session does.
I once made a quick hack using the msm otg driver on i.MX. I had to
comment out some msm specifics but after that it worked quite well.
Sascga
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
next prev parent reply other threads:[~2012-04-18 7:40 UTC|newest]
Thread overview: 149+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-17 10:15 [RFC PATCH 0/8] MXS: Add i.MX28 USB Host driver Marek Vasut
2012-04-17 10:15 ` [PATCH 1/8] MXS: Make clk_disable return integer Marek Vasut
2012-04-17 10:15 ` [PATCH 2/8] MXS: Add USB EHCI and USB PHY clock handling Marek Vasut
2012-04-17 18:01 ` Sascha Hauer
2012-04-17 10:15 ` [PATCH 3/8] MXS: Fixup i.MX233 USB base address name Marek Vasut
2012-04-17 10:15 ` [PATCH 4/8] MXS: Add platform registration hooks for USB EHCI Marek Vasut
2012-04-17 10:15 ` [PATCH 5/8] MXS: Add USB PHY driver Marek Vasut
2012-04-17 17:51 ` Sascha Hauer
2012-04-19 11:40 ` Arnd Bergmann
2012-04-17 10:15 ` [PATCH 6/8] MXS: Add separate MXS EHCI HCD driver Marek Vasut
2012-04-17 10:15 ` [PATCH 7/8] MXS: Enable USB on M28EVK Marek Vasut
2012-04-17 17:40 ` Sergei Shtylyov
2012-04-17 10:15 ` [PATCH 8/8] MXS: Enable USB on MX28EVK Marek Vasut
2012-04-17 10:37 ` [RFC PATCH 0/8] MXS: Add i.MX28 USB Host driver Dirk Behme
2012-04-17 11:24 ` Marek Vasut
2012-04-18 1:00 ` Chen Peter-B29397
2012-04-17 11:29 ` Sascha Hauer
2012-04-17 11:45 ` Marek Vasut
2012-04-17 12:18 ` Sascha Hauer
2012-04-17 20:29 ` Marek Vasut
2012-04-18 7:02 ` Sascha Hauer
2012-04-18 8:05 ` Chen Peter-B29397
2012-04-17 12:36 ` Heikki Krogerus
2012-04-18 4:31 ` Chen Peter-B29397
2012-04-18 7:40 ` Sascha Hauer [this message]
2012-04-20 13:10 ` 答复: " Liu JunJie-B08287
2012-04-20 16:25 ` Marek Vasut
2012-04-23 2:02 ` Liu JunJie-B08287
2012-04-18 2:07 ` [RFC PATCH 00/10 V2] " Marek Vasut
2012-04-18 2:07 ` [PATCH 01/10] MXS: Make clk_disable return integer Marek Vasut
2012-04-18 2:07 ` [PATCH 02/10] MXS: Add USB EHCI and USB PHY clock handling Marek Vasut
2012-04-18 2:07 ` [PATCH 03/10] MXS: Fixup i.MX233 USB base address name Marek Vasut
2012-04-18 2:07 ` [PATCH 04/10] MXS: Add data shared between imx-usb, PHY and EHCI driver Marek Vasut
2012-04-18 2:07 ` [PATCH 05/10] MXS: Add platform registration hooks for USB EHCI Marek Vasut
2012-04-18 2:07 ` [PATCH 06/10] MXS: Add composite imx-usb driver Marek Vasut
2012-04-18 2:07 ` [PATCH 07/10] MXS: Add USB PHY driver Marek Vasut
2012-04-18 2:07 ` [PATCH 08/10] MXS: Add separate MXS EHCI HCD driver Marek Vasut
2012-04-18 7:01 ` Chen Peter-B29397
2012-04-18 8:40 ` Sascha Hauer
2012-04-18 9:18 ` Chen Peter-B29397
2012-04-18 9:45 ` Sascha Hauer
2012-04-19 2:54 ` Chen Peter-B29397
2012-04-19 6:34 ` Sascha Hauer
2012-04-18 2:07 ` [PATCH 09/10] MXS: Enable USB on M28EVK Marek Vasut
2012-04-18 12:08 ` Sergei Shtylyov
2012-04-18 12:24 ` Marek Vasut
2012-04-18 2:07 ` [PATCH 10/10] MXS: Enable USB on MX28EVK Marek Vasut
2012-04-18 2:09 ` [RFC PATCH 00/10 V2] MXS: Add i.MX28 USB Host driver Marek Vasut
2012-04-18 7:52 ` Chen Peter-B29397
2012-04-18 17:49 ` Marek Vasut
2012-04-19 2:37 ` Chen Peter-B29397
2012-04-18 17:46 ` [RFC PATCH 00/10 V3] " Marek Vasut
2012-04-18 17:46 ` [PATCH 01/10] MXS: Make clk_disable return integer Marek Vasut
2012-04-18 17:46 ` [PATCH 02/10] MXS: Add USB EHCI and USB PHY clock handling Marek Vasut
2012-04-18 17:46 ` [PATCH 03/10] MXS: Fixup i.MX233 USB base address name Marek Vasut
2012-04-18 17:46 ` [PATCH 04/10] MXS: Add data shared between imx-usb and EHCI driver Marek Vasut
2012-04-18 17:46 ` [PATCH 05/10] MXS: Add platform registration hooks for USB EHCI Marek Vasut
2012-04-19 11:51 ` Arnd Bergmann
2012-04-19 14:24 ` Shawn Guo
2012-04-19 21:32 ` Marek Vasut
2012-04-20 0:40 ` Shawn Guo
2012-04-20 0:56 ` Marek Vasut
2012-04-20 1:34 ` Shawn Guo
2012-04-20 1:40 ` Marek Vasut
2012-04-18 17:46 ` [PATCH 06/10] MXS: Add imx-usb driver Marek Vasut
2012-04-18 17:46 ` [PATCH 07/10] MXS: Add USB PHY driver Marek Vasut
2012-04-18 19:36 ` Sascha Hauer
2012-04-18 20:02 ` Marek Vasut
2012-04-18 20:16 ` Sascha Hauer
2012-04-19 22:06 ` Marek Vasut
2012-04-20 2:35 ` Chen Peter-B29397
2012-04-18 17:46 ` [PATCH 08/10] MXS: Add separate MXS EHCI HCD driver Marek Vasut
2012-04-18 19:50 ` Sascha Hauer
2012-04-18 20:07 ` Marek Vasut
2012-04-18 20:43 ` Sascha Hauer
2012-04-18 17:46 ` [PATCH 09/10] MXS: Enable USB on M28EVK Marek Vasut
2012-04-18 17:46 ` [PATCH 10/10] MXS: Enable USB on MX28EVK Marek Vasut
2012-04-20 2:13 ` [RFC PATCH 00/10 V3] MXS: Add i.MX28 USB Host driver Marek Vasut
2012-04-20 9:48 ` Sascha Hauer
2012-04-20 12:26 ` Peter Chen
2012-04-20 12:44 ` Marek Vasut
2012-04-20 13:00 ` Robert Schwebel
2012-04-20 13:26 ` Sascha Hauer
2012-04-20 16:36 ` Michael Grzeschik
2012-04-21 7:42 ` Peter Chen
2012-04-21 8:17 ` Sascha Hauer
2012-04-21 13:53 ` Subodh Nijsure
2012-04-21 15:37 ` Marek Vasut
2012-04-22 12:59 ` [RFC PATCH 00/11 V4] " Marek Vasut
2012-04-22 12:59 ` [PATCH 01/11] MXS: Make clk_disable return integer Marek Vasut
2012-04-22 12:59 ` [PATCH 02/11] MXS: Add USB EHCI and USB PHY clock handling Marek Vasut
2012-04-22 14:42 ` Shawn Guo
2012-04-22 15:42 ` Marek Vasut
2012-04-22 16:34 ` Shawn Guo
2012-04-22 12:59 ` [PATCH 03/11] MXS: Fixup i.MX233 USB base address name Marek Vasut
2012-04-22 12:59 ` [PATCH 04/11] MXS: Add data shared between imx-otg and EHCI driver Marek Vasut
2012-04-22 14:39 ` Shawn Guo
2012-04-22 15:42 ` Marek Vasut
2012-04-22 16:38 ` Shawn Guo
2012-04-22 12:59 ` [PATCH 05/11] MXS: Modify the ci13xxx_udc to avoid adding UDC Marek Vasut
2012-04-22 12:59 ` [PATCH 06/11] MXS: Add small registration glue for ci13xxx_udc Marek Vasut
2012-04-23 1:46 ` Chen Peter-B29397
2012-04-22 12:59 ` [PATCH 07/11] MXS: Add separate MXS EHCI HCD driver Marek Vasut
2012-04-23 1:44 ` Chen Peter-B29397
2012-04-23 2:11 ` Marek Vasut
2012-04-22 12:59 ` [PATCH 08/11] MXS: Add imx-otg driver Marek Vasut
2012-04-23 6:39 ` Sascha Hauer
2012-04-23 9:38 ` Marek Vasut
2012-04-22 12:59 ` [PATCH 09/11] MXS: Add USB PHY driver Marek Vasut
2012-04-23 1:42 ` Chen Peter-B29397
2012-04-23 2:17 ` Marek Vasut
2012-04-23 12:20 ` Chen Peter-B29397
2012-04-22 12:59 ` [PATCH 10/11] MXS: Add platform registration hooks for USB EHCI Marek Vasut
2012-04-22 12:59 ` [PATCH 11/11] MXS: Enable USB on M28EVK Marek Vasut
2012-04-23 1:57 ` Chen Peter-B29397
2012-04-23 2:18 ` Marek Vasut
2012-04-23 2:01 ` [RFC PATCH 00/11 V4] MXS: Add i.MX28 USB Host driver Chen Peter-B29397
2012-04-23 2:18 ` Marek Vasut
2012-04-23 11:59 ` Chen Peter-B29397
2012-04-23 12:09 ` Marek Vasut
2012-04-23 12:25 ` Chen Peter-B29397
2012-04-23 12:40 ` Marek Vasut
2012-04-23 2:37 ` Marek Vasut
2012-04-24 3:18 ` [RFC PATCH 00/11 V5] " Marek Vasut
2012-04-24 3:18 ` [PATCH 01/11] MXS: Make clk_disable return integer Marek Vasut
2012-04-24 3:18 ` [PATCH 02/11] MXS: Add USB EHCI and USB PHY clock handling Marek Vasut
2012-04-24 3:18 ` [PATCH 03/11] MXS: Fixup i.MX233 USB base address name Marek Vasut
2012-04-24 3:18 ` [PATCH 04/11] MXS: Add data shared between imx-otg and EHCI driver Marek Vasut
2012-04-24 3:18 ` [PATCH 05/11] MXS: Modify the ci13xxx_udc to avoid adding UDC Marek Vasut
2012-04-29 8:26 ` Chen Peter-B29397
2012-04-24 3:18 ` [PATCH 06/11] MXS: Add small registration glue for ci13xxx_udc Marek Vasut
2012-04-24 3:18 ` [PATCH 07/11] MXS: Add separate MXS EHCI HCD driver Marek Vasut
2012-04-29 8:28 ` Chen Peter-B29397
2012-04-24 3:18 ` [PATCH 08/11] MXS: Add imx-otg driver Marek Vasut
2012-04-24 14:48 ` Lothar Waßmann
2012-04-24 14:50 ` Sascha Hauer
2012-04-24 16:13 ` Lothar Waßmann
2012-04-24 16:47 ` Sascha Hauer
2012-04-24 17:49 ` Marek Vasut
2012-04-24 20:49 ` Sascha Hauer
2012-04-24 20:58 ` Marek Vasut
2012-04-25 0:17 ` Chen Peter-B29397
2012-04-24 3:18 ` [PATCH 09/11] MXS: Add USB PHY driver Marek Vasut
2012-04-24 3:18 ` [PATCH 10/11] MXS: Add platform registration hooks for USB EHCI Marek Vasut
2012-04-24 3:18 ` [PATCH 11/11] MXS: Enable USB on M28EVK Marek Vasut
2012-04-24 20:02 ` [RFC PATCH 00/11 V5] MXS: Add i.MX28 USB Host driver Russell King - ARM Linux
2012-04-25 12:27 ` Marek Vasut
2012-04-25 12:41 ` Russell King - ARM Linux
2012-04-25 12:43 ` 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=20120418074058.GM3852@pengutronix.de \
--to=s.hauer@pengutronix.de \
--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).