[PATCH v6 12/12] OMAP2: dmtimer: set wakeup enable explicitly in plat

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



For some reason the wakeup enable bit is not getting set on OMAP2430,
OMAP2420. This is inspite of the fact that SYSC_HAS_ENAWAKEUP flag is
present in the hwmod database. Until the reason is found we need this
patch to boot on the above platforms.

Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@xxxxxx>
---
 arch/arm/plat-omap/dmtimer.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c
index 4ef25de..2ea0a7b 100644
--- a/arch/arm/plat-omap/dmtimer.c
+++ b/arch/arm/plat-omap/dmtimer.c
@@ -227,6 +227,7 @@ static void omap_dm_timer_write_reg(struct omap_dm_timer *timer, u32 reg,
 
 static void omap_dm_timer_prepare(struct omap_dm_timer *timer)
 {
+	u32 l;
 	struct dmtimer_platform_data *pdata = timer->pdev->dev.platform_data;
 
 	timer->fclk = clk_get(&timer->pdev->dev, "fck");
@@ -240,6 +241,18 @@ static void omap_dm_timer_prepare(struct omap_dm_timer *timer)
 	if (cpu_is_omap16xx())
 		pdata->dm_timer_reset(timer);
 
+	/*
+	 * Enable wake-up on OMAP2420, OMAP2430 CPUs.
+	 * FIXME: SYSC_HAS_ENAWAKEUP flag is already set in hwmod database.
+	 * But the setting does not seem to work. Need to investigate why
+	 * this is happening.
+	 */
+	if (is_omap2430() || is_omap2420()) {
+		l = omap_dm_timer_read_reg(timer, OMAP_TIMER_OCP_CFG_REG);
+		l |= 1 << 2;
+		omap_dm_timer_write_reg(timer, OMAP_TIMER_OCP_CFG_REG, l);
+	}
+
 	omap_dm_timer_set_source(timer, OMAP_TIMER_SRC_32_KHZ);
 
 	/* Match hardware reset default of posted mode */
-- 
1.6.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux