aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
diff options
context:
space:
mode:
authorGeorge Cherian <george.cherian@ti.com>2013-10-14 08:36:24 -0400
committerPaul Walmsley <paul@pwsan.com>2013-10-14 13:46:52 -0400
commitfacfbc49b4815a05c94621a1f0ec549cbd95a760 (patch)
treea525ef6e95a624eaaf39944dcd3291e65e698d76 /arch/arm/mach-omap2/omap_hwmod_43xx_data.c
parent8835cf6e47cb2ff3d518305d0a9d9dc4ab10dedc (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.c105
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
319static struct omap_hwmod_class am43xx_ocp2scp_hwmod_class = {
320 .name = "ocp2scp",
321};
322
323static 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
336static 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
349static 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
361static struct omap_hwmod_class am43xx_usb_otg_ss_hwmod_class = {
362 .name = "usb_otg_ss",
363 .sysc = &am43xx_usb_otg_ss_sysc,
364};
365
366static 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
379static 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 */
320static struct omap_hwmod_ocp_if am43xx_l3_main__l4_hs = { 393static 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
596static 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
603static 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
610static 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
617static 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
523static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = { 624static 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