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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Sep 7, 2011 at 10:32 PM, Ajay Kumar Gupta <ajay.gupta@xxxxxx> wrote:
> From: Ravi Babu <ravibabu@xxxxxx>
>
> 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@xxxxxx>
> Cc: Keshava Munegowda <keshava_mgowda@xxxxxx>
> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@xxxxxx>
> Signed-off-by: Ravi Babu <ravibabu@xxxxxx>
> ---
>  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@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux