46 bool interrupts_disabled = ti_lib_int_master_disable();
52 ti_lib_aux_wuc_clock_enable(consumer->clocks);
53 while(ti_lib_aux_wuc_clock_status(consumer->clocks) != AUX_WUC_CLOCK_READY);
55 if(!interrupts_disabled) {
56 ti_lib_int_master_enable();
63 bool interrupts_disabled = ti_lib_int_master_disable();
69 if(!interrupts_disabled) {
70 ti_lib_int_master_enable();
82 ti_lib_aon_wuc_aux_wakeup_event(AONWUC_AUX_WAKEUP);
83 while(!(ti_lib_aon_wuc_power_status_get() & AONWUC_AUX_POWER_ON));
90 uint32_t clocks_in_use = 0;
94 for(consumer =
list_head(consumers_list); consumer != NULL;
95 consumer = consumer->next) {
96 clocks_in_use |= consumer->clocks;
101 ti_lib_aon_wuc_aux_power_down_config(AONWUC_CLOCK_SRC_LF);
107 ti_lib_aon_wuc_aux_power_down_config(AONWUC_NO_CLOCK);
110 ti_lib_aon_wuc_aux_sram_config(
false);
113 ti_lib_aon_wuc_aux_wakeup_event(AONWUC_AUX_ALLOW_SLEEP);
114 ti_lib_aux_wuc_power_ctrl(AUX_WUC_POWER_OFF);
115 while(ti_lib_aon_wuc_power_status_get() & AONWUC_AUX_POWER_ON);
Header file for the management of the CC13xx/CC26xx AUX domain.
void aux_ctrl_unregister_consumer(aux_consumer_module_t *consumer)
Deregister a module that no longer requires access to the AUX power domain.
void aux_ctrl_power_up()
Power-up the AUX power domain.
void aux_ctrl_power_down(bool force)
Power down the AUX power domain.
void aux_ctrl_register_consumer(aux_consumer_module_t *consumer)
Register a module that no longer requires access to the AUX power domain.
#define LIST(name)
Declare a linked list.
void list_add(list_t list, void *item)
Add an item at the end of a list.
void list_remove(list_t list, const void *item)
Remove a specific element from a list.
static void * list_head(const_list_t list)
Get a pointer to the first element of a list.
Linked list manipulation routines.
The data structure to be used for modules that require access to AUX.
Header file with macros which rename TI CC26xxware functions.