summaryrefslogtreecommitdiff
path: root/target/linux/at91/patches-5.10/209-ARM-at91-pm-add-support-for-MCK1.4-save-restore-for-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/at91/patches-5.10/209-ARM-at91-pm-add-support-for-MCK1.4-save-restore-for-.patch')
-rw-r--r--target/linux/at91/patches-5.10/209-ARM-at91-pm-add-support-for-MCK1.4-save-restore-for-.patch165
1 files changed, 0 insertions, 165 deletions
diff --git a/target/linux/at91/patches-5.10/209-ARM-at91-pm-add-support-for-MCK1.4-save-restore-for-.patch b/target/linux/at91/patches-5.10/209-ARM-at91-pm-add-support-for-MCK1.4-save-restore-for-.patch
deleted file mode 100644
index 7c8614125c..0000000000
--- a/target/linux/at91/patches-5.10/209-ARM-at91-pm-add-support-for-MCK1.4-save-restore-for-.patch
+++ /dev/null
@@ -1,165 +0,0 @@
-From 9ee7fd7aa956671727752dac6bd131cf511c1137 Mon Sep 17 00:00:00 2001
-From: Claudiu Beznea <claudiu.beznea@microchip.com>
-Date: Thu, 15 Apr 2021 13:49:59 +0300
-Subject: [PATCH 209/247] ARM: at91: pm: add support for MCK1..4 save/restore
- for ulp modes
-
-Add support for MCK1..4 save restore for ULP modes.
-
-Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
-Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
-Link: https://lore.kernel.org/r/20210415105010.569620-14-claudiu.beznea@microchip.com
----
- arch/arm/mach-at91/pm_suspend.S | 126 ++++++++++++++++++++++++++++++++
- 1 file changed, 126 insertions(+)
-
---- a/arch/arm/mach-at91/pm_suspend.S
-+++ b/arch/arm/mach-at91/pm_suspend.S
-@@ -765,7 +765,122 @@ sr_dis_exit:
- 2:
- .endm
-
-+/**
-+ * at91_mckx_ps_enable: save MCK1..4 settings and switch it to main clock
-+ *
-+ * Side effects: overwrites tmp1, tmp2
-+ */
-+.macro at91_mckx_ps_enable
-+#ifdef CONFIG_SOC_SAMA7
-+ ldr pmc, .pmc_base
-+
-+ /* There are 4 MCKs we need to handle: MCK1..4 */
-+ mov tmp1, #1
-+e_loop: cmp tmp1, #5
-+ beq e_done
-+
-+ /* Write MCK ID to retrieve the settings. */
-+ str tmp1, [pmc, #AT91_PMC_MCR_V2]
-+ ldr tmp2, [pmc, #AT91_PMC_MCR_V2]
-+
-+e_save_mck1:
-+ cmp tmp1, #1
-+ bne e_save_mck2
-+ str tmp2, .saved_mck1
-+ b e_ps
-+
-+e_save_mck2:
-+ cmp tmp1, #2
-+ bne e_save_mck3
-+ str tmp2, .saved_mck2
-+ b e_ps
-+
-+e_save_mck3:
-+ cmp tmp1, #3
-+ bne e_save_mck4
-+ str tmp2, .saved_mck3
-+ b e_ps
-+
-+e_save_mck4:
-+ str tmp2, .saved_mck4
-+
-+e_ps:
-+ /* Use CSS=MAINCK and DIV=1. */
-+ bic tmp2, tmp2, #AT91_PMC_MCR_V2_CSS
-+ bic tmp2, tmp2, #AT91_PMC_MCR_V2_DIV
-+ orr tmp2, tmp2, #AT91_PMC_MCR_V2_CSS_MAINCK
-+ orr tmp2, tmp2, #AT91_PMC_MCR_V2_DIV1
-+ str tmp2, [pmc, #AT91_PMC_MCR_V2]
-+
-+ wait_mckrdy tmp1
-+
-+ add tmp1, tmp1, #1
-+ b e_loop
-+
-+e_done:
-+#endif
-+.endm
-+
-+/**
-+ * at91_mckx_ps_restore: restore MCK1..4 settings
-+ *
-+ * Side effects: overwrites tmp1, tmp2
-+ */
-+.macro at91_mckx_ps_restore
-+#ifdef CONFIG_SOC_SAMA7
-+ ldr pmc, .pmc_base
-+
-+ /* There are 4 MCKs we need to handle: MCK1..4 */
-+ mov tmp1, #1
-+r_loop: cmp tmp1, #5
-+ beq r_done
-+
-+r_save_mck1:
-+ cmp tmp1, #1
-+ bne r_save_mck2
-+ ldr tmp2, .saved_mck1
-+ b r_ps
-+
-+r_save_mck2:
-+ cmp tmp1, #2
-+ bne r_save_mck3
-+ ldr tmp2, .saved_mck2
-+ b r_ps
-+
-+r_save_mck3:
-+ cmp tmp1, #3
-+ bne r_save_mck4
-+ ldr tmp2, .saved_mck3
-+ b r_ps
-+
-+r_save_mck4:
-+ ldr tmp2, .saved_mck4
-+
-+r_ps:
-+ /* Write MCK ID to retrieve the settings. */
-+ str tmp1, [pmc, #AT91_PMC_MCR_V2]
-+ ldr tmp3, [pmc, #AT91_PMC_MCR_V2]
-+
-+ /* We need to restore CSS and DIV. */
-+ bic tmp3, tmp3, #AT91_PMC_MCR_V2_CSS
-+ bic tmp3, tmp3, #AT91_PMC_MCR_V2_DIV
-+ orr tmp3, tmp3, tmp2
-+ bic tmp3, tmp3, #AT91_PMC_MCR_V2_ID_MSK
-+ orr tmp3, tmp3, tmp1
-+ orr tmp3, tmp3, #AT91_PMC_MCR_V2_CMD
-+ str tmp2, [pmc, #AT91_PMC_MCR_V2]
-+
-+ wait_mckrdy tmp1
-+
-+ add tmp1, tmp1, #1
-+ b r_loop
-+r_done:
-+#endif
-+.endm
-+
- .macro at91_ulp_mode
-+ at91_mckx_ps_enable
-+
- ldr pmc, .pmc_base
- ldr tmp2, .mckr_offset
- ldr tmp3, .pm_mode
-@@ -817,6 +932,7 @@ ulp_exit:
- mov tmp3, #0
- wait_mckrdy tmp3
-
-+ at91_mckx_ps_restore
- .endm
-
- .macro at91_backup_mode
-@@ -946,6 +1062,16 @@ ENDPROC(at91_pm_suspend_in_sram)
- .word 0
- .saved_osc_status:
- .word 0
-+#ifdef CONFIG_SOC_SAMA7
-+.saved_mck1:
-+ .word 0
-+.saved_mck2:
-+ .word 0
-+.saved_mck3:
-+ .word 0
-+.saved_mck4:
-+ .word 0
-+#endif
-
- ENTRY(at91_pm_suspend_in_sram_sz)
- .word .-at91_pm_suspend_in_sram