All of lore.kernel.org
 help / color / mirror / Atom feed
From: kishon <kishon-l0cyMroinI0@public.gmane.org>
To: Roger Quadros <rogerq-l0cyMroinI0@public.gmane.org>
Cc: gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
	linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	balbi-l0cyMroinI0@public.gmane.org,
	stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org,
	linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 12/12] USB: ehci-omap: Fix detection in HSIC mode
Date: Tue, 12 Mar 2013 16:21:07 +0530	[thread overview]
Message-ID: <513F089B.5080004@ti.com> (raw)
In-Reply-To: <1363085090-24676-13-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>

Hi,

On Tuesday 12 March 2013 04:14 PM, Roger Quadros wrote:
> The HSIC devices need to be kept in reset while the EHCI controller
> is being initialized and only brought out of reset after the
> initialization is complete, else HSIC devices will not be detected.
>
> Signed-off-by: Roger Quadros <rogerq-l0cyMroinI0@public.gmane.org>
> CC: Alan Stern <stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org>
> ---
>   drivers/usb/host/ehci-omap.c |   28 +++++++++++-----------------
>   1 files changed, 11 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
> index 1ba1df8..52a2d46 100644
> --- a/drivers/usb/host/ehci-omap.c
> +++ b/drivers/usb/host/ehci-omap.c
> @@ -50,6 +50,7 @@
>   #include <linux/usb/hcd.h>
>   #include <linux/of.h>
>   #include <linux/dma-mapping.h>
> +#include <linux/delay.h>

not needed here I guess.
>
>   #include "ehci.h"
>
> @@ -90,26 +91,13 @@ static inline u32 ehci_read(void __iomem *base, u32 reg)
>   static int omap_ehci_init(struct usb_hcd *hcd)
>   {
>   	struct ehci_hcd	*ehci = hcd_to_ehci(hcd);
> -	struct omap_hcd	*omap = (struct omap_hcd *)ehci->priv;
> -	int rc, i;
> -
> -	/* Hold PHYs in reset while initializing EHCI controller */
> -	for (i = 0; i < omap->nports; i++) {
> -		if (omap->phy[i])
> -			usb_phy_shutdown(omap->phy[i]);
> -	}
> +	int rc;
>
>   	/* we know this is the memory we want, no need to ioremap again */
>   	ehci->caps = hcd->regs;
>
>   	rc = ehci_setup(hcd);
>
> -	/* Bring PHYs out of reset */
> -	for (i = 0; i < omap->nports; i++) {
> -		if (omap->phy[i])
> -			usb_phy_init(omap->phy[i]);
> -	}
> -
>   	return rc;
>   }
>
> @@ -219,9 +207,6 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev)
>   		}
>
>   		omap->phy[i] = phy;
> -		usb_phy_init(omap->phy[i]);
> -		/* bring PHY out of suspend */
> -		usb_phy_set_suspend(omap->phy[i], 0);
>   	}
>
>   	pm_runtime_enable(dev);
> @@ -245,6 +230,15 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev)
>   		goto err_pm_runtime;
>   	}
>
> +	/* Bring PHYs out of reset */
> +	for (i = 0; i < omap->nports; i++) {
> +		if (!omap->phy[i])
> +			continue;
> +
> +		usb_phy_init(omap->phy[i]);
> +		/* bring PHY out of suspend */
> +		usb_phy_set_suspend(omap->phy[i], 0);
> +	}

But isn't HSIC supposed to be PHYless devices. Maybe a comment 
explaining it might be helpful.

Thanks
Kishon

WARNING: multiple messages have this Message-ID (diff)
From: kishon <kishon@ti.com>
To: Roger Quadros <rogerq@ti.com>
Cc: <gregkh@linuxfoundation.org>, <stern@rowland.harvard.edu>,
	<balbi@ti.com>, <b-cousson@ti.com>, <mark.rutland@arm.com>,
	<linux-kernel@vger.kernel.org>, <linux-usb@vger.kernel.org>,
	<linux-omap@vger.kernel.org>,
	<devicetree-discuss@lists.ozlabs.org>
