ARM: OMAP4: PM: Avoid omap4_pm_init() on OMAP4430 ES1.0
authorSantosh Shilimkar <santosh.shilimkar@ti.com>
Fri, 11 Mar 2011 10:43:09 +0000 (16:13 +0530)
committerKevin Hilman <khilman@ti.com>
Thu, 8 Dec 2011 19:28:59 +0000 (11:28 -0800)
On OMAP4430 ES1.0, Power Management features are not supported.
Avoid omap4_pm_init() on ES1.0 silicon so that we can continue
to use same kernel binary to boot on all OMAP4 silicons.

The ES1.0 boot failure with OMAP4 PM series was because of
the clockdomain initialisation code. Hardware supervised
clockdomain mode isn't functional for all clockdomains
on OMAP4430 ES1.0 silicon so avoid the same.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reported-by: Kevin Hilman <khilman@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
arch/arm/mach-omap2/pm44xx.c

index 715035d0512a98b6711bf3458c29ec28b83326f9..35d392abcaa41f86fc03fe041c1e217c29bb2cec 100644 (file)
@@ -105,6 +105,11 @@ static int __init omap4_pm_init(void)
        if (!cpu_is_omap44xx())
                return -ENODEV;
 
+       if (omap_rev() == OMAP4430_REV_ES1_0) {
+               WARN(1, "Power Management not supported on OMAP4430 ES1.0\n");
+               return -ENODEV;
+       }
+
        pr_err("Power Management for TI OMAP4.\n");
 
        ret = pwrdm_for_each(pwrdms_setup, NULL);