All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hema Kalliguddi <hemahk@ti.com>
To: Hema Kalliguddi <hemahk@ti.com>, linux-usb@vger.kernel.org
Cc: linux-omap@vger.kernel.org, Felipe Balbi <balbi@ti.com>,
	Tony Lindgren <tony@atomide.com>,
	Kevin Hilman <khilman@deeprootsystems.com>,
	Benoit Cousson <b-cousson@ti.com>, Paul Walmsley <paul@pwsan.com>
Subject: RE: [PATCH 4/5 v5] OMAP2+: musb: HWMOD adaptation for musb.
Date: Thu, 3 Feb 2011 11:26:11 +0530	[thread overview]
Message-ID: <65744cabec1215d1cd6c69ca83918aa9@mail.gmail.com> (raw)
In-Reply-To: <1291991739-21705-5-git-send-email-hemahk@ti.com>

Hi,

>-----Original Message-----
>From: Hema HK [mailto:hemahk@ti.com]
>Sent: Friday, December 10, 2010 8:06 PM
>To: linux-usb@vger.kernel.org
>Cc: linux-omap@vger.kernel.org; Hema HK; Felipe Balbi; Tony
>Lindgren; Kevin Hilman; Cousson, Benoit; Paul Walmsley
>Subject: [PATCH 4/5 v5] OMAP2+: musb: HWMOD adaptation for musb.
>
>Using omap_device_build API instead of platform_device_register for
>OMAP2430,OMAP34xx and OMAP4430 musb device registration.
>The device specific resources defined in centralized
>database will be used.
>
>Signed-off-by: Hema HK <hemahk@ti.com>
>Cc: Felipe Balbi <balbi@ti.com>
>Cc: Tony Lindgren <tony@atomide.com>
>Cc: Kevin Hilman <khilman@deeprootsystems.com>
>Cc: Cousson, Benoit <b-cousson@ti.com>
>Cc: Paul Walmsley <paul@pwsan.com>
>---
> arch/arm/mach-omap2/usb-musb.c |   76
>+++++++++++++++++++++++++++++------------
> 1 file changed, 55 insertions(+), 21 deletions(-)
>
>Index: usb/arch/arm/mach-omap2/usb-musb.c
>===================================================================
>--- usb.orig/arch/arm/mach-omap2/usb-musb.c
>+++ usb/arch/arm/mach-omap2/usb-musb.c
>@@ -31,9 +31,12 @@
> #include <mach/am35xx.h>
> #include <plat/usb.h>
> #include "control.h"
>+#include <plat/omap_device.h>
>
> #if defined(CONFIG_USB_MUSB_OMAP2PLUS) || defined
>(CONFIG_USB_MUSB_AM35X)
>
>+static const char name[] = "musb-omap2430";
>+
> static void am35x_musb_reset(void)
> {
> 	u32	regval;
>@@ -170,7 +173,7 @@ static struct musb_hdrc_platform_data mu
> static u64 musb_dmamask = DMA_BIT_MASK(32);
>
> static struct platform_device musb_device = {
>-	.name		= "musb-omap2430",
>+	.name		= "musb-am35x",
> 	.id		= -1,
> 	.dev = {
> 		.dma_mask		= &musb_dmamask,
>@@ -181,26 +184,23 @@ static struct platform_device musb_devic
> 	.resource	= musb_resources,
> };
>
>+static struct omap_device_pm_latency omap_musb_latency[] = {
>+	{
>+		.deactivate_func = omap_device_idle_hwmods,
>+		.activate_func   = omap_device_enable_hwmods,
>+		.flags = OMAP_DEVICE_LATENCY_AUTO_ADJUST,
>+	},
>+};
>+
> void __init usb_musb_init(struct omap_musb_board_data *board_data)
> {
>-	if (cpu_is_omap243x()) {
>-		musb_resources[0].start = OMAP243X_HS_BASE;
>-	} else if (cpu_is_omap3517() || cpu_is_omap3505()) {
>-		musb_device.name = "musb-am35x";
>-		musb_resources[0].start = AM35XX_IPSS_USBOTGSS_BASE;
>-		musb_resources[1].start = INT_35XX_USBOTG_IRQ;
>-		board_data->set_phy_power = am35x_musb_phy_power;
>-		board_data->clear_irq = am35x_musb_clear_irq;
>-		board_data->set_mode = am35x_musb_set_mode;
>-		board_data->reset = am35x_musb_reset;
>-	} else if (cpu_is_omap34xx()) {
>-		musb_resources[0].start = OMAP34XX_HSUSB_OTG_BASE;
>-	} else if (cpu_is_omap44xx()) {
>-		musb_resources[0].start = OMAP44XX_HSUSB_OTG_BASE;
>-		musb_resources[1].start = OMAP44XX_IRQ_HS_USB_MC_N;
>-		musb_resources[2].start = OMAP44XX_IRQ_HS_USB_DMA_N;
>-	}
>-	musb_resources[0].end = musb_resources[0].start + SZ_4K - 1;
>+	struct omap_hwmod *oh;
>+	struct omap_device *od;
>+	struct platform_device *pdev;
>+	struct device	*dev;
>+	int bus_id = -1;
>+	const char *oh_name = "usb_otg_hs";
>+	struct musb_hdrc_platform_data *pdata;
>
> 	/*
> 	 * REVISIT: This line can be removed once all the
>platforms using
>@@ -212,8 +212,42 @@ void __init usb_musb_init(struct omap_mu
> 	musb_plat.mode = board_data->mode;
> 	musb_plat.extvbus = board_data->extvbus;
>
>-	if (platform_device_register(&musb_device) < 0)
>-		printk(KERN_ERR "Unable to register HS-USB
>(MUSB) device\n");
>+	if (cpu_is_omap3517() || cpu_is_omap3505()) {
>+		musb_resources[0].start = AM35XX_IPSS_USBOTGSS_BASE;
>+		musb_resources[1].start = INT_35XX_USBOTG_IRQ;
>+		board_data->set_phy_power = am35x_musb_phy_power;
>+		board_data->clear_irq = am35x_musb_clear_irq;
>+		board_data->set_mode = am35x_musb_set_mode;
>+		board_data->reset = am35x_musb_reset;
>+		musb_resources[0].end = musb_resources[0].start
>+ SZ_4K - 1;
>+
>+		if (platform_device_register(&musb_device) < 0)
>+			printk(KERN_ERR "Unable to register HS-USB \
>+					(MUSB) device\n");
>+	} else {
>+		oh = omap_hwmod_lookup(oh_name);
>+		if (!oh) {
>+			pr_err("Could not look up %s\n", oh_name);
>+			return;
>+	 	}
>+
>+		pdata = &musb_plat;
>+		od = omap_device_build(name, bus_id, oh, pdata,
>+				       sizeof(*pdata),
>omap_musb_latency,
>+				
>ARRAY_SIZE(omap_musb_latency), false);
>+		if (IS_ERR(od)) {
>+			pr_err("Could not build omap_device for
>%s %s\n",
>+							name, oh_name);
>+			return;
>+		}
>+
>+		pdev = &od->pdev;
>+		dev = &pdev->dev;
>+		get_device(dev);
>+		dev->dma_mask = &musb_dmamask;
>+		dev->coherent_dma_mask = musb_dmamask;
>+		put_device(dev);
>+	}
> }
>
> #else
>

Any comments?

Regards,
Hema

  reply	other threads:[~2011-02-03  6:01 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-10 14:35 Subject: [PATCH 0/5 v5]usb: musb: hwmod and runtime pm support for musb Hema HK
2010-12-10 14:35 ` [PATCH 4/5 v5] OMAP2+: musb: HWMOD adaptation " Hema HK
2011-02-03  5:56   ` Hema Kalliguddi [this message]
2011-02-09  0:03   ` Kevin Hilman
2011-02-10 13:34     ` Hema Kalliguddi
2011-02-10 16:42       ` Kevin Hilman
     [not found] ` <1291991739-21705-1-git-send-email-hemahk-l0cyMroinI0@public.gmane.org>
2010-12-10 14:35   ` [PATCH 1/5 v5] OMAP2430: hwmod data: Add USBOTG Hema HK
     [not found]     ` <1291991739-21705-2-git-send-email-hemahk-l0cyMroinI0@public.gmane.org>
2011-02-03  5:54       ` Hema Kalliguddi
     [not found]         ` <3b6a23e346e75947e09f70dae78f2d88-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-02-03  9:25           ` Felipe Balbi
2011-02-09  0:55             ` Kevin Hilman
2010-12-10 14:35   ` [PATCH 2/5 v5] OMAP3xxx: " Hema HK
     [not found]     ` <1291991739-21705-3-git-send-email-hemahk-l0cyMroinI0@public.gmane.org>
2011-02-03  5:55       ` Hema Kalliguddi
2010-12-10 14:35   ` [PATCH 3/5 v5] OMAP4430: hwmod data: Adding USBOTG Hema HK
2011-02-03  5:55     ` Hema Kalliguddi
2010-12-10 14:35   ` [PATCH 5/5 v5] usb: musb: Using runtime pm APIs for musb Hema HK
     [not found]     ` <1291991739-21705-6-git-send-email-hemahk-l0cyMroinI0@public.gmane.org>
2010-12-10 14:38       ` Felipe Balbi
2010-12-11  2:58         ` Kalliguddi, Hema
2011-02-09  0:08     ` Kevin Hilman
2011-02-09  4:23       ` Hema Kalliguddi

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=65744cabec1215d1cd6c69ca83918aa9@mail.gmail.com \
    --to=hemahk@ti.com \
    --cc=b-cousson@ti.com \
    --cc=balbi@ti.com \
    --cc=khilman@deeprootsystems.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=paul@pwsan.com \
    --cc=tony@atomide.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.