diff mbox

[1/6,v2] omap: musb: Adding hwmod data for ti81xx

Message ID 1315414945-19829-2-git-send-email-ajay.gupta@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ajay Kumar Gupta Sept. 7, 2011, 5:02 p.m. UTC
From: Ravi Babu <ravibabu@ti.com>

The usb subsystem (usbss) in ti81xx has two musb interfaces. There are three
irqs and three address spaces for usbss, musb0 and musb1 respectively. Created
one hwmod with three irq and memory resources.

Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Keshava Munegowda <keshava_mgowda@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Ravi Babu <ravibabu@ti.com>
---
 arch/arm/mach-omap2/omap_hwmod_81xx_data.c |   74 ++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 0 deletions(-)

Comments

Munegowda, Keshava Sept. 8, 2011, 6:26 a.m. UTC | #1
On Wed, Sep 7, 2011 at 10:32 PM, Ajay Kumar Gupta <ajay.gupta@ti.com> wrote:
> From: Ravi Babu <ravibabu@ti.com>
>
> The usb subsystem (usbss) in ti81xx has two musb interfaces. There are three
> irqs and three address spaces for usbss, musb0 and musb1 respectively. Created
> one hwmod with three irq and memory resources.
>
> Cc: Benoit Cousson <b-cousson@ti.com>
> Cc: Keshava Munegowda <keshava_mgowda@ti.com>
> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
> Signed-off-by: Ravi Babu <ravibabu@ti.com>
> ---
>  arch/arm/mach-omap2/omap_hwmod_81xx_data.c |   74 ++++++++++++++++++++++++++++
>  1 files changed, 74 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
> index e73a4c6..e960d70 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
> @@ -194,6 +194,7 @@ static struct omap_hwmod ti81xx_timer4_hwmod;
>  static struct omap_hwmod ti81xx_timer5_hwmod;
>  static struct omap_hwmod ti81xx_timer6_hwmod;
>  static struct omap_hwmod ti81xx_timer7_hwmod;
> +static struct omap_hwmod ti81xx_usbss_hwmod;
>
>  /* L4 SLOW -> TIMER1 interface */
>  static struct omap_hwmod_addr_space ti81xx_timer1_addr_space[] = {
> @@ -650,6 +651,78 @@ static struct omap_hwmod ti81xx_timer7_hwmod = {
>        .omap_chip      = OMAP_CHIP_INIT(CHIP_IS_TI816X | CHIP_IS_TI814X)
>  };
>
> +/* L3 SLOW -> USBSS interface */
> +static struct omap_hwmod_addr_space ti81xx_usbss_addr_space[] = {
> +       {
> +               .name           = "usbss",
> +               .pa_start       = 0x47400000,
> +               .pa_end         = 0x47400000 + SZ_4K - 1,
> +               .flags          = ADDR_TYPE_RT
> +       },
> +       {
> +               .name           = "musb0",
> +               .pa_start       = 0x47401000,
> +               .pa_end         = 0x47401000 + SZ_2K - 1,
> +               .flags          = ADDR_TYPE_RT
> +       },
> +       {
> +               .name           = "musb1",
> +               .pa_start       = 0x47401800,
> +               .pa_end         = 0x47401800 + SZ_2K - 1,
> +               .flags          = ADDR_TYPE_RT
> +       },
> +       {
> +       },
> +};
> +
> +static struct omap_hwmod_class_sysconfig ti81xx_usbhsotg_sysc = {
> +       .rev_offs       = 0x0,
> +       .sysc_offs      = 0x10,
> +       .sysc_flags     = (SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),
> +       .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
> +       .sysc_fields    = &omap_hwmod_sysc_type2,
> +};
> +
> +static struct omap_hwmod_class ti81xx_usbotg_class = {
> +       .name = "usbotg",
> +       .sysc = &ti81xx_usbhsotg_sysc,
> +};
> +
> +static struct omap_hwmod_irq_info ti81xx_usbss_mpu_irqs[] = {
> +       { .name = "usbss-irq", .irq = 17, },
> +       { .name = "musb0-irq", .irq = 18, },
> +       { .name = "musb1-irq", .irq = 19, },
> +       { .irq = -1, },
> +};
> +
> +static struct omap_hwmod_ocp_if ti81xx_l3_slow__usbss = {
> +       .master         = &ti81xx_l3_slow_hwmod,
> +       .slave          = &ti81xx_usbss_hwmod,
> +       .clk            = "usbotg_ick",
> +       .addr           = ti81xx_usbss_addr_space,
> +       .user           = OCP_USER_MPU,
> +       .flags          = OCPIF_SWSUP_IDLE,
> +};
> +
> +static struct omap_hwmod_ocp_if *ti81xx_usbss_slaves[] = {
> +       &ti81xx_l3_slow__usbss,
> +};
> +
> +static struct omap_hwmod ti81xx_usbss_hwmod = {
> +       .name           = "usb_otg_hs",
> +       .mpu_irqs       = ti81xx_usbss_mpu_irqs,
> +       .main_clk       = "usbotg_ick",
> +       .clkdm_name     = "default_usb_clkdm",
> +       .prcm           = {
> +               .omap4 = {
> +                       .clkctrl_offs = TI816X_CM_DEFAULT_USB_CLKCTRL_OFFSET,
> +               },
> +       },
> +       .slaves         = ti81xx_usbss_slaves,
> +       .slaves_cnt     = ARRAY_SIZE(ti81xx_usbss_slaves),
> +       .class          = &ti81xx_usbotg_class,
> +       .omap_chip      = OMAP_CHIP_INIT(CHIP_IS_TI816X | CHIP_IS_TI814X)
> +};
>
>  static __initdata struct omap_hwmod *ti81xx_hwmods[] = {
>        &ti81xx_l3_fast_hwmod,
> @@ -668,6 +741,7 @@ static __initdata struct omap_hwmod *ti81xx_hwmods[] = {
>        &ti81xx_timer5_hwmod,
>        &ti81xx_timer6_hwmod,
>        &ti81xx_timer7_hwmod,
> +       &ti81xx_usbss_hwmod,
>        NULL,
>  };
>
> --
> 1.6.2.4

looks good to me.

keshava
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Felipe Balbi Sept. 8, 2011, 8 a.m. UTC | #2
Hi,

On Thu, Sep 08, 2011 at 11:56:25AM +0530, Munegowda, Keshava wrote:
> On Wed, Sep 7, 2011 at 10:32 PM, Ajay Kumar Gupta <ajay.gupta@ti.com> wrote:
> > From: Ravi Babu <ravibabu@ti.com>
> >
> > The usb subsystem (usbss) in ti81xx has two musb interfaces. There are three
> > irqs and three address spaces for usbss, musb0 and musb1 respectively. Created
> > one hwmod with three irq and memory resources.
> >
> > Cc: Benoit Cousson <b-cousson@ti.com>
> > Cc: Keshava Munegowda <keshava_mgowda@ti.com>
> > Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
> > Signed-off-by: Ravi Babu <ravibabu@ti.com>
> > ---
> >  arch/arm/mach-omap2/omap_hwmod_81xx_data.c |   74 ++++++++++++++++++++++++++++
> >  1 files changed, 74 insertions(+), 0 deletions(-)
> >
> > diff --git a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
> > index e73a4c6..e960d70 100644
> > --- a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
> > +++ b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
> > @@ -194,6 +194,7 @@ static struct omap_hwmod ti81xx_timer4_hwmod;
> >  static struct omap_hwmod ti81xx_timer5_hwmod;
> >  static struct omap_hwmod ti81xx_timer6_hwmod;
> >  static struct omap_hwmod ti81xx_timer7_hwmod;
> > +static struct omap_hwmod ti81xx_usbss_hwmod;
> >
> >  /* L4 SLOW -> TIMER1 interface */
> >  static struct omap_hwmod_addr_space ti81xx_timer1_addr_space[] = {
> > @@ -650,6 +651,78 @@ static struct omap_hwmod ti81xx_timer7_hwmod = {
> >        .omap_chip      = OMAP_CHIP_INIT(CHIP_IS_TI816X | CHIP_IS_TI814X)
> >  };
> >
> > +/* L3 SLOW -> USBSS interface */
> > +static struct omap_hwmod_addr_space ti81xx_usbss_addr_space[] = {
> > +       {
> > +               .name           = "usbss",
> > +               .pa_start       = 0x47400000,
> > +               .pa_end         = 0x47400000 + SZ_4K - 1,
> > +               .flags          = ADDR_TYPE_RT
> > +       },
> > +       {
> > +               .name           = "musb0",
> > +               .pa_start       = 0x47401000,
> > +               .pa_end         = 0x47401000 + SZ_2K - 1,
> > +               .flags          = ADDR_TYPE_RT
> > +       },
> > +       {
> > +               .name           = "musb1",
> > +               .pa_start       = 0x47401800,
> > +               .pa_end         = 0x47401800 + SZ_2K - 1,
> > +               .flags          = ADDR_TYPE_RT
> > +       },
> > +       {
> > +       },
> > +};
> > +
> > +static struct omap_hwmod_class_sysconfig ti81xx_usbhsotg_sysc = {
> > +       .rev_offs       = 0x0,
> > +       .sysc_offs      = 0x10,
> > +       .sysc_flags     = (SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),
> > +       .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
> > +       .sysc_fields    = &omap_hwmod_sysc_type2,
> > +};
> > +
> > +static struct omap_hwmod_class ti81xx_usbotg_class = {
> > +       .name = "usbotg",
> > +       .sysc = &ti81xx_usbhsotg_sysc,
> > +};
> > +
> > +static struct omap_hwmod_irq_info ti81xx_usbss_mpu_irqs[] = {
> > +       { .name = "usbss-irq", .irq = 17, },
> > +       { .name = "musb0-irq", .irq = 18, },
> > +       { .name = "musb1-irq", .irq = 19, },
> > +       { .irq = -1, },
> > +};
> > +
> > +static struct omap_hwmod_ocp_if ti81xx_l3_slow__usbss = {
> > +       .master         = &ti81xx_l3_slow_hwmod,
> > +       .slave          = &ti81xx_usbss_hwmod,
> > +       .clk            = "usbotg_ick",
> > +       .addr           = ti81xx_usbss_addr_space,
> > +       .user           = OCP_USER_MPU,
> > +       .flags          = OCPIF_SWSUP_IDLE,
> > +};
> > +
> > +static struct omap_hwmod_ocp_if *ti81xx_usbss_slaves[] = {
> > +       &ti81xx_l3_slow__usbss,
> > +};
> > +
> > +static struct omap_hwmod ti81xx_usbss_hwmod = {
> > +       .name           = "usb_otg_hs",
> > +       .mpu_irqs       = ti81xx_usbss_mpu_irqs,
> > +       .main_clk       = "usbotg_ick",
> > +       .clkdm_name     = "default_usb_clkdm",
> > +       .prcm           = {
> > +               .omap4 = {
> > +                       .clkctrl_offs = TI816X_CM_DEFAULT_USB_CLKCTRL_OFFSET,
> > +               },
> > +       },
> > +       .slaves         = ti81xx_usbss_slaves,
> > +       .slaves_cnt     = ARRAY_SIZE(ti81xx_usbss_slaves),
> > +       .class          = &ti81xx_usbotg_class,
> > +       .omap_chip      = OMAP_CHIP_INIT(CHIP_IS_TI816X | CHIP_IS_TI814X)
> > +};
> >
> >  static __initdata struct omap_hwmod *ti81xx_hwmods[] = {
> >        &ti81xx_l3_fast_hwmod,
> > @@ -668,6 +741,7 @@ static __initdata struct omap_hwmod *ti81xx_hwmods[] = {
> >        &ti81xx_timer5_hwmod,
> >        &ti81xx_timer6_hwmod,
> >        &ti81xx_timer7_hwmod,
> > +       &ti81xx_usbss_hwmod,
> >        NULL,
> >  };
> >
> > --
> > 1.6.2.4
> 
> looks good to me.

how about you reply with your Acked-by then ?
Munegowda, Keshava Sept. 8, 2011, 8:47 a.m. UTC | #3
On Thu, Sep 8, 2011 at 1:30 PM, Felipe Balbi <balbi@ti.com> wrote:
> Hi,
>
> On Thu, Sep 08, 2011 at 11:56:25AM +0530, Munegowda, Keshava wrote:
>> On Wed, Sep 7, 2011 at 10:32 PM, Ajay Kumar Gupta <ajay.gupta@ti.com> wrote:
>> > From: Ravi Babu <ravibabu@ti.com>
>> >
>> > The usb subsystem (usbss) in ti81xx has two musb interfaces. There are three
>> > irqs and three address spaces for usbss, musb0 and musb1 respectively. Created
>> > one hwmod with three irq and memory resources.
>> >
>> > Cc: Benoit Cousson <b-cousson@ti.com>
>> > Cc: Keshava Munegowda <keshava_mgowda@ti.com>
>> > Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
>> > Signed-off-by: Ravi Babu <ravibabu@ti.com>
>> > ---
>> >  arch/arm/mach-omap2/omap_hwmod_81xx_data.c |   74 ++++++++++++++++++++++++++++
>> >  1 files changed, 74 insertions(+), 0 deletions(-)
>> >
>> > diff --git a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
>> > index e73a4c6..e960d70 100644
>> > --- a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
>> > +++ b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
>> > @@ -194,6 +194,7 @@ static struct omap_hwmod ti81xx_timer4_hwmod;
>> >  static struct omap_hwmod ti81xx_timer5_hwmod;
>> >  static struct omap_hwmod ti81xx_timer6_hwmod;
>> >  static struct omap_hwmod ti81xx_timer7_hwmod;
>> > +static struct omap_hwmod ti81xx_usbss_hwmod;
>> >
>> >  /* L4 SLOW -> TIMER1 interface */
>> >  static struct omap_hwmod_addr_space ti81xx_timer1_addr_space[] = {
>> > @@ -650,6 +651,78 @@ static struct omap_hwmod ti81xx_timer7_hwmod = {
>> >        .omap_chip      = OMAP_CHIP_INIT(CHIP_IS_TI816X | CHIP_IS_TI814X)
>> >  };
>> >
>> > +/* L3 SLOW -> USBSS interface */
>> > +static struct omap_hwmod_addr_space ti81xx_usbss_addr_space[] = {
>> > +       {
>> > +               .name           = "usbss",
>> > +               .pa_start       = 0x47400000,
>> > +               .pa_end         = 0x47400000 + SZ_4K - 1,
>> > +               .flags          = ADDR_TYPE_RT
>> > +       },
>> > +       {
>> > +               .name           = "musb0",
>> > +               .pa_start       = 0x47401000,
>> > +               .pa_end         = 0x47401000 + SZ_2K - 1,
>> > +               .flags          = ADDR_TYPE_RT
>> > +       },
>> > +       {
>> > +               .name           = "musb1",
>> > +               .pa_start       = 0x47401800,
>> > +               .pa_end         = 0x47401800 + SZ_2K - 1,
>> > +               .flags          = ADDR_TYPE_RT
>> > +       },
>> > +       {
>> > +       },
>> > +};
>> > +
>> > +static struct omap_hwmod_class_sysconfig ti81xx_usbhsotg_sysc = {
>> > +       .rev_offs       = 0x0,
>> > +       .sysc_offs      = 0x10,
>> > +       .sysc_flags     = (SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),
>> > +       .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
>> > +       .sysc_fields    = &omap_hwmod_sysc_type2,
>> > +};
>> > +
>> > +static struct omap_hwmod_class ti81xx_usbotg_class = {
>> > +       .name = "usbotg",
>> > +       .sysc = &ti81xx_usbhsotg_sysc,
>> > +};
>> > +
>> > +static struct omap_hwmod_irq_info ti81xx_usbss_mpu_irqs[] = {
>> > +       { .name = "usbss-irq", .irq = 17, },
>> > +       { .name = "musb0-irq", .irq = 18, },
>> > +       { .name = "musb1-irq", .irq = 19, },
>> > +       { .irq = -1, },
>> > +};
>> > +
>> > +static struct omap_hwmod_ocp_if ti81xx_l3_slow__usbss = {
>> > +       .master         = &ti81xx_l3_slow_hwmod,
>> > +       .slave          = &ti81xx_usbss_hwmod,
>> > +       .clk            = "usbotg_ick",
>> > +       .addr           = ti81xx_usbss_addr_space,
>> > +       .user           = OCP_USER_MPU,
>> > +       .flags          = OCPIF_SWSUP_IDLE,
>> > +};
>> > +
>> > +static struct omap_hwmod_ocp_if *ti81xx_usbss_slaves[] = {
>> > +       &ti81xx_l3_slow__usbss,
>> > +};
>> > +
>> > +static struct omap_hwmod ti81xx_usbss_hwmod = {
>> > +       .name           = "usb_otg_hs",
>> > +       .mpu_irqs       = ti81xx_usbss_mpu_irqs,
>> > +       .main_clk       = "usbotg_ick",
>> > +       .clkdm_name     = "default_usb_clkdm",
>> > +       .prcm           = {
>> > +               .omap4 = {
>> > +                       .clkctrl_offs = TI816X_CM_DEFAULT_USB_CLKCTRL_OFFSET,
>> > +               },
>> > +       },
>> > +       .slaves         = ti81xx_usbss_slaves,
>> > +       .slaves_cnt     = ARRAY_SIZE(ti81xx_usbss_slaves),
>> > +       .class          = &ti81xx_usbotg_class,
>> > +       .omap_chip      = OMAP_CHIP_INIT(CHIP_IS_TI816X | CHIP_IS_TI814X)
>> > +};
>> >
>> >  static __initdata struct omap_hwmod *ti81xx_hwmods[] = {
>> >        &ti81xx_l3_fast_hwmod,
>> > @@ -668,6 +741,7 @@ static __initdata struct omap_hwmod *ti81xx_hwmods[] = {
>> >        &ti81xx_timer5_hwmod,
>> >        &ti81xx_timer6_hwmod,
>> >        &ti81xx_timer7_hwmod,
>> > +       &ti81xx_usbss_hwmod,
>> >        NULL,
>> >  };
>> >
>> > --
>> > 1.6.2.4
>>
>> looks good to me.
>
> how about you reply with your Acked-by then ?
>
> --
> balbi

yes balbi,
     here it is

Acked-By: Keshava Munegowda <keshava_mgowda@ti.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ajay Kumar Gupta Sept. 8, 2011, 11:06 a.m. UTC | #4
Hi,
> <ajay.gupta@ti.com> wrote:
[...]
> >> >
> >> > --
> >> > 1.6.2.4
> >>
> >> looks good to me.
> >
> > how about you reply with your Acked-by then ?
> >
> > --
> > balbi
> 
> yes balbi,
>      here it is
> 
> Acked-By: Keshava Munegowda <keshava_mgowda@ti.com>

Tony and Benoit,

Please review this patch and provide your input on this.

Thanks,
Ajay
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
index e73a4c6..e960d70 100644
--- a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
@@ -194,6 +194,7 @@  static struct omap_hwmod ti81xx_timer4_hwmod;
 static struct omap_hwmod ti81xx_timer5_hwmod;
 static struct omap_hwmod ti81xx_timer6_hwmod;
 static struct omap_hwmod ti81xx_timer7_hwmod;
+static struct omap_hwmod ti81xx_usbss_hwmod;
 
 /* L4 SLOW -> TIMER1 interface */
 static struct omap_hwmod_addr_space ti81xx_timer1_addr_space[] = {
@@ -650,6 +651,78 @@  static struct omap_hwmod ti81xx_timer7_hwmod = {
 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_TI816X | CHIP_IS_TI814X)
 };
 
+/* L3 SLOW -> USBSS interface */
+static struct omap_hwmod_addr_space ti81xx_usbss_addr_space[] = {
+	{
+		.name		= "usbss",
+		.pa_start	= 0x47400000,
+		.pa_end		= 0x47400000 + SZ_4K - 1,
+		.flags		= ADDR_TYPE_RT
+	},
+	{
+		.name		= "musb0",
+		.pa_start	= 0x47401000,
+		.pa_end		= 0x47401000 + SZ_2K - 1,
+		.flags		= ADDR_TYPE_RT
+	},
+	{
+		.name		= "musb1",
+		.pa_start	= 0x47401800,
+		.pa_end		= 0x47401800 + SZ_2K - 1,
+		.flags		= ADDR_TYPE_RT
+	},
+	{
+	},
+};
+
+static struct omap_hwmod_class_sysconfig ti81xx_usbhsotg_sysc = {
+	.rev_offs	= 0x0,
+	.sysc_offs	= 0x10,
+	.sysc_flags	= (SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),
+	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
+	.sysc_fields	= &omap_hwmod_sysc_type2,
+};
+
+static struct omap_hwmod_class ti81xx_usbotg_class = {
+	.name = "usbotg",
+	.sysc = &ti81xx_usbhsotg_sysc,
+};
+
+static struct omap_hwmod_irq_info ti81xx_usbss_mpu_irqs[] = {
+	{ .name = "usbss-irq", .irq = 17, },
+	{ .name = "musb0-irq", .irq = 18, },
+	{ .name = "musb1-irq", .irq = 19, },
+	{ .irq = -1, },
+};
+
+static struct omap_hwmod_ocp_if ti81xx_l3_slow__usbss = {
+	.master		= &ti81xx_l3_slow_hwmod,
+	.slave		= &ti81xx_usbss_hwmod,
+	.clk		= "usbotg_ick",
+	.addr		= ti81xx_usbss_addr_space,
+	.user		= OCP_USER_MPU,
+	.flags		= OCPIF_SWSUP_IDLE,
+};
+
+static struct omap_hwmod_ocp_if *ti81xx_usbss_slaves[] = {
+	&ti81xx_l3_slow__usbss,
+};
+
+static struct omap_hwmod ti81xx_usbss_hwmod = {
+	.name		= "usb_otg_hs",
+	.mpu_irqs	= ti81xx_usbss_mpu_irqs,
+	.main_clk	= "usbotg_ick",
+	.clkdm_name	= "default_usb_clkdm",
+	.prcm		= {
+		.omap4 = {
+			.clkctrl_offs = TI816X_CM_DEFAULT_USB_CLKCTRL_OFFSET,
+		},
+	},
+	.slaves		= ti81xx_usbss_slaves,
+	.slaves_cnt	= ARRAY_SIZE(ti81xx_usbss_slaves),
+	.class		= &ti81xx_usbotg_class,
+	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_TI816X | CHIP_IS_TI814X)
+};
 
 static __initdata struct omap_hwmod *ti81xx_hwmods[] = {
 	&ti81xx_l3_fast_hwmod,
@@ -668,6 +741,7 @@  static __initdata struct omap_hwmod *ti81xx_hwmods[] = {
 	&ti81xx_timer5_hwmod,
 	&ti81xx_timer6_hwmod,
 	&ti81xx_timer7_hwmod,
+	&ti81xx_usbss_hwmod,
 	NULL,
 };