All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vaibhav Bedia <vaibhav.bedia@ti.com>
To: linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	tony@atomide.com, khilman@deeprootsystems.com
Cc: Vaibhav Bedia <vaibhav.bedia@ti.com>,
	Russ Dill <russ.dill@ti.com>,
	Santosh Shilimkar <santosh.shilimkar@ti.com>
Subject: [RFC v2 01/18] mailbox: OMAP2+: Add support for AM33XX
Date: Mon, 31 Dec 2012 18:36:54 +0530	[thread overview]
Message-ID: <1356959231-17335-2-git-send-email-vaibhav.bedia@ti.com> (raw)
In-Reply-To: <1356959231-17335-1-git-send-email-vaibhav.bedia@ti.com>

Mailbox IP on AM33XX is the same as that present in OMAP4.
The single instance of Mailbox IP on AM33XX contains
8 sub-modules and facilitates communication between MPU,
PRUs and WKUP_M3.

The first mailbox sub-module is assigned for communication
between MPU and WKUP-M3.

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Cc: Russ Dill <russ.dill@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
---
v1->v2:
	Address the comment on operator usage from Russ Dill

 drivers/mailbox/mailbox-omap2.c |   35 ++++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 deletions(-)

diff --git a/drivers/mailbox/mailbox-omap2.c b/drivers/mailbox/mailbox-omap2.c
index 7c26bed..6d61159 100644
--- a/drivers/mailbox/mailbox-omap2.c
+++ b/drivers/mailbox/mailbox-omap2.c
@@ -151,7 +151,7 @@ static void omap2_mbox_disable_irq(struct mailbox *mbox,
 	struct omap_mbox2_priv *p = mbox->priv;
 	u32 bit = (irq == IRQ_TX) ? p->notfull_bit : p->newmsg_bit;
 
-	if (!cpu_is_omap44xx())
+	if (!cpu_is_omap44xx() && !soc_is_am33xx())
 		bit = mbox_read_reg(p->irqdisable) & ~bit;
 
 	mbox_write_reg(bit, p->irqdisable);
@@ -352,6 +352,32 @@ struct mailbox mbox_2_info = {
 struct mailbox *omap4_mboxes[] = { &mbox_1_info, &mbox_2_info, NULL };
 #endif
 
+#if defined(CONFIG_SOC_AM33XX)
+static struct omap_mbox2_priv omap2_mbox_wkup_m3_priv = {
+	.tx_fifo = {
+		.msg		= MAILBOX_MESSAGE(0),
+		.fifo_stat	= MAILBOX_FIFOSTATUS(0),
+		.msg_stat	= MAILBOX_MSGSTATUS(0),
+	},
+	.rx_fifo = {
+		.msg		= MAILBOX_MESSAGE(1),
+		.msg_stat	= MAILBOX_MSGSTATUS(1),
+	},
+	.irqenable	= OMAP4_MAILBOX_IRQENABLE(3),
+	.irqstatus	= OMAP4_MAILBOX_IRQSTATUS(3),
+	.irqdisable	= OMAP4_MAILBOX_IRQENABLE_CLR(3),
+	.notfull_bit	= MAILBOX_IRQ_NOTFULL(0),
+	.newmsg_bit	= MAILBOX_IRQ_NEWMSG(0),
+};
+
+struct mailbox mbox_wkup_m3_info = {
+	.name	= "wkup_m3",
+	.ops	= &omap2_mbox_ops,
+	.priv	= &omap2_mbox_wkup_m3_priv,
+};
+struct mailbox *am33xx_mboxes[] = { &mbox_wkup_m3_info, NULL };
+#endif
+
 static int __devinit omap2_mbox_probe(struct platform_device *pdev)
 {
 	struct resource *mem;
@@ -386,6 +412,13 @@ static int __devinit omap2_mbox_probe(struct platform_device *pdev)
 		list[0]->irq = list[1]->irq = platform_get_irq(pdev, 0);
 	}
 #endif
+#if defined(CONFIG_SOC_AM33XX)
+	else if (soc_is_am33xx()) {
+		list = am33xx_mboxes;
+
+		list[0]->irq = platform_get_irq(pdev, 0);
+	}
+#endif
 	else {
 		pr_err("%s: platform not supported\n", __func__);
 		return -ENODEV;
-- 
1.7.0.4


WARNING: multiple messages have this Message-ID (diff)
From: vaibhav.bedia@ti.com (Vaibhav Bedia)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC v2 01/18] mailbox: OMAP2+: Add support for AM33XX
Date: Mon, 31 Dec 2012 18:36:54 +0530	[thread overview]
Message-ID: <1356959231-17335-2-git-send-email-vaibhav.bedia@ti.com> (raw)
In-Reply-To: <1356959231-17335-1-git-send-email-vaibhav.bedia@ti.com>

Mailbox IP on AM33XX is the same as that present in OMAP4.
The single instance of Mailbox IP on AM33XX contains
8 sub-modules and facilitates communication between MPU,
PRUs and WKUP_M3.

The first mailbox sub-module is assigned for communication
between MPU and WKUP-M3.

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Cc: Russ Dill <russ.dill@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
---
v1->v2:
	Address the comment on operator usage from Russ Dill

 drivers/mailbox/mailbox-omap2.c |   35 ++++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 deletions(-)

diff --git a/drivers/mailbox/mailbox-omap2.c b/drivers/mailbox/mailbox-omap2.c
index 7c26bed..6d61159 100644
--- a/drivers/mailbox/mailbox-omap2.c
+++ b/drivers/mailbox/mailbox-omap2.c
@@ -151,7 +151,7 @@ static void omap2_mbox_disable_irq(struct mailbox *mbox,
 	struct omap_mbox2_priv *p = mbox->priv;
 	u32 bit = (irq == IRQ_TX) ? p->notfull_bit : p->newmsg_bit;
 
-	if (!cpu_is_omap44xx())
+	if (!cpu_is_omap44xx() && !soc_is_am33xx())
 		bit = mbox_read_reg(p->irqdisable) & ~bit;
 
 	mbox_write_reg(bit, p->irqdisable);
@@ -352,6 +352,32 @@ struct mailbox mbox_2_info = {
 struct mailbox *omap4_mboxes[] = { &mbox_1_info, &mbox_2_info, NULL };
 #endif
 
+#if defined(CONFIG_SOC_AM33XX)
+static struct omap_mbox2_priv omap2_mbox_wkup_m3_priv = {
+	.tx_fifo = {
+		.msg		= MAILBOX_MESSAGE(0),
+		.fifo_stat	= MAILBOX_FIFOSTATUS(0),
+		.msg_stat	= MAILBOX_MSGSTATUS(0),
+	},
+	.rx_fifo = {
+		.msg		= MAILBOX_MESSAGE(1),
+		.msg_stat	= MAILBOX_MSGSTATUS(1),
+	},
+	.irqenable	= OMAP4_MAILBOX_IRQENABLE(3),
+	.irqstatus	= OMAP4_MAILBOX_IRQSTATUS(3),
+	.irqdisable	= OMAP4_MAILBOX_IRQENABLE_CLR(3),
+	.notfull_bit	= MAILBOX_IRQ_NOTFULL(0),
+	.newmsg_bit	= MAILBOX_IRQ_NEWMSG(0),
+};
+
+struct mailbox mbox_wkup_m3_info = {
+	.name	= "wkup_m3",
+	.ops	= &omap2_mbox_ops,
+	.priv	= &omap2_mbox_wkup_m3_priv,
+};
+struct mailbox *am33xx_mboxes[] = { &mbox_wkup_m3_info, NULL };
+#endif
+
 static int __devinit omap2_mbox_probe(struct platform_device *pdev)
 {
 	struct resource *mem;
@@ -386,6 +412,13 @@ static int __devinit omap2_mbox_probe(struct platform_device *pdev)
 		list[0]->irq = list[1]->irq = platform_get_irq(pdev, 0);
 	}
 #endif
+#if defined(CONFIG_SOC_AM33XX)
+	else if (soc_is_am33xx()) {
+		list = am33xx_mboxes;
+
+		list[0]->irq = platform_get_irq(pdev, 0);
+	}
+#endif
 	else {
 		pr_err("%s: platform not supported\n", __func__);
 		return -ENODEV;
-- 
1.7.0.4

  reply	other threads:[~2012-12-31 13:07 UTC|newest]

Thread overview: 148+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-31 13:06 [RFC v2 00/18] ARM: OMAP2+: AM33XX: Add suspend-resume support Vaibhav Bedia
2012-12-31 13:06 ` Vaibhav Bedia
2012-12-31 13:06 ` Vaibhav Bedia [this message]
2012-12-31 13:06   ` [RFC v2 01/18] mailbox: OMAP2+: Add support for AM33XX Vaibhav Bedia
2013-01-01 18:25   ` Tony Lindgren
2013-01-01 18:25     ` Tony Lindgren
2013-01-02 11:09     ` Bedia, Vaibhav
2013-01-02 11:09       ` Bedia, Vaibhav
2013-01-08 13:53   ` Santosh Shilimkar
2013-01-08 13:53     ` Santosh Shilimkar
2013-01-09  5:16     ` Bedia, Vaibhav
2013-01-09  5:16       ` Bedia, Vaibhav
2012-12-31 13:06 ` [RFC v2 02/18] mailbox: Add an API for flushing the FIFO Vaibhav Bedia
2012-12-31 13:06   ` Vaibhav Bedia
2013-01-08 13:56   ` Santosh Shilimkar
2013-01-08 13:56     ` Santosh Shilimkar
2013-01-09  5:16     ` Bedia, Vaibhav
2013-01-09  5:16       ` Bedia, Vaibhav
2012-12-31 13:06 ` [RFC v2 03/18] memory: emif: Move EMIF related header file to include/linux/ Vaibhav Bedia
2012-12-31 13:06   ` Vaibhav Bedia
2013-01-08 14:04   ` Santosh Shilimkar
2013-01-08 14:04     ` Santosh Shilimkar
2013-01-09  5:31     ` Bedia, Vaibhav
2013-01-09  5:31       ` Bedia, Vaibhav
2012-12-31 13:06 ` [RFC v2 04/18] ARM: OMAP2+: AM33XX: CM: Get rid of unncessary header inclusions Vaibhav Bedia
2012-12-31 13:06   ` Vaibhav Bedia
2013-01-08 15:00   ` Santosh Shilimkar
2013-01-08 15:00     ` Santosh Shilimkar
2012-12-31 13:06 ` [RFC v2 05/18] ARM: OMAP2+: AM33XX: CM/PRM: Use __ASSEMBLER__ macros in header files Vaibhav Bedia
2012-12-31 13:06   ` Vaibhav Bedia
2013-01-08 15:01   ` Santosh Shilimkar
2013-01-08 15:01     ` Santosh Shilimkar
2013-01-09  5:31     ` Bedia, Vaibhav
2013-01-09  5:31       ` Bedia, Vaibhav
2012-12-31 13:06 ` [RFC v2 06/18] ARM: OMAP2+: AM33XX: hwmod: Register OCMC RAM hwmod Vaibhav Bedia
2012-12-31 13:06   ` Vaibhav Bedia
2013-01-08 15:04   ` Santosh Shilimkar
2013-01-08 15:04     ` Santosh Shilimkar
2012-12-31 13:07 ` [RFC v2 07/18] ARM: OMAP2+: AM33XX: hwmod: Update TPTC0 hwmod with the right flags Vaibhav Bedia
2012-12-31 13:07   ` Vaibhav Bedia
2013-01-08 15:05   ` Santosh Shilimkar
2013-01-08 15:05     ` Santosh Shilimkar
2013-01-09  6:02     ` Bedia, Vaibhav
2013-01-09  6:02       ` Bedia, Vaibhav
2013-02-11 23:33   ` Kevin Hilman
2013-02-11 23:33     ` Kevin Hilman
2013-02-13 10:56     ` Bedia, Vaibhav
2013-02-13 10:56       ` Bedia, Vaibhav
2012-12-31 13:07 ` [RFC v2 08/18] ARM: OMAP2+: AM33XX: hwmod: Fixup cpgmac0 hwmod entry Vaibhav Bedia
2012-12-31 13:07   ` Vaibhav Bedia
2013-01-08 15:08   ` Santosh Shilimkar
2013-01-08 15:08     ` Santosh Shilimkar
2012-12-31 13:07 ` [RFC v2 09/18] ARM: OMAP2+: AM33XX: hwmod: Update the WKUP-M3 hwmod with reset status bit Vaibhav Bedia
2012-12-31 13:07   ` Vaibhav Bedia
2013-01-08 15:09   ` Santosh Shilimkar
2013-01-08 15:09     ` Santosh Shilimkar
2012-12-31 13:07 ` [RFC v2 10/18] ARM: OMAP2+: AM33XX: Update the hardreset API Vaibhav Bedia
2012-12-31 13:07   ` Vaibhav Bedia
2013-01-08 15:10   ` Santosh Shilimkar
2013-01-08 15:10     ` Santosh Shilimkar
2012-12-31 13:07 ` [RFC v2 11/18] ARM: DTS: AM33XX: Add nodes for OCMC RAM and WKUP-M3 Vaibhav Bedia
2012-12-31 13:07   ` Vaibhav Bedia
2013-01-08 15:12   ` Santosh Shilimkar
2013-01-08 15:12     ` Santosh Shilimkar
2012-12-31 13:07 ` [RFC v2 12/18] ARM: OMAP2+: timer: Add suspend-resume callbacks for clockevent device Vaibhav Bedia
2012-12-31 13:07   ` Vaibhav Bedia
2013-01-08 15:15   ` Santosh Shilimkar
2013-01-08 15:15     ` Santosh Shilimkar
2013-01-11  4:37     ` Bedia, Vaibhav
2013-01-11  4:37       ` Bedia, Vaibhav
2013-01-17 18:45       ` Jon Hunter
2013-01-17 18:45         ` Jon Hunter
2013-01-18  5:25         ` Santosh Shilimkar
2013-01-18  5:25           ` Santosh Shilimkar
2013-01-21  7:22           ` Bedia, Vaibhav
2013-01-21  7:22             ` Bedia, Vaibhav
2013-01-30 17:46             ` Jon Hunter
2013-01-30 17:46               ` Jon Hunter
2013-01-31 11:17               ` Bedia, Vaibhav
2013-01-31 11:17                 ` Bedia, Vaibhav
2013-01-17 18:40   ` Jon Hunter
2013-01-17 18:40     ` Jon Hunter
2013-01-21  7:22     ` Bedia, Vaibhav
2013-01-21  7:22       ` Bedia, Vaibhav
2012-12-31 13:07 ` [RFC v2 13/18] ARM: OMAP2+: AM33XX: timer: Interchance clkevt and clksrc timers Vaibhav Bedia
2012-12-31 13:07   ` Vaibhav Bedia
2013-01-08 15:17   ` Santosh Shilimkar
2013-01-08 15:17     ` Santosh Shilimkar
2013-01-09  5:31     ` Bedia, Vaibhav
2013-01-09  5:31       ` Bedia, Vaibhav
2013-01-17 19:09   ` Jon Hunter
2013-01-17 19:09     ` Jon Hunter
2013-01-24 22:30   ` Jon Hunter
2013-01-24 22:30     ` Jon Hunter
2013-01-30 17:48     ` Jon Hunter
2013-01-30 17:48       ` Jon Hunter
2013-01-30 17:49       ` Jon Hunter
2013-01-30 17:49         ` Jon Hunter
2013-01-31 11:29         ` Bedia, Vaibhav
2013-01-31 11:29           ` Bedia, Vaibhav
2012-12-31 13:07 ` [RFC v2 14/18] ARM: OMAP2+: AM33XX: control: Add some control module registers and APIs Vaibhav Bedia
2012-12-31 13:07   ` Vaibhav Bedia
2013-01-08 15:21   ` Santosh Shilimkar
2013-01-08 15:21     ` Santosh Shilimkar
2013-01-09  5:38     ` Bedia, Vaibhav
2013-01-09  5:38       ` Bedia, Vaibhav
2013-01-09  7:31       ` Santosh Shilimkar
2013-01-09  7:31         ` Santosh Shilimkar
2013-01-09  9:37         ` Bedia, Vaibhav
2013-01-09  9:37           ` Bedia, Vaibhav
2013-01-09  9:53           ` Santosh Shilimkar
2013-01-09  9:53             ` Santosh Shilimkar
2012-12-31 13:07 ` [RFC v2 15/18] ARM: OMAP2+: AM33XX: Add assembly code for PM operations Vaibhav Bedia
2012-12-31 13:07   ` Vaibhav Bedia
2012-12-31 13:07 ` [RFC v2 16/18] ARM: OMAP2+: AM33XX: Basic suspend resume support Vaibhav Bedia
2012-12-31 13:07   ` Vaibhav Bedia
2013-01-17 14:27   ` Peter Korsgaard
2013-01-17 14:27     ` Peter Korsgaard
2013-01-21 10:37     ` Bedia, Vaibhav
2013-01-21 10:37       ` Bedia, Vaibhav
2013-01-22 12:50       ` Peter Korsgaard
2013-01-22 12:50         ` Peter Korsgaard
2013-02-12  1:27   ` Kevin Hilman
2013-02-12  1:27     ` Kevin Hilman
2013-02-13 13:43     ` Bedia, Vaibhav
2013-02-13 13:43       ` Bedia, Vaibhav
2013-02-18 16:11       ` Kevin Hilman
2013-02-18 16:11         ` Kevin Hilman
2013-02-20  9:21         ` Bedia, Vaibhav
2013-02-20  9:21           ` Bedia, Vaibhav
2013-02-20 14:30           ` Kevin Hilman
2013-02-20 14:30             ` Kevin Hilman
2013-04-03 11:52   ` Daniel Mack
2013-04-03 11:52     ` Daniel Mack
2013-04-04  8:47     ` Bedia, Vaibhav
2013-04-04  8:47       ` Bedia, Vaibhav
2012-12-31 13:07 ` [RFC v2 17/18] ARM: OMAP2+: AM33XX: Select Mailbox when PM is enabled Vaibhav Bedia
2012-12-31 13:07   ` Vaibhav Bedia
2013-01-08 15:22   ` Santosh Shilimkar
2013-01-08 15:22     ` Santosh Shilimkar
2013-01-09  5:38     ` Bedia, Vaibhav
2013-01-09  5:38       ` Bedia, Vaibhav
2012-12-31 13:07 ` [RFC v2 18/18] ARM: OMAP2+: AM33XX: Hookup AM33XX PM code into OMAP builds Vaibhav Bedia
2012-12-31 13:07   ` Vaibhav Bedia
2013-01-08 15:31 ` [RFC v2 00/18] ARM: OMAP2+: AM33XX: Add suspend-resume support Santosh Shilimkar
2013-01-08 15:31   ` Santosh Shilimkar
2013-01-09  5:38   ` Bedia, Vaibhav
2013-01-09  5:38     ` Bedia, Vaibhav

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1356959231-17335-2-git-send-email-vaibhav.bedia@ti.com \
    --to=vaibhav.bedia@ti.com \
    --cc=khilman@deeprootsystems.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=russ.dill@ti.com \
    --cc=santosh.shilimkar@ti.com \
    --cc=tony@atomide.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.