--- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c @@ -146,6 +146,8 @@ #include #include +#include + #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