]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: OMAP2+: hwmod: revise the IP block reset process
authorPaul Walmsley <paul@pwsan.com>
Thu, 19 Apr 2012 06:49:09 +0000 (00:49 -0600)
committerPaul Walmsley <paul@pwsan.com>
Thu, 19 Apr 2012 06:49:09 +0000 (00:49 -0600)
commitfcebc46c4d9c200445ffdad60a05efb100fad49a
treefdbfdb8ad21db6289d875c690d643d6a73c989d0
parentfa3115b797feab698d2cd7814631dd81a038cba7
ARM: OMAP2+: hwmod: revise the IP block reset process

Revise the IP block reset process.  This patch ensures that the
OCP_SYSCONFIG registers are reloaded after a custom reset.  Since
OCP_SYSCONFIG bits are cleared during reset, they should be
reprogrammed unless the IP block is being left in reset.  (The only IP
blocks that are left in reset are IP blocks with hardreset lines and
no custom reset function.)  If the IP block is left in reset, then it
is inaccessible to the MPU, and an access to the OCP_SYSCONFIG
register will cause an abort.

This version incorporates comments from Omar Ramirez Luna
<omar.ramirez@ti.com> to skip the OCP_SYSCONFIG access after asserting
hardreset lines.  This allows the MMU (IOMMU) IP block, which has
both hardreset lines and an OCP_SYSCONFIG register.

Also, ignore _ocp_softreset() errors if the IP block doesn't include a
softreset bit.  This is needed since a subsequent patch will start
taking the return value of the _reset() function seriously.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: BenoƮt Cousson <b-cousson@ti.com>
Cc: Omar Ramirez Luna <omar.ramirez@ti.com>
arch/arm/mach-omap2/omap_hwmod.c