mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Felipe Balbi <balbi@ti.com>
To: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Cc: Felipe Balbi <balbi@ti.com>,
	David Cohen <david.a.cohen@linux.intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Stephen Boyd <sboyd@codeaurora.org>,
	Baolu Lu <baolu.lu@linux.intel.com>,
	Paul Bolle <pebolle@tiscali.nl>, <linux-usb@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCHv3 10/12] usb: dwc3: add ULPI interface support
Date: Wed, 29 Apr 2015 10:04:50 -0500	[thread overview]
Message-ID: <20150429150450.GC7262@saruman.tx.rr.com> (raw)
In-Reply-To: <1430296233-144245-3-git-send-email-heikki.krogerus@linux.intel.com>

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

On Wed, Apr 29, 2015 at 11:30:31AM +0300, Heikki Krogerus wrote:
> Registers DWC3's ULPI interface with the ULPI bus when it's
> available.
> 
> Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> Acked-by: David Cohen <david.a.cohen@linux.intel.com>
> ---
>  drivers/usb/dwc3/Kconfig  |  7 ++++
>  drivers/usb/dwc3/Makefile |  4 +++
>  drivers/usb/dwc3/core.c   | 19 +++++++++-
>  drivers/usb/dwc3/core.h   | 14 ++++++++
>  drivers/usb/dwc3/ulpi.c   | 91 +++++++++++++++++++++++++++++++++++++++++++++++
>  5 files changed, 134 insertions(+), 1 deletion(-)
>  create mode 100644 drivers/usb/dwc3/ulpi.c
> 
> diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig
> index 827c4f8..6f92b36 100644
> --- a/drivers/usb/dwc3/Kconfig
> +++ b/drivers/usb/dwc3/Kconfig
> @@ -11,6 +11,13 @@ config USB_DWC3
>  
>  if USB_DWC3
>  
> +config USB_DWC3_ULPI
> +	bool "Register ULPI PHY Interface"
> +	depends on USB_ULPI_BUS
> +	help
> +	  Select this if you have ULPI type PHY attached to your DWC3
> +	  controller.
> +
>  choice
>  	bool "DWC3 Mode Selection"
>  	default USB_DWC3_DUAL_ROLE if (USB && USB_GADGET)
> diff --git a/drivers/usb/dwc3/Makefile b/drivers/usb/dwc3/Makefile
> index 46172f4..c7076e3 100644
> --- a/drivers/usb/dwc3/Makefile
> +++ b/drivers/usb/dwc3/Makefile
> @@ -15,6 +15,10 @@ ifneq ($(filter y,$(CONFIG_USB_DWC3_GADGET) $(CONFIG_USB_DWC3_DUAL_ROLE)),)
>  	dwc3-y				+= gadget.o ep0.o
>  endif
>  
> +ifneq ($(CONFIG_USB_DWC3_ULPI),)
> +	dwc3-y				+= ulpi.o
> +endif
> +
>  ifneq ($(CONFIG_DEBUG_FS),)
>  	dwc3-y				+= debugfs.o
>  endif
> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> index fdeff5e..adff5ab 100644
> --- a/drivers/usb/dwc3/core.c
> +++ b/drivers/usb/dwc3/core.c
> @@ -444,13 +444,28 @@ static int dwc3_phy_setup(struct dwc3 *dwc)
>  	case DWC3_GHWPARAMS3_HSPHY_IFC_UTMI_ULPI:
>  		if (!strncmp(dwc->hsphy_interface, "utmi", 4)) {
>  			reg &= ~DWC3_GUSB2PHYCFG_ULPI_UTMI;
> +			break;
>  		} else if (!strncmp(dwc->hsphy_interface, "ulpi", 4)) {
>  			reg |= DWC3_GUSB2PHYCFG_ULPI_UTMI;
> +			dwc3_writel(dwc->regs, DWC3_GUSB2PHYCFG(0), reg);
>  		} else {
>  			dev_warn(dwc->dev, "HSPHY Interface not defined\n");
> -			break;
> +
> +			/* Relying on default value. */
> +			if (!(reg & DWC3_GUSB2PHYCFG_ULPI_UTMI))
> +				break;
>  		}
>  		/* FALLTHROUGH */
> +	case DWC3_GHWPARAMS3_HSPHY_IFC_ULPI:
> +		/* Soft reset here to sync the clocks */
> +		ret = dwc3_soft_reset(dwc);

