linux/arch
Paul Walmsley 856c3c5b28 ARM: OMAP3: PM: apply part of the erratum i582 workaround
On OMAP34xx/35xx, and OMAP36xx chips with ES < 1.2, if the PER
powerdomain goes to OSWR or OFF while CORE stays at CSWR or ON, or if,
upon chip wakeup from OSWR or OFF, the CORE powerdomain goes ON before
PER, the UART3/4 FIFOs and McBSP2/3 SIDETONE memories will be
unusable.  This is erratum i582 in the OMAP36xx Silicon Errata
document.

This patch implements one of several parts of the workaround: the
addition of the wakeup dependency between the PER and WKUP
clockdomains, such that PER will wake up at the same time CORE_L3
does.

This is not a complete workaround.  For it to be complete:

1. the PER powerdomain's next power state must not be set to OSWR or
   OFF if the CORE powerdomain's next power state is set to CSWR or
   ON;

2. the UART3/4 FIFO and McBSP2/3 SIDETONE loopback tests should be run
   if the LASTPOWERSTATEENTERED bits for PER and CORE indicate that
   PER went OFF while CORE stayed on.  If loopback tests fail, then
   those devices will be unusable until PER and CORE can undergo a
   transition from ON to OSWR/OFF and back ON.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Tero Kristo <t-kristo@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
2012-10-22 13:35:17 -07:00
..
alpha
arm ARM: OMAP3: PM: apply part of the erratum i582 workaround 2012-10-22 13:35:17 -07:00
arm64 arm64: fix alignment padding in assembly code 2012-10-20 11:12:01 +01:00
avr32
blackfin
c6x
cris
frv
h8300
hexagon Hexagon: Copyright marking changes 2012-10-18 17:07:21 -05:00
ia64
m32r
m68k
microblaze
mips Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2012-10-18 11:49:39 -07:00
mn10300
openrisc
parisc
powerpc cpuidle/powerpc: Fix snooze state problem in the cpuidle design on pseries. 2012-10-18 10:57:25 +11:00
s390
score
sh
sparc UAPI fixes 2012-10-17 2012-10-17 13:40:22 -07:00
tile
um
unicore32
x86 Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-10-19 18:39:36 -07:00
xtensa xtensa: add missing system calls to the syscall table 2012-10-19 10:46:44 -07:00
.gitignore
Kconfig