All of lore.kernel.org
 help / color / mirror / Atom feed
From: Roger Quadros <rogerq-l0cyMroinI0@public.gmane.org>
To: balbi-l0cyMroinI0@public.gmane.org
Cc: Roger Quadros <rogerq-l0cyMroinI0@public.gmane.org>,
	bcousson-rdvid1DuHRBWk0Htik3J/w@public.gmane.org,
	tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org,
	george.cherian-l0cyMroinI0@public.gmane.org,
	kishon-l0cyMroinI0@public.gmane.org,
	bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org,
	sergei.shtylyov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org,
	thomas.langer-th3ZBGNqt+7QT0dZR+AlfA@public.gmane.org,
	linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v7 09/10] usb: dwc3: omap: manage "usb_otg_ss_refclk960m" clock
Date: Mon, 23 Sep 2013 16:11:30 +0300	[thread overview]
Message-ID: <52403E02.4070208@ti.com> (raw)
In-Reply-To: <1379508542-22389-10-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>

Hi Felipe,

On 09/18/2013 03:49 PM, Roger Quadros wrote:
> "usb_otg_ss_refclk960m" is an optional functional clock to the
> UBS_OTG_SS module. So manage it in the driver.
> 

Just realized that "usb_otg_ss_refclk960m" is in fact functional clock to the 
PHY and not USB_OTG_SS module. The name is misleading.

So please ignore patch 9 and 10.

cheers,
-roger


> Also update device tree binding information.
> 
> Signed-off-by: Roger Quadros <rogerq-l0cyMroinI0@public.gmane.org>
> ---
>  Documentation/devicetree/bindings/usb/omap-usb.txt |    4 ++++
>  drivers/usb/dwc3/dwc3-omap.c                       |   13 +++++++++++++
>  2 files changed, 17 insertions(+), 0 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/usb/omap-usb.txt b/Documentation/devicetree/bindings/usb/omap-usb.txt
> index f67573c..47c8530 100644
> --- a/Documentation/devicetree/bindings/usb/omap-usb.txt
> +++ b/Documentation/devicetree/bindings/usb/omap-usb.txt
> @@ -47,6 +47,8 @@ OMAP DWC3 GLUE
>   - #address-cells, #size-cells : Must be present if the device has sub-nodes
>   - utmi-mode : controls the source of UTMI/PIPE status for VBUS and OTG ID.
>     It should be set to "1" for HW mode and "2" for SW mode.
> + - clock : should refer to the clock node that provides 960MHz functional clock.
> + - clock-names : should be "usb_otg_ss_refclk960m"
>   - ranges: the child address space are mapped 1:1 onto the parent address space
>  
>  Optional Properties:
> @@ -68,6 +70,8 @@ omap_dwc3 {
>  	#address-cells = <1>;
>  	#size-cells = <1>;
>  	utmi-mode = <2>;
> +	clocks = <&usb_otg_ss1_refclk960m>;
> +	clock-names = "usb_otg_ss_refclk960m";
>  	ranges;
>  };
>  
> diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c
> index 7f7ea62..c33b26c 100644
> --- a/drivers/usb/dwc3/dwc3-omap.c
> +++ b/drivers/usb/dwc3/dwc3-omap.c
> @@ -32,6 +32,7 @@
>  #include <linux/extcon.h>
>  #include <linux/extcon/of_extcon.h>
>  #include <linux/regulator/consumer.h>
> +#include <linux/clk.h>
>  
>  #include <linux/usb/otg.h>
>  
> @@ -119,6 +120,8 @@
>  #define USBOTGSS_UTMI_OTG_STATUS_SESSVALID	(1 << 2)
>  #define USBOTGSS_UTMI_OTG_STATUS_VBUSVALID	(1 << 1)
>  
> +#define USBOTGSS_REFCLK "usb_otg_ss_refclk960m"
> +
>  struct dwc3_omap {
>  	/* device lock */
>  	spinlock_t		lock;
> @@ -144,6 +147,7 @@ struct dwc3_omap {
>  	struct notifier_block	id_nb;
>  
>  	struct regulator	*vbus_reg;
> +	struct clk		*refclk;
>  };
>  
>  enum omap_dwc3_vbus_id_status {
> @@ -449,6 +453,12 @@ static int dwc3_omap_probe(struct platform_device *pdev)
>  		}
>  	}
>  
> +	omap->refclk = devm_clk_get(dev, USBOTGSS_REFCLK);
> +	if (IS_ERR(omap->refclk)) {
> +		dev_err(dev, "couldn't get %s\n", USBOTGSS_REFCLK);
> +		return PTR_ERR(omap->refclk);
> +	}
> +
>  	spin_lock_init(&omap->lock);
>  
>  	omap->dev	= dev;
> @@ -464,6 +474,8 @@ static int dwc3_omap_probe(struct platform_device *pdev)
>  		goto err0;
>  	}
>  
> +	clk_prepare_enable(omap->refclk);
> +
>  	reg = dwc3_omap_readl(omap->base, USBOTGSS_REVISION);
>  	omap->revision = reg;
>  	x_major = USBOTGSS_REVISION_XMAJOR(reg);
> @@ -593,6 +605,7 @@ static int dwc3_omap_remove(struct platform_device *pdev)
>  		extcon_unregister_interest(&omap->extcon_id_dev);
>  	dwc3_omap_disable_irqs(omap);
>  	pm_runtime_put_sync(&pdev->dev);
> +	clk_disable_unprepare(omap->refclk);
>  	pm_runtime_disable(&pdev->dev);
>  	device_for_each_child(&pdev->dev, NULL, dwc3_omap_remove_core);
>  
> 

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: rogerq@ti.com (Roger Quadros)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v7 09/10] usb: dwc3: omap: manage "usb_otg_ss_refclk960m" clock
Date: Mon, 23 Sep 2013 16:11:30 +0300	[thread overview]
Message-ID: <52403E02.4070208@ti.com> (raw)
In-Reply-To: <1379508542-22389-10-git-send-email-rogerq@ti.com>

