OMAP3: pm: introduce errata handling
authorNishanth Menon <nm@ti.com>
Mon, 20 Dec 2010 20:05:05 +0000 (14:05 -0600)
committerKevin Hilman <khilman@deeprootsystems.com>
Tue, 21 Dec 2010 22:45:49 +0000 (14:45 -0800)
Introduce errata handling for OMAP3. This patch introduces
errata variable and stub for initialization which will be
filled up by follow-on patches.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
arch/arm/mach-omap2/pm.h
arch/arm/mach-omap2/pm34xx.c

index 0d75bfd1fdbef77870ed8213e3376658f5fc1420..0348fd717f618f29f3a6046dd031faaa88126bbf 100644 (file)
@@ -85,4 +85,11 @@ extern unsigned int save_secure_ram_context_sz;
 extern unsigned int omap24xx_cpu_suspend_sz;
 extern unsigned int omap34xx_cpu_suspend_sz;
 
+#if defined(CONFIG_PM) && defined(CONFIG_ARCH_OMAP3)
+extern u16 pm34xx_errata;
+#define IS_PM34XX_ERRATUM(id)          (pm34xx_errata & (id))
+#else
+#define IS_PM34XX_ERRATUM(id)          0
+#endif         /* defined(CONFIG_PM) && defined(CONFIG_ARCH_OMAP3) */
+
 #endif
index 5bf344a3fcf524e3cf89b24414738a96a74f025b..288bee32e2b2d11b3d8af5d9b07fc52ae11ca75d 100644 (file)
@@ -68,6 +68,9 @@ static inline bool is_suspending(void)
 #define OMAP343X_TABLE_VALUE_OFFSET       0xc0
 #define OMAP343X_CONTROL_REG_VALUE_OFFSET  0xc8
 
+/* pm34xx errata defined in pm.h */
+u16 pm34xx_errata;
+
 struct power_state {
        struct powerdomain *pwrdm;
        u32 next_state;
@@ -991,6 +994,10 @@ void omap_push_sram_idle(void)
                                save_secure_ram_context_sz);
 }
 
+static void __init pm_errata_configure(void)
+{
+}
+
 static int __init omap3_pm_init(void)
 {
        struct power_state *pwrst, *tmp;
@@ -1000,6 +1007,8 @@ static int __init omap3_pm_init(void)
        if (!cpu_is_omap34xx())
                return -ENODEV;
 
+       pm_errata_configure();
+
        printk(KERN_ERR "Power Management for TI OMAP3.\n");
 
        /* XXX prcm_setup_regs needs to be before enabling hw