CC13xx Driver Library
[aon_event.h] AON Event

Functions

void AONEventMcuWakeUpSet (uint32_t ui32MCUWUEvent, uint32_t ui32EventSrc)
 Select event source for the specified MCU wake-up programmable event. More...
 
uint32_t AONEventMcuWakeUpGet (uint32_t ui32MCUWUEvent)
 Get event source for the specified MCU wake-up programmable event. More...
 
void AONEventAuxWakeUpSet (uint32_t ui32AUXWUEvent, uint32_t ui32EventSrc)
 Select event source for the specified AUX wake-up programmable event. More...
 
uint32_t AONEventAuxWakeUpGet (uint32_t ui32AUXWUEvent)
 Get event source for the specified AUX wake-up programmable event. More...
 
void AONEventMcuSet (uint32_t ui32MCUEvent, uint32_t ui32EventSrc)
 Select event source for the specified programmable event forwarded to the MCU event fabric. More...
 
uint32_t AONEventMcuGet (uint32_t ui32MCUEvent)
 Get source for the specified programmable event forwarded to the MCU event fabric. More...
 
static void AONEventRtcSet (uint32_t ui32EventSrc)
 Select event source forwarded to AON Real Time Clock (RTC). More...
 
static uint32_t AONEventRtcGet (void)
 Get event source forwarded to AON Real Time Clock (RTC). More...
 

Detailed Description

Introduction

The event fabric consists of two event modules. One in the MCU power domain (MCU event fabric) and the other in the AON power domain (AON event fabric). The MCU event fabric is one of the subscribers to the AON event fabric. For more information on MCU event fabric, see MCU event API.

The AON event fabric is a configurable combinatorial router between AON event sources and event subscribers in both AON and MCU domains. The API to control the AON event fabric configuration can be grouped based on the event subscriber to configure:

Function Documentation

uint32_t AONEventAuxWakeUpGet ( uint32_t  ui32AUXWUEvent)

Get event source for the specified AUX wake-up programmable event.

The AON event fabric has a total of three programmable events that can wake-up the AUX domain.

