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 223 void (*enterLPDSHookFxn)(void);
230 void (*resumeLPDSHookFxn)(void);
277 void (*wakeupGPIOFxnLPDS)(uint_least8_t argument);
352 uint32_t vectorTable;
354 uint32_t intCtrlState;
362 uint32_t systickCtrl;
363 uint32_t systickReload;
364 uint32_t systickCalib;
365 uint32_t intSetEn[PowerCC32XX_numNVICSetEnableRegs];
366 uint32_t intPriority[PowerCC32XX_numNVICIntPriority];
367 } PowerCC32XX_NVICRegisters;
383 } PowerCC32XX_MCURegisters;
392 PowerCC32XX_MCURegisters m4Regs;
393 PowerCC32XX_NVICRegisters nvicRegs;
394 } PowerCC32XX_SaveRegisters;
545 void (*wakeupGPIOFxnLPDS)(uint_least8_t argument);
577 uint32_t constraintMask;
579 uint16_t dbRecords[PowerCC32XX_NUMRESOURCES];
582 uint8_t refCount[PowerCC32XX_NUMRESOURCES];
583 uint8_t constraintCounts[PowerCC32XX_NUMCONSTRAINTS];
585 uint32_t pinType[PowerCC32XX_NUMPINS];
586 uint16_t pinDir[PowerCC32XX_NUMPINS];
587 uint8_t pinMode[PowerCC32XX_NUMPINS];
588 uint16_t stateAntPin29;
589 uint16_t stateAntPin30;
590 uint32_t pinLockMask;
592 } PowerCC32XX_ModuleState;
677 #define Power_getPerformanceLevel(void) 0 678 #define Power_setPerformanceLevel(level) Power_EFAIL Definition: PowerCC32XX.h:448
Definition: PowerCC32XX.h:424
Definition: PowerCC32XX.h:430
Definition: PowerCC32XX.h:460
Definition: PowerCC32XX.h:476
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:506
Definition: PowerCC32XX.h:450
uint32_t ramRetentionMaskLPDS
SRAM retention mask for LPDS.
Definition: PowerCC32XX.h:307
Definition: PowerCC32XX.h:426
Definition: PowerCC32XX.h:413
Definition: PowerCC32XX.h:462
Definition: PowerCC32XX.h:488
PowerCC32XX_ParkInfo * pinParkDefs
Pointer to an array of pins to be parked during LPDS.
Definition: PowerCC32XX.h:331
Definition: PowerCC32XX.h:436
PowerCC32XX_ParkState PowerCC32XX_getParkState(PowerCC32XX_Pin pin)
Definition: PowerCC32XX.h:409
bool enableNetworkWakeupLPDS
Definition: PowerCC32XX.h:238
bool enableGPIOWakeupLPDS
Definition: PowerCC32XX.h:502
void(* Power_PolicyInitFxn)(void)
Power policy initialization function pointer.
Definition: Power.h:402
bool enableGPIOWakeupLPDS
Definition: PowerCC32XX.h:234
Definition: PowerCC32XX.h:480
Definition: PowerCC32XX.h:466
Definition: PowerCC32XX.h:468
Definition: PowerCC32XX.h:403
Specify the wakeup sources for LPDS and Shutdown.
Definition: PowerCC32XX.h:499
bool enablePolicy
Definition: PowerCC32XX.h:232
Definition: PowerCC32XX.h:470
Definition: PowerCC32XX.h:478
Definition: PowerCC32XX.h:432
uint32_t wakeupGPIOSourceShutdown
The GPIO sources for wakeup from shutdown.
Definition: PowerCC32XX.h:291
uint32_t parkState
Definition: PowerCC32XX.h:206
Definition: PowerCC32XX.h:401
Definition: PowerCC32XX.h:486
uint32_t pin
Definition: PowerCC32XX.h:204
Definition: PowerCC32XX.h:484
Definition: PowerCC32XX.h:405
Definition: PowerCC32XX.h:464
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:516
uint32_t latencyForLPDS
Latency to reserve for entry to and exit from LPDS, in microseconds.
Definition: PowerCC32XX.h:343
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:472
Definition: PowerCC32XX.h:434
uint32_t wakeupGPIOTypeShutdown
The GPIO trigger type for wakeup from shutdown.
Definition: PowerCC32XX.h:299
uint32_t wakeupGPIOTypeLPDS
The GPIO trigger type for wakeup from LPDS.
Definition: PowerCC32XX.h:524
Definition: PowerCC32XX.h:440
Definition: PowerCC32XX.h:474
bool keepDebugActiveDuringLPDS
Keep debug interface active during LPDS.
Definition: PowerCC32XX.h:317
Definition: PowerCC32XX.h:411
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:216
bool enableGPIOWakeupShutdown
Definition: PowerCC32XX.h:236
void PowerCC32XX_restoreParkState(PowerCC32XX_Pin pin, PowerCC32XX_ParkState state)
PowerCC32XX_Pin
Enumeration of pins that can be parked.
Definition: PowerCC32XX.h:419
uint32_t numPins
Number of pins to be parked during LPDS.
Definition: PowerCC32XX.h:335
Definition: PowerCC32XX.h:452
uint32_t wakeupGPIOSourceShutdown
The GPIO sources for wakeup from shutdown.
Definition: PowerCC32XX.h:559
Definition: PowerCC32XX.h:422
Definition: PowerCC32XX.h:442
void PowerCC32XX_setParkState(PowerCC32XX_Pin pin, uint32_t level)
Definition: PowerCC32XX.h:454
uint32_t wakeupGPIOTypeShutdown
The GPIO trigger type for wakeup from shutdown.
Definition: PowerCC32XX.h:567
Power global configuration.
Definition: PowerCC32XX.h:211
Definition: PowerCC32XX.h:407
Definition: PowerCC32XX.h:444
void PowerCC32XX_initPolicy(void)
Definition: PowerCC32XX.h:482
uint_least8_t wakeupGPIOFxnLPDSArg
The argument to be passed to wakeupGPIOFxnLPDS()
Definition: PowerCC32XX.h:549
Definition: PowerCC32XX.h:458
Definition: PowerCC32XX.h:446
bool enableGPIOWakeupShutdown
Definition: PowerCC32XX.h:504
Definition: PowerCC32XX.h:438
Power_PolicyInitFxn policyInitFxn
Definition: PowerCC32XX.h:214
uint32_t wakeupGPIOSourceLPDS
The GPIO source for wakeup from LPDS.
Definition: PowerCC32XX.h:248
uint_least8_t wakeupGPIOFxnLPDSArg
The argument to be passed to wakeupGPIOFxnLPDS()
Definition: PowerCC32XX.h:281
uint32_t wakeupGPIOTypeLPDS
The GPIO trigger type for wakeup from LPDS.
Definition: PowerCC32XX.h:256
Definition: PowerCC32XX.h:415
uint32_t ioRetentionShutdown
IO retention mask for Shutdown.
Definition: PowerCC32XX.h:325
Definition: PowerCC32XX.h:456
Definition: PowerCC32XX.h:428
Linked List interface for use in drivers.
PowerCC32XX_ParkState
Enumeration of states a pin can be parked in.
Definition: PowerCC32XX.h:398