diff options
author | George Cherian <george.cherian@ti.com> | 2013-10-14 08:36:24 -0400 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2013-10-14 13:46:52 -0400 |
commit | facfbc49b4815a05c94621a1f0ec549cbd95a760 (patch) | |
tree | a525ef6e95a624eaaf39944dcd3291e65e698d76 /arch/arm/mach-omap2/omap_hwmod_43xx_data.c | |
parent | 8835cf6e47cb2ff3d518305d0a9d9dc4ab10dedc (diff) |
ARM: OMAP2+: hwmod: Add USB hwmod data for AM437x.
Add hwmod for USBSS and the OCP2SCP for AM437x.
AM437x has got 2 instances of USBSS.
Signed-off-by: George Cherian <george.cherian@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch/arm/mach-omap2/omap_hwmod_43xx_data.c')
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_43xx_data.c | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c index 6500d43defc5..a58024d703ca 100644 --- a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c | |||
@@ -316,6 +316,79 @@ static struct omap_hwmod am43xx_gpio5_hwmod = { | |||
316 | .dev_attr = &gpio_dev_attr, | 316 | .dev_attr = &gpio_dev_attr, |
317 | }; | 317 | }; |
318 | 318 | ||
319 | static struct omap_hwmod_class am43xx_ocp2scp_hwmod_class = { | ||
320 | .name = "ocp2scp", | ||
321 | }; | ||
322 | |||
323 | static struct omap_hwmod am43xx_ocp2scp0_hwmod = { | ||
324 | .name = "ocp2scp0", | ||
325 | .class = &am43xx_ocp2scp_hwmod_class, | ||
326 | .clkdm_name = "l4ls_clkdm", | ||
327 | .main_clk = "l4ls_gclk", | ||
328 | .prcm = { | ||
329 | .omap4 = { | ||
330 | .clkctrl_offs = AM43XX_CM_PER_USBPHYOCP2SCP0_CLKCTRL_OFFSET, | ||
331 | .modulemode = MODULEMODE_SWCTRL, | ||
332 | }, | ||
333 | }, | ||
334 | }; | ||
335 | |||
336 | static struct omap_hwmod am43xx_ocp2scp1_hwmod = { | ||
337 | .name = "ocp2scp1", | ||
338 | .class = &am43xx_ocp2scp_hwmod_class, | ||
339 | .clkdm_name = "l4ls_clkdm", | ||
340 | .main_clk = "l4ls_gclk", | ||
341 | .prcm = { | ||
342 | .omap4 = { | ||
343 | .clkctrl_offs = AM43XX_CM_PER_USBPHYOCP2SCP1_CLKCTRL_OFFSET, | ||
344 | .modulemode = MODULEMODE_SWCTRL, | ||
345 | }, | ||
346 | }, | ||
347 | }; | ||
348 | |||
349 | static struct omap_hwmod_class_sysconfig am43xx_usb_otg_ss_sysc = { | ||
350 | .rev_offs = 0x0000, | ||
351 | .sysc_offs = 0x0010, | ||
352 | .sysc_flags = (SYSC_HAS_DMADISABLE | SYSC_HAS_MIDLEMODE | | ||
353 | SYSC_HAS_SIDLEMODE), | ||
354 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
355 | SIDLE_SMART_WKUP | MSTANDBY_FORCE | | ||
356 | MSTANDBY_NO | MSTANDBY_SMART | | ||
357 | MSTANDBY_SMART_WKUP), | ||
358 | .sysc_fields = &omap_hwmod_sysc_type2, | ||
359 | }; | ||
360 | |||
361 | static struct omap_hwmod_class am43xx_usb_otg_ss_hwmod_class = { | ||
362 | .name = "usb_otg_ss", | ||
363 | .sysc = &am43xx_usb_otg_ss_sysc, | ||
364 | }; | ||
365 | |||
366 | static struct omap_hwmod am43xx_usb_otg_ss0_hwmod = { | ||
367 | .name = "usb_otg_ss0", | ||
368 | .class = &am43xx_usb_otg_ss_hwmod_class, | ||
369 | .clkdm_name = "l3s_clkdm", | ||
370 | .main_clk = "l3s_gclk", | ||
371 | .prcm = { | ||
372 | .omap4 = { | ||
373 | .clkctrl_offs = AM43XX_CM_PER_USB_OTG_SS0_CLKCTRL_OFFSET, | ||
374 | .modulemode = MODULEMODE_SWCTRL, | ||
375 | }, | ||
376 | }, | ||
377 | }; | ||
378 | |||
379 | static struct omap_hwmod am43xx_usb_otg_ss1_hwmod = { | ||
380 | .name = "usb_otg_ss1", | ||
381 | .class = &am43xx_usb_otg_ss_hwmod_class, | ||
382 | .clkdm_name = "l3s_clkdm", | ||
383 | .main_clk = "l3s_gclk", | ||
384 | .prcm = { | ||
385 | .omap4 = { | ||
386 | .clkctrl_offs = AM43XX_CM_PER_USB_OTG_SS1_CLKCTRL_OFFSET, | ||
387 | .modulemode = MODULEMODE_SWCTRL, | ||
388 | }, | ||
389 | }, | ||
390 | }; | ||
391 | |||
319 | /* Interfaces */ | 392 | /* Interfaces */ |
320 | static struct omap_hwmod_ocp_if am43xx_l3_main__l4_hs = { | 393 | static struct omap_hwmod_ocp_if am43xx_l3_main__l4_hs = { |
321 | .master = &am33xx_l3_main_hwmod, | 394 | .master = &am33xx_l3_main_hwmod, |
@@ -520,6 +593,34 @@ static struct omap_hwmod_ocp_if am43xx_l4_ls__gpio5 = { | |||
520 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 593 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
521 | }; | 594 | }; |
522 | 595 | ||
596 | static struct omap_hwmod_ocp_if am43xx_l4_ls__ocp2scp0 = { | ||
597 | .master = &am33xx_l4_ls_hwmod, | ||
598 | .slave = &am43xx_ocp2scp0_hwmod, | ||
599 | .clk = "l4ls_gclk", | ||
600 | .user = OCP_USER_MPU, | ||
601 | }; | ||
602 | |||
603 | static struct omap_hwmod_ocp_if am43xx_l4_ls__ocp2scp1 = { | ||
604 | .master = &am33xx_l4_ls_hwmod, | ||
605 | .slave = &am43xx_ocp2scp1_hwmod, | ||
606 | .clk = "l4ls_gclk", | ||
607 | .user = OCP_USER_MPU, | ||
608 | }; | ||
609 | |||
610 | static struct omap_hwmod_ocp_if am43xx_l3_s__usbotgss0 = { | ||
611 | .master = &am33xx_l3_s_hwmod, | ||
612 | .slave = &am43xx_usb_otg_ss0_hwmod, | ||
613 | .clk = "l3s_gclk", | ||
614 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
615 | }; | ||
616 | |||
617 | static struct omap_hwmod_ocp_if am43xx_l3_s__usbotgss1 = { | ||
618 | .master = &am33xx_l3_s_hwmod, | ||
619 | .slave = &am43xx_usb_otg_ss1_hwmod, | ||
620 | .clk = "l3s_gclk", | ||
621 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
622 | }; | ||
623 | |||
523 | static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = { | 624 | static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = { |
524 | &am33xx_l4_wkup__synctimer, | 625 | &am33xx_l4_wkup__synctimer, |
525 | &am43xx_l4_ls__timer8, | 626 | &am43xx_l4_ls__timer8, |
@@ -608,6 +709,10 @@ static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = { | |||
608 | &am33xx_cpgmac0__mdio, | 709 | &am33xx_cpgmac0__mdio, |
609 | &am33xx_l3_main__sha0, | 710 | &am33xx_l3_main__sha0, |
610 | &am33xx_l3_main__aes0, | 711 | &am33xx_l3_main__aes0, |
712 | &am43xx_l4_ls__ocp2scp0, | ||
713 | &am43xx_l4_ls__ocp2scp1, | ||
714 | &am43xx_l3_s__usbotgss0, | ||
715 | &am43xx_l3_s__usbotgss1, | ||
611 | NULL, | 716 | NULL, |
612 | }; | 717 | }; |
613 | 718 | ||