Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753316Ab1EPJNF (ORCPT ); Mon, 16 May 2011 05:13:05 -0400 Received: from na3sys009aog102.obsmtp.com ([74.125.149.69]:34516 "EHLO na3sys009aog102.obsmtp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751121Ab1EPJND convert rfc822-to-8bit (ORCPT ); Mon, 16 May 2011 05:13:03 -0400 MIME-Version: 1.0 In-Reply-To: <1305536697-20147-2-git-send-email-keshava_mgowda@ti.com> References: <1305536697-20147-1-git-send-email-keshava_mgowda@ti.com> <1305536697-20147-2-git-send-email-keshava_mgowda@ti.com> Date: Mon, 16 May 2011 14:43:00 +0530 Message-ID: Subject: Re: [RESEND][PATCH 0/5] arm: omap: usb: Runtime PM support for EHCI and OHCI drivers From: "Munegowda, Keshava" To: linux-usb@vger.kernel.org, linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Keshava Munegowda , balbi@ti.com, gadiyar@ti.com, sameo@linux.intel.com, parthab@india.ti.com Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 15983 Lines: 413 Sorry ! Tis patch was 1/5 has different subjct; Some problem with my email setup , I will send the series. On Mon, May 16, 2011 at 2:34 PM, Keshava Munegowda wrote: > Following 2 hwmod strcuture are added: > UHH hwmod of usbhs with uhh base address and > EHCI , OHCI irq and base addresses. > TLL hwmod of usbhs with the TLL base address and irq. > > Signed-off-by: Keshava Munegowda > --- > ?arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | ?184 ++++++++++++++++++++++++++++ > ?arch/arm/mach-omap2/omap_hwmod_44xx_data.c | ?153 +++++++++++++++++++++++ > ?2 files changed, 337 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c > index 909a84d..fe9a176 100644 > --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c > +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c > @@ -84,6 +84,8 @@ static struct omap_hwmod omap3xxx_mcbsp4_hwmod; > ?static struct omap_hwmod omap3xxx_mcbsp5_hwmod; > ?static struct omap_hwmod omap3xxx_mcbsp2_sidetone_hwmod; > ?static struct omap_hwmod omap3xxx_mcbsp3_sidetone_hwmod; > +static struct omap_hwmod omap34xx_usb_host_hs_hwmod; > +static struct omap_hwmod omap34xx_usb_tll_hs_hwmod; > > ?/* L3 -> L4_CORE interface */ > ?static struct omap_hwmod_ocp_if omap3xxx_l3_main__l4_core = { > @@ -3574,6 +3576,185 @@ static struct omap_hwmod omap3xxx_mmc3_hwmod = { > ? ? ? ?.omap_chip ? ? ?= OMAP_CHIP_INIT(CHIP_IS_OMAP3430), > ?}; > > +/* > + * 'usb_host_hs' class > + * high-speed multi-port usb host controller > + */ > +static struct omap_hwmod_ocp_if omap34xx_usb_host_hs__l3_main_2 = { > + ? ? ? .master ? ? ? ? = &omap34xx_usb_host_hs_hwmod, > + ? ? ? .slave ? ? ? ? ?= &omap3xxx_l3_main_hwmod, > + ? ? ? .clk ? ? ? ? ? ?= "core_l3_ick", > + ? ? ? .user ? ? ? ? ? = OCP_USER_MPU, > +}; > + > +static struct omap_hwmod_class_sysconfig omap34xx_usb_host_hs_sysc = { > + ? ? ? .rev_offs ? ? ? = 0x0000, > + ? ? ? .sysc_offs ? ? ?= 0x0010, > + ? ? ? .syss_offs ? ? ?= 0x0014, > + ? ? ? .sysc_flags ? ? = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE), > + ? ? ? .idlemodes ? ? ?= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | > + ? ? ? ? ? ? ? ? ? ? ? ? ?MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART), > + ? ? ? .sysc_fields ? ?= &omap_hwmod_sysc_type1, > +}; > + > +static struct omap_hwmod_class omap34xx_usb_host_hs_hwmod_class = { > + ? ? ? .name = "usbhs_uhh", > + ? ? ? .sysc = &omap34xx_usb_host_hs_sysc, > +}; > + > +static struct omap_hwmod_ocp_if *omap34xx_usb_host_hs_masters[] = { > + ? ? ? &omap34xx_usb_host_hs__l3_main_2, > +}; > + > +static struct omap_hwmod_irq_info omap34xx_usb_host_hs_irqs[] = { > + ? ? ? { .name = "ohci-irq", .irq = 76 }, > + ? ? ? { .name = "ehci-irq", .irq = 77 }, > +}; > + > +static struct omap_hwmod_addr_space omap34xx_usb_host_hs_addrs[] = { > + ? ? ? { > + ? ? ? ? ? ? ? .name ? ? ? ? ? = "uhh", > + ? ? ? ? ? ? ? .pa_start ? ? ? = 0x48064000, > + ? ? ? ? ? ? ? .pa_end ? ? ? ? = 0x480643ff, > + ? ? ? ? ? ? ? .flags ? ? ? ? ?= ADDR_TYPE_RT > + ? ? ? }, > + ? ? ? { > + ? ? ? ? ? ? ? .name ? ? ? ? ? = "ohci", > + ? ? ? ? ? ? ? .pa_start ? ? ? = 0x48064400, > + ? ? ? ? ? ? ? .pa_end ? ? ? ? = 0x480647FF, > + ? ? ? ? ? ? ? .flags ? ? ? ? ?= ADDR_MAP_ON_INIT > + ? ? ? }, > + ? ? ? { > + ? ? ? ? ? ? ? .name ? ? ? ? ? = "ehci", > + ? ? ? ? ? ? ? .pa_start ? ? ? = 0x48064800, > + ? ? ? ? ? ? ? .pa_end ? ? ? ? = 0x48064CFF, > + ? ? ? ? ? ? ? .flags ? ? ? ? ?= ADDR_MAP_ON_INIT > + ? ? ? } > +}; > + > +static struct omap_hwmod_ocp_if omap34xx_l4_cfg__usb_host_hs = { > + ? ? ? .master ? ? ? ? = &omap3xxx_l4_core_hwmod, > + ? ? ? .slave ? ? ? ? ?= &omap34xx_usb_host_hs_hwmod, > + ? ? ? .clk ? ? ? ? ? ?= "l4_ick", > + ? ? ? .addr ? ? ? ? ? = omap34xx_usb_host_hs_addrs, > + ? ? ? .addr_cnt ? ? ? = ARRAY_SIZE(omap34xx_usb_host_hs_addrs), > + ? ? ? .user ? ? ? ? ? = OCP_USER_MPU | OCP_USER_SDMA, > +}; > + > +static struct omap_hwmod_ocp_if omap34xx_f128m_cfg__usb_host_hs = { > + ? ? ? .clk ? ? ? ? ? ?= "usbhost_120m_fck", > + ? ? ? .user ? ? ? ? ? = OCP_USER_MPU, > + ? ? ? .flags ? ? ? ? ?= OCPIF_SWSUP_IDLE, > +}; > + > +static struct omap_hwmod_ocp_if omap34xx_f48m_cfg__usb_host_hs = { > + ? ? ? .clk ? ? ? ? ? ?= "usbhost_48m_fck", > + ? ? ? .user ? ? ? ? ? = OCP_USER_MPU, > + ? ? ? .flags ? ? ? ? ?= OCPIF_SWSUP_IDLE, > +}; > + > +static struct omap_hwmod_ocp_if *omap34xx_usb_host_hs_slaves[] = { > + ? ? ? &omap34xx_l4_cfg__usb_host_hs, > + ? ? ? &omap34xx_f128m_cfg__usb_host_hs, > + ? ? ? &omap34xx_f48m_cfg__usb_host_hs, > +}; > + > +static struct omap_hwmod omap34xx_usb_host_hs_hwmod = { > + ? ? ? .name ? ? ? ? ? = "usbhs_uhh", > + ? ? ? .class ? ? ? ? ?= &omap34xx_usb_host_hs_hwmod_class, > + ? ? ? .mpu_irqs ? ? ? = omap34xx_usb_host_hs_irqs, > + ? ? ? .mpu_irqs_cnt ? = ARRAY_SIZE(omap34xx_usb_host_hs_irqs), > + ? ? ? .main_clk ? ? ? = "usbhost_ick", > + ? ? ? .prcm = { > + ? ? ? ? ? ? ? .omap2 = { > + ? ? ? ? ? ? ? ? ? ? ? .module_offs = OMAP3430ES2_USBHOST_MOD, > + ? ? ? ? ? ? ? ? ? ? ? .prcm_reg_id = 1, > + ? ? ? ? ? ? ? ? ? ? ? .module_bit = 0, > + ? ? ? ? ? ? ? ? ? ? ? .idlest_reg_id = 1, > + ? ? ? ? ? ? ? ? ? ? ? .idlest_idle_bit = 1, > + ? ? ? ? ? ? ? ? ? ? ? .idlest_stdby_bit = 0, > + ? ? ? ? ? ? ? }, > + ? ? ? }, > + ? ? ? .slaves ? ? ? ? = omap34xx_usb_host_hs_slaves, > + ? ? ? .slaves_cnt ? ? = ARRAY_SIZE(omap34xx_usb_host_hs_slaves), > + ? ? ? .masters ? ? ? ?= omap34xx_usb_host_hs_masters, > + ? ? ? .masters_cnt ? ?= ARRAY_SIZE(omap34xx_usb_host_hs_masters), > + ? ? ? .flags ? ? ? ? ?= HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY, > + ? ? ? .omap_chip ? ? ?= OMAP_CHIP_INIT(CHIP_IS_OMAP3430), > +}; > + > +/* > + * 'usb_tll_hs' class > + * usb_tll_hs module is the adapter on the usb_host_hs ports > + */ > +static struct omap_hwmod_class_sysconfig omap34xx_usb_tll_hs_sysc = { > + ? ? ? .rev_offs ? ? ? = 0x0000, > + ? ? ? .sysc_offs ? ? ?= 0x0010, > + ? ? ? .syss_offs ? ? ?= 0x0014, > + ? ? ? .sysc_flags ? ? = (SYSC_HAS_AUTOIDLE | SYSC_HAS_SIDLEMODE), > + ? ? ? .idlemodes ? ? ?= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), > + ? ? ? .sysc_fields ? ?= &omap_hwmod_sysc_type1, > +}; > + > +static struct omap_hwmod_class omap34xx_usb_tll_hs_hwmod_class = { > + ? ? ? .name = "usbhs_tll", > + ? ? ? .sysc = &omap34xx_usb_tll_hs_sysc, > +}; > + > +static struct omap_hwmod_irq_info omap34xx_usb_tll_hs_irqs[] = { > + ? ? ? { .name = "tll-irq", .irq = 78 }, > +}; > + > +static struct omap_hwmod_addr_space omap34xx_usb_tll_hs_addrs[] = { > + ? ? ? { > + ? ? ? ? ? ? ? .name ? ? ? ? ? = "tll", > + ? ? ? ? ? ? ? .pa_start ? ? ? = 0x48062000, > + ? ? ? ? ? ? ? .pa_end ? ? ? ? = 0x48062fff, > + ? ? ? ? ? ? ? .flags ? ? ? ? ?= ADDR_TYPE_RT > + ? ? ? }, > +}; > + > +static struct omap_hwmod_ocp_if omap34xx_f_cfg__usb_tll_hs = { > + ? ? ? .clk ? ? ? ? ? ?= "usbtll_fck", > + ? ? ? .user ? ? ? ? ? = OCP_USER_MPU, > + ? ? ? .flags ? ? ? ? ?= OCPIF_SWSUP_IDLE, > +}; > + > +static struct omap_hwmod_ocp_if omap34xx_l4_cfg__usb_tll_hs = { > + ? ? ? .master ? ? ? ? = &omap3xxx_l4_core_hwmod, > + ? ? ? .slave ? ? ? ? ?= &omap34xx_usb_tll_hs_hwmod, > + ? ? ? .clk ? ? ? ? ? ?= "l4_ick", > + ? ? ? .addr ? ? ? ? ? = omap34xx_usb_tll_hs_addrs, > + ? ? ? .addr_cnt ? ? ? = ARRAY_SIZE(omap34xx_usb_tll_hs_addrs), > + ? ? ? .user ? ? ? ? ? = OCP_USER_MPU | OCP_USER_SDMA, > +}; > + > +static struct omap_hwmod_ocp_if *omap34xx_usb_tll_hs_slaves[] = { > + ? ? ? &omap34xx_l4_cfg__usb_tll_hs, > + ? ? ? &omap34xx_f_cfg__usb_tll_hs, > +}; > + > +static struct omap_hwmod omap34xx_usb_tll_hs_hwmod = { > + ? ? ? .name ? ? ? ? ? = "usbhs_tll", > + ? ? ? .class ? ? ? ? ?= &omap34xx_usb_tll_hs_hwmod_class, > + ? ? ? .mpu_irqs ? ? ? = omap34xx_usb_tll_hs_irqs, > + ? ? ? .mpu_irqs_cnt ? = ARRAY_SIZE(omap34xx_usb_tll_hs_irqs), > + ? ? ? .main_clk ? ? ? = "usbtll_ick", > + ? ? ? .prcm = { > + ? ? ? ? ? ? ? .omap2 = { > + ? ? ? ? ? ? ? ? ? ? ? .module_offs = CORE_MOD, > + ? ? ? ? ? ? ? ? ? ? ? .prcm_reg_id = 3, > + ? ? ? ? ? ? ? ? ? ? ? .module_bit = 2, > + ? ? ? ? ? ? ? ? ? ? ? .idlest_reg_id = 3, > + ? ? ? ? ? ? ? ? ? ? ? .idlest_idle_bit = 2, > + ? ? ? ? ? ? ? }, > + ? ? ? }, > + ? ? ? .slaves ? ? ? ? = omap34xx_usb_tll_hs_slaves, > + ? ? ? .slaves_cnt ? ? = ARRAY_SIZE(omap34xx_usb_tll_hs_slaves), > + ? ? ? .flags ? ? ? ? ?= 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, > @@ -3656,6 +3837,9 @@ static __initdata struct omap_hwmod *omap3xxx_hwmods[] = { > ? ? ? ?/* usbotg for am35x */ > ? ? ? ?&am35xx_usbhsotg_hwmod, > > + ? ? ? &omap34xx_usb_host_hs_hwmod, > + ? ? ? &omap34xx_usb_tll_hs_hwmod, > + > ? ? ? ?NULL, > ?}; > > diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c > index abc548a..d7112b0 100644 > --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c > +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c > @@ -66,6 +66,8 @@ static struct omap_hwmod omap44xx_mmc2_hwmod; > ?static struct omap_hwmod omap44xx_mpu_hwmod; > ?static struct omap_hwmod omap44xx_mpu_private_hwmod; > ?static struct omap_hwmod omap44xx_usb_otg_hs_hwmod; > +static struct omap_hwmod omap44xx_usb_host_hs_hwmod; > +static struct omap_hwmod omap44xx_usb_tll_hs_hwmod; > > ?/* > ?* Interconnects omap_hwmod structures > @@ -5027,6 +5029,155 @@ static struct omap_hwmod omap44xx_wd_timer3_hwmod = { > ? ? ? ?.omap_chip ? ? ?= OMAP_CHIP_INIT(CHIP_IS_OMAP4430), > ?}; > > +/* > + * 'usb_host_hs' class > + * high-speed multi-port usb host controller > + */ > +static struct omap_hwmod_ocp_if omap44xx_usb_host_hs__l3_main_2 = { > + ? ? ? .master ? ? ? ? = &omap44xx_usb_host_hs_hwmod, > + ? ? ? .slave ? ? ? ? ?= &omap44xx_l3_main_2_hwmod, > + ? ? ? .clk ? ? ? ? ? ?= "l3_div_ck", > + ? ? ? .user ? ? ? ? ? = OCP_USER_MPU | OCP_USER_SDMA, > +}; > + > +static struct omap_hwmod_class_sysconfig omap44xx_usb_host_hs_sysc = { > + ? ? ? .rev_offs ? ? ? = 0x0000, > + ? ? ? .sysc_offs ? ? ?= 0x0010, > + ? ? ? .syss_offs ? ? ?= 0x0014, > + ? ? ? .sysc_flags ? ? = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE), > + ? ? ? .idlemodes ? ? ?= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | > + ? ? ? ? ? ? ? ? ? ? ? ? ?MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART), > + ? ? ? .sysc_fields ? ?= &omap_hwmod_sysc_type2, > +}; > + > +static struct omap_hwmod_class omap44xx_usb_host_hs_hwmod_class = { > + ? ? ? .name = "usbhs_uhh", > + ? ? ? .sysc = &omap44xx_usb_host_hs_sysc, > +}; > + > +static struct omap_hwmod_ocp_if *omap44xx_usb_host_hs_masters[] = { > + ? ? ? &omap44xx_usb_host_hs__l3_main_2, > +}; > + > +static struct omap_hwmod_irq_info omap44xx_usb_host_hs_irqs[] = { > + ? ? ? { .name = "ohci-irq", .irq = 76 + OMAP44XX_IRQ_GIC_START }, > + ? ? ? { .name = "ehci-irq", .irq = 77 + OMAP44XX_IRQ_GIC_START }, > +}; > + > +static struct omap_hwmod_addr_space omap44xx_usb_host_hs_addrs[] = { > + ? ? ? { > + ? ? ? ? ? ? ? .name ? ? ? ? ? = "uhh", > + ? ? ? ? ? ? ? .pa_start ? ? ? = 0x4a064000, > + ? ? ? ? ? ? ? .pa_end ? ? ? ? = 0x4a0647ff, > + ? ? ? ? ? ? ? .flags ? ? ? ? ?= ADDR_TYPE_RT > + ? ? ? }, > + ? ? ? { > + ? ? ? ? ? ? ? .name ? ? ? ? ? = "ohci", > + ? ? ? ? ? ? ? .pa_start ? ? ? = 0x4A064800, > + ? ? ? ? ? ? ? .pa_end ? ? ? ? = 0x4A064BFF, > + ? ? ? ? ? ? ? .flags ? ? ? ? ?= ADDR_MAP_ON_INIT > + ? ? ? }, > + ? ? ? { > + ? ? ? ? ? ? ? .name ? ? ? ? ? = "ehci", > + ? ? ? ? ? ? ? .pa_start ? ? ? = 0x4A064C00, > + ? ? ? ? ? ? ? .pa_end ? ? ? ? = 0x4A064FFF, > + ? ? ? ? ? ? ? .flags ? ? ? ? ?= ADDR_MAP_ON_INIT > + ? ? ? } > +}; > + > +static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_host_hs = { > + ? ? ? .master ? ? ? ? = &omap44xx_l4_cfg_hwmod, > + ? ? ? .slave ? ? ? ? ?= &omap44xx_usb_host_hs_hwmod, > + ? ? ? .clk ? ? ? ? ? ?= "l4_div_ck", > + ? ? ? .addr ? ? ? ? ? = omap44xx_usb_host_hs_addrs, > + ? ? ? .addr_cnt ? ? ? = ARRAY_SIZE(omap44xx_usb_host_hs_addrs), > + ? ? ? .user ? ? ? ? ? = OCP_USER_MPU | OCP_USER_SDMA, > +}; > + > +static struct omap_hwmod_ocp_if *omap44xx_usb_host_hs_slaves[] = { > + ? ? ? &omap44xx_l4_cfg__usb_host_hs, > +}; > + > +static struct omap_hwmod omap44xx_usb_host_hs_hwmod = { > + ? ? ? .name ? ? ? ? ? = "usbhs_uhh", > + ? ? ? .class ? ? ? ? ?= &omap44xx_usb_host_hs_hwmod_class, > + ? ? ? .mpu_irqs ? ? ? = omap44xx_usb_host_hs_irqs, > + ? ? ? .mpu_irqs_cnt ? = ARRAY_SIZE(omap44xx_usb_host_hs_irqs), > + ? ? ? .main_clk ? ? ? = "usb_host_hs_fck", > + ? ? ? .prcm = { > + ? ? ? ? ? ? ? .omap4 = { > + ? ? ? ? ? ? ? ? ? ? ? .clkctrl_reg = OMAP4430_CM_L3INIT_USB_HOST_CLKCTRL, > + ? ? ? ? ? ? ? }, > + ? ? ? }, > + ? ? ? .slaves ? ? ? ? = omap44xx_usb_host_hs_slaves, > + ? ? ? .slaves_cnt ? ? = ARRAY_SIZE(omap44xx_usb_host_hs_slaves), > + ? ? ? .masters ? ? ? ?= omap44xx_usb_host_hs_masters, > + ? ? ? .masters_cnt ? ?= ARRAY_SIZE(omap44xx_usb_host_hs_masters), > + ? ? ? .flags ? ? ? ? ?= HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY, > + ? ? ? .omap_chip ? ? ?= OMAP_CHIP_INIT(CHIP_IS_OMAP4430), > +}; > + > +/* > + * 'usb_tll_hs' class > + * usb_tll_hs module is the adapter on the usb_host_hs ports > + */ > +static struct omap_hwmod_class_sysconfig omap44xx_usb_tll_hs_sysc = { > + ? ? ? .rev_offs ? ? ? = 0x0000, > + ? ? ? .sysc_offs ? ? ?= 0x0010, > + ? ? ? .syss_offs ? ? ?= 0x0014, > + ? ? ? .sysc_flags ? ? = (SYSC_HAS_AUTOIDLE | SYSC_HAS_SIDLEMODE), > + ? ? ? .idlemodes ? ? ?= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), > + ? ? ? .sysc_fields ? ?= &omap_hwmod_sysc_type1, > +}; > + > +static struct omap_hwmod_class omap44xx_usb_tll_hs_hwmod_class = { > + ? ? ? .name = "usbhs_tll", > + ? ? ? .sysc = &omap44xx_usb_tll_hs_sysc, > +}; > + > +static struct omap_hwmod_irq_info omap44xx_usb_tll_hs_irqs[] = { > + ? ? ? { .name = "tll-irq", .irq = 78 + OMAP44XX_IRQ_GIC_START }, > +}; > + > +static struct omap_hwmod_addr_space omap44xx_usb_tll_hs_addrs[] = { > + ? ? ? { > + ? ? ? ? ? ? ? .name ? ? ? ? ? = "tll", > + ? ? ? ? ? ? ? .pa_start ? ? ? = 0x4a062000, > + ? ? ? ? ? ? ? .pa_end ? ? ? ? = 0x4a063fff, > + ? ? ? ? ? ? ? .flags ? ? ? ? ?= ADDR_TYPE_RT > + ? ? ? }, > +}; > + > +static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_tll_hs = { > + ? ? ? .master ? ? ? ? = &omap44xx_l4_cfg_hwmod, > + ? ? ? .slave ? ? ? ? ?= &omap44xx_usb_tll_hs_hwmod, > + ? ? ? .clk ? ? ? ? ? ?= "l4_div_ck", > + ? ? ? .addr ? ? ? ? ? = omap44xx_usb_tll_hs_addrs, > + ? ? ? .addr_cnt ? ? ? = ARRAY_SIZE(omap44xx_usb_tll_hs_addrs), > + ? ? ? .user ? ? ? ? ? = OCP_USER_MPU | OCP_USER_SDMA, > +}; > + > +static struct omap_hwmod_ocp_if *omap44xx_usb_tll_hs_slaves[] = { > + ? ? ? &omap44xx_l4_cfg__usb_tll_hs, > +}; > + > +static struct omap_hwmod omap44xx_usb_tll_hs_hwmod = { > + ? ? ? .name ? ? ? ? ? = "usbhs_tll", > + ? ? ? .class ? ? ? ? ?= &omap44xx_usb_tll_hs_hwmod_class, > + ? ? ? .mpu_irqs ? ? ? = omap44xx_usb_tll_hs_irqs, > + ? ? ? .mpu_irqs_cnt ? = ARRAY_SIZE(omap44xx_usb_tll_hs_irqs), > + ? ? ? .main_clk ? ? ? = "usb_tll_hs_ick", > + ? ? ? .prcm = { > + ? ? ? ? ? ? ? .omap4 = { > + ? ? ? ? ? ? ? ? ? ? ? .clkctrl_reg = OMAP4430_CM_L3INIT_USB_TLL_CLKCTRL, > + ? ? ? ? ? ? ? }, > + ? ? ? }, > + ? ? ? .slaves ? ? ? ? = omap44xx_usb_tll_hs_slaves, > + ? ? ? .slaves_cnt ? ? = ARRAY_SIZE(omap44xx_usb_tll_hs_slaves), > + ? ? ? .flags ? ? ? ? ?= HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY, > + ? ? ? .omap_chip ? ? ?= OMAP_CHIP_INIT(CHIP_IS_OMAP4430), > +}; > + > ?static __initdata struct omap_hwmod *omap44xx_hwmods[] = { > > ? ? ? ?/* dmm class */ > @@ -5173,6 +5324,8 @@ static __initdata struct omap_hwmod *omap44xx_hwmods[] = { > ? ? ? ?&omap44xx_wd_timer2_hwmod, > ? ? ? ?&omap44xx_wd_timer3_hwmod, > > + ? ? ? &omap44xx_usb_host_hs_hwmod, > + ? ? ? &omap44xx_usb_tll_hs_hwmod, > ? ? ? ?NULL, > ?}; > > -- > 1.6.0.4 > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/