59 #ifndef ti_drivers_power_PowerCC32XX__include 60 #define ti_drivers_power_PowerCC32XX__include 67 #include <ti/devices/cc32xx/inc/hw_types.h> 68 #include <ti/devices/cc32xx/driverlib/rom.h> 69 #include <ti/devices/cc32xx/driverlib/rom_map.h> 70 #include <ti/devices/cc32xx/driverlib/pin.h> 79 #define PowerCC32XX_RESUMETIMELPDS 2500 82 #define PowerCC32XX_TOTALTIMELPDS 20000 85 #define PowerCC32XX_TOTALTIMESHUTDOWN 500000 88 #define PowerCC32XX_PERIPH_CAMERA 0 91 #define PowerCC32XX_PERIPH_I2S 1 94 #define PowerCC32XX_PERIPH_SDHOST 2 97 #define PowerCC32XX_PERIPH_GSPI 3 100 #define PowerCC32XX_PERIPH_LSPI 4 103 #define PowerCC32XX_PERIPH_UDMA 5 106 #define PowerCC32XX_PERIPH_GPIOA0 6 109 #define PowerCC32XX_PERIPH_GPIOA1 7 112 #define PowerCC32XX_PERIPH_GPIOA2 8 115 #define PowerCC32XX_PERIPH_GPIOA3 9 118 #define PowerCC32XX_PERIPH_GPIOA4 10 121 #define PowerCC32XX_PERIPH_WDT 11 124 #define PowerCC32XX_PERIPH_UARTA0 12 127 #define PowerCC32XX_PERIPH_UARTA1 13 130 #define PowerCC32XX_PERIPH_TIMERA0 14 133 #define PowerCC32XX_PERIPH_TIMERA1 15 136 #define PowerCC32XX_PERIPH_TIMERA2 16 139 #define PowerCC32XX_PERIPH_TIMERA3 17 142 #define PowerCC32XX_PERIPH_DTHE 18 145 #define PowerCC32XX_PERIPH_SSPI 19 148 #define PowerCC32XX_PERIPH_I2CA0 20 152 #define PowerCC32XX_NUMRESOURCES 21 158 #define PowerCC32XX_DISALLOW_LPDS 0 161 #define PowerCC32XX_DISALLOW_SHUTDOWN 1 165 #define PowerCC32XX_NUMCONSTRAINTS 2 174 #define PowerCC32XX_ENTERING_LPDS 0x1 177 #define PowerCC32XX_ENTERING_SHUTDOWN 0x2 180 #define PowerCC32XX_AWAKE_LPDS 0x4 184 #define PowerCC32XX_NUMEVENTS 3 188 #define PowerCC32XX_LPDS 0x1 192 #define PowerCC32XX_numNVICSetEnableRegs 6 193 #define PowerCC32XX_numNVICIntPriority 49 198 #define PowerCC32XX_NUMPINS 34 221 void (*enterLPDSHookFxn)(void);
228 void (*resumeLPDSHookFxn)(void);
275 void (*wakeupGPIOFxnLPDS)(uint_least8_t argument);
341 uint32_t vectorTable;
343 uint32_t intCtrlState;
351 uint32_t systickCtrl;
352 uint32_t systickReload;
353 uint32_t systickCalib;
354 uint32_t intSetEn[PowerCC32XX_numNVICSetEnableRegs];
355 uint32_t intPriority[PowerCC32XX_numNVICIntPriority];
356 } PowerCC32XX_NVICRegisters;
371 } PowerCC32XX_MCURegisters;
379 PowerCC32XX_MCURegisters m4Regs;
380 PowerCC32XX_NVICRegisters nvicRegs;
381 } PowerCC32XX_SaveRegisters;
529 void (*wakeupGPIOFxnLPDS)(uint_least8_t argument);
560 uint32_t constraintMask;
562 uint16_t dbRecords[PowerCC32XX_NUMRESOURCES];
565 uint8_t refCount[PowerCC32XX_NUMRESOURCES];
566 uint8_t constraintCounts[PowerCC32XX_NUMCONSTRAINTS];
568 uint32_t pinType[PowerCC32XX_NUMPINS];
569 uint16_t pinDir[PowerCC32XX_NUMPINS];
570 uint8_t pinMode[PowerCC32XX_NUMPINS];
571 uint16_t stateAntPin29;
572 uint16_t stateAntPin30;
573 uint32_t pinLockMask;
575 } PowerCC32XX_ModuleState;
608 PowerCC32XX_ParkState state);
661 #define Power_getPerformanceLevel(void) 0 662 #define Power_setPerformanceLevel(level) Power_EFAIL Definition: PowerCC32XX.h:433
Definition: PowerCC32XX.h:409
Definition: PowerCC32XX.h:415
Definition: PowerCC32XX.h:445
Definition: PowerCC32XX.h:461
void PowerCC32XX_configureWakeup(PowerCC32XX_Wakeup *wakeup)
Function configures wakeup for LPDS and shutdown.
void PowerCC32XX_getWakeup(PowerCC32XX_Wakeup *wakeup)
Function to get wakeup configuration settings.
bool enableNetworkWakeupLPDS
Definition: PowerCC32XX.h:490
Definition: PowerCC32XX.h:435
uint32_t ramRetentionMaskLPDS
SRAM retention mask for LPDS.
Definition: PowerCC32XX.h:305
Definition: PowerCC32XX.h:411
Definition: PowerCC32XX.h:399
Definition: PowerCC32XX.h:447
Definition: PowerCC32XX.h:473
PowerCC32XX_ParkInfo * pinParkDefs
Pointer to an array of pins to be parked during LPDS.
Definition: PowerCC32XX.h:329
Definition: PowerCC32XX.h:421
PowerCC32XX_ParkState PowerCC32XX_getParkState(PowerCC32XX_Pin pin)
Definition: PowerCC32XX.h:395
bool enableNetworkWakeupLPDS
Definition: PowerCC32XX.h:236
bool enableGPIOWakeupLPDS
Definition: PowerCC32XX.h:486
void(* Power_PolicyInitFxn)(void)
Power policy initialization function pointer.
Definition: Power.h:402
bool enableGPIOWakeupLPDS
Definition: PowerCC32XX.h:232
Definition: PowerCC32XX.h:465
Definition: PowerCC32XX.h:451
Definition: PowerCC32XX.h:453
Definition: PowerCC32XX.h:389
Specify the wakeup sources for LPDS and Shutdown.
Definition: PowerCC32XX.h:484
bool enablePolicy
Definition: PowerCC32XX.h:230
Definition: PowerCC32XX.h:455
Definition: PowerCC32XX.h:463
Definition: PowerCC32XX.h:417
uint32_t wakeupGPIOSourceShutdown
The GPIO sources for wakeup from shutdown.
Definition: PowerCC32XX.h:289
uint32_t parkState
Definition: PowerCC32XX.h:205
Definition: PowerCC32XX.h:387
Definition: PowerCC32XX.h:471
uint32_t pin
Definition: PowerCC32XX.h:203
Definition: PowerCC32XX.h:469
Definition: PowerCC32XX.h:391
Definition: PowerCC32XX.h:449
void PowerCC32XX_sleepPolicy(void)
A reference power policy is provided which can transition the MCU from the active state to one of two...
uint32_t wakeupGPIOSourceLPDS
The GPIO source for wakeup from LPDS.
Definition: PowerCC32XX.h:500
void PowerCC32XX_disableIORetention(unsigned long groupFlags)
Function to disable IO retention and unlock pin groups following exit from Shutdown.
void(* Power_PolicyFxn)(void)
Power policy function pointer.
Definition: Power.h:407
Definition: PowerCC32XX.h:457
Definition: PowerCC32XX.h:419
uint32_t wakeupGPIOTypeShutdown
The GPIO trigger type for wakeup from shutdown.
Definition: PowerCC32XX.h:297
uint32_t wakeupGPIOTypeLPDS
The GPIO trigger type for wakeup from LPDS.
Definition: PowerCC32XX.h:508
Definition: PowerCC32XX.h:425
Definition: PowerCC32XX.h:459
bool keepDebugActiveDuringLPDS
Keep debug interface active during LPDS.
Definition: PowerCC32XX.h:315
Definition: PowerCC32XX.h:397
Used to specify parking of a pin during LPDS.
Definition: PowerCC32XX.h:202
int_fast16_t PowerCC32XX_reset(uint_fast16_t resourceId)
Software reset of a resource.
Power_PolicyFxn policyFxn
Definition: PowerCC32XX.h:214
bool enableGPIOWakeupShutdown
Definition: PowerCC32XX.h:234
void PowerCC32XX_restoreParkState(PowerCC32XX_Pin pin, PowerCC32XX_ParkState state)
PowerCC32XX_Pin
Enumeration of pins that can be parked.
Definition: PowerCC32XX.h:405
uint32_t numPins
Number of pins to be parked during LPDS.
Definition: PowerCC32XX.h:333
Definition: PowerCC32XX.h:437
uint32_t wakeupGPIOSourceShutdown
The GPIO sources for wakeup from shutdown.
Definition: PowerCC32XX.h:543
Definition: PowerCC32XX.h:407
Definition: PowerCC32XX.h:427
void PowerCC32XX_setParkState(PowerCC32XX_Pin pin, uint32_t level)
Definition: PowerCC32XX.h:439
uint32_t wakeupGPIOTypeShutdown
The GPIO trigger type for wakeup from shutdown.
Definition: PowerCC32XX.h:551
Power global configuration.
Definition: PowerCC32XX.h:210
Definition: PowerCC32XX.h:393
Definition: PowerCC32XX.h:429
void PowerCC32XX_initPolicy(void)
Definition: PowerCC32XX.h:467
uint_least8_t wakeupGPIOFxnLPDSArg
The argument to be passed to wakeupGPIOFxnLPDS()
Definition: PowerCC32XX.h:533
Definition: PowerCC32XX.h:443
Definition: PowerCC32XX.h:431
bool enableGPIOWakeupShutdown
Definition: PowerCC32XX.h:488
Definition: PowerCC32XX.h:423
Power_PolicyInitFxn policyInitFxn
Definition: PowerCC32XX.h:212
uint32_t wakeupGPIOSourceLPDS
The GPIO source for wakeup from LPDS.
Definition: PowerCC32XX.h:246
uint_least8_t wakeupGPIOFxnLPDSArg
The argument to be passed to wakeupGPIOFxnLPDS()
Definition: PowerCC32XX.h:279
uint32_t wakeupGPIOTypeLPDS
The GPIO trigger type for wakeup from LPDS.
Definition: PowerCC32XX.h:254
Definition: PowerCC32XX.h:401
uint32_t ioRetentionShutdown
IO retention mask for Shutdown.
Definition: PowerCC32XX.h:323
Definition: PowerCC32XX.h:441
Definition: PowerCC32XX.h:413
Linked List interface for use in drivers.
PowerCC32XX_ParkState
Enumeration of states a pin can be parked in.
Definition: PowerCC32XX.h:385