linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Cohen <david.a.cohen@linux.intel.com>
To: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Cc: Felipe Balbi <balbi@ti.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Baolu Lu <baolu.lu@linux.intel.com>,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
	Kishon Vijay Abraham I <kishon@ti.com>
Subject: Re: [PATCH 8/8] phy: add driver for TI TUSB1210 ULPI PHY
Date: Tue, 10 Feb 2015 10:33:26 -0800	[thread overview]
Message-ID: <20150210183326.GB28827@psi-dev26.jf.intel.com> (raw)
In-Reply-To: <20150203113739.GA3640@kuha.fi.intel.com>

On Tue, Feb 03, 2015 at 01:37:39PM +0200, Heikki Krogerus wrote:
> Hi David, Felipe,

Hi Heikki,

> 
> > > > > why would you have dwc3 mess around with the PHY's gpios ? Doesn't look
> > > > > very good.
> > > > 
> > > > ..but unfortunately we can't use the bus without it :(. We depend on
> > > > being able to read the vendor and product id's in the bus driver.
> > > 
> > > Doesn't the ugly platform device case look less ugly than this?
> > 
> > The platform device would in any case need to be created only for this
> > case. We can't any more just create the phy device unconditionally for
> > every PCI platform like it was created before, as it's clear now the
> > PHY device can be be created from other sources. It was a risk always.
> > 
> > But the big problem is that since the PHY on your board is ULPI PHY,
> > it will make it really difficult to add the ULPI bus support. And like
> > I said in my previous mail, we would really need it for the boards
> > that expect the PHY driver to provide functions like charger
> > detection. We don't need it only for BYT based boards.
> > 
> > So on top of the above, since the GPIO resources are given to dwc3, I
> > actually think that my hack is better then the platform device.
> 
> So what do you guys think we should do? I can't figure out how would
> we make the platform device work with ulpi bus. If we think about
> handling this in ulpi bus driver by setting setting the gpios before
> attempting to access the phy, which I'm not completely against, we
> have couple of problems.

It's still not enough :/
In order to make the phy functional (in BYT case) you need to bring DWC3
to reset state, then toggle these gpios to reset and power on phy, then
remove DWC3 from reset state so both can sync clocks.
You can still reset and power on phy before DWC3 goes to and from reset,
but then there's a chance phy may become unstable. It's then expected to
fail long stability tests.

> 
> Firstly, the gpio resources are given to the dwc3 in this case,
> while normally they will be given to separate device object for the
> phy.

Yup. You're correct. We can influence new products to not repeat this
issue, but we still need to support legacy ones.

> 
> Secondly, these gpios were not labeled in DSDT, but apparently
> requesting the gpios with index will be deprecated and not acceptable
> any more. With the remaining platforms that have not labeled the gpios
> we have to bind the gpios to labels separately in the drivers. With
> ACPI platforms the labels are introduced in struct acpi_gpio_mapping
> which needs to be registered with acpi_dev_add_driver_gpios(). Check
> net/rfkill/rfkill-gpio.c as an example how to use it.

For new products, certanly.

> 
> I think those points would make this too platform specific case to be
> handled in the ulpi bus driver.
> 
> Suggestions? I still think the correct thing to do is to handle this
> in the quirk in dwc3-pci.c.

IMO it would make things uglier than it was before.

BR, David

