aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/omap24xx/patches-3.1/312-no-hwmod-reset.patch
blob: f0fe0275362fa3afeeab85cf204461ec91ea3dc9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Index: linux-3.1/arch/arm/mach-omap2/omap_hwmod.c
===================================================================
--- linux-3.1.orig/arch/arm/mach-omap2/omap_hwmod.c	2011-10-30 21:20:19.205515660 +0100
+++ linux-3.1/arch/arm/mach-omap2/omap_hwmod.c	2011-10-30 21:28:16.769945954 +0100
@@ -145,6 +145,8 @@
 #include <plat/omap_hwmod.h>
 #include <plat/prcm.h>
 
+#include <asm/mach-types.h>
+
 #include "cm2xxx_3xxx.h"
 #include "cminst44xx.h"
 #include "prm2xxx_3xxx.h"
@@ -1704,6 +1706,16 @@ static int _setup(struct omap_hwmod *oh,
 
 	oh->_state = _HWMOD_STATE_INITIALIZED;
 
+	if (machine_is_nokia770() ||
+	    machine_is_nokia_n800() ||
+	    machine_is_nokia_n810() ||
+	    machine_is_nokia_n810_wimax()) {
+		/* Nokia N-series workaround: Don't reset any hwmod. Some drivers expect
+		 * the NOLO bootloader initializations to be effective. */
+		oh->flags |= HWMOD_INIT_NO_RESET;
+		printk_once(KERN_INFO "Nokia N-series HWMOD_INIT_NO_RESET workaround enabled\n");
+	}
+
 	/*
 	 * In the case of hwmod with hardreset that should not be
 	 * de-assert at boot time, we have to keep the module