[PATCH 09/10] 34XX: PM: Workaround for non-existing usb clockdomain

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

 



There is no usb clkdm in core powerdomain in chip revisions greater
that es1, but hw supervised mode needs to be enabled for it. Othervise
core powerdomain wont enter retention.

Signed-off-by: Jouni Hogander <jouni.hogander@xxxxxxxxx>
---
 arch/arm/mach-omap2/pm34xx.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index 43240d3..dbc3cf1 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -600,6 +600,15 @@ static void __init prcm_setup_regs(void)
 		__raw_writel(PRM_VOLTCTRL_AUTO_RET,
 			     OMAP3430_PRM_VOLTCTRL);
 	}
+
+	if (is_sil_rev_greater_than(OMAP3430_REV_ES1_0)) {
+		/* This hack is taken from ti code. There is no usb clkdm in
+		 * core, but this still needs to be written: allow idle of usb
+		 * clkdm? */
+		v = cm_read_mod_reg(CORE_MOD, CM_CLKSTCTRL);
+		v |= 0x30;
+		cm_write_mod_reg(v, CORE_MOD, CM_CLKSTCTRL);
+	}
 }
 
 static int __init pwrdms_setup(struct powerdomain *pwrdm)
-- 
1.5.5

--
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