|
@@ -225,3 +225,81 @@ static struct omap_mbox_ops omap2_mbox_ops = {
|
|
|
* MAILBOX 1: ARM <- DSP.
|
|
|
* MAILBOX 2: ARM -> IVA,
|
|
|
* MAILBOX 3: ARM <- IVA.
|
|
|
+ */
|
|
|
+
|
|
|
+/* FIXME: the following structs should be filled automatically by the user id */
|
|
|
+
|
|
|
+#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP2)
|
|
|
+/* DSP */
|
|
|
+static struct omap_mbox2_priv omap2_mbox_dsp_priv = {
|
|
|
+ .tx_fifo = {
|
|
|
+ .msg = MAILBOX_MESSAGE(0),
|
|
|
+ .fifo_stat = MAILBOX_FIFOSTATUS(0),
|
|
|
+ },
|
|
|
+ .rx_fifo = {
|
|
|
+ .msg = MAILBOX_MESSAGE(1),
|
|
|
+ .msg_stat = MAILBOX_MSGSTATUS(1),
|
|
|
+ },
|
|
|
+ .irqenable = MAILBOX_IRQENABLE(0),
|
|
|
+ .irqstatus = MAILBOX_IRQSTATUS(0),
|
|
|
+ .notfull_bit = MAILBOX_IRQ_NOTFULL(0),
|
|
|
+ .newmsg_bit = MAILBOX_IRQ_NEWMSG(1),
|
|
|
+ .irqdisable = MAILBOX_IRQENABLE(0),
|
|
|
+};
|
|
|
+
|
|
|
+struct omap_mbox mbox_dsp_info = {
|
|
|
+ .name = "dsp",
|
|
|
+ .ops = &omap2_mbox_ops,
|
|
|
+ .priv = &omap2_mbox_dsp_priv,
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_ARCH_OMAP3)
|
|
|
+struct omap_mbox *omap3_mboxes[] = { &mbox_dsp_info, NULL };
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_SOC_OMAP2420)
|
|
|
+/* IVA */
|
|
|
+static struct omap_mbox2_priv omap2_mbox_iva_priv = {
|
|
|
+ .tx_fifo = {
|
|
|
+ .msg = MAILBOX_MESSAGE(2),
|
|
|
+ .fifo_stat = MAILBOX_FIFOSTATUS(2),
|
|
|
+ },
|
|
|
+ .rx_fifo = {
|
|
|
+ .msg = MAILBOX_MESSAGE(3),
|
|
|
+ .msg_stat = MAILBOX_MSGSTATUS(3),
|
|
|
+ },
|
|
|
+ .irqenable = MAILBOX_IRQENABLE(3),
|
|
|
+ .irqstatus = MAILBOX_IRQSTATUS(3),
|
|
|
+ .notfull_bit = MAILBOX_IRQ_NOTFULL(2),
|
|
|
+ .newmsg_bit = MAILBOX_IRQ_NEWMSG(3),
|
|
|
+ .irqdisable = MAILBOX_IRQENABLE(3),
|
|
|
+};
|
|
|
+
|
|
|
+static struct omap_mbox mbox_iva_info = {
|
|
|
+ .name = "iva",
|
|
|
+ .ops = &omap2_mbox_ops,
|
|
|
+ .priv = &omap2_mbox_iva_priv,
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
+#ifdef CONFIG_ARCH_OMAP2
|
|
|
+struct omap_mbox *omap2_mboxes[] = {
|
|
|
+ &mbox_dsp_info,
|
|
|
+#ifdef CONFIG_SOC_OMAP2420
|
|
|
+ &mbox_iva_info,
|
|
|
+#endif
|
|
|
+ NULL
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_ARCH_OMAP4)
|
|
|
+/* OMAP4 */
|
|
|
+static struct omap_mbox2_priv omap2_mbox_1_priv = {
|
|
|
+ .tx_fifo = {
|
|
|
+ .msg = MAILBOX_MESSAGE(0),
|
|
|
+ .fifo_stat = MAILBOX_FIFOSTATUS(0),
|
|
|
+ },
|
|
|
+ .rx_fifo = {
|
|
|
+ .msg = MAILBOX_MESSAGE(1),
|
|
|
+ .msg_stat = MAILBOX_MSGSTATUS(1),
|