OMAP3: add comments for erratas i540 and i478 workarounds
authorJean Pihet <jean.pihet@newoldbits.com>
Wed, 17 Nov 2010 17:52:11 +0000 (17:52 +0000)
committerTony Lindgren <tony@atomide.com>
Sat, 18 Dec 2010 00:48:20 +0000 (16:48 -0800)
Add comments and IDs for the following erratas:
- i540: MPU cannot exit from Standby,
- i478: Unexpected Cold-Reset is generated when device is coming
   back from OFF mode

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/irq.c
arch/arm/mach-omap2/powerdomains34xx.h

index 32eeabe9d2abeb6e235fdd7ed9d2ead76c58fe30..85bf8ca95fd30a2df6fed7ff8d0670cd439dcabd 100644 (file)
@@ -284,7 +284,10 @@ void omap3_intc_suspend(void)
 
 void omap3_intc_prepare_idle(void)
 {
-       /* Disable autoidle as it can stall interrupt controller */
+       /*
+        * Disable autoidle as it can stall interrupt controller,
+        * cf. errata ID i540 for 3430 (all revisions up to 3.1.x)
+        */
        intc_bank_write_reg(0, &irq_banks[0], INTC_SYSCONFIG);
 }
 
index fa904861668b42c2144de8c9c87d65a2561575e7..ce5c15bc41b8466b0275ac7cd3d343ecb37841cb 100644 (file)
@@ -80,6 +80,10 @@ static struct powerdomain mpu_3xxx_pwrdm = {
  * 3430s upto ES3.0 and 3630ES1.0. Hence this feature
  * needs to be disabled on these chips.
  * Refer: 3430 errata ID i459 and 3630 errata ID i579
+ *
+ * Note: setting the SAR flag could help for errata ID i478
+ *  which applies to 3430 <= ES3.1, but since the SAR feature
+ *  is broken, do not use it.
  */
 static struct powerdomain core_3xxx_pre_es3_1_pwrdm = {
        .name             = "core_pwrdm",
@@ -108,6 +112,10 @@ static struct powerdomain core_3xxx_es3_1_pwrdm = {
                                          CHIP_GE_OMAP3630ES1_1),
        .pwrsts           = PWRSTS_OFF_RET_ON,
        .pwrsts_logic_ret = PWRSTS_OFF_RET,
+       /*
+        * Setting the SAR flag for errata ID i478 which applies
+        *  to 3430 <= ES3.1
+        */
        .flags            = PWRDM_HAS_HDWR_SAR, /* for USBTLL only */
        .banks            = 2,
        .pwrsts_mem_ret   = {