CC26xx Driver Library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
aon_wuc.h
Go to the documentation of this file.
1 /******************************************************************************
2 * Filename: aon_wuc.h
3 * Revised: 2015-01-14 12:12:44 +0100 (on, 14 jan 2015)
4 * Revision: 42373
5 *
6 * Description: Defines and prototypes for the AON Wake-Up Controller
7 *
8 * Copyright (c) 2015, Texas Instruments Incorporated
9 * All rights reserved.
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions are met:
13 *
14 * 1) Redistributions of source code must retain the above copyright notice,
15 * this list of conditions and the following disclaimer.
16 *
17 * 2) Redistributions in binary form must reproduce the above copyright notice,
18 * this list of conditions and the following disclaimer in the documentation
19 * and/or other materials provided with the distribution.
20 *
21 * 3) Neither the name of the ORGANIZATION nor the names of its contributors may
22 * be used to endorse or promote products derived from this software without
23 * specific prior written permission.
24 *
25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
29 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35 * POSSIBILITY OF SUCH DAMAGE.
36 *
37 ******************************************************************************/
38 
39 //*****************************************************************************
40 //
43 //
44 //*****************************************************************************
45 
46 #ifndef __AON_WUC_H__
47 #define __AON_WUC_H__
48 
49 //*****************************************************************************
50 //
51 // If building with a C++ compiler, make all of the definitions in this header
52 // have a C binding.
53 //
54 //*****************************************************************************
55 #ifdef __cplusplus
56 extern "C"
57 {
58 #endif
59 
60 #include <stdbool.h>
61 #include <stdint.h>
62 #include <inc/hw_types.h>
63 #include <inc/hw_memmap.h>
64 #include <inc/hw_ints.h>
65 #include <inc/hw_aon_wuc.h>
66 #include <inc/hw_aon_rtc.h>
67 #include <driverlib/interrupt.h>
68 #include <driverlib/debug.h>
69 
70 //*****************************************************************************
71 //
72 // Support for DriverLib in ROM:
73 // This section renames all functions that are not "static inline", so that
74 // calling these functions will default to implementation in flash. At the end
75 // of this file a second renaming will change the defaults to implementation in
76 // ROM for available functions.
77 //
78 // To force use of the implementation in flash, e.g. for debugging:
79 // - Globally: Define DRIVERLIB_NOROM at project level
80 // - Per function: Use prefix "NOROM_" when calling the function
81 //
82 // Do not define DRIVERLIB_GENERATE_ROM!
83 //
84 //*****************************************************************************
85 #ifndef DRIVERLIB_GENERATE_ROM
86  #define AONWUCAuxClockConfigSet NOROM_AONWUCAuxClockConfigSet
87  #define AONWUCAuxSRamConfig NOROM_AONWUCAuxSRamConfig
88  #define AONWUCAuxWakeupEvent NOROM_AONWUCAuxWakeupEvent
89  #define AONWUCAuxReset NOROM_AONWUCAuxReset
90  #define AONWUCRechargeCtrlConfigSet NOROM_AONWUCRechargeCtrlConfigSet
91  #define AONWUCOscConfig NOROM_AONWUCOscConfig
92 #endif
93 
94 //*****************************************************************************
95 //
96 // Defines the possible clock source for the MCU and AUX domain.
97 //
98 //*****************************************************************************
99 #define AONWUC_CLOCK_SRC_HF 0x00000003 // System clock high frequency -
100  // 48 MHz.
101 #define AONWUC_CLOCK_SRC_MF 0x00000002 // System clock medium frequency -
102  // 512 kHz.
103 #define AONWUC_CLOCK_SRC_LF 0x00000001 // System clock low frequency -
104  // 32 kHz.
105 #define AONWUC_NO_CLOCK 0x00000000 // System clock low frequency -
106  // 32 kHz.
107 
108 //*****************************************************************************
109 //
110 // Defines the possible clock division factors for the AUX domain.
111 //
112 //*****************************************************************************
113 #define AUX_CLOCK_DIV_2 ( AON_WUC_AUXCLK_SCLK_HF_DIV_DIV2 )
114 #define AUX_CLOCK_DIV_4 ( AON_WUC_AUXCLK_SCLK_HF_DIV_DIV4 )
115 #define AUX_CLOCK_DIV_8 ( AON_WUC_AUXCLK_SCLK_HF_DIV_DIV8 )
116 #define AUX_CLOCK_DIV_16 ( AON_WUC_AUXCLK_SCLK_HF_DIV_DIV16 )
117 #define AUX_CLOCK_DIV_32 ( AON_WUC_AUXCLK_SCLK_HF_DIV_DIV32 )
118 #define AUX_CLOCK_DIV_64 ( AON_WUC_AUXCLK_SCLK_HF_DIV_DIV64 )
119 #define AUX_CLOCK_DIV_128 ( AON_WUC_AUXCLK_SCLK_HF_DIV_DIV128 )
120 #define AUX_CLOCK_DIV_256 ( AON_WUC_AUXCLK_SCLK_HF_DIV_DIV256 )
121 #define AUX_CLOCK_DIV_UNUSED ( AON_WUC_AUXCLK_SCLK_HF_DIV_M + ( 1 << AON_WUC_AUXCLK_SCLK_HF_DIV_S ))
122 #define AUX_CLOCK_DIV_M ( AON_WUC_AUXCLK_SCLK_HF_DIV_M )
123 
124 //*****************************************************************************
125 //
126 // Defines used for configuring the power-off and wake up procedure.
127 //
128 //*****************************************************************************
129 #define MCU_VIRT_PWOFF_DISABLE 0x00000000
130 #define MCU_VIRT_PWOFF_ENABLE 0x00020000
131 #define MCU_IMM_WAKE_UP 0x00000000
132 #define MCU_FIXED_WAKE_UP 0x00010000
133 #define AUX_VIRT_PWOFF_DISABLE 0x00000000
134 #define AUX_VIRT_PWOFF_ENABLE 0x00020000
135 #define AUX_IMM_WAKE_UP 0x00000000
136 #define AUX_FIXED_WAKE_UP 0x00010000
137 
138 //*****************************************************************************
139 //
140 // Defines that can be be used to enable/disable the entire SRAM and the
141 // retention on the SRAM in both the MCU and the AUX domain.
142 //
143 //*****************************************************************************
144 #define MCU_RAM0_RETENTION 0x00000001
145 #define MCU_RAM1_RETENTION 0x00000002
146 #define MCU_RAM2_RETENTION 0x00000004
147 #define MCU_RAM3_RETENTION 0x00000008
148 #define MCU_RAM_BLOCK_RETENTION 0x0000000F
149 #define MCU_AUX_RET_ENABLE 0x00000001
150 
151 //*****************************************************************************
152 //
153 // Defines for different wake up modes for AUX domain which can be set using
154 // AONWUCAuxWakeUpEvent() .
155 //
156 //*****************************************************************************
157 #define AONWUC_AUX_WAKEUP_SWEVT 0x00000002
158 #define AONWUC_AUX_WAKEUP 0x00000001
159 #define AONWUC_AUX_ALLOW_SLEEP 0x00000000
160 
161 //*****************************************************************************
162 //
163 // Defines for all the different power modes available through
164 // AONWUCPowerStatusGet() .
165 //
166 //*****************************************************************************
167 #define AONWUC_OSC_GBIAS_REQ 0x00400000 // OSC is requesting GBias
168 #define AONWUC_AUX_GBIAS_REQ 0x00200000 // AUX is requesting GBias
169 #define AONWUC_MCU_GBIAS_REQ 0x00100000 // MCU is requesting GBias
170 #define AONWUC_OSC_BGAP_REQ 0x00040000 // OSC is requesting BGap
171 #define AONWUC_AUX_BGAP_REQ 0x00020000 // AUX is requesting BGap
172 #define AONWUC_MCU_BGAP_REQ 0x00010000 // MCU is requesting BGap
173 #define AONWUC_GBIAS_ON 0x00002000 // Global Bias is on
174 #define AONWUC_BGAP_ON 0x00001000 // Band Gap is on
175 #define AONWUC_AUX_POWER_DOWN 0x00000200 // AUX is in powerdown mode
176 #define AONWUC_MCU_POWER_DOWN 0x00000100 // MCU is in powerdown mode
177 #define AONWUC_JTAG_POWER_ON 0x00000040 // JTAG is powered on
178 #define AONWUC_AUX_POWER_ON 0x00000020 // AUX is powered on
179 #define AONWUC_MCU_POWER_ON 0x00000010 // MCU is powered on
180 #define AONWUC_SPLY_POWER_DOWN 0x00000001 // Power supply is in power down
181 
182 //*****************************************************************************
183 //
184 // Defines for the different configuration options for the JTAG domain that can
185 // be passed to AONWUCJTagConfig() .
186 //
187 //*****************************************************************************
188 #define AONWUC_JTAG_FORCE_ON 0x00000100
189 #define AONWUC_JTAG_ICE 0x00000000
190 #define AONWUC_JTAG_PBIST2TAP 0x00000040
191 #define AONWUC_JTAG_PBIST1TAP 0x00000020
192 #define AONWUC_JTAG_EFUSETAP 0x00000010
193 #define AONWUC_JTAG_TESTTAP 0x00000008
194 #define AONWUC_JTAG_WUCTAP 0x00000004
195 #define AONWUC_JTAG_PRCMTAP 0x00000002
196 #define AONWUC_JTAG_CPUDAP 0x00000001
197 #define AONWUC_JTAG_MASK 0x0000007F
198 
199 //*****************************************************************************
200 //
201 // RAM repair status bits. Values are returned by AOXWUCRamRepairStatusGet() .
202 //
203 //*****************************************************************************
204 #define MCU_RAMREPAIR_DONE 0x00000001
205 #define AUX_RAMREPAIR_DONE 0x00000002
206 
207 //*****************************************************************************
208 
209 //*****************************************************************************
210 #define RC_RATE_MAX 768 // Maximum recharge rate for the
211  // recharge controller.
212 #define RC_RATE_MIN 2 // Minimum recharge rate for the
213  // recharge controller.
214 
215 //*****************************************************************************
216 #define AONWUC_TOTAL_FLASH_ERASE \
217  0x00000200 // A total flash erase includes the
218  // Customer Configuration Area
219 #define AONWUC_FULL_FLASH_ERASE 0x00000100 // A full flash erase excludes the
220  // the customer configuration area
221 #define AONWUC_MCU_RESET_SRC 0x00000002 // MCU reset source can be SW or
222  // JTAG
223 #define AONWUC_MCU_RESET_TYPE 0x00000001 // MCU reset type and can be warm
224  // or not warm.
225 
226 //*****************************************************************************
227 //
228 // API Functions and prototypes
229 //
230 //*****************************************************************************
231 
232 //*****************************************************************************
233 //
251 //
252 //*****************************************************************************
253 __STATIC_INLINE void
254 AONWUCMcuPowerDownConfig(uint32_t ui32ClkSrc)
255 {
256  uint32_t ui32Reg;
257 
258  //
259  // Check the arguments.
260  //
261  ASSERT((ui32ClkSrc == AONWUC_NO_CLOCK) ||
262  (ui32ClkSrc == AONWUC_CLOCK_SRC_MF) ||
263  (ui32ClkSrc == AONWUC_CLOCK_SRC_LF));
264 
265  //
266  // Set the clock source for the MCU domain when in power down.
267  //
268  ui32Reg = HWREG(AON_WUC_BASE + AON_WUC_O_MCUCLK);
269  ui32Reg &= ~AON_WUC_MCUCLK_PWR_DWN_SRC_M;
270  HWREG(AON_WUC_BASE + AON_WUC_O_MCUCLK) = ui32Reg |
271  (ui32ClkSrc <<
273 }
274 
275 //*****************************************************************************
276 //
291 //
292 //*****************************************************************************
293 __STATIC_INLINE void
294 AONWUCMcuPowerOffConfig(uint32_t ui32Mode)
295 {
296  uint32_t ui32Reg;
297 
298  //
299  // Check the arguments.
300  //
301  ASSERT((ui32Mode == MCU_VIRT_PWOFF_ENABLE) ||
302  (ui32Mode == MCU_VIRT_PWOFF_DISABLE));
303 
304  //
305  // Set the powerdown mode.
306  //
307  ui32Reg = HWREG(AON_WUC_BASE + AON_WUC_O_MCUCFG);
308  ui32Reg &= ~AON_WUC_MCUCFG_VIRT_OFF_M;
309  HWREG(AON_WUC_BASE + AON_WUC_O_MCUCFG) = ui32Reg | ui32Mode;
310 }
311 
312 //*****************************************************************************
313 //
328 //
329 //*****************************************************************************
330 __STATIC_INLINE void
331 AONWUCMcuWakeUpConfig(uint32_t ui32WakeUp)
332 {
333  uint32_t ui32Reg;
334 
335  //
336  // Check the arguments.
337  //
338  ASSERT((ui32WakeUp == MCU_IMM_WAKE_UP) ||
339  (ui32WakeUp == MCU_FIXED_WAKE_UP));
340 
341  //
342  // Configure the wake up procedure.
343  //
344  ui32Reg = HWREG(AON_WUC_BASE + AON_WUC_O_MCUCFG);
345  ui32Reg &= ~AON_WUC_MCUCFG_FIXED_WU_EN;
346  HWREG(AON_WUC_BASE + AON_WUC_O_MCUCFG) = ui32Reg | ui32WakeUp;
347 }
348 
349 //*****************************************************************************
350 //
373 //
374 //*****************************************************************************
375 __STATIC_INLINE void
376 AONWUCMcuSRamConfig(uint32_t ui32Retention)
377 {
378  uint32_t ui32Reg;
379 
380  //
381  // Check the arguments.
382  //
383  ASSERT(ui32Retention & MCU_RAM_BLOCK_RETENTION);
384  ASSERT(!(ui32Retention & ~MCU_RAM_BLOCK_RETENTION));
385 
386  //
387  // Configure the retention.
388  //
389  ui32Reg = HWREG(AON_WUC_BASE + AON_WUC_O_MCUCFG) & ~MCU_RAM_BLOCK_RETENTION;
390  ui32Reg |= ui32Retention;
391  HWREG(AON_WUC_BASE + AON_WUC_O_MCUCFG) = ui32Reg;
392 }
393 
394 //*****************************************************************************
395 //
424 //
425 //*****************************************************************************
426 extern void AONWUCAuxClockConfigSet(uint32_t ui32ClkSrc, uint32_t ui32ClkDiv);
427 
428 //*****************************************************************************
429 //
447 //
448 //*****************************************************************************
449 __STATIC_INLINE uint32_t
451 {
452  //
453  // Return the clock divider value.
454  //
455  return ((HWREG(AON_WUC_BASE + AON_WUC_O_AUXCLK) &
458 }
459 
460 //*****************************************************************************
461 //
477 //
478 //*****************************************************************************
479 __STATIC_INLINE void
480 AONWUCAuxPowerDownConfig(uint32_t ui32ClkSrc)
481 {
482  uint32_t ui32Reg;
483 
484  //
485  // Check the arguments.
486  //
487  ASSERT((ui32ClkSrc == AONWUC_NO_CLOCK) ||
488  (ui32ClkSrc == AONWUC_CLOCK_SRC_MF) ||
489  (ui32ClkSrc == AONWUC_CLOCK_SRC_LF));
490 
491  //
492  // Set the clock source for the AUX domain when in power down.
493  //
494  ui32Reg = HWREG(AON_WUC_BASE + AON_WUC_O_AUXCLK);
495  ui32Reg &= ~AON_WUC_AUXCLK_PWR_DWN_SRC_M;
496  HWREG(AON_WUC_BASE + AON_WUC_O_AUXCLK) = ui32Reg |
497  (ui32ClkSrc <<
499 }
500 
501 //*****************************************************************************
502 //
516 //
517 //*****************************************************************************
518 __STATIC_INLINE void
519 AONWUCAuxPowerOffConfig(uint32_t ui32Mode)
520 {
521  uint32_t ui32Reg;
522 
523  //
524  // Check the arguments.
525  //
526  ASSERT((ui32Mode == AUX_VIRT_PWOFF_ENABLE) ||
527  (ui32Mode == AUX_VIRT_PWOFF_DISABLE));
528 
529  //
530  // Set the poweroff mode.
531  //
532  ui32Reg = HWREG(AON_WUC_BASE + AON_WUC_O_AUXCFG);
533  ui32Reg &= ~AON_WUC_AUXCFG_VIRT_OFF;
534  HWREG(AON_WUC_BASE + AON_WUC_O_AUXCFG) = ui32Mode | ui32Reg;
535 }
536 
537 //*****************************************************************************
538 //
553 //
554 //*****************************************************************************
555 __STATIC_INLINE void
556 AONWUCAuxWakeUpConfig(uint32_t ui32WakeUp)
557 {
558  uint32_t ui32Reg;
559 
560  //
561  // Check the arguments.
562  //
563  ASSERT((ui32WakeUp == AUX_IMM_WAKE_UP) || (ui32WakeUp == AUX_FIXED_WAKE_UP));
564 
565  //
566  // Configure the wake up procedure.
567  //
568  ui32Reg = HWREG(AON_WUC_BASE + AON_WUC_O_AUXCFG);
569  ui32Reg &= ~AON_WUC_AUXCFG_FIXED_WU_EN_M;
570  HWREG(AON_WUC_BASE + AON_WUC_O_AUXCFG) = ui32Reg | ui32WakeUp;
571 }
572 
573 //*****************************************************************************
574 //
588 //
589 //*****************************************************************************
590 extern void AONWUCAuxSRamConfig(uint32_t ui32Retention);
591 
592 //*****************************************************************************
593 //
607 //
619 //
620 //*****************************************************************************
621 extern void AONWUCAuxWakeupEvent(uint32_t ui32Mode);
622 
623 //*****************************************************************************
624 //
636 //
637 //*****************************************************************************
638 extern void AONWUCAuxReset(void);
639 
640 //*****************************************************************************
641 //
648 //
649 //*****************************************************************************
650 __STATIC_INLINE void
652 {
653  //
654  // Tell the AUX controller that the iamge in memory is invalid.
655  //
657 }
658 
659 //*****************************************************************************
660 //
667 //
668 //*****************************************************************************
669 __STATIC_INLINE void
671 {
672  //
673  // Tell the AUX controller that the iamge in memory is invalid.
674  //
676 }
677 
678 //*****************************************************************************
679 //
704 //
705 //*****************************************************************************
706 __STATIC_INLINE uint32_t
708 {
709  //
710  // Return the power status.
711  //
712  return (HWREG(AON_WUC_BASE + AON_WUC_O_PWRSTAT));
713 }
714 
715 //*****************************************************************************
716 //
729 //
730 //*****************************************************************************
731 __STATIC_INLINE void
733 {
734  //
735  // Ensure the JTAG domain is turned off;
736  // otherwise MCU domain can't be turned off.
737  //
738  HWREG(AON_WUC_BASE + AON_WUC_O_JTAGCFG) = 0;
739 
740  //
741  // Enable shutdown of the device.
742  //
745 }
746 
747 //*****************************************************************************
748 //
757 //
758 //*****************************************************************************
759 __STATIC_INLINE void
761 {
762  //
763  // Ensure the JTAG domain is turned off;
764  // otherwise MCU domain can't be turned off.
765  //
766  HWREG(AON_WUC_BASE + AON_WUC_O_JTAGCFG) = 0;
767 
768  //
769  // Enable power down mode.
770  //
772 }
773 
774 //*****************************************************************************
775 //
783 //
784 //*****************************************************************************
785 __STATIC_INLINE void
787 {
788  //
789  // Disable power down mode.
790  //
792 }
793 
794 //*****************************************************************************
795 //
816 //
817 //*****************************************************************************
818 __STATIC_INLINE void
819 AONWUCMcuResetClear(uint32_t ui32Status)
820 {
821  //
822  // Check the arguments.
823  //
824  ASSERT((ui32Status & AONWUC_TOTAL_FLASH_ERASE) ||
825  (ui32Status & AONWUC_FULL_FLASH_ERASE) ||
826  (ui32Status & AONWUC_MCU_RESET_SRC) ||
827  (ui32Status & AONWUC_MCU_RESET_TYPE));
828 
829  //
830  // Clear the status bits.
831  //
832  HWREG(AON_WUC_BASE + AON_WUC_O_CTL1) = ui32Status;
833 }
834 
835 //*****************************************************************************
836 //
842 //
843 //*****************************************************************************
844 __STATIC_INLINE uint32_t
846 {
847  //
848  // Return the current status.
849  //
850  return (HWREG(AON_WUC_BASE + AON_WUC_O_CTL1));
851 }
852 
853 //*****************************************************************************
854 //
861 
872 
887 //
905 //*****************************************************************************
906 extern void AONWUCRechargeCtrlConfigSet(bool bAdaptEnable,
907  uint32_t ui32AdaptRate,
908  uint32_t ui32Period,
909  uint32_t ui32MaxPeriod);
910 
911 //*****************************************************************************
912 //
918 //
919 //*****************************************************************************
920 __STATIC_INLINE uint32_t
922 {
923  //
924  // Return the current configuration.
925  //
926  return(HWREG(AON_WUC_BASE + AON_WUC_O_RECHARGECFG));
927 }
928 
929 //*****************************************************************************
930 //
938 
945 //
962 //*****************************************************************************
963 extern void AONWUCOscConfig(uint32_t ui32Period);
964 
965 //*****************************************************************************
966 //
978 //
979 //*****************************************************************************
980 __STATIC_INLINE void
982 {
983  //
984  // Request the power off of the Jtag domain
985  //
986  HWREG(AON_WUC_BASE + AON_WUC_O_JTAGCFG) = 0;
987 }
988 
989 
990 //*****************************************************************************
991 //
992 // Support for DriverLib in ROM:
993 // Redirect to implementation in ROM when available.
994 //
995 //*****************************************************************************
996 #ifndef DRIVERLIB_NOROM
997  #include <driverlib/rom.h>
998  #ifdef ROM_AONWUCAuxClockConfigSet
999  #undef AONWUCAuxClockConfigSet
1000  #define AONWUCAuxClockConfigSet ROM_AONWUCAuxClockConfigSet
1001  #endif
1002  #ifdef ROM_AONWUCAuxSRamConfig
1003  #undef AONWUCAuxSRamConfig
1004  #define AONWUCAuxSRamConfig ROM_AONWUCAuxSRamConfig
1005  #endif
1006  #ifdef ROM_AONWUCAuxWakeupEvent
1007  #undef AONWUCAuxWakeupEvent
1008  #define AONWUCAuxWakeupEvent ROM_AONWUCAuxWakeupEvent
1009  #endif
1010  #ifdef ROM_AONWUCAuxReset
1011  #undef AONWUCAuxReset
1012  #define AONWUCAuxReset ROM_AONWUCAuxReset
1013  #endif
1014  #ifdef ROM_AONWUCRechargeCtrlConfigSet
1015  #undef AONWUCRechargeCtrlConfigSet
1016  #define AONWUCRechargeCtrlConfigSet ROM_AONWUCRechargeCtrlConfigSet
1017  #endif
1018  #ifdef ROM_AONWUCOscConfig
1019  #undef AONWUCOscConfig
1020  #define AONWUCOscConfig ROM_AONWUCOscConfig
1021  #endif
1022 #endif
1023 
1024 //*****************************************************************************
1025 //
1026 // Mark the end of the C bindings section for C++ compilers.
1027 //
1028 //*****************************************************************************
1029 #ifdef __cplusplus
1030 }
1031 #endif
1032 
1033 #endif // __AON_WUC_H__
1034 
1035 //*****************************************************************************
1036 //
1039 //
1040 //*****************************************************************************
#define MCU_IMM_WAKE_UP
Definition: aon_wuc.h:131
__STATIC_INLINE void AONWUCJtagPowerOff(void)
Request power off of the JTAG domain.
Definition: aon_wuc.h:981
__STATIC_INLINE uint32_t AONWUCAuxClockConfigGet(void)
Return the clock configuration for the AUX domain.
Definition: aon_wuc.h:450
void AONWUCAuxSRamConfig(uint32_t ui32Retention)
Configure the retention on the AUX SRAM.
Definition: aon_wuc.c:136
__STATIC_INLINE uint32_t AONWUCRechargeCtrlConfigGet(void)
Get the current configuration of the recharge controller.
Definition: aon_wuc.h:921
#define MCU_VIRT_PWOFF_ENABLE
Definition: aon_wuc.h:130
void AONWUCOscConfig(uint32_t ui32Period)
Configure the interval for oscillator amplitude calibration.
Definition: aon_wuc.c:345
#define ASSERT(expr)
Definition: debug.h:65
#define AUX_VIRT_PWOFF_DISABLE
Definition: aon_wuc.h:133
#define AUX_VIRT_PWOFF_ENABLE
Definition: aon_wuc.h:134
void AONWUCAuxReset(void)
Reset the AUX domain.
Definition: aon_wuc.c:192
__STATIC_INLINE void AONWUCAuxWakeUpConfig(uint32_t ui32WakeUp)
Configure the wake-up procedure for the AUX domain.
Definition: aon_wuc.h:556
#define AONWUC_CLOCK_SRC_MF
Definition: aon_wuc.h:101
#define AUX_FIXED_WAKE_UP
Definition: aon_wuc.h:136
#define AONWUC_CLOCK_SRC_LF
Definition: aon_wuc.h:103
void AONWUCRechargeCtrlConfigSet(bool bAdaptEnable, uint32_t ui32AdaptRate, uint32_t ui32Period, uint32_t ui32MaxPeriod)
Configure the recharge controller.
Definition: aon_wuc.c:221
#define MCU_FIXED_WAKE_UP
Definition: aon_wuc.h:132
__STATIC_INLINE uint32_t AONWUCMcuResetStatus(void)
Return the reset status.
Definition: aon_wuc.h:845
__STATIC_INLINE void AONWUCMcuWakeUpConfig(uint32_t ui32WakeUp)
Configure the wake-up procedure for the MCU domain.
Definition: aon_wuc.h:331
#define AONWUC_MCU_RESET_SRC
Definition: aon_wuc.h:221
#define AONWUC_TOTAL_FLASH_ERASE
Definition: aon_wuc.h:216
__STATIC_INLINE void AONWUCMcuPowerOffConfig(uint32_t ui32Mode)
Configure the power down mode for the MCU domain.
Definition: aon_wuc.h:294
__STATIC_INLINE void AONWUCMcuSRamConfig(uint32_t ui32Retention)
Configure the retention on the block RAM in the MCU domain.
Definition: aon_wuc.h:376
__STATIC_INLINE void AONWUCAuxPowerOffConfig(uint32_t ui32Mode)
Configure the power off mode for the AUX domain.
Definition: aon_wuc.h:519
void AONWUCAuxClockConfigSet(uint32_t ui32ClkSrc, uint32_t ui32ClkDiv)
Set the clock source for the AUX domain.
Definition: aon_wuc.c:68
void AONWUCAuxWakeupEvent(uint32_t ui32Mode)
Control the wake up procedure of the AUX domain.
Definition: aon_wuc.c:158
__STATIC_INLINE void AONWUCShutDownEnable(void)
Enable shut-down of the device.
Definition: aon_wuc.h:732
#define AONWUC_NO_CLOCK
Definition: aon_wuc.h:105
__STATIC_INLINE void AONWUCMcuResetClear(uint32_t ui32Status)
Use this function to clear specific status bits.
Definition: aon_wuc.h:819
__STATIC_INLINE void AONWUCAuxImageInvalid(void)
Tells the AUX controller that the image in memory is invalid.
Definition: aon_wuc.h:670
#define AONWUC_FULL_FLASH_ERASE
Definition: aon_wuc.h:219
#define MCU_RAM_BLOCK_RETENTION
Definition: aon_wuc.h:148
__STATIC_INLINE void AONWUCAuxPowerDownConfig(uint32_t ui32ClkSrc)
Configure the power down mode for the AUX domain.
Definition: aon_wuc.h:480
__STATIC_INLINE void AONWUCAuxImageValid(void)
Tells the AUX controller that the image in memory is valid.
Definition: aon_wuc.h:651
#define AUX_IMM_WAKE_UP
Definition: aon_wuc.h:135
#define MCU_VIRT_PWOFF_DISABLE
Definition: aon_wuc.h:129
__STATIC_INLINE void AONWUCDomainPowerDownEnable(void)
Enable power down mode on AUX and MCU domain.
Definition: aon_wuc.h:760
__STATIC_INLINE uint32_t AONWUCPowerStatus(void)
Get the power status of the device.
Definition: aon_wuc.h:707
__STATIC_INLINE void AONWUCMcuPowerDownConfig(uint32_t ui32ClkSrc)
Configure the power down clock for the MCU domain.
Definition: aon_wuc.h:254
__STATIC_INLINE void AONWUCDomainPowerDownDisable(void)
Use this function to disable power down mode of the MCU and AUX domain.
Definition: aon_wuc.h:786
#define AONWUC_MCU_RESET_TYPE
Definition: aon_wuc.h:223