Hi Felipe,

On 09/18/2013 03:49 PM, Roger Quadros wrote:
> "usb_otg_ss_refclk960m" is an optional functional clock to the
> UBS_OTG_SS module. So manage it in the driver.
> 

Just realized that "usb_otg_ss_refclk960m" is in fact functional clock to the 
PHY and not USB_OTG_SS module. The name is misleading.

So please ignore patch 9 and 10.

cheers,
-roger


> Also update device tree binding information.
> 
> Signed-off-by: Roger Quadros <rogerq@ti.com>
> ---
>  Documentation/devicetree/bindings/usb/omap-usb.txt |    4 ++++
>  drivers/usb/dwc3/dwc3-omap.c                       |   13 +++++++++++++
>  2 files changed, 17 insertions(+), 0 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/usb/omap-usb.txt b/Documentation/devicetree/bindings/usb/omap-usb.txt
> index f67573c..47c8530 100644
> --- a/Documentation/devicetree/bindings/usb/omap-usb.txt
> +++ b/Documentation/devicetree/bindings/usb/omap-usb.txt
> @@ -47,6 +47,8 @@ OMAP DWC3 GLUE
>   - #address-cells, #size-cells : Must be present if the device has sub-nodes
>   - utmi-mode : controls the source of UTMI/PIPE status for VBUS and OTG ID.
>     It should be set to "1" for HW mode and "2" for SW mode.
> + - clock : should refer to the clock node that provides 960MHz functional clock.
> + - clock-names : should be "usb_otg_ss_refclk960m"
>   - ranges: the child address space are mapped 1:1 onto the parent address space
>  
>  Optional Properties:
> @@ -68,6 +70,8 @@ omap_dwc3 {
>  	#address-cells = <1>;
>  	#size-cells = <1>;
>  	utmi-mode = <2>;
> +	clocks = <&usb_otg_ss1_refclk960m>;
> +	clock-names = "usb_otg_ss_refclk960m";
>  	ranges;
>  };
>  
> diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c
> index 7f7ea62..c33b26c 100644
> --- a/drivers/usb/dwc3/dwc3-omap.c
> +++ b/drivers/usb/dwc3/dwc3-omap.c
> @@ -32,6 +32,7 @@
>  #include <linux/extcon.h>
>  #include <linux/extcon/of_extcon.h>
>  #include <linux/regulator/consumer.h>
> +#include <linux/clk.h>
>  
>  #include <linux/usb/otg.h>
>  
> @@ -119,6 +120,8 @@
>  #define USBOTGSS_UTMI_OTG_STATUS_SESSVALID	(1 << 2)
>  #define USBOTGSS_UTMI_OTG_STATUS_VBUSVALID	(1 << 1)
>  
> +#define USBOTGSS_REFCLK "usb_otg_ss_refclk960m"
> +
>  struct dwc3_omap {
>  	/* device lock */
>  	spinlock_t		lock;
> @@ -144,6 +147,7 @@ struct dwc3_omap {
>  	struct notifier_block	id_nb;
>  
>  	struct regulator	*vbus_reg;
> +	struct clk		*refclk;
>  };
>  
>  enum omap_dwc3_vbus_id_status {
> @@ -449,6 +453,12 @@ static int dwc3_omap_probe(struct platform_device *pdev)
>  		}
>  	}
>  
> +	omap->refclk = devm_clk_get(dev, USBOTGSS_REFCLK);
> +	if (IS_ERR(omap->refclk)) {
> +		dev_err(dev, "couldn't get %s\n", USBOTGSS_REFCLK);
> +		return PTR_ERR(omap->refclk);
> +	}
> +
>  	spin_lock_init(&omap->lock);
>  
>  	omap->dev	= dev;
> @@ -464,6 +474,8 @@ static int dwc3_omap_probe(struct platform_device *pdev)
>  		goto err0;
>  	}
>  
> +	clk_prepare_enable(omap->refclk);
> +
>  	reg = dwc3_omap_readl(omap->base, USBOTGSS_REVISION);
>  	omap->revision = reg;
>  	x_major = USBOTGSS_REVISION_XMAJOR(reg);
> @@ -593,6 +605,7 @@ static int dwc3_omap_remove(struct platform_device *pdev)
>  		extcon_unregister_interest(&omap->extcon_id_dev);
>  	dwc3_omap_disable_irqs(omap);
>  	pm_runtime_put_sync(&pdev->dev);
> +	clk_disable_unprepare(omap->refclk);
>  	pm_runtime_disable(&pdev->dev);
>  	device_for_each_child(&pdev->dev, NULL, dwc3_omap_remove_core);
>  
> 

  parent reply	other threads:[~2013-09-23 13:11 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-18 12:48 [PATCH v7 00/10] phy: omap-usb: Support multiple instances and new types Roger Quadros
2013-09-18 12:48 ` Roger Quadros
2013-09-18 12:48 ` [PATCH v7 02/10] usb: phy: omap: Add new device types and remove omap_control_usb3_phy_power() Roger Quadros
2013-09-18 12:48   ` Roger Quadros
2013-09-18 12:48 ` [PATCH v7 03/10] usb: phy: omap-usb2: Don't use omap_get_control_dev() Roger Quadros
2013-09-18 12:48   ` Roger Quadros
2013-09-18 12:48 ` [PATCH v7 04/10] usb: phy: omap-usb3: " Roger Quadros
2013-09-18 12:48   ` Roger Quadros
2013-09-18 12:48 ` [PATCH v7 05/10] usb: musb: omap2430: " Roger Quadros
2013-09-18 12:48   ` Roger Quadros
     [not found] ` <1379508542-22389-1-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2013-09-18 12:48   ` [PATCH v7 01/10] usb: phy: omap-control: Get rid of platform data Roger Quadros
2013-09-18 12:48     ` Roger Quadros
2013-09-18 12:48   ` [PATCH v7 06/10] ARM: dts: omap4: update omap-control-usb nodes Roger Quadros
2013-09-18 12:48     ` Roger Quadros
2013-09-18 12:49   ` [PATCH v7 08/10] ARM: dts: omap5: update omap-control-usb node Roger Quadros
2013-09-18 12:49     ` Roger Quadros
2013-09-18 12:49   ` [PATCH v7 09/10] usb: dwc3: omap: manage "usb_otg_ss_refclk960m" clock Roger Quadros
2013-09-18 12:49     ` Roger Quadros
     [not found]     ` <1379508542-22389-10-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2013-09-23 13:11       ` Roger Quadros [this message]
2013-09-23 13:11         ` Roger Quadros
     [not found]         ` <52403E02.4070208-l0cyMroinI0@public.gmane.org>
2013-10-02 13:11           ` Felipe Balbi
2013-10-02 13:11             ` Felipe Balbi
2013-10-02 13:41             ` Roger Quadros
2013-10-02 13:41               ` Roger Quadros
2013-10-03 12:29               ` Felipe Balbi
2013-10-03 12:29                 ` Felipe Balbi
2013-10-03 14:54                 ` Roger Quadros
2013-10-03 14:54                   ` Roger Quadros
     [not found]                   ` <524D8516.8000107-l0cyMroinI0@public.gmane.org>
2013-10-03 15:41                     ` Greg KH
2013-10-03 15:41                       ` Greg KH
     [not found]                       ` <20131003154144.GA18189-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2013-10-04 10:46                         ` Roger Quadros
2013-10-04 10:46                           ` Roger Quadros
     [not found]                           ` <524E9C70.8050303-l0cyMroinI0@public.gmane.org>
2013-10-04 13:23                             ` Greg KH
2013-10-04 13:23                               ` Greg KH
2013-10-07  8:19                               ` Roger Quadros
2013-10-07  8:19                                 ` Roger Quadros
2013-09-18 12:49   ` [PATCH v7 10/10] usb: phy: omap-usb2: Manage phy clock and not otg controller clock Roger Quadros
2013-09-18 12:49     ` Roger Quadros
2013-09-18 12:48 ` [PATCH v7 07/10] usb: phy: omap: get rid of omap_get_control_dev() Roger Quadros
2013-09-18 12:48   ` Roger Quadros

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=52403E02.4070208@ti.com \
    --to=rogerq-l0cymroini0@public.gmane.org \
    --cc=balbi-l0cyMroinI0@public.gmane.org \
    --cc=bcousson-rdvid1DuHRBWk0Htik3J/w@public.gmane.org \
    --cc=bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=george.cherian-l0cyMroinI0@public.gmane.org \
    --cc=kishon-l0cyMroinI0@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=sergei.shtylyov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org \
    --cc=thomas.langer-th3ZBGNqt+7QT0dZR+AlfA@public.gmane.org \
    --cc=tony-4v6yS6AI5VpBDgjK7y7TUQ@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.