Subject: Re: [PATCH 12/12] USB: ehci-omap: Fix detection in HSIC mode
Date: Tue, 12 Mar 2013 16:21:07 +0530	[thread overview]
Message-ID: <513F089B.5080004@ti.com> (raw)
In-Reply-To: <1363085090-24676-13-git-send-email-rogerq@ti.com>

Hi,

On Tuesday 12 March 2013 04:14 PM, Roger Quadros wrote:
> The HSIC devices need to be kept in reset while the EHCI controller
> is being initialized and only brought out of reset after the
> initialization is complete, else HSIC devices will not be detected.
>
> Signed-off-by: Roger Quadros <rogerq@ti.com>
> CC: Alan Stern <stern@rowland.harvard.edu>
> ---
>   drivers/usb/host/ehci-omap.c |   28 +++++++++++-----------------
>   1 files changed, 11 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
> index 1ba1df8..52a2d46 100644
> --- a/drivers/usb/host/ehci-omap.c
> +++ b/drivers/usb/host/ehci-omap.c
> @@ -50,6 +50,7 @@
>   #include <linux/usb/hcd.h>
>   #include <linux/of.h>
>   #include <linux/dma-mapping.h>
> +#include <linux/delay.h>

not needed here I guess.
>
>   #include "ehci.h"
>
> @@ -90,26 +91,13 @@ static inline u32 ehci_read(void __iomem *base, u32 reg)
>   static int omap_ehci_init(struct usb_hcd *hcd)
>   {
>   	struct ehci_hcd	*ehci = hcd_to_ehci(hcd);
> -	struct omap_hcd	*omap = (struct omap_hcd *)ehci->priv;
> -	int rc, i;
> -
> -	/* Hold PHYs in reset while initializing EHCI controller */
> -	for (i = 0; i < omap->nports; i++) {
> -		if (omap->phy[i])
> -			usb_phy_shutdown(omap->phy[i]);
> -	}
> +	int rc;
>
>   	/* we know this is the memory we want, no need to ioremap again */
>   	ehci->caps = hcd->regs;
>
>   	rc = ehci_setup(hcd);
>
> -	/* Bring PHYs out of reset */
> -	for (i = 0; i < omap->nports; i++) {
> -		if (omap->phy[i])
> -			usb_phy_init(omap->phy[i]);
> -	}
> -
>   	return rc;
>   }
>
> @@ -219,9 +207,6 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev)
>   		}
>
>   		omap->phy[i] = phy;
> -		usb_phy_init(omap->phy[i]);
> -		/* bring PHY out of suspend */
> -		usb_phy_set_suspend(omap->phy[i], 0);
>   	}
>
>   	pm_runtime_enable(dev);
> @@ -245,6 +230,15 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev)
>   		goto err_pm_runtime;
>   	}
>
> +	/* Bring PHYs out of reset */
> +	for (i = 0; i < omap->nports; i++) {
> +		if (!omap->phy[i])
> +			continue;
> +
> +		usb_phy_init(omap->phy[i]);
> +		/* bring PHY out of suspend */
> +		usb_phy_set_suspend(omap->phy[i], 0);
> +	}

But isn't HSIC supposed to be PHYless devices. Maybe a comment 
explaining it might be helpful.

