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);
349 uint32_t vectorTable;
351 uint32_t intCtrlState;
359 uint32_t systickCtrl;
360 uint32_t systickReload;
361 uint32_t systickCalib;
362 uint32_t intSetEn[PowerCC32XX_numNVICSetEnableRegs];
363 uint32_t intPriority[PowerCC32XX_numNVICIntPriority];
364 } PowerCC32XX_NVICRegisters;
379 } PowerCC32XX_MCURegisters;
387 PowerCC32XX_MCURegisters m4Regs;
388 PowerCC32XX_NVICRegisters nvicRegs;
389 } PowerCC32XX_SaveRegisters;
537 void (*wakeupGPIOFxnLPDS)(uint_least8_t argument);
568 uint32_t constraintMask;
570 uint16_t dbRecords[PowerCC32XX_NUMRESOURCES];
573 uint8_t refCount[PowerCC32XX_NUMRESOURCES];
574 uint8_t constraintCounts[PowerCC32XX_NUMCONSTRAINTS];
576 uint32_t pinType[PowerCC32XX_NUMPINS];
577 uint16_t pinDir[PowerCC32XX_NUMPINS];
578 uint8_t pinMode[PowerCC32XX_NUMPINS];
579 uint16_t stateAntPin29;
580 uint16_t stateAntPin30;
581 uint32_t pinLockMask;
583 } PowerCC32XX_ModuleState;
616 PowerCC32XX_ParkState state);
669 #define Power_getPerformanceLevel(void) 0 670 #define Power_setPerformanceLevel(level) Power_EFAIL Definition: PowerCC32XX.h:441
Definition: PowerCC32XX.h:417
Definition: PowerCC32XX.h:423
Definition: PowerCC32XX.h:453
Definition: PowerCC32XX.h:469
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:498
Definition: PowerCC32XX.h:443
uint32_t ramRetentionMaskLPDS
SRAM retention mask for LPDS.
Definition: PowerCC32XX.h:305
Definition: PowerCC32XX.h:419
Definition: PowerCC32XX.h:407
Definition: PowerCC32XX.h:455
Definition: PowerCC32XX.h:481
PowerCC32XX_ParkInfo * pinParkDefs
Pointer to an array of pins to be parked during LPDS.
Definition: PowerCC32XX.h:329
Definition: PowerCC32XX.h:429
PowerCC32XX_ParkState PowerCC32XX_getParkState(PowerCC32XX_Pin pin)
Definition: PowerCC32XX.h:403
bool enableNetworkWakeupLPDS
Definition: PowerCC32XX.h:236
bool enableGPIOWakeupLPDS
Definition: PowerCC32XX.h:494
void(* Power_PolicyInitFxn)(void)
Power policy initialization function pointer.
Definition: Power.h:402
bool enableGPIOWakeupLPDS
Definition: PowerCC32XX.h:232
Definition: PowerCC32XX.h:473
Definition: PowerCC32XX.h:459
Definition: PowerCC32XX.h:461
Definition: PowerCC32XX.h:397
Specify the wakeup sources for LPDS and Shutdown.
Definition: PowerCC32XX.h:492
bool enablePolicy
Definition: PowerCC32XX.h:230
Definition: PowerCC32XX.h:463
Definition: PowerCC32XX.h:471
Definition: PowerCC32XX.h:425
uint32_t wakeupGPIOSourceShutdown
The GPIO sources for wakeup from shutdown.
Definition: PowerCC32XX.h:289
uint32_t parkState
Definition: PowerCC32XX.h:205
Definition: PowerCC32XX.h:395
Definition: PowerCC32XX.h:479
uint32_t pin
Definition: PowerCC32XX.h:203
Definition: PowerCC32XX.h:477
Definition: PowerCC32XX.h:399
Definition: PowerCC32XX.h:457
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:508
uint32_t latencyForLPDS
Latency to reserve for entry to and exit from LPDS, in microseconds.
Definition: PowerCC32XX.h:341
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:465
Definition: PowerCC32XX.h:427
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:516
Definition: PowerCC32XX.h:433
Definition: PowerCC32XX.h:467
bool keepDebugActiveDuringLPDS
Keep debug interface active during LPDS.
Definition: PowerCC32XX.h:315
Definition: PowerCC32XX.h:405
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:413
uint32_t numPins
Number of pins to be parked during LPDS.
Definition: PowerCC32XX.h:333
Definition: PowerCC32XX.h:445
uint32_t wakeupGPIOSourceShutdown
The GPIO sources for wakeup from shutdown.
Definition: PowerCC32XX.h:551
Definition: PowerCC32XX.h:415
Definition: PowerCC32XX.h:435
void PowerCC32XX_setParkState(PowerCC32XX_Pin pin, uint32_t level)
Definition: PowerCC32XX.h:447
uint32_t wakeupGPIOTypeShutdown
The GPIO trigger type for wakeup from shutdown.
Definition: PowerCC32XX.h:559
Power global configuration.
Definition: PowerCC32XX.h:210
Definition: PowerCC32XX.h:401
Definition: PowerCC32XX.h:437
void PowerCC32XX_initPolicy(void)
Definition: PowerCC32XX.h:475
uint_least8_t wakeupGPIOFxnLPDSArg
The argument to be passed to wakeupGPIOFxnLPDS()
Definition: PowerCC32XX.h:541
Definition: PowerCC32XX.h:451
Definition: PowerCC32XX.h:439
bool enableGPIOWakeupShutdown
Definition: PowerCC32XX.h:496
Definition: PowerCC32XX.h:431
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:409
uint32_t ioRetentionShutdown
IO retention mask for Shutdown.
Definition: PowerCC32XX.h:323
Definition: PowerCC32XX.h:449
Definition: PowerCC32XX.h:421
Linked List interface for use in drivers.
PowerCC32XX_ParkState
Enumeration of states a pin can be parked in.
Definition: PowerCC32XX.h:393