All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hema Kalliguddi <hemahk-l0cyMroinI0@public.gmane.org>
To: Hema Kalliguddi <hemahk-l0cyMroinI0@public.gmane.org>,
	linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org>,
	Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>,
	Kevin Hilman
	<khilman-1D3HCaltpLuhEniVeURVKkEOCMrvLtNR@public.gmane.org>,
	Benoit Cousson <b-cousson-l0cyMroinI0@public.gmane.org>,
	Paul Walmsley <paul-DWxLp4Yu+b8AvxtiuMwx3w@public.gmane.org>
Subject: RE: [PATCH 2/5 v5] OMAP3xxx: hwmod data: Add USBOTG
Date: Thu, 3 Feb 2011 11:25:21 +0530	[thread overview]
Message-ID: <15cc30a4c527db69b213099180dda207@mail.gmail.com> (raw)
In-Reply-To: <1291991739-21705-3-git-send-email-hemahk-l0cyMroinI0@public.gmane.org>

Hi,

>-----Original Message-----
>From: Hema HK [mailto:hemahk-l0cyMroinI0@public.gmane.org]
>Sent: Friday, December 10, 2010 8:06 PM
>To: linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
>Cc: linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; Hema HK; Felipe Balbi; Tony
>Lindgren; Kevin Hilman; Cousson, Benoit; Paul Walmsley
>Subject: [PATCH 2/5 v5] OMAP3xxx: hwmod data: Add USBOTG
>
>OMAP3 hwmod data structures are populated for USBOTG with base address,
>L3 and L4 interface clocks, IRQs and sysconfig register details.
>
>As per OMAP USBOTG specification, need to configure the USBOTG
>to smart idle/standby or no idle/standby during data transfer and
>force idle/standby when not in use to support retention and offmode.
>By setting HWMOD_SWSUP_SIDLE and HWMOD_SWSUP_MSTANDBY flags, framework
>will take care of configuring to no idle/standby when module is enabled
>and force idle/standby when idled.
>
>Signed-off-by: Hema HK <hemahk-l0cyMroinI0@public.gmane.org>
>Cc: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org>
>Cc: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
>Cc: Kevin Hilman <khilman-1D3HCaltpLuhEniVeURVKkEOCMrvLtNR@public.gmane.org>
>Cc: Cousson, Benoit <b-cousson-l0cyMroinI0@public.gmane.org>
>Cc: Paul Walmsley <paul-DWxLp4Yu+b8AvxtiuMwx3w@public.gmane.org>
>---
> arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |  100
>+++++++++++++++++++++++++++++
> 1 file changed, 100 insertions(+)
>
>Index: usb/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
>===================================================================
>--- usb.orig/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
>+++ usb/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
>@@ -89,6 +89,15 @@ static struct omap_hwmod omap3xxx_uart1_
> static struct omap_hwmod omap3xxx_uart2_hwmod;
> static struct omap_hwmod omap3xxx_uart3_hwmod;
> static struct omap_hwmod omap3xxx_uart4_hwmod;
>+static struct omap_hwmod omap3xxx_usbhsotg_hwmod;
>+
>+/* l3_core -> usbhsotg interface */
>+static struct omap_hwmod_ocp_if omap3xxx_usbhsotg__l3 = {
>+	.master		= &omap3xxx_usbhsotg_hwmod,
>+	.slave		= &omap3xxx_l3_main_hwmod,
>+	.clk		= "core_l3_ick",
>+	.user		= OCP_USER_MPU,
>+};
>
> /* L4_CORE -> L4_WKUP interface */
> static struct omap_hwmod_ocp_if omap3xxx_l4_core__l4_wkup = {
>@@ -169,6 +178,36 @@ static struct omap_hwmod_ocp_if omap3_l4
> 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
> };
>
>+/*
>+* usbhsotg interface data
>+*/
>+
>+static struct omap_hwmod_addr_space omap3xxx_usbhsotg_addrs[] = {
>+	{
>+		.pa_start	= OMAP34XX_HSUSB_OTG_BASE,
>+		.pa_end		= OMAP34XX_HSUSB_OTG_BASE + SZ_4K - 1,
>+		.flags		= ADDR_TYPE_RT
>+	},
>+};
>+
>+/* l4_core -> usbhsotg  */
>+static struct omap_hwmod_ocp_if omap3xxx_l4_core__usbhsotg = {
>+	.master		= &omap3xxx_l4_core_hwmod,
>+	.slave		= &omap3xxx_usbhsotg_hwmod,
>+	.clk		= "l4_ick",
>+	.addr		= omap3xxx_usbhsotg_addrs,
>+	.addr_cnt	= ARRAY_SIZE(omap3xxx_usbhsotg_addrs),
>+	.user		= OCP_USER_MPU,
>+};
>+
>+static struct omap_hwmod_ocp_if *omap3xxx_usbhsotg_masters[] = {
>+	&omap3xxx_usbhsotg__l3,
>+};
>+
>+static struct omap_hwmod_ocp_if *omap3xxx_usbhsotg_slaves[] = {
>+	&omap3xxx_l4_core__usbhsotg,
>+};
>+
> /* Slave interfaces on the L4_CORE interconnect */
> static struct omap_hwmod_ocp_if *omap3xxx_l4_core_slaves[] = {
> 	&omap3xxx_l3_main__l4_core,
>@@ -509,6 +548,64 @@ static struct omap_hwmod omap3xxx_uart4_
> 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3630ES1),
> };
>
>+/*
>+ * usbhsotg
>+ */
>+static struct omap_hwmod_class_sysconfig omap3xxx_usbhsotg_sysc = {
>+	.rev_offs	= 0x0400,
>+	.sysc_offs	= 0x0404,
>+	.syss_offs	= 0x0408,
>+	.sysc_flags	= (SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE|
>+			  SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
>+			  SYSC_HAS_AUTOIDLE),
>+	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
>+			  MSTANDBY_FORCE | MSTANDBY_NO |
>MSTANDBY_SMART),
>+	.sysc_fields	= &omap_hwmod_sysc_type1,
>+};
>+
>+static struct omap_hwmod_class usbotg_class = {
>+	.name = "usbotg",
>+	.sysc = &omap3xxx_usbhsotg_sysc,
>+};
>+
>+/* usb_otg_hs */
>+static struct omap_hwmod_irq_info omap3xxx_usbhsotg_mpu_irqs[] = {
>+
>+	{ .name = "mc", .irq = 92 },
>+	{ .name = "dma", .irq = 93 },
>+};
>+
>+static struct omap_hwmod omap3xxx_usbhsotg_hwmod = {
>+	.name		= "usb_otg_hs",
>+	.mpu_irqs	= omap3xxx_usbhsotg_mpu_irqs,
>+	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_usbhsotg_mpu_irqs),
>+	.main_clk	= "hsotgusb_ick",
>+	.prcm		= {
>+		.omap2 = {
>+			.prcm_reg_id = 1,
>+			.module_bit = OMAP3430_EN_HSOTGUSB_SHIFT,
>+			.module_offs = CORE_MOD,
>+			.idlest_reg_id = 1,
>+			.idlest_idle_bit =
>OMAP3430ES2_ST_HSOTGUSB_IDLE_SHIFT,
>+			.idlest_stdby_bit =
>OMAP3430ES2_ST_HSOTGUSB_STDBY_SHIFT
>+		},
>+	},
>+	.masters	= omap3xxx_usbhsotg_masters,
>+	.masters_cnt	= ARRAY_SIZE(omap3xxx_usbhsotg_masters),
>+	.slaves		= omap3xxx_usbhsotg_slaves,
>+	.slaves_cnt	= ARRAY_SIZE(omap3xxx_usbhsotg_slaves),
>+	.class		= &usbotg_class,
>+
>+	/*
>+	 * Erratum ID: i479  idle_req / idle_ack mechanism potentially
>+	 * broken when autoidle is enabled
>+	 * workaround is to disable the autoidle bit at module level.
>+	 */
>+	.flags		= HWMOD_NO_OCP_AUTOIDLE | HWMOD_SWSUP_SIDLE
>+				| HWMOD_SWSUP_MSTANDBY,
>+	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430)
>+};
>+
> static __initdata struct omap_hwmod *omap3xxx_hwmods[] = {
> 	&omap3xxx_l3_main_hwmod,
> 	&omap3xxx_l4_core_hwmod,
>@@ -521,6 +618,9 @@ static __initdata struct omap_hwmod *oma
> 	&omap3xxx_uart2_hwmod,
> 	&omap3xxx_uart3_hwmod,
> 	&omap3xxx_uart4_hwmod,
>+
>+	/* usbotg class */
>+	&omap3xxx_usbhsotg_hwmod,
> 	NULL,
> };
>
>
Any comments?

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

  parent reply	other threads:[~2011-02-03  5:55 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
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 [this message]
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=15cc30a4c527db69b213099180dda207@mail.gmail.com \
    --to=hemahk-l0cymroini0@public.gmane.org \
    --cc=b-cousson-l0cyMroinI0@public.gmane.org \
    --cc=balbi-l0cyMroinI0@public.gmane.org \
    --cc=khilman-1D3HCaltpLuhEniVeURVKkEOCMrvLtNR@public.gmane.org \
    --cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=paul-DWxLp4Yu+b8AvxtiuMwx3w@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.