linux/arch/arm/mach-omap2
Mohan V fe7ea0062f ARM: OMAP3: PM: correct enable/disable of daisy io chain
Currently the enabling and disabling of IO Daisy chain is not
according to the TRM. The below steps are followed to enable/
disable the IO chain, based loosely on the "Sec 3.5.7.2.2
I/O Wake-Up Mechanism" section in OMAP3630 Public TRM[1].

Steps to enable IO chain:
[a] Set PM_WKEN_WKUP.EN_IO bit
[b] Set the PM_WKEN_WKUP.EN_IO_CHAIN bit
[c] Poll for PM_WKST_WKUP.ST_IO_CHAIN.
[d] When ST_IO_CHAIN bit set to 1, clear PM_WKEN_WKUP.EN_IO_CHAIN
[e] Clear ST_IO_CHAIN bit.

Steps to disable IO chain:
[a] Clear PM_WKEN_WKUP.EN_IO_CHAIN bit
[b] Clear PM_WKEN_WKUP.EN_IO bit
[c] Clear PM_WKST_WKUP.ST_IO bit by writing 1 to it.

Step [e] & [c] in each case can be skipped, as these are handled
by the PRCM interrupt handler later.

[1] http://focus.ti.com/pdfs/wtbu/OMAP36xx_ES1.x_PUBLIC_TRM_vV.zip

Signed-off-by: Mohan V <mohanv@ti.com>
Signed-off-by: Vishwanath BS <vishwanath.bs@ti.com>
[paul@pwsan.com: modified commit message to clarify that these steps are
 based loosely on the TRM section, rather than documented exactly]
Reviewed-by: Rajendra Nayak <rnayak@ti.com>
[paul@pwsan.com: resolved new warnings from checkpatch]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2012-06-22 08:40:02 -06:00
..
2012-05-26 12:31:49 -07:00
2011-03-09 18:44:28 -07:00
2012-03-27 16:03:32 -07:00
2012-05-26 12:31:49 -07:00
2011-05-12 02:52:06 -07:00
2012-03-28 20:59:45 -07:00
2012-05-26 13:14:01 -07:00
2012-05-26 12:31:49 -07:00
2012-05-26 12:31:49 -07:00
2012-03-27 15:55:54 -07:00
2010-07-05 16:31:36 +03:00
2011-03-31 11:26:23 -03:00
2012-05-26 13:14:01 -07:00
2012-03-05 15:18:20 +01:00
2010-12-21 20:01:54 -07:00
2010-12-17 15:13:44 -08:00
2012-05-22 16:12:24 -07:00
2012-03-28 18:30:01 +01:00