OMAP2/3/4 PRCM: add module IDLEST wait code
authorPaul Walmsley <paul@pwsan.com>
Thu, 3 Sep 2009 17:14:02 +0000 (20:14 +0300)
committerpaul <paul@twilight.(none)>
Thu, 3 Sep 2009 17:14:02 +0000 (20:14 +0300)
commit71348bcaac6f4c372525d4d62e88a82a7330435b
treed0815681a02f914a8f24fb4f5050d357ecfbdfb5
parentc0407a96d04794be586eab4a412320079446cf93
OMAP2/3/4 PRCM: add module IDLEST wait code

After a hardware module's clocks are enabled, Linux must wait for it
to indicate readiness via its IDLEST bit before attempting to access
the device, otherwise register accesses to the device may trigger an
abort.  This has traditionally been implemented in the clock
framework, but this is the wrong place for it: the clock framework
doesn't know which module clocks must be enabled for a module to leave
idle; and if a module is not in smart-idle mode, it may never leave
idle at all.  This type of information is best stored in a
per-hardware module data structure (coming in a following patch),
rather than a per-clock data structure.  The new code will use these new
functions to handle waiting for modules to enable.

Once hardware module data is filled in for all of the on-chip devices,
the clock framework code to handle IDLEST waiting can be removed.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/cm.c [new file with mode: 0644]
arch/arm/mach-omap2/cm.h
arch/arm/mach-omap2/cm4xxx.c [new file with mode: 0644]