29 lines
		
	
	
		
			895 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			895 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/arch/arm/mach-omap2/omap_hwmod.c
 | 
						|
+++ b/arch/arm/mach-omap2/omap_hwmod.c
 | 
						|
@@ -146,6 +146,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"
 | 
						|
@@ -1769,6 +1771,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
 |