1 From b2073cc043612bf95b115bd94103cfb2936f05bf Mon Sep 17 00:00:00 2001
2 From: Claudiu Beznea <claudiu.beznea@microchip.com>
3 Date: Thu, 15 Apr 2021 13:50:00 +0300
4 Subject: [PATCH 210/247] ARM: at91: pm: add support for 2.5V LDO regulator
7 Add support to disable/enable 2.5V LDO regulator when entering/exiting
10 Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
11 Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
12 Link: https://lore.kernel.org/r/20210415105010.569620-15-claudiu.beznea@microchip.com
14 arch/arm/mach-at91/pm.h | 1 +
15 arch/arm/mach-at91/pm_suspend.S | 29 +++++++++++++++++++++++++++++
16 2 files changed, 30 insertions(+)
18 --- a/arch/arm/mach-at91/pm.h
19 +++ b/arch/arm/mach-at91/pm.h
21 #include <soc/at91/at91sam9_ddrsdr.h>
22 #include <soc/at91/at91sam9_sdramc.h>
23 #include <soc/at91/sama7-ddr.h>
24 +#include <soc/at91/sama7-sfrbu.h>
26 #define AT91_MEMCTRL_MC 0
27 #define AT91_MEMCTRL_SDRAMC 1
28 --- a/arch/arm/mach-at91/pm_suspend.S
29 +++ b/arch/arm/mach-at91/pm_suspend.S
30 @@ -83,6 +83,29 @@ tmp3 .req r6
35 + * Set state for 2.5V low power regulator
36 + * @ena: 0 - disable regulator
37 + * 1 - enable regulator
39 + * Side effects: overwrites r7, r8, r9, r10
41 + .macro at91_2_5V_reg_set_low_power ena
42 +#ifdef CONFIG_SOC_SAMA7
45 + ldr r9, [r7, #AT91_SFRBU_25LDOCR]
46 + orr r9, r9, #AT91_SFRBU_25LDOCR_LP
49 + bic r9, r9, #AT91_SFRBU_25LDOCR_LP
51 + ldr r10, =AT91_SFRBU_25LDOCR_LDOANAKEY
53 + str r9, [r7, #AT91_SFRBU_25LDOCR]
60 @@ -906,6 +929,9 @@ save_mck:
64 + /* Enable low power mode for 2.5V regulator. */
65 + at91_2_5V_reg_set_low_power 1
68 cmp tmp3, #AT91_PM_ULP1
70 @@ -918,6 +944,9 @@ ulp1_mode:
74 + /* Disable low power mode for 2.5V regulator. */
75 + at91_2_5V_reg_set_low_power 0