you just lost all DWC3_GUSB3PIPECTL(0) and DWC3_GUSB2PHYCFG(0)
configurations which happened right before this switch. Essentially
breaking anybody who needs any of those extra bits enabled even though
they're not enabled by default.

-- 
balbi

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

  reply	other threads:[~2015-04-29 15:06 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-28 13:24 [PATCHv3 00/12] usb: ulpi bus Heikki Krogerus
2015-04-28 13:24 ` [PATCHv3 01/11] usb: add bus type for USB ULPI Heikki Krogerus
2015-04-29 20:13   ` Felipe Balbi
2015-04-30 10:37     ` Heikki Krogerus
2015-04-28 13:24 ` [PATCHv3 02/11] usb: dwc3: USB2 PHY register access bits Heikki Krogerus
2015-04-28 13:24 ` [PATCHv3 03/11] usb: dwc3: ULPI or UTMI+ select Heikki Krogerus
2015-04-28 13:24 ` [PATCHv3 04/11] usb: dwc3: store driver data earlier Heikki Krogerus
2015-04-28 13:24 ` [PATCHv3 05/11] usb: dwc3: cache hwparams earlier Heikki Krogerus
2015-04-28 13:24 ` [PATCHv3 06/11] usb: dwc3: soft reset to it's own function Heikki Krogerus
2015-04-28 17:22   ` Felipe Balbi
2015-04-29  8:16     ` Heikki Krogerus
2015-04-28 13:24 ` [PATCHv3 07/11] usb: dwc3: setup phys earlier Heikki Krogerus
2015-04-28 13:24 ` [PATCHv3 08/11] usb: dwc3: add hsphy_interface property Heikki Krogerus
2015-04-28 17:13   ` Felipe Balbi
2015-04-29  8:04     ` Heikki Krogerus
2015-04-28 13:24 ` [PATCHv3 09/11] usb: dwc3: pci: add quirk for Baytrails Heikki Krogerus
2015-04-28 13:24 ` [PATCHv3 10/11] phy: helpers for USB ULPI PHY registering Heikki Krogerus
2015-04-28 13:24 ` [PATCHv3 11/11] phy: add driver for TI TUSB1210 ULPI PHY Heikki Krogerus
2015-04-28 17:17 ` [PATCHv3 00/12] usb: ulpi bus Felipe Balbi
2015-04-29  8:21   ` Heikki Krogerus
2015-04-29  8:30     ` [PATCHv3 08/12] usb: dwc3: add hsphy_interface property Heikki Krogerus
2015-04-29 15:03       ` Felipe Balbi
2015-04-30 10:33         ` Heikki Krogerus
2015-04-29  8:30     ` [PATCHv3 09/12] usb: dwc3: pci: add quirk for Baytrails Heikki Krogerus
2015-04-29  8:30     ` [PATCHv3 10/12] usb: dwc3: add ULPI interface support Heikki Krogerus
2015-04-29 15:04       ` Felipe Balbi [this message]
2015-04-30 10:34         ` Heikki Krogerus
2015-04-30 14:54           ` Felipe Balbi
2015-05-04 12:03             ` Heikki Krogerus
2015-05-05 15:02               ` Felipe Balbi
2015-04-29  8:30     ` [PATCHv3 11/12] phy: helpers for USB ULPI PHY registering Heikki Krogerus
2015-04-29  8:30     ` [PATCHv3 12/12] phy: add driver for TI TUSB1210 ULPI PHY Heikki Krogerus
  -- strict thread matches above, loose matches on Subject: below --
2015-03-19 11:48 [PATCHv2 10/12] usb: dwc3: add ULPI interface support Heikki Krogerus
2015-03-20 12:20 ` [PATCHv3 " Heikki Krogerus

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=20150429150450.GC7262@saruman.tx.rr.com \
    --to=balbi@ti.com \
    --cc=baolu.lu@linux.intel.com \
    --cc=david.a.cohen@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=pebolle@tiscali.nl \
    --cc=sboyd@codeaurora.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

Powered by JetHome