Thanks
Kishon

  parent reply	other threads:[~2013-03-12 10:51 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-12 10:44 [PATCH 00/12] USB: ehci-omap: Device tree support for 3.10 Roger Quadros
2013-03-12 10:44 ` Roger Quadros
2013-03-12 10:44 ` [PATCH 02/12] USB: ehci-omap: Use devm_ioremap_resource() Roger Quadros
2013-03-12 10:44   ` Roger Quadros
     [not found] ` <1363085090-24676-1-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2013-03-12 10:44   ` [PATCH 01/12] USB: EHCI: split ehci-omap out to a separate driver Roger Quadros
2013-03-12 10:44     ` Roger Quadros
2013-03-12 10:44   ` [PATCH 03/12] USB: ehci-omap: Use PHY APIs to get the PHY device and put it out of suspend Roger Quadros
2013-03-12 10:44     ` Roger Quadros
2013-03-12 10:44   ` [PATCH 04/12] USB: ehci-omap: Remove PHY reset handling code Roger Quadros
2013-03-12 10:44     ` Roger Quadros
2013-03-12 10:44   ` [PATCH 06/12] USB: ehci-omap: Select NOP USB transceiver driver Roger Quadros
2013-03-12 10:44     ` Roger Quadros
2013-03-12 10:44   ` [PATCH 07/12] USB: ehci-omap: Get platform resources by index rather than by name Roger Quadros
2013-03-12 10:44     ` Roger Quadros
2013-03-12 10:44   ` [PATCH 08/12] USB: ohci-omap3: " Roger Quadros
2013-03-12 10:44     ` Roger Quadros
2013-03-12 10:44 ` [PATCH 05/12] USB: ehci-omap: Remove PHY regulator handling code Roger Quadros
2013-03-12 10:44   ` Roger Quadros
2013-03-12 10:44 ` [PATCH 09/12] USB: ohci-omap3: Add device tree support and binding information Roger Quadros
2013-03-12 10:44   ` Roger Quadros
2013-03-12 10:44 ` [PATCH 10/12] USB: ehci-omap: " Roger Quadros
2013-03-12 10:44   ` Roger Quadros
2013-03-12 10:44 ` [PATCH 11/12] USB: ehci-omap: Try to get PHY even if not in PHY mode Roger Quadros
2013-03-12 10:44   ` Roger Quadros
2013-03-12 15:57   ` Alan Stern
2013-03-12 15:57     ` Alan Stern
     [not found]     ` <Pine.LNX.4.44L0.1303121155540.2153-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2013-03-14 14:08       ` Felipe Balbi
2013-03-14 14:08         ` Felipe Balbi
2013-03-14 15:08         ` Alan Stern
2013-03-14 15:08           ` Alan Stern
2013-03-12 10:44 ` [PATCH 12/12] USB: ehci-omap: Fix detection in HSIC mode Roger Quadros
2013-03-12 10:44   ` Roger Quadros
     [not found]   ` <1363085090-24676-13-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2013-03-12 10:51     ` kishon [this message]
2013-03-12 10:51       ` kishon
     [not found]       ` <513F089B.5080004-l0cyMroinI0@public.gmane.org>
2013-03-12 10:53         ` Roger Quadros
2013-03-12 10:53           ` Roger Quadros
2013-03-12 11:09     ` [PATCH v2 " Roger Quadros
2013-03-12 11:09       ` Roger Quadros
2013-03-12 16:07       ` Alan Stern
2013-03-12 16:07         ` Alan Stern
     [not found]         ` <Pine.LNX.4.44L0.1303121201050.2153-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2013-03-13 11:48           ` Roger Quadros
2013-03-13 11:48             ` Roger Quadros
2013-03-13 13:14       ` [PATCH v3 12/13] " Roger Quadros
2013-03-13 13:14         ` Roger Quadros
2013-03-13 14:30         ` Alan Stern
2013-03-13 14:30           ` Alan Stern
2013-03-13 13:16 ` [PATCH 13/13] USB: ehci-omap: Get rid of omap_ehci_init() Roger Quadros
2013-03-13 13:16   ` Roger Quadros
     [not found]   ` <1363180563-10658-1-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2013-03-13 14:32     ` Alan Stern
2013-03-13 14:32       ` Alan Stern

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=513F089B.5080004@ti.com \
    --to=kishon-l0cymroini0@public.gmane.org \
    --cc=balbi-l0cyMroinI0@public.gmane.org \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=rogerq-l0cyMroinI0@public.gmane.org \
    --cc=stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.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 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.