Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b835d014 authored by Paul Walmsley's avatar Paul Walmsley Committed by paul
Browse files

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: default avatarPaul Walmsley <paul@pwsan.com>
Tested-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
parent 6f8b7ff5
Loading
Loading
Loading
Loading
+13 −5
Original line number Diff line number Diff line
@@ -945,11 +945,19 @@ static int _setup(struct omap_hwmod *oh)

	_enable(oh);

	if (!(oh->flags & HWMOD_INIT_NO_RESET))
		_reset(oh);

	/* XXX OCP AUTOIDLE bit? */
	/* XXX OCP ENAWAKEUP bit? */
	if (!(oh->flags & HWMOD_INIT_NO_RESET)) {
		/*
		 * XXX Do the OCP_SYSCONFIG bits need to be
		 * reprogrammed after a reset?  If not, then this can
		 * 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))
		_idle(oh);