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>
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
99 #define AONWUC_CLOCK_SRC_HF 0x00000003 // System clock high frequency -
101 #define AONWUC_CLOCK_SRC_MF 0x00000002 // System clock medium frequency -
103 #define AONWUC_CLOCK_SRC_LF 0x00000001 // System clock low frequency -
105 #define AONWUC_NO_CLOCK 0x00000000 // System clock low frequency -
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
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
157 #define AONWUC_AUX_WAKEUP_SWEVT 0x00000002
158 #define AONWUC_AUX_WAKEUP 0x00000001
159 #define AONWUC_AUX_ALLOW_SLEEP 0x00000000
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
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
204 #define MCU_RAMREPAIR_DONE 0x00000001
205 #define AUX_RAMREPAIR_DONE 0x00000002
210 #define RC_RATE_MAX 768 // Maximum recharge rate for the
212 #define RC_RATE_MIN 2 // Minimum recharge rate for the
216 #define AONWUC_TOTAL_FLASH_ERASE \
217 0x00000200 // A total flash erase includes the
219 #define AONWUC_FULL_FLASH_ERASE 0x00000100 // A full flash erase excludes the
221 #define AONWUC_MCU_RESET_SRC 0x00000002 // MCU reset source can be SW or
223 #define AONWUC_MCU_RESET_TYPE 0x00000001 // MCU reset type and can be warm
384 ASSERT(!(ui32Retention & ~MCU_RAM_BLOCK_RETENTION));
390 ui32Reg |= ui32Retention;
449 __STATIC_INLINE uint32_t
706 __STATIC_INLINE uint32_t
844 __STATIC_INLINE uint32_t
907 uint32_t ui32AdaptRate,
909 uint32_t ui32MaxPeriod);
920 __STATIC_INLINE uint32_t
996 #ifndef DRIVERLIB_NOROM
998 #ifdef ROM_AONWUCAuxClockConfigSet
999 #undef AONWUCAuxClockConfigSet
1000 #define AONWUCAuxClockConfigSet ROM_AONWUCAuxClockConfigSet
1002 #ifdef ROM_AONWUCAuxSRamConfig
1003 #undef AONWUCAuxSRamConfig
1004 #define AONWUCAuxSRamConfig ROM_AONWUCAuxSRamConfig
1006 #ifdef ROM_AONWUCAuxWakeupEvent
1007 #undef AONWUCAuxWakeupEvent
1008 #define AONWUCAuxWakeupEvent ROM_AONWUCAuxWakeupEvent
1010 #ifdef ROM_AONWUCAuxReset
1011 #undef AONWUCAuxReset
1012 #define AONWUCAuxReset ROM_AONWUCAuxReset
1014 #ifdef ROM_AONWUCRechargeCtrlConfigSet
1015 #undef AONWUCRechargeCtrlConfigSet
1016 #define AONWUCRechargeCtrlConfigSet ROM_AONWUCRechargeCtrlConfigSet
1018 #ifdef ROM_AONWUCOscConfig
1019 #undef AONWUCOscConfig
1020 #define AONWUCOscConfig ROM_AONWUCOscConfig
1033 #endif // __AON_WUC_H__
__STATIC_INLINE void AONWUCJtagPowerOff(void)
Request power off of the JTAG domain.
__STATIC_INLINE uint32_t AONWUCAuxClockConfigGet(void)
Return the clock configuration for the AUX domain.
void AONWUCAuxSRamConfig(uint32_t ui32Retention)
Configure the retention on the AUX SRAM.
__STATIC_INLINE uint32_t AONWUCRechargeCtrlConfigGet(void)
Get the current configuration of the recharge controller.
#define MCU_VIRT_PWOFF_ENABLE
void AONWUCOscConfig(uint32_t ui32Period)
Configure the interval for oscillator amplitude calibration.
#define AUX_VIRT_PWOFF_DISABLE
#define AUX_VIRT_PWOFF_ENABLE
void AONWUCAuxReset(void)
Reset the AUX domain.
__STATIC_INLINE void AONWUCAuxWakeUpConfig(uint32_t ui32WakeUp)
Configure the wake-up procedure for the AUX domain.
#define AONWUC_CLOCK_SRC_MF
#define AUX_FIXED_WAKE_UP
#define AONWUC_CLOCK_SRC_LF
void AONWUCRechargeCtrlConfigSet(bool bAdaptEnable, uint32_t ui32AdaptRate, uint32_t ui32Period, uint32_t ui32MaxPeriod)
Configure the recharge controller.
#define MCU_FIXED_WAKE_UP
__STATIC_INLINE uint32_t AONWUCMcuResetStatus(void)
Return the reset status.
__STATIC_INLINE void AONWUCMcuWakeUpConfig(uint32_t ui32WakeUp)
Configure the wake-up procedure for the MCU domain.
#define AONWUC_MCU_RESET_SRC
#define AONWUC_TOTAL_FLASH_ERASE
__STATIC_INLINE void AONWUCMcuPowerOffConfig(uint32_t ui32Mode)
Configure the power down mode for the MCU domain.
__STATIC_INLINE void AONWUCMcuSRamConfig(uint32_t ui32Retention)
Configure the retention on the block RAM in the MCU domain.
__STATIC_INLINE void AONWUCAuxPowerOffConfig(uint32_t ui32Mode)
Configure the power off mode for the AUX domain.
void AONWUCAuxClockConfigSet(uint32_t ui32ClkSrc, uint32_t ui32ClkDiv)
Set the clock source for the AUX domain.
void AONWUCAuxWakeupEvent(uint32_t ui32Mode)
Control the wake up procedure of the AUX domain.
__STATIC_INLINE void AONWUCShutDownEnable(void)
Enable shut-down of the device.
__STATIC_INLINE void AONWUCMcuResetClear(uint32_t ui32Status)
Use this function to clear specific status bits.
__STATIC_INLINE void AONWUCAuxImageInvalid(void)
Tells the AUX controller that the image in memory is invalid.
#define AONWUC_FULL_FLASH_ERASE
#define MCU_RAM_BLOCK_RETENTION
__STATIC_INLINE void AONWUCAuxPowerDownConfig(uint32_t ui32ClkSrc)
Configure the power down mode for the AUX domain.
__STATIC_INLINE void AONWUCAuxImageValid(void)
Tells the AUX controller that the image in memory is valid.
#define MCU_VIRT_PWOFF_DISABLE
__STATIC_INLINE void AONWUCDomainPowerDownEnable(void)
Enable power down mode on AUX and MCU domain.
__STATIC_INLINE uint32_t AONWUCPowerStatus(void)
Get the power status of the device.
__STATIC_INLINE void AONWUCMcuPowerDownConfig(uint32_t ui32ClkSrc)
Configure the power down clock for the MCU domain.
__STATIC_INLINE void AONWUCDomainPowerDownDisable(void)
Use this function to disable power down mode of the MCU and AUX domain.
#define AONWUC_MCU_RESET_TYPE