|
@@ -586,3 +586,21 @@ void omap3630_ctrl_disable_rta(void)
|
|
|
*
|
|
|
* XXX This function is missing a timeout. What should it be?
|
|
|
*/
|
|
|
+int omap3_ctrl_save_padconf(void)
|
|
|
+{
|
|
|
+ u32 cpo;
|
|
|
+
|
|
|
+ /* Save the padconf registers */
|
|
|
+ cpo = omap_ctrl_readl(OMAP343X_CONTROL_PADCONF_OFF);
|
|
|
+ cpo |= START_PADCONF_SAVE;
|
|
|
+ omap_ctrl_writel(cpo, OMAP343X_CONTROL_PADCONF_OFF);
|
|
|
+
|
|
|
+ /* wait for the save to complete */
|
|
|
+ while (!(omap_ctrl_readl(OMAP343X_CONTROL_GENERAL_PURPOSE_STATUS)
|
|
|
+ & PADCONF_SAVE_DONE))
|
|
|
+ udelay(1);
|
|
|
+
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+#endif /* CONFIG_ARCH_OMAP3 && CONFIG_PM */
|