openwrt-owl/target/linux/omap24xx/patches-3.3/312-no-hwmod-reset.patch

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