52 #ifndef ti_drivers_power_PowerCC26XX_ 53 #define ti_drivers_power_PowerCC26XX_ 59 #include <ti/sysbios/family/arm/m3/Hwi.h> 60 #include <ti/sysbios/knl/Clock.h> 64 typedef uint8_t PowerCC26XX_Resource;
68 #define PowerCC26XX_RESUMETIMESTANDBY 750 71 #define PowerCC26XX_TOTALTIMESTANDBY 1000 74 #define PowerCC26XX_WAKEDELAYSTANDBY 130 77 #define PowerCC26XX_INITIALWAITRCOSC_LF 1000 80 #define PowerCC26XX_RETRYWAITRCOSC_LF 1000 83 #define PowerCC26XX_INITIALWAITXOSC_HF 50 86 #define PowerCC26XX_RETRYWAITXOSC_HF 50 89 #define PowerCC26XX_INITIALWAITXOSC_LF 10000 92 #define PowerCC26XX_RETRYWAITXOSC_LF 5000 95 #define PowerCC26XX_PERIPH_GPT0 0 98 #define PowerCC26XX_PERIPH_GPT1 1 101 #define PowerCC26XX_PERIPH_GPT2 2 104 #define PowerCC26XX_PERIPH_GPT3 3 107 #define PowerCC26XX_PERIPH_SSI0 4 110 #define PowerCC26XX_PERIPH_SSI1 5 113 #define PowerCC26XX_PERIPH_UART0 6 115 #define PowerCC26XX_PERIPH_I2C0 7 117 #define PowerCC26XX_PERIPH_TRNG 8 120 #define PowerCC26XX_PERIPH_GPIO 9 122 #define PowerCC26XX_PERIPH_UDMA 10 124 #define PowerCC26XX_PERIPH_CRYPTO 11 126 #define PowerCC26XX_PERIPH_I2S 12 128 #define PowerCC26XX_PERIPH_RFCORE 13 130 #define PowerCC26XX_XOSC_HF 14 133 #define PowerCC26XX_DOMAIN_PERIPH 15 136 #define PowerCC26XX_DOMAIN_SERIAL 16 139 #define PowerCC26XX_DOMAIN_RFCORE 17 142 #define PowerCC26XX_DOMAIN_SYSBUS 18 146 #define PowerCC26XX_NUMRESOURCES 19 151 #define PowerCC26XX_PERIPH 0x80 152 #define PowerCC26XX_SPECIAL 0x40 153 #define PowerCC26XX_DOMAIN 0x00 154 #define PowerCC26XX_PARENTMASK 0x3F 155 #define PowerCC26XX_NOPARENT 0x3F 158 #define PowerCC26XX_STANDBY 0x1 161 #define PowerCC26XX_ENABLE 1 162 #define PowerCC26XX_DISABLE 0 166 #define PowerCC26XX_SB_VIMS_CACHE_RETAIN 0 169 #define PowerCC26XX_SD_DISALLOW 1 172 #define PowerCC26XX_SB_DISALLOW 2 175 #define PowerCC26XX_IDLE_PD_DISALLOW 3 178 #define PowerCC26XX_NEED_FLASH_IN_IDLE 4 181 #define PowerCC26XX_DISALLOW_XOSC_HF_SWITCHING 5 195 #define PowerCC26XX_NUMCONSTRAINTS 6 204 #define PowerCC26XX_ENTERING_STANDBY 0x1 207 #define PowerCC26XX_ENTERING_SHUTDOWN 0x2 210 #define PowerCC26XX_AWAKE_STANDBY 0x4 213 #define PowerCC26XX_AWAKE_STANDBY_LATE 0x8 216 #define PowerCC26XX_XOSC_HF_SWITCHED 0x10 220 #define PowerCC26XX_NUMEVENTS 5 227 #define PowerCC26XX_SETUP_CALIBRATE 1 228 #define PowerCC26XX_INITIATE_CALIBRATE 2 229 #define PowerCC26XX_DO_CALIBRATE 3 234 typedef struct PowerCC26XX_ResourceRecord {
236 uint16_t driverlibID;
237 } PowerCC26XX_ResourceRecord;
282 bool (*calibrateFxn)(
unsigned int);
348 uint8_t constraintCounts[PowerCC26XX_NUMCONSTRAINTS];
350 uint8_t resourceCounts[PowerCC26XX_NUMRESOURCES];
352 unsigned int (*resourceHandlers[3])(
unsigned int);
489 #define Power_getPerformanceLevel(void) 0 490 #define Power_setPerformanceLevel(level) Power_EFAIL Hwi_Struct hwiStruct
Definition: PowerCC26XX.h:329
bool calLF
Definition: PowerCC26XX.h:341
void PowerCC26XX_doWFI(void)
The Wait for interrupt (WFI) policy.
int32_t nDeltaFreqNew
Definition: PowerCC26XX.h:337
bool xoscPending
Definition: PowerCC26XX.h:340
struct PowerCC26XX_Config PowerCC26XX_Config
Global configuration structure.
bool bRefine
Definition: PowerCC26XX.h:338
bool PowerCC26XX_calibrate(unsigned int arg)
The RC Oscillator (RCOSC) calibration function.
uint32_t constraintMask
Definition: PowerCC26XX.h:324
bool calibrateRCOSC_LF
Boolean specifying whether the low frequency RC oscillator (RCOSC_LF) should be calibrated.
Definition: PowerCC26XX.h:304
Clock_Handle PowerCC26XX_getClockHandle(void)
Get the handle of the Clock object used for scheduling device wakeups.
struct PowerCC26XX_ModuleState PowerCC26XX_ModuleState
PowerCC26XX_ModuleState.
Power_PolicyInitFxn policyInitFxn
The Power Policy's initialization function.
Definition: PowerCC26XX.h:248
void(* Power_PolicyInitFxn)(void)
Power policy initialization function pointer.
Definition: Power.h:92
bool enablePolicy
Boolean specifying if the Power Policy function is enabled.
Definition: PowerCC26XX.h:295
int32_t nCtrimFractNew
Definition: PowerCC26XX.h:334
Power_PolicyFxn policyFxn
The Power Policy function.
Definition: PowerCC26XX.h:270
bool initialized
Definition: PowerCC26XX.h:347
int32_t nRtrimNew
Definition: PowerCC26XX.h:335
int32_t nCtrimNew
Definition: PowerCC26XX.h:333
void(* Power_PolicyFxn)(void)
Power policy function pointer.
Definition: Power.h:97
uint32_t state
Definition: PowerCC26XX.h:339
bool busyCal
Definition: PowerCC26XX.h:343
void PowerCC26XX_standbyPolicy(void)
The STANDBY Power Policy.
void PowerCC26XX_switchXOSC_HF(void)
Switch the HF clock source to XOSC_HF.
bool calibrateRCOSC_HF
Boolean specifying whether the high frequency RC oscillator (RCOSC_HF) should be calibrated.
Definition: PowerCC26XX.h:313
Power_PolicyFxn policyFxn
Definition: PowerCC26XX.h:354
uint32_t PowerCC26XX_getXoscStartupTime(uint32_t timeUntilWakeupInMs)
Get the estimated HF crystal oscillator (XOSC_HF) startup delay, for a given delay from now...
Clock_Struct calClockStruct
Definition: PowerCC26XX.h:328
int32_t nCtrimCurr
Definition: PowerCC26XX.h:331
PowerCC26XX_ModuleState.
Definition: PowerCC26XX.h:322
uint8_t calStep
Definition: PowerCC26XX.h:344
Global configuration structure.
Definition: PowerCC26XX.h:241
bool PowerCC26XX_injectCalibration(void)
Explicitly trigger RC oscillator calibration.
int32_t nCtrimFractCurr
Definition: PowerCC26XX.h:332
Clock_Struct lfClockObj
Definition: PowerCC26XX.h:327
int32_t nDeltaFreqCurr
Definition: PowerCC26XX.h:330
bool PowerCC26XX_noCalibrate(unsigned int arg)
Function to specify when RCOSC calibration is to be disabled.
bool firstLF
Definition: PowerCC26XX.h:345
int32_t nRtrimCurr
Definition: PowerCC26XX.h:336
Clock_Struct xoscClockObj
Definition: PowerCC26XX.h:326
bool enablePolicy
Definition: PowerCC26XX.h:346
uint8_t hwiState
Definition: PowerCC26XX.h:342
List_List notifyList
Definition: PowerCC26XX.h:323
bool PowerCC26XX_isStableXOSC_HF(void)
Check if the XOSC_HF is stable and ready to be switched to.
Clock_Struct clockObj
Definition: PowerCC26XX.h:325