All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Dooks <ben-linux@fluff.org>
To: linux-usb@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org,
	Maurus Cuelenaere <mcuelenaere@gmail.com>,
	Ben Dooks <ben-linux@fluff.org>
Subject: [PATCH 11/11] USB: s3c-hsotg: Add support for external USB clock
Date: Wed,  7 Jul 2010 01:02:23 +0100	[thread overview]
Message-ID: <1278460943-16224-12-git-send-email-ben-linux@fluff.org> (raw)
In-Reply-To: <1278460943-16224-1-git-send-email-ben-linux@fluff.org>

From: Maurus Cuelenaere <mcuelenaere@gmail.com>

The PLL that drives the USB clock supports 3 input clocks: 12, 24 and 48Mhz.
This patch adds support to the USB driver for setting the correct register bit
according to the given clock.

This depends on the following patch:
[PATCH] ARM: S3C64XX: Add USB external clock definition

Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
---
 drivers/usb/gadget/s3c-hsotg.c |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/drivers/usb/gadget/s3c-hsotg.c b/drivers/usb/gadget/s3c-hsotg.c
index 825b6ca..a4e0b0f 100644
--- a/drivers/usb/gadget/s3c-hsotg.c
+++ b/drivers/usb/gadget/s3c-hsotg.c
@@ -25,6 +25,7 @@
 #include <linux/delay.h>
 #include <linux/io.h>
 #include <linux/slab.h>
+#include <linux/clk.h>
 
 #include <linux/usb/ch9.h>
 #include <linux/usb/gadget.h>
@@ -2798,6 +2799,7 @@ static void __devinit s3c_hsotg_initep(struct s3c_hsotg *hsotg,
  */
 static void s3c_hsotg_otgreset(struct s3c_hsotg *hsotg)
 {
+	struct clk *xusbxti;
 	u32 osc;
 
 	writel(0, S3C_PHYPWR);
@@ -2805,6 +2807,23 @@ static void s3c_hsotg_otgreset(struct s3c_hsotg *hsotg)
 
 	osc = hsotg->plat->is_osc ? S3C_PHYCLK_EXT_OSC : 0;
 
+	xusbxti = clk_get(hsotg->dev, "xusbxti");
+	if (xusbxti && !IS_ERR(xusbxti)) {
+		switch (clk_get_rate(xusbxti)) {
+		case 12*MHZ:
+			osc |= S3C_PHYCLK_CLKSEL_12M;
+			break;
+		case 24*MHZ:
+			osc |= S3C_PHYCLK_CLKSEL_24M;
+			break;
+		default:
+		case 48*MHZ:
+			/* default reference clock */
+			break;
+		}
+		clk_put(xusbxti);
+	}
+
 	writel(osc | 0x10, S3C_PHYCLK);
 
 	/* issue a full set of resets to the otg and core */
-- 
1.7.0.4

  parent reply	other threads:[~2010-07-07 11:57 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-07  0:02 s3c-hsotg patches Ben Dooks
2010-07-07  0:02 ` [PATCH 01/11] USB: s3c-hsotg: Increase TX fifo limit Ben Dooks
2010-07-07  0:02 ` [PATCH 02/11] USB: s3c-hsotg: The NPTX/PTX FIFO sizes are in words, not bytes Ben Dooks
2010-07-07  0:02 ` [PATCH 03/11] USB: s3c-hsotg: Avoid overwriting contents of perodic in 'fifo' Ben Dooks
2010-07-07  0:02 ` [PATCH 05/11] USB: s3c-hsotg: Add initial detection and setup for dedicated FIFO mode Ben Dooks
2010-07-07  0:02 ` [PATCH 07/11] USB: s3c-hsotg: Check for new request before enqueing new setup Ben Dooks
     [not found] ` <1278460943-16224-1-git-send-email-ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org>
2010-07-07  0:02   ` [PATCH 04/11] USB: s3c-hsotg: Re-initialise all FIFOs on USB bus reset Ben Dooks
2010-07-07  0:02   ` [PATCH 06/11] USB: s3c-hsotg: Only load packet per fifo write Ben Dooks
2010-07-09 10:48     ` Sergei Shtylyov
2010-07-07  0:02   ` [PATCH 08/11] USB: s3c-hsotg: Fix max EP0 IN request length Ben Dooks
2010-07-07  0:02 ` [PATCH 09/11] USB: s3c-hsotg: Fix the OUT EP0 limit Ben Dooks
2010-07-07  0:02 ` [PATCH 10/11] USB: s3c-hsotg: Fix OUT packet request retry Ben Dooks
2010-07-07  0:02 ` Ben Dooks [this message]
2010-07-07 15:12 ` s3c-hsotg patches Greg KH
2010-07-14  9:39   ` Marek Szyprowski
     [not found]     ` <00c401cb2338$84a3f730$8debe590$%szyprowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2010-07-14 15:10       ` Greg KH
     [not found]         ` <20100714151026.GD24104-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2010-07-15  9:02           ` Ben Dooks
     [not found]             ` <20100715090222.GD16584-SMNkleLxa3Z6Wcw2j4pizdi2O/JbrIOy@public.gmane.org>
2010-07-15 10:05               ` Greg KH
  -- strict thread matches above, loose matches on Subject: below --
2010-07-19  8:40 S3C HSOTG fixes Ben Dooks
     [not found] ` <1279528850-28245-1-git-send-email-ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org>
2010-07-19  8:40   ` [PATCH 11/11] USB: s3c-hsotg: Add support for external USB clock Ben Dooks

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=1278460943-16224-12-git-send-email-ben-linux@fluff.org \
    --to=ben-linux@fluff.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mcuelenaere@gmail.com \
    /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.