linux/arch/arm/mach-omap2
Paul Walmsley 71348bcaac 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>
2009-09-03 20:14:02 +03:00
..
board-2430sdp.c OMAP: UART: drop OMAP_TAG_UART, enable all UARTs, auto-disabled on idle 2009-08-28 10:51:31 -07:00
board-3430sdp.c OMAP: UART: drop OMAP_TAG_UART, enable all UARTs, auto-disabled on idle 2009-08-28 10:51:31 -07:00
board-4430sdp.c OMAP: UART: drop OMAP_TAG_UART, enable all UARTs, auto-disabled on idle 2009-08-28 10:51:31 -07:00
board-apollon.c OMAP: UART: drop OMAP_TAG_UART, enable all UARTs, auto-disabled on idle 2009-08-28 10:51:31 -07:00
board-generic.c OMAP: UART: drop OMAP_TAG_UART, enable all UARTs, auto-disabled on idle 2009-08-28 10:51:31 -07:00
board-h4.c OMAP: UART: drop OMAP_TAG_UART, enable all UARTs, auto-disabled on idle 2009-08-28 10:51:31 -07:00
board-ldp.c OMAP: UART: drop OMAP_TAG_UART, enable all UARTs, auto-disabled on idle 2009-08-28 10:51:31 -07:00
board-n8x0.c OMAP2: add board file for Nokia N800 and N810 2009-08-28 10:51:38 -07:00
board-omap3beagle.c OMAP3: beagle: add missing twl4030 usb platform_data 2009-08-28 11:24:15 -07:00
board-omap3evm.c OMAP: UART: drop OMAP_TAG_UART, enable all UARTs, auto-disabled on idle 2009-08-28 10:51:31 -07:00
board-omap3pandora.c OMAP: UART: drop OMAP_TAG_UART, enable all UARTs, auto-disabled on idle 2009-08-28 10:51:31 -07:00
board-overo.c OMAP: UART: drop OMAP_TAG_UART, enable all UARTs, auto-disabled on idle 2009-08-28 10:51:31 -07:00
board-rx51-peripherals.c OMAP3: RX51: Define TWL4030 USB transceiver in board file 2009-08-10 14:49:51 +03:00
board-rx51.c OMAP: UART: drop OMAP_TAG_UART, enable all UARTs, auto-disabled on idle 2009-08-28 10:51:31 -07:00
board-zoom2.c OMAP3: Zoom2: Add TWL4030 support 2009-08-28 11:24:13 -07:00
board-zoom-debugboard.c OMAP2/3: Pass irqflags to 8250 driver 2009-08-28 11:24:08 -07:00
clock24xx.c
clock24xx.h
clock34xx.c OMAP3 clock: Fixed processing of bootarg 'mpurate' 2009-09-03 20:13:58 +03:00
clock34xx.h OMAP3 clock: remove superfluous calls to omap2_init_clk_clkdm 2009-09-03 20:14:00 +03:00
clock.c
clock.h
clockdomain.c
clockdomains.h
cm4xxx.c OMAP2/3/4 PRCM: add module IDLEST wait code 2009-09-03 20:14:02 +03:00
cm-regbits-24xx.h
cm-regbits-34xx.h
cm.c OMAP2/3/4 PRCM: add module IDLEST wait code 2009-09-03 20:14:02 +03:00
cm.h OMAP2/3/4 PRCM: add module IDLEST wait code 2009-09-03 20:14:02 +03:00
control.c
devices.c OMAP3: MMC: Add mux for pins 2009-08-28 11:24:11 -07:00
gpmc-onenand.c
gpmc-smc91x.c
gpmc.c
id.c
io.c OMAP2/3 PM: create the OMAP PM interface and add a default OMAP PM no-op layer 2009-09-03 20:14:01 +03:00
iommu2.c OMAP: iommu: add initial debugfs support 2009-08-28 10:54:41 -07:00
irq.c
Kconfig OMAP2: add board file for Nokia N800 and N810 2009-08-28 10:51:38 -07:00
mailbox.c
Makefile OMAP2/3/4 PRCM: add module IDLEST wait code 2009-09-03 20:14:02 +03:00
Makefile.boot
mcbsp.c
mmc-twl4030.c OMAP2/3: mmc-twl4030: Free up MMC regulators while cleaning up 2009-08-10 14:49:51 +03:00
mmc-twl4030.h
mux.c OMAP3: MMC: Add mux for pins 2009-08-28 11:24:11 -07:00
omap3-iommu.c
omap-headsmp.S
omap-smp.c OMAP: Remove OMAP_IO_ADDRESS, use OMAP1_IO_ADDRESS and OMAP2_IO_ADDRESS instead 2009-08-28 10:50:33 -07:00
pm24xx.c
pm34xx.c OMAP3: PM: Fix wrong sequence in suspend. 2009-08-05 09:10:54 -07:00
pm-debug.c OMAP: Remove OMAP_IO_ADDRESS, use OMAP1_IO_ADDRESS and OMAP2_IO_ADDRESS instead 2009-08-28 10:50:33 -07:00
pm.h
powerdomain.c OMAP: powerdomain: Fix overflow when doing powerdomain deps lookups. 2009-09-03 20:13:53 +03:00
powerdomains24xx.h
powerdomains34xx.h
powerdomains.h
prcm-common.h
prcm.c
prm-regbits-24xx.h
prm-regbits-34xx.h
prm.h OMAP: Remove OMAP_IO_ADDRESS, use OMAP1_IO_ADDRESS and OMAP2_IO_ADDRESS instead 2009-08-28 10:50:33 -07:00
sdram-micron-mt46h32m32lf-6.h
sdram-qimonda-hyb18m512160af-6.h
sdrc2xxx.c
sdrc.c
sdrc.h OMAP: Remove OMAP_IO_ADDRESS, use OMAP1_IO_ADDRESS and OMAP2_IO_ADDRESS instead 2009-08-28 10:50:33 -07:00
serial.c OMAP2/3: Pass irqflags to 8250 driver 2009-08-28 11:24:08 -07:00
sleep24xx.S
sleep34xx.S
sram34xx.S
sram242x.S OMAP: Remove OMAP_IO_ADDRESS, use OMAP1_IO_ADDRESS and OMAP2_IO_ADDRESS instead 2009-08-28 10:50:33 -07:00
sram243x.S OMAP: Remove OMAP_IO_ADDRESS, use OMAP1_IO_ADDRESS and OMAP2_IO_ADDRESS instead 2009-08-28 10:50:33 -07:00
timer-gp.c OMAP: Remove OMAP_IO_ADDRESS, use OMAP1_IO_ADDRESS and OMAP2_IO_ADDRESS instead 2009-08-28 10:50:33 -07:00
timer-mpu.c
usb-musb.c USB: musb: fix the nop registration for OMAP3EVM 2009-08-07 16:05:13 -07:00
usb-tusb6010.c