|
@@ -77,10 +77,20 @@ static int omap4_pm_suspend(void)
|
|
|
omap_set_pwrdm_state(pwrst->pwrdm, pwrst->saved_state);
|
|
|
pwrdm_set_logic_retst(pwrst->pwrdm, pwrst->saved_logic_state);
|
|
|
}
|
|
|
- if (ret)
|
|
|
+ if (ret) {
|
|
|
pr_crit("Could not enter target state in pm_suspend\n");
|
|
|
- else
|
|
|
+ /*
|
|
|
+ * OMAP4 chip PM currently works only with certain (newer)
|
|
|
+ * versions of bootloaders. This is due to missing code in the
|
|
|
+ * kernel to properly reset and initialize some devices.
|
|
|
+ * Warn the user about the bootloader version being one of the
|
|
|
+ * possible causes.
|
|
|
+ * http://www.spinics.net/lists/arm-kernel/msg218641.html
|
|
|
+ */
|
|
|
+ pr_warn("A possible cause could be an old bootloader - try u-boot >= v2012.07\n");
|
|
|
+ } else {
|
|
|
pr_info("Successfully put all powerdomains to target state\n");
|
|
|
+ }
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -146,6 +156,13 @@ int __init omap4_pm_init(void)
|
|
|
}
|
|
|
|
|
|
pr_err("Power Management for TI OMAP4.\n");
|
|
|
+ /*
|
|
|
+ * OMAP4 chip PM currently works only with certain (newer)
|
|
|
+ * versions of bootloaders. This is due to missing code in the
|
|
|
+ * kernel to properly reset and initialize some devices.
|
|
|
+ * http://www.spinics.net/lists/arm-kernel/msg218641.html
|
|
|
+ */
|
|
|
+ pr_warn("OMAP4 PM: u-boot >= v2012.07 is required for full PM support\n");
|
|
|
|
|
|
ret = pwrdm_for_each(pwrdms_setup, NULL);
|
|
|
if (ret) {
|