OMAP3 hwmod: reprogram OCP_SYSCONFIG register after setting SOFTRESET

Reprogram the module's OCP_SYSCONFIG register after module reset (SOFTRESET
= 1).  This may not be needed, but the definition of the reset performed by
the SOFTRESET bit is unclear.

Kevin Hilman <khilman@deeprootsystems.com> tested an earlier version of
this patch.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
This commit is contained in:
Paul Walmsley 2009-12-08 16:34:14 -07:00 committed by paul
parent 6f8b7ff5b0
commit b835d01421

View File

@ -945,11 +945,19 @@ static int _setup(struct omap_hwmod *oh)
_enable(oh); _enable(oh);
if (!(oh->flags & HWMOD_INIT_NO_RESET)) if (!(oh->flags & HWMOD_INIT_NO_RESET)) {
_reset(oh); /*
* XXX Do the OCP_SYSCONFIG bits need to be
/* XXX OCP AUTOIDLE bit? */ * reprogrammed after a reset? If not, then this can
/* XXX OCP ENAWAKEUP bit? */ * be removed. If they do, then probably the
* _enable() function should be split to avoid the
* rewrite of the OCP_SYSCONFIG register.
*/
if (oh->sysconfig) {
_update_sysc_cache(oh);
_sysc_enable(oh);
}
}
if (!(oh->flags & HWMOD_INIT_NO_IDLE)) if (!(oh->flags & HWMOD_INIT_NO_IDLE))
_idle(oh); _idle(oh);