diff mbox

[3/5] omap: mailbox: correct OMAP4 SIDLEMODE logic

Message ID 2C1563023E232C49B9F505633D57C2DA2640D0235D@dlee04.ent.ti.com (mailing list archive)
State Accepted
Commit da3d02d7037d1349a4f5555652648a0b5c025d7e
Delegated to: Tony Lindgren
Headers show

Commit Message

Suman Anna Feb. 18, 2010, 9:07 p.m. UTC
None
diff mbox

Patch

diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c
index 88e9043..e0c1f1b 100644
--- a/arch/arm/mach-omap2/mailbox.c
+++ b/arch/arm/mach-omap2/mailbox.c
@@ -41,6 +41,8 @@ 
 #define SOFTRESET	(1 << 1)
 #define SMARTIDLE	(2 << 3)
 #define OMAP4_SOFTRESET	(1 << 0)
+#define OMAP4_NOIDLE	(1 << 2)
+#define OMAP4_SMARTIDLE	(2 << 2)
 
 /* SYSSTATUS: register bit definition */
 #define RESETDONE	(1 << 0)
@@ -131,7 +133,10 @@  static int omap2_mbox_startup(struct omap_mbox *mbox)
 	l = mbox_read_reg(MAILBOX_REVISION);
 	pr_info("omap mailbox rev %d.%d\n", (l & 0xf0) >> 4, (l & 0x0f));
 
-	l = SMARTIDLE | AUTOIDLE;
+	if (cpu_is_omap44xx())
+		l = OMAP4_SMARTIDLE;
+	else
+		l = SMARTIDLE | AUTOIDLE;
 	mbox_write_reg(l, MAILBOX_SYSCONFIG);
 
 	omap2_mbox_enable_irq(mbox, IRQ_RX);