@@ -647,6 +647,11 @@ static void at91_pm_suspend(suspend_state_t state)
at91_suspend_sram_fn = fncpy(at91_suspend_sram_fn,
&at91_pm_suspend_in_sram,
at91_pm_suspend_in_sram_sz);
+
+ if (IS_ENABLED(CONFIG_SOC_SAMA7D65))
+ /* SHDWC.SR */
+ readl(soc_pm.data.shdwc + 0x08);
+
} else {
at91_suspend_finish(0);
}
@@ -707,6 +712,7 @@ static int at91_pm_enter(suspend_state_t state)
static void at91_pm_end(void)
{
at91_pm_config_ws(soc_pm.data.mode, false);
+
}
@@ -1065,7 +1071,8 @@ static int __init at91_pm_backup_init(void)
int ret = -ENODEV, located = 0;
if (!IS_ENABLED(CONFIG_SOC_SAMA5D2) &&
- !IS_ENABLED(CONFIG_SOC_SAMA7G5))
+ !IS_ENABLED(CONFIG_SOC_SAMA7G5) &&
+ !IS_ENABLED(CONFIG_SOC_SAMA7D65))
return -EPERM;
if (!at91_is_pm_mode_active(AT91_PM_BACKUP))