]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - android-sdk/kernel-video.git/blobdiff - arch/arm/mach-omap2/omap_hwmod_54xx_data.c
ARM: OMAP5/DRA7: hwmod: add ADDR_TYPE_RT to bb2d address flags
[android-sdk/kernel-video.git] / arch / arm / mach-omap2 / omap_hwmod_54xx_data.c
index aed898d418e7183cc23e1448b7321e8a8cce0656..73c152d17a91fabd2d6bdd95abdef72805c1e945 100644 (file)
@@ -26,6 +26,7 @@
 #include <linux/omap-dma.h>
 #include <linux/platform_data/spi-omap2-mcspi.h>
 #include <linux/platform_data/asoc-ti-mcbsp.h>
+#include <linux/platform_data/mailbox-omap.h>
 #include <plat/dmtimer.h>
 
 #include "omap_hwmod.h"
@@ -44,6 +45,9 @@
 /* Base offset for all OMAP5 dma requests */
 #define OMAP54XX_DMA_REQ_START 1
 
+/* Backward references (IPs with Bus Master capability) */
+static struct omap_hwmod omap54xx_bb2d_hwmod;
+
 
 /*
  * IP blocks
@@ -338,6 +342,24 @@ static struct omap_hwmod_irq_info omap54xx_bb2d_irqs[] = {
        { .irq = -1 }
 };
 
+static struct omap_hwmod_addr_space omap54xx_bb2d_addrs[] = {
+       {
+               .pa_start       = 0x59000000,
+               .pa_end         = 0x590007ff,
+               .flags      = ADDR_TYPE_RT
+       },
+       { }
+};
+
+/* l3_main_2 -> bb2d */
+static struct omap_hwmod_ocp_if omap54xx_l3_main_2__bb2d = {
+       .master         = &omap54xx_l3_main_2_hwmod,
+       .slave          = &omap54xx_bb2d_hwmod,
+       .clk            = "l3_iclk_div",
+       .addr           = omap54xx_bb2d_addrs,
+       .user           = OCP_USER_MPU | OCP_USER_SDMA,
+};
+
 static struct omap_hwmod omap54xx_bb2d_hwmod = {
        .name           = "bb2d",
        .class          = &omap54xx_bb2d_hwmod_class,
@@ -1941,6 +1963,17 @@ static struct omap_hwmod_class omap54xx_mailbox_hwmod_class = {
 };
 
 /* mailbox */
+static struct omap_mbox_dev_info omap54xx_mbox_info[] = {
+       { .name = "mbox-ipu", .tx_id = 0, .rx_id = 1 },
+       { .name = "mbox-dsp", .tx_id = 3, .rx_id = 2 },
+};
+
+static struct omap_mbox_pdata omap54xx_mbox_attrs = {
+       .intr_type      = MBOX_INTR_CFG_TYPE2,
+       .info_cnt       = ARRAY_SIZE(omap54xx_mbox_info),
+       .info           = omap54xx_mbox_info,
+};
+
 static struct omap_hwmod_irq_info omap54xx_mailbox_irqs[] = {
        { .irq = 26 + OMAP54XX_IRQ_GIC_START },
        { .irq = -1 }
@@ -1958,6 +1991,7 @@ static struct omap_hwmod omap54xx_mailbox_hwmod = {
                        .context_offs = OMAP54XX_RM_L4CFG_MAILBOX_CONTEXT_OFFSET,
                },
        },
+       .dev_attr       = &omap54xx_mbox_attrs,
 };
 
 /*
@@ -3948,13 +3982,6 @@ static struct omap_hwmod_ocp_if omap54xx_l4_abe__aess = {
        .user           = OCP_USER_MPU,
 };
 
-/* l3_main_2 -> bb2d */
-static struct omap_hwmod_ocp_if omap54xx_l3_main_2__bb2d = {
-       .master         = &omap54xx_l3_main_2_hwmod,
-       .slave          = &omap54xx_bb2d_hwmod,
-       .clk            = "l3_iclk_div",
-       .user           = OCP_USER_MPU | OCP_USER_SDMA,
-};
 
 static struct omap_hwmod_addr_space omap54xx_c2c_addrs[] = {
        {