ARM: OMAP5: hwmod data: Add mailbox data
authorSuman Anna <s-anna@ti.com>
Tue, 6 Aug 2013 21:40:28 +0000 (16:40 -0500)
committerPaul Walmsley <paul@pwsan.com>
Wed, 21 Aug 2013 01:39:26 +0000 (19:39 -0600)
Add the hwmod data for the mailbox IP in OMAP5 SoC.
This is needed to be able to enable the OMAP mailbox
support for OMAP5.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
arch/arm/mach-omap2/omap_hwmod_54xx_data.c

index 3c70f5c1860fc2b96401fe6ad1256c1a975539e0..7996ca5538e505753b9a6aa070c80536a437399f 100644 (file)
@@ -740,6 +740,39 @@ static struct omap_hwmod omap54xx_kbd_hwmod = {
        },
 };
 
+/*
+ * 'mailbox' class
+ * mailbox module allowing communication between the on-chip processors using a
+ * queued mailbox-interrupt mechanism.
+ */
+
+static struct omap_hwmod_class_sysconfig omap54xx_mailbox_sysc = {
+       .rev_offs       = 0x0000,
+       .sysc_offs      = 0x0010,
+       .sysc_flags     = (SYSC_HAS_RESET_STATUS | SYSC_HAS_SIDLEMODE |
+                          SYSC_HAS_SOFTRESET),
+       .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
+       .sysc_fields    = &omap_hwmod_sysc_type2,
+};
+
+static struct omap_hwmod_class omap54xx_mailbox_hwmod_class = {
+       .name   = "mailbox",
+       .sysc   = &omap54xx_mailbox_sysc,
+};
+
+/* mailbox */
+static struct omap_hwmod omap54xx_mailbox_hwmod = {
+       .name           = "mailbox",
+       .class          = &omap54xx_mailbox_hwmod_class,
+       .clkdm_name     = "l4cfg_clkdm",
+       .prcm = {
+               .omap4 = {
+                       .clkctrl_offs = OMAP54XX_CM_L4CFG_MAILBOX_CLKCTRL_OFFSET,
+                       .context_offs = OMAP54XX_RM_L4CFG_MAILBOX_CONTEXT_OFFSET,
+               },
+       },
+};
+
 /*
  * 'mcbsp' class
  * multi channel buffered serial port controller
@@ -1808,6 +1841,14 @@ static struct omap_hwmod_ocp_if omap54xx_l4_wkup__kbd = {
        .user           = OCP_USER_MPU | OCP_USER_SDMA,
 };
 
+/* l4_cfg -> mailbox */
+static struct omap_hwmod_ocp_if omap54xx_l4_cfg__mailbox = {
+       .master         = &omap54xx_l4_cfg_hwmod,
+       .slave          = &omap54xx_mailbox_hwmod,
+       .clk            = "l4_root_clk_div",
+       .user           = OCP_USER_MPU | OCP_USER_SDMA,
+};
+
 /* l4_abe -> mcbsp1 */
 static struct omap_hwmod_ocp_if omap54xx_l4_abe__mcbsp1 = {
        .master         = &omap54xx_l4_abe_hwmod,
@@ -2108,6 +2149,7 @@ static struct omap_hwmod_ocp_if *omap54xx_hwmod_ocp_ifs[] __initdata = {
        &omap54xx_l4_per__i2c4,
        &omap54xx_l4_per__i2c5,
        &omap54xx_l4_wkup__kbd,
+       &omap54xx_l4_cfg__mailbox,
        &omap54xx_l4_abe__mcbsp1,
        &omap54xx_l4_abe__mcbsp2,
        &omap54xx_l4_abe__mcbsp3,