Parameters
ui32AUXWUEventis one of three programmable AUX wake-up event sources.
Returns
Returns the event source for the event AON fabric.
See also
AONEventAuxWakeUpSet()
193 {
194  uint32_t ui32EventSrc;
195 
196  // Check the arguments.
197  ASSERT((ui32AUXWUEvent == AON_EVENT_AUX_WU0) ||
198  (ui32AUXWUEvent == AON_EVENT_AUX_WU1) ||
199  (ui32AUXWUEvent == AON_EVENT_AUX_WU2));
200 
201  ui32EventSrc = HWREG(AON_EVENT_BASE + AON_EVENT_O_AUXWUSEL);
202 
203  if(ui32AUXWUEvent == AON_EVENT_AUX_WU0)
204  {
205  return((ui32EventSrc & AON_EVENT_AUXWUSEL_WU0_EV_M) >>
207  }
208  else if(ui32AUXWUEvent == AON_EVENT_AUX_WU1)
209  {
210  return((ui32EventSrc & AON_EVENT_AUXWUSEL_WU1_EV_M) >>
212  }
213  else if(ui32AUXWUEvent == AON_EVENT_AUX_WU2)
214  {
215  return((ui32EventSrc & AON_EVENT_AUXWUSEL_WU2_EV_M) >>
217  }
218 
219  // Should never get to this statement, but suppress warning.
220  ASSERT(0);
221  return(0);
222 }
#define AON_EVENT_AUX_WU2
Definition: aon_event.h:150
#define AON_EVENT_AUX_WU1
Definition: aon_event.h:149
#define AON_EVENT_AUX_WU0
Definition: aon_event.h:148
#define ASSERT(expr)
Definition: debug.h:73
void AONEventAuxWakeUpSet ( uint32_t  ui32AUXWUEvent,
uint32_t  ui32EventSrc 
)

Select event source for the specified AUX wake-up programmable event.

The AON event fabric has a total of three programmable events that can wake-up the AUX domain.

Note
The three programmable event sources are effectively OR'ed together to form a single wake-up event.
Parameters
ui32AUXWUEventis one of three programmable AUX wake-up event sources.
ui32EventSrcis an event sources for the event AON fabric.
Returns
None
See also
AONEventAuxWakeUpGet()
156 {
157  uint32_t ui32Ctrl;
158 
159  // Check the arguments.
160  ASSERT((ui32AUXWUEvent == AON_EVENT_AUX_WU0) ||
161  (ui32AUXWUEvent == AON_EVENT_AUX_WU1) ||
162  (ui32AUXWUEvent == AON_EVENT_AUX_WU2));
163  ASSERT(ui32EventSrc <= AON_EVENT_NONE);
164 
165  ui32Ctrl = HWREG(AON_EVENT_BASE + AON_EVENT_O_AUXWUSEL);
166 
167  if(ui32AUXWUEvent == AON_EVENT_AUX_WU0)
168  {
169  ui32Ctrl &= ~(AON_EVENT_AUXWUSEL_WU0_EV_M);
170  ui32Ctrl |= (ui32EventSrc & 0x3f) << AON_EVENT_AUXWUSEL_WU0_EV_S;
171  }
172  else if(ui32AUXWUEvent == AON_EVENT_AUX_WU1)
173  {
174  ui32Ctrl &= ~(AON_EVENT_AUXWUSEL_WU1_EV_M);
175  ui32Ctrl |= (ui32EventSrc & 0x3f) << AON_EVENT_AUXWUSEL_WU1_EV_S;
176  }
177  else if(ui32AUXWUEvent == AON_EVENT_AUX_WU2)
178  {
179  ui32Ctrl &= ~(AON_EVENT_AUXWUSEL_WU2_EV_M);
180  ui32Ctrl |= (ui32EventSrc & 0x3f) << AON_EVENT_AUXWUSEL_WU2_EV_S;
181  }
182 
183  HWREG(AON_EVENT_BASE + AON_EVENT_O_AUXWUSEL) = ui32Ctrl;
184 }
#define AON_EVENT_AUX_WU2
Definition: aon_event.h:150
#define AON_EVENT_AUX_WU1
Definition: aon_event.h:149
#define AON_EVENT_NONE
Definition: aon_event.h:127
#define AON_EVENT_AUX_WU0
Definition: aon_event.h:148
#define ASSERT(expr)
Definition: debug.h:73
uint32_t AONEventMcuGet ( uint32_t  ui32MCUEvent)

Get source for the specified programmable event forwarded to the MCU event fabric.

The AON event fabric has a total of three programmable events that can be forwarded to the MCU event fabric.

Parameters
ui32MCUEventis one of three programmable events forwarded to the MCU event fabric.
Returns
Returns the event source for the event AON fabric.
See also
AONEventMcuSet()
270 {
271  uint32_t ui32EventSrc;
272 
273  // Check the arguments.
274  ASSERT((ui32MCUEvent == AON_EVENT_MCU_EVENT0) ||
275  (ui32MCUEvent == AON_EVENT_MCU_EVENT1) ||
276  (ui32MCUEvent == AON_EVENT_MCU_EVENT2));
277 
278  ui32EventSrc = HWREG(AON_EVENT_BASE + AON_EVENT_O_EVTOMCUSEL);
279 
280  if(ui32MCUEvent == AON_EVENT_MCU_EVENT0)
281  {
282  return((ui32EventSrc & AON_EVENT_EVTOMCUSEL_AON_PROG0_EV_M) >>
284  }
285  else if(ui32MCUEvent == AON_EVENT_MCU_EVENT1)
286  {
287  return((ui32EventSrc & AON_EVENT_EVTOMCUSEL_AON_PROG1_EV_M) >>
289  }
290  else if(ui32MCUEvent == AON_EVENT_MCU_EVENT2)
291  {
292  return((ui32EventSrc & AON_EVENT_EVTOMCUSEL_AON_PROG2_EV_M) >>
294  }
295 
296  // Should never get to this statement, but suppress warning.
297  ASSERT(0);
298  return(0);
299 }
#define AON_EVENT_MCU_EVENT2
Definition: aon_event.h:159
#define AON_EVENT_MCU_EVENT0
Definition: aon_event.h:157
#define ASSERT(expr)
Definition: debug.h:73
#define AON_EVENT_MCU_EVENT1
Definition: aon_event.h:158
void AONEventMcuSet ( uint32_t  ui32MCUEvent,
uint32_t  ui32EventSrc 
)

Select event source for the specified programmable event forwarded to the MCU event fabric.

The AON event fabric has a total of three programmable events that can be forwarded to the MCU event fabric.

Note
The three programmable event sources are forwarded to the MCU Event Fabric as:
  • AON_PROG0
  • AON_PROG1
  • AON_PROG2
Parameters
ui32MCUEventis one of three programmable events forwarded to the MCU event fabric.
ui32EventSrcis an event source for the event AON fabric.
Returns
None
See also
AONEventMcuGet()
232 {
233  uint32_t ui32Ctrl;
234 
235  // Check the arguments.
236  ASSERT((ui32MCUEvent == AON_EVENT_MCU_EVENT0) ||
237  (ui32MCUEvent == AON_EVENT_MCU_EVENT1) ||
238  (ui32MCUEvent == AON_EVENT_MCU_EVENT2));
239  ASSERT(ui32EventSrc <= AON_EVENT_NONE);
240 
241  ui32Ctrl = HWREG(AON_EVENT_BASE + AON_EVENT_O_EVTOMCUSEL);
242 
243  if(ui32MCUEvent == AON_EVENT_MCU_EVENT0)
244  {
246  ui32Ctrl |= (ui32EventSrc & 0x3f) << AON_EVENT_EVTOMCUSEL_AON_PROG0_EV_S;
247  }
248  else if(ui32MCUEvent == AON_EVENT_MCU_EVENT1)
249  {
251  ui32Ctrl |= (ui32EventSrc & 0x3f) << AON_EVENT_EVTOMCUSEL_AON_PROG1_EV_S;
252  }
253  else if(ui32MCUEvent == AON_EVENT_MCU_EVENT2)
254  {
256  ui32Ctrl |= (ui32EventSrc & 0x3f) << AON_EVENT_EVTOMCUSEL_AON_PROG2_EV_S;
257  }
258 
259  HWREG(AON_EVENT_BASE + AON_EVENT_O_EVTOMCUSEL) = ui32Ctrl;
260 }
#define AON_EVENT_NONE
Definition: aon_event.h:127
#define AON_EVENT_MCU_EVENT2
Definition: aon_event.h:159
#define AON_EVENT_MCU_EVENT0
Definition: aon_event.h:157
#define ASSERT(expr)
Definition: debug.h:73
#define AON_EVENT_MCU_EVENT1
Definition: aon_event.h:158
uint32_t AONEventMcuWakeUpGet ( uint32_t  ui32MCUWUEvent)

Get event source for the specified MCU wake-up programmable event.

Parameters
ui32MCUWUEventis one of the programmable MCU wake-up event sources.
Returns
Returns the event source for the event AON fabric.
See also
AONEventMcuWakeUpSet()
112 {
113  uint32_t ui32EventSrc;
114 
115  // Check the arguments.
116  ASSERT((ui32MCUWUEvent == AON_EVENT_MCU_WU0) ||
117  (ui32MCUWUEvent == AON_EVENT_MCU_WU1) ||
118  (ui32MCUWUEvent == AON_EVENT_MCU_WU2) ||
119  (ui32MCUWUEvent == AON_EVENT_MCU_WU3));
120 
121  ui32EventSrc = HWREG(AON_EVENT_BASE + AON_EVENT_O_MCUWUSEL);
122 
123  if(ui32MCUWUEvent == AON_EVENT_MCU_WU0)
124  {
125  return((ui32EventSrc & AON_EVENT_MCUWUSEL_WU0_EV_M) >>
127  }
128  else if(ui32MCUWUEvent == AON_EVENT_MCU_WU1)
129  {
130  return((ui32EventSrc & AON_EVENT_MCUWUSEL_WU1_EV_M) >>
132  }
133  else if(ui32MCUWUEvent == AON_EVENT_MCU_WU2)
134  {
135  return((ui32EventSrc & AON_EVENT_MCUWUSEL_WU2_EV_M) >>
137  }
138  else if(ui32MCUWUEvent == AON_EVENT_MCU_WU3)
139  {
140  return((ui32EventSrc & AON_EVENT_MCUWUSEL_WU3_EV_M) >>
142  }
143 
144  // Should never get to this statement, but suppress warning.
145  ASSERT(0);
146  return(0);
147 }
#define AON_EVENT_MCU_WU3
Definition: aon_event.h:141
#define AON_EVENT_MCU_WU0
Definition: aon_event.h:138
#define ASSERT(expr)
Definition: debug.h:73
#define AON_EVENT_MCU_WU1
Definition: aon_event.h:139
#define AON_EVENT_MCU_WU2
Definition: aon_event.h:140
void AONEventMcuWakeUpSet ( uint32_t  ui32MCUWUEvent,
uint32_t  ui32EventSrc 
)

Select event source for the specified MCU wake-up programmable event.

The AON event fabric has several programmable events that can wake up the MCU.

Note
The programmable event sources are effectively OR'ed together to form a single wake-up event.
Parameters
ui32MCUWUEventis one of the programmable MCU wake-up event sources.
ui32EventSrcis an event source for the event AON fabric.
Returns
None
See also
AONEventMcuWakeUpGet()
69 {
70  uint32_t ui32Ctrl;
71 
72  // Check the arguments.
73  ASSERT((ui32MCUWUEvent == AON_EVENT_MCU_WU0) ||
74  (ui32MCUWUEvent == AON_EVENT_MCU_WU1) ||
75  (ui32MCUWUEvent == AON_EVENT_MCU_WU2) ||
76  (ui32MCUWUEvent == AON_EVENT_MCU_WU3));
77  ASSERT(ui32EventSrc <= AON_EVENT_NONE);
78 
79  ui32Ctrl = HWREG(AON_EVENT_BASE + AON_EVENT_O_MCUWUSEL);
80 
81  if(ui32MCUWUEvent == AON_EVENT_MCU_WU0)
82  {
83  ui32Ctrl &= ~(AON_EVENT_MCUWUSEL_WU0_EV_M);
84  ui32Ctrl |= (ui32EventSrc & 0x3f) << AON_EVENT_MCUWUSEL_WU0_EV_S;
85  }
86  else if(ui32MCUWUEvent == AON_EVENT_MCU_WU1)
87  {
88  ui32Ctrl &= ~(AON_EVENT_MCUWUSEL_WU1_EV_M);
89  ui32Ctrl |= (ui32EventSrc & 0x3f) << AON_EVENT_MCUWUSEL_WU1_EV_S;
90  }
91  else if(ui32MCUWUEvent == AON_EVENT_MCU_WU2)
92  {
93  ui32Ctrl &= ~(AON_EVENT_MCUWUSEL_WU2_EV_M);
94  ui32Ctrl |= (ui32EventSrc & 0x3f) << AON_EVENT_MCUWUSEL_WU2_EV_S;
95  }
96  else if(ui32MCUWUEvent == AON_EVENT_MCU_WU3)
97  {
98  ui32Ctrl &= ~(AON_EVENT_MCUWUSEL_WU3_EV_M);
99  ui32Ctrl |= (ui32EventSrc & 0x3f) << AON_EVENT_MCUWUSEL_WU3_EV_S;
100  }
101 
102  HWREG(AON_EVENT_BASE + AON_EVENT_O_MCUWUSEL) = ui32Ctrl;
103 }
#define AON_EVENT_MCU_WU3
Definition: aon_event.h:141
#define AON_EVENT_MCU_WU0
Definition: aon_event.h:138
#define AON_EVENT_NONE
Definition: aon_event.h:127
#define ASSERT(expr)
Definition: debug.h:73
#define AON_EVENT_MCU_WU1
Definition: aon_event.h:139
#define AON_EVENT_MCU_WU2
Definition: aon_event.h:140
static uint32_t AONEventRtcGet ( void  )
inlinestatic

Get event source forwarded to AON Real Time Clock (RTC).

A programmable event can be forwarded to the AON real time clock for triggering a capture event on RTC channel 1.

Returns
Returns the event source to the event AON fabric.
See also
AONEventRtcSet()
559 {
560  uint32_t ui32EventSrc;
561 
562  // Return the active event.
563  ui32EventSrc = HWREG(AON_EVENT_BASE + AON_EVENT_O_RTCSEL);
564 
565  return ((ui32EventSrc & AON_EVENT_RTCSEL_RTC_CH1_CAPT_EV_M) >>
567 }
static void AONEventRtcSet ( uint32_t  ui32EventSrc)
inlinestatic

Select event source forwarded to AON Real Time Clock (RTC).

A programmable event can be forwarded to the AON real time clock for triggering a capture event on RTC channel 1.

Parameters
ui32EventSrcis an event source for the event AON fabric.
Returns
None
See also
AONEventRtcGet()
505 {
506  uint32_t ui32Ctrl;
507 
508  // Check the arguments.
509  ASSERT(ui32EventSrc <= AON_EVENT_NONE);
510 
511  ui32Ctrl = HWREG(AON_EVENT_BASE + AON_EVENT_O_RTCSEL);
512  ui32Ctrl &= ~(AON_EVENT_RTCSEL_RTC_CH1_CAPT_EV_M);
513  ui32Ctrl |= (ui32EventSrc & 0x3f) << AON_EVENT_RTCSEL_RTC_CH1_CAPT_EV_S;
514 
515  HWREG(AON_EVENT_BASE + AON_EVENT_O_RTCSEL) = ui32Ctrl;
516 }
#define AON_EVENT_NONE
Definition: aon_event.h:127
#define ASSERT(expr)
Definition: debug.h:73

Macro Definition Documentation

#define AON_EVENT_AUX_ADC_DONE   49
#define AON_EVENT_AUX_COMPA   47
#define AON_EVENT_AUX_COMPB   48
#define AON_EVENT_AUX_COMPB_ASYNC   55
#define AON_EVENT_AUX_COMPB_ASYNC_N   56
#define AON_EVENT_AUX_SWEV0   44
#define AON_EVENT_AUX_SWEV1   45
#define AON_EVENT_AUX_SWEV2   46
#define AON_EVENT_AUX_TDC_DONE   50
#define AON_EVENT_AUX_TIMER0_EV   51
#define AON_EVENT_AUX_TIMER1_EV   52
#define AON_EVENT_AUX_WU0   0
#define AON_EVENT_AUX_WU1   1
#define AON_EVENT_AUX_WU2   2
#define AON_EVENT_BATMON_TEMP   53
#define AON_EVENT_BATMON_VOLT   54
#define AON_EVENT_IO   32
#define AON_EVENT_JTAG   43
#define AON_EVENT_MCU_EVENT0   0

Referenced by AONEventMcuGet(), and AONEventMcuSet().

#define AON_EVENT_MCU_EVENT1   1

Referenced by AONEventMcuGet(), and AONEventMcuSet().

#define AON_EVENT_MCU_EVENT2   2

Referenced by AONEventMcuGet(), and AONEventMcuSet().

#define AON_EVENT_MCU_WU0   0
#define AON_EVENT_MCU_WU1   1
#define AON_EVENT_MCU_WU2   2
#define AON_EVENT_MCU_WU3   3
#define AON_EVENT_NONE   63
#define AON_EVENT_RTC0   ( AON_EVENT_RTC_CH0 )
#define AON_EVENT_RTC_CH0   35
#define AON_EVENT_RTC_CH0_DLY   38
#define AON_EVENT_RTC_CH1   36
#define AON_EVENT_RTC_CH1_DLY   39
#define AON_EVENT_RTC_CH2   37
#define AON_EVENT_RTC_CH2_DLY   40
#define AON_EVENT_RTC_COMB_DLY   41
#define AON_EVENT_RTC_UPD   42