summaryrefslogtreecommitdiff
path: root/arch/arm/mach-ep93xx/snappercl15.c
diff options
context:
space:
mode:
authorPaul Walmsley <paul@pwsan.com>2011-10-07 03:18:45 +0400
committerKevin Hilman <khilman@ti.com>2011-10-08 00:41:49 +0400
commitb02b917211d50ad5dc13e49c933ef916b10e0d00 (patch)
tree138707c1aab31b0263cb1bd02ba4678c6a7d80f5 /arch/arm/mach-ep93xx/snappercl15.c
parentff2f8e5ffb23de6e2284f31651447cb80a4c9d1b (diff)
downloadlinux-b02b917211d50ad5dc13e49c933ef916b10e0d00.tar.xz
ARM: OMAP3: PM: fix I/O wakeup and I/O chain clock control detection
The way that we detect which OMAP3 chips support I/O wakeup and software I/O chain clock control is broken. Currently, I/O wakeup is marked as present for all OMAP3 SoCs other than the AM3505/3517. The TI81xx family of SoCs are at present considered to be OMAP3 SoCs, but don't support I/O wakeup. To resolve this, convert the existing blacklist approach to an explicit, whitelist support, in which only SoCs which are known to support I/O wakeup are listed. (At present, this only includes OMAP34xx, OMAP3503, OMAP3515, OMAP3525, OMAP3530, and OMAP36xx.) Also, the current code incorrectly detects the presence of a software-controllable I/O chain clock on several chips that don't support it. This results in writes to reserved bitfields, unnecessary delays, and console messages on kernels running on those chips: http://www.spinics.net/lists/linux-omap/msg58735.html Convert this test to a feature test with a chip-by-chip whitelist. Thanks to Dave Hylands <dhylands@gmail.com> for reporting this problem and doing some testing to help isolate the cause. Thanks to Steve Sakoman <sakoman@gmail.com> for catching a bug in the first version of this patch. Thanks to Russell King <linux@arm.linux.org.uk> for comments. Signed-off-by: Paul Walmsley <paul@pwsan.com> Cc: Dave Hylands <dhylands@gmail.com> Cc: Steve Sakoman <sakoman@gmail.com> Tested-by: Steve Sakoman <sakoman@gmail.com> Cc: Russell King - ARM Linux <linux@arm.linux.org.uk> Signed-off-by: Kevin Hilman <khilman@ti.com>
Diffstat (limited to 'arch/arm/mach-ep93xx/snappercl15.c')
0 files changed, 0 insertions, 0 deletions