@@ -36,6 +36,8 @@ const PowerCC23X0_Config PowerCC23X0_config = {
36
36
37
37
#ifdef CONFIG_PM
38
38
39
+ #ifndef CONFIG_CC23X0_RTC_TIMER
40
+
39
41
#define MAX_SYSTIMER_DELTA 0xFFBFFFFFU
40
42
#define RTC_TO_SYSTIM_TICKS 8U
41
43
#define SYSTIM_CH_STEP 4U
@@ -44,9 +46,13 @@ const PowerCC23X0_Config PowerCC23X0_config = {
44
46
#define SYSTIM_CH_CNT 5U
45
47
#define RTC_NEXT (val , now ) (((val - PowerCC23X0_WAKEDELAYSTANDBY) >> SYSTIM_TO_RTC_SHIFT) + now)
46
48
49
+ #endif
50
+
47
51
static void pm_cc23x0_enter_standby (void );
48
52
static int power_initialize (void );
49
53
extern int_fast16_t PowerCC23X0_notify (uint_fast16_t eventType );
54
+
55
+ #ifndef CONFIG_CC23X0_RTC_TIMER
50
56
static void pm_cc23x0_systim_standby_restore (void );
51
57
52
58
/* Global to stash the SysTimer timeouts while we enter standby */
@@ -66,7 +72,9 @@ const uint8_t systim_offset[SYSTIM_CH_CNT] = {
66
72
2 , /* 250ns -> 1us */
67
73
2 /* 250ns -> 1us */
68
74
};
75
+ #endif
69
76
77
+ #ifndef CONFIG_CC23X0_RTC_TIMER
70
78
static void pm_cc23x0_systim_standby_restore (void )
71
79
{
72
80
HWREG (RTC_BASE + RTC_O_ARMCLR ) = RTC_ARMCLR_CH0_CLR ;
@@ -93,9 +101,11 @@ static void pm_cc23x0_systim_standby_restore(void)
93
101
94
102
HwiP_restore (key );
95
103
}
104
+ #endif
96
105
97
106
static void pm_cc23x0_enter_standby (void )
98
107
{
108
+ #ifndef CONFIG_CC23X0_RTC_TIMER
99
109
uint32_t rtc_now = 0 ;
100
110
uint32_t systim_now = 0 ;
101
111
uint32_t systim_next = MAX_SYSTIMER_DELTA ;
@@ -142,8 +152,9 @@ static void pm_cc23x0_enter_standby(void)
142
152
HwiP_clearInterrupt (INT_CPUIRQ16 );
143
153
rtc_now = HWREG (RTC_BASE + RTC_O_TIME8U );
144
154
HWREG (RTC_BASE + RTC_O_CH0CC8U ) = RTC_NEXT (systim_next , rtc_now );
145
-
155
+ #endif
146
156
Power_sleep (PowerLPF3_STANDBY );
157
+ #ifndef CONFIG_CC23X0_RTC_TIMER
147
158
pm_cc23x0_systim_standby_restore ();
148
159
} else if (idle ) {
149
160
__WFI ();
@@ -153,6 +164,7 @@ static void pm_cc23x0_enter_standby(void)
153
164
}
154
165
155
166
HwiP_restore (key );
167
+ #endif
156
168
}
157
169
158
170
void pm_state_set (enum pm_state state , uint8_t substate_id )
0 commit comments