55 #ifndef ti_drivers_power_PowerCC26XX_
56 #define ti_drivers_power_PowerCC26XX_
62 #include <ti/sysbios/family/arm/m3/Hwi.h>
63 #include <ti/sysbios/knl/Clock.h>
69 #define PowerCC26XX_RESUMETIMESTANDBY 750
72 #define PowerCC26XX_TOTALTIMESTANDBY 1000
75 #define PowerCC26XX_WAKEDELAYSTANDBY 130
78 #define PowerCC26XX_INITIALWAITRCOSC_LF 1000
81 #define PowerCC26XX_RETRYWAITRCOSC_LF 1000
84 #define PowerCC26XX_INITIALWAITXOSC_HF 50
87 #define PowerCC26XX_RETRYWAITXOSC_HF 50
90 #define PowerCC26XX_INITIALWAITXOSC_LF 10000
93 #define PowerCC26XX_RETRYWAITXOSC_LF 5000
96 #define PowerCC26XX_PERIPH_GPT0 0
97 #define PowerCC26XX_PERIPH_GPT1 1
98 #define PowerCC26XX_PERIPH_GPT2 2
99 #define PowerCC26XX_PERIPH_GPT3 3
100 #define PowerCC26XX_PERIPH_SSI0 4
101 #define PowerCC26XX_PERIPH_SSI1 5
102 #define PowerCC26XX_PERIPH_UART0 6
103 #define PowerCC26XX_PERIPH_I2C0 7
104 #define PowerCC26XX_PERIPH_TRNG 8
105 #define PowerCC26XX_PERIPH_GPIO 9
106 #define PowerCC26XX_PERIPH_UDMA 10
107 #define PowerCC26XX_PERIPH_CRYPTO 11
108 #define PowerCC26XX_PERIPH_I2S 12
109 #define PowerCC26XX_PERIPH_RFCORE 13
110 #define PowerCC26XX_XOSC_HF 14
111 #define PowerCC26XX_DOMAIN_PERIPH 15
112 #define PowerCC26XX_DOMAIN_SERIAL 16
113 #define PowerCC26XX_DOMAIN_RFCORE 17
114 #define PowerCC26XX_DOMAIN_SYSBUS 18
115 #define PowerCC26XX_NUMRESOURCES 19
118 #define PowerCC26XX_PERIPH 0x80
121 #define PowerCC26XX_SPECIAL 0x40
124 #define PowerCC26XX_DOMAIN 0x00
127 #define PowerCC26XX_PARENTMASK 0x3F
130 #define PowerCC26XX_NOPARENT 0x3F
133 #define PowerCC26XX_STANDBY 0x1
135 #define PowerCC26XX_ENABLE 1
136 #define PowerCC26XX_DISABLE 0
141 #define PowerCC26XX_SB_VIMS_CACHE_RETAIN 0
142 #define PowerCC26XX_SD_DISALLOW 1
143 #define PowerCC26XX_SB_DISALLOW 2
144 #define PowerCC26XX_IDLE_PD_DISALLOW 3
145 #define PowerCC26XX_NEED_FLASH_IN_IDLE 4
146 #define PowerCC26XX_NUMCONSTRAINTS 5
154 #define PowerCC26XX_ENTERING_STANDBY 0x1
155 #define PowerCC26XX_ENTERING_SHUTDOWN 0x2
156 #define PowerCC26XX_AWAKE_STANDBY 0x4
157 #define PowerCC26XX_AWAKE_STANDBY_LATE 0x8
158 #define PowerCC26XX_XOSC_HF_SWITCHED 0x10
159 #define PowerCC26XX_NUMEVENTS 5
164 #define PowerCC26XX_SETUP_CALIBRATE 1
165 #define PowerCC26XX_INITIATE_CALIBRATE 2
166 #define PowerCC26XX_DO_CALIBRATE 3
Hwi_Struct hwiStruct
Definition: PowerCC26XX.h:253
bool calLF
Definition: PowerCC26XX.h:265
void PowerCC26XX_doWFI(void)
Wait for interrupt.
int32_t nDeltaFreqNew
Definition: PowerCC26XX.h:261
bool xoscPending
Definition: PowerCC26XX.h:264
struct PowerCC26XX_Config PowerCC26XX_Config
Global configuration structure.
bool bRefine
Definition: PowerCC26XX.h:262
bool PowerCC26XX_calibrate(unsigned int arg)
RCOSC calibration.
uint32_t constraintMask
Definition: PowerCC26XX.h:248
bool calibrateRCOSC_LF
Boolean specifying whether the low frequency RCOSC (RCOSC_LF) should be calibrated.
Definition: PowerCC26XX.h:233
Clock_Handle PowerCC26XX_getClockHandle(void)
Get the handle of a Clock object that a power policy can use to schedule wakeups. ...
struct PowerCC26XX_ResourceRecord PowerCC26XX_ResourceRecord
Power resource database record format.
struct PowerCC26XX_ModuleState PowerCC26XX_ModuleState
Internal module state.
Power_PolicyInitFxn policyInitFxn
The power policy's initialization function.
Definition: PowerCC26XX.h:184
void(* Power_PolicyInitFxn)(void)
Power policy initialization function pointer.
Definition: Power.h:91
uint8_t PowerCC26XX_Resource
Definition: PowerCC26XX.h:66
uint16_t driverlibID
Definition: PowerCC26XX.h:172
uint8_t resourceCounts[PowerCC26XX_NUMRESOURCES]
Definition: PowerCC26XX.h:273
bool enablePolicy
Boolean specifying if the power policy function is enabled.
Definition: PowerCC26XX.h:224
int32_t nCtrimFractNew
Definition: PowerCC26XX.h:258
Power_PolicyFxn policyFxn
The power policy function.
Definition: PowerCC26XX.h:200
bool initialized
Definition: PowerCC26XX.h:271
int32_t nRtrimNew
Definition: PowerCC26XX.h:259
int32_t nCtrimNew
Definition: PowerCC26XX.h:257
unsigned int(* resourceHandlers[3])(unsigned int)
Definition: PowerCC26XX.h:274
void(* Power_PolicyFxn)(void)
Power policy function pointer.
Definition: Power.h:96
uint32_t state
Definition: PowerCC26XX.h:263
uint8_t flags
Definition: PowerCC26XX.h:170
bool busyCal
Definition: PowerCC26XX.h:267
void PowerCC26XX_standbyPolicy(void)
Power standby policy function.
void PowerCC26XX_switchXOSC_HF(void)
Switch the HF clock source to XOSC_HF.
bool(* calibrateFxn)(unsigned int)
The function to be used for activating RC Oscillator (RCOSC) calibration.
Definition: PowerCC26XX.h:212
bool calibrateRCOSC_HF
Boolean specifying whether the high frequency RCOSC (RCOSC_HF) should be calibrated.
Definition: PowerCC26XX.h:242
#define PowerCC26XX_NUMRESOURCES
Definition: PowerCC26XX.h:115
Power_PolicyFxn policyFxn
Definition: PowerCC26XX.h:275
uint32_t PowerCC26XX_getXoscStartupTime(uint32_t timeUntilWakeupInMs)
Get the estimated crystal oscillator startup time in microseconds.
Clock_Struct calClockStruct
Definition: PowerCC26XX.h:252
int32_t nCtrimCurr
Definition: PowerCC26XX.h:255
Internal module state.
Definition: PowerCC26XX.h:246
uint8_t calStep
Definition: PowerCC26XX.h:268
Power resource database record format.
Definition: PowerCC26XX.h:169
Global configuration structure.
Definition: PowerCC26XX.h:177
bool PowerCC26XX_injectCalibration(void)
Explicitly trigger RCOSC calibration.
int32_t nCtrimFractCurr
Definition: PowerCC26XX.h:256
#define PowerCC26XX_NUMCONSTRAINTS
Definition: PowerCC26XX.h:146
Clock_Struct lfClockObj
Definition: PowerCC26XX.h:251
uint8_t flags2
Definition: PowerCC26XX.h:171
int32_t nDeltaFreqCurr
Definition: PowerCC26XX.h:254
bool PowerCC26XX_noCalibrate(unsigned int arg)
Do not perform calibration function.
bool firstLF
Definition: PowerCC26XX.h:269
int32_t nRtrimCurr
Definition: PowerCC26XX.h:260
Clock_Struct xoscClockObj
Definition: PowerCC26XX.h:250
bool enablePolicy
Definition: PowerCC26XX.h:270
uint8_t hwiState
Definition: PowerCC26XX.h:266
List_List notifyList
Definition: PowerCC26XX.h:247
uint8_t constraintCounts[PowerCC26XX_NUMCONSTRAINTS]
Definition: PowerCC26XX.h:272
Clock_Struct clockObj
Definition: PowerCC26XX.h:249