> 
> 
> Cheers,
> 
> -- 
> heikki

  reply	other threads:[~2015-02-10 18:31 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-23 15:12 [PATCH 0/8] usb: ulpi bus Heikki Krogerus
2015-01-23 15:12 ` [PATCH 1/8] usb: add bus type for USB ULPI Heikki Krogerus
2015-01-29  5:02   ` Felipe Balbi
2015-01-29 14:18     ` Heikki Krogerus
2015-02-13  1:44   ` Stephen Boyd
2015-02-13 11:24     ` Heikki Krogerus
2015-01-23 15:12 ` [PATCH 2/8] usb: dwc3: USB2 PHY register access bits Heikki Krogerus
2015-01-23 15:12 ` [PATCH 3/8] usb: dwc3: store driver data earlier Heikki Krogerus
2015-01-23 15:12 ` [PATCH 4/8] usb: dwc3: cache hwparams earlier Heikki Krogerus
2015-01-23 15:12 ` [PATCH 5/8] usb: dwc3: ULPI or UTMI+ select Heikki Krogerus
2015-01-23 15:12 ` [PATCH 6/8] usb: dwc3: add ULPI interface support Heikki Krogerus
2015-01-23 16:24   ` Felipe Balbi
2015-01-26 11:46     ` Heikki Krogerus
2015-01-26 19:35       ` Felipe Balbi
2015-01-27 11:09         ` Heikki Krogerus
2015-01-27 15:24           ` Felipe Balbi
2015-02-11 19:34   ` David Cohen
2015-02-12 12:12     ` Heikki Krogerus
2015-02-13  1:41       ` David Cohen
2015-02-13  1:54         ` David Cohen
2015-02-13 13:16         ` Heikki Krogerus
2015-02-13 22:03           ` David Cohen
2015-02-13 22:04             ` Felipe Balbi
2015-01-23 15:12 ` [PATCH 7/8] phy: helpers for USB ULPI PHY registering Heikki Krogerus
2015-01-29  5:03   ` Felipe Balbi
2015-01-29 14:34     ` Heikki Krogerus
2015-01-29 16:11       ` Felipe Balbi
2015-01-30 10:33         ` Heikki Krogerus
2015-01-30 16:03           ` Felipe Balbi
2015-01-23 15:12 ` [PATCH 8/8] phy: add driver for TI TUSB1210 ULPI PHY Heikki Krogerus
2015-01-24 23:58   ` David Cohen
2015-01-26 12:55     ` Heikki Krogerus
2015-01-26 19:23       ` David Cohen
2015-01-27  9:28         ` Heikki Krogerus
2015-01-27 12:57           ` Heikki Krogerus
2015-01-27 17:38           ` David Cohen
2015-01-28 14:20             ` Heikki Krogerus
2015-01-28 18:02               ` David Cohen
2015-01-29 14:14                 ` Heikki Krogerus
2015-01-29 16:20                   ` Felipe Balbi
2015-01-29 18:02                     ` David Cohen
2015-01-30 12:18                       ` Heikki Krogerus
2015-01-30 16:09                         ` David Cohen
2015-02-02 12:50                           ` Heikki Krogerus
2015-01-30  9:29                     ` Heikki Krogerus
2015-01-30 16:14                       ` Felipe Balbi
2015-01-30 16:25                         ` David Cohen
2015-01-30 16:30                           ` Felipe Balbi
2015-01-30 16:20                       ` David Cohen
2015-01-30 16:33                         ` Felipe Balbi
2015-02-02 12:59                         ` Heikki Krogerus
2015-02-03 11:37                           ` Heikki Krogerus
2015-02-10 18:33                             ` David Cohen [this message]
2015-02-10 19:05                           ` David Cohen
2015-02-10 19:23                             ` David Cohen
2015-02-11 13:12                               ` Heikki Krogerus
2015-02-11 19:36                                 ` David Cohen
2015-02-13 22:02                   ` David Cohen
2015-02-13 22:03                     ` Felipe Balbi
2015-02-13 22:13                       ` David Cohen
2015-01-29  5:09   ` Felipe Balbi
2015-01-29 14:30     ` Heikki Krogerus
2015-01-29 16:20       ` Felipe Balbi
2015-01-29 18:04         ` David Cohen
2015-01-29 18:25           ` David Cohen
2015-01-29 18:47             ` David Cohen
2015-01-30 10:30               ` Heikki Krogerus
2015-02-13  1:52   ` David Cohen
2015-02-13 12:35     ` Heikki Krogerus
2015-02-13 16:01       ` Felipe Balbi

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=20150210183326.GB28827@psi-dev26.jf.intel.com \
    --to=david.a.cohen@linux.intel.com \
    --cc=balbi@ti.com \
    --cc=baolu.lu@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=kishon@ti.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.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).