![Logo](ti_logo.svg) |
xWRL6432 MMWAVE-L-SDK
05.01.00.04
|
|
Go to the documentation of this file.
59 #ifndef POWER_XWRLX4XX_H
60 #define POWER_XWRLX4XX_H
63 #include <drivers/utils/List.h>
64 #include <drivers/hw_include/hw_types.h>
66 #include <drivers/power.h>
75 #define POWER_RESUMETIMELPDS 2500
78 #define POWER_PERIPH_CAN 0
81 #define POWER_PERIPH_SPI 1
84 #define POWER_PERIPH_QSPI 2
87 #define POWER_PERIPH_TOPSS 3
90 #define POWER_PERIPH_APP_RTI 4
93 #define POWER_PERIPH_WD 5
96 #define POWER_PERIPH_UART0 6
99 #define POWER_PERIPH_UART1 7
102 #define POWER_PERIPH_I2C 8
105 #define POWER_PERIPH_LIN 9
108 #define POWER_PERIPH_ESM 10
111 #define POWER_PERIPH_EDMA 11
114 #define POWER_PERIPH_CRC 12
117 #define POWER_PERIPH_PWM 13
120 #define POWER_PERIPH_GIO 14
123 #define POWER_PERIPH_HWASS 15
127 #define POWER_NUMRESOURCES 16
133 #define POWER_DISALLOW_LPDS 0
136 #define POWER_DISALLOW_SLEEP 1
139 #define POWER_DISALLOW_IDLE 2
143 #define POWER_NUMCONSTRAINTS 3
152 #define POWER_ENTERING_LPDS 0x1
155 #define POWER_ENTERING_SLEEP 0x2
158 #define POWER_ENTERING_IDLE 0x4
161 #define POWER_AWAKE_LPDS 0x8
164 #define POWER_AWAKE_SLEEP 0x10
167 #define POWER_AWAKE_IDLE 0x20
171 #define POWER_NUMEVENTS 6
176 #define POWER_numNVICSetEnableRegs 6
177 #define POWER_numNVICIntPriority 49
182 #define POWER_NUMPINS 24
210 void (*enterLPDSHookFxn)(void);
217 void (*resumeLPDSHookFxn)(void);
280 void (*wakeupGPIOFxnLPDS)(uint_least8_t argument);
360 uint32_t vectorTable;
362 uint32_t intCtrlState;
370 uint32_t systickCtrl;
371 uint32_t systickReload;
372 uint32_t systickCalib;
373 uint32_t intSetEn[POWER_numNVICSetEnableRegs];
374 uint32_t intPriority[POWER_numNVICIntPriority];
375 } Power_NVICRegisters;
390 } Power_MCURegisters;
398 Power_MCURegisters m4Regs;
399 Power_NVICRegisters nvicRegs;
400 } Power_SaveRegisters;
538 void (*wakeupGPIOFxnLPDS)(uint_least8_t argument);
570 List_List notifyList;
571 uint32_t constraintMask;
573 uint16_t dbRecords[POWER_NUMRESOURCES];
576 uint8_t refCount[POWER_NUMRESOURCES];
577 uint8_t constraintCounts[POWER_NUMCONSTRAINTS];
578 Power_PolicyFxn policyFxn;
579 uint32_t pinMode[POWER_NUMPINS];
580 uint32_t pinLockMask;
660 #define Power_getPerformanceLevel(void) 0
661 #define Power_setPerformanceLevel(level) Power_EFAIL
@ POWER_PIN_PAD_AM
Definition: power_xwrLx4xx.h:446
Power global configuration.
Definition: power_xwrLx4xx.h:199
uint_least8_t wakeupGPIOFxnLPDSArg
The argument to be passed to wakeupGPIOFxnLPDS()
Definition: power_xwrLx4xx.h:542
uint32_t totalLatencyForSleep
Definition: power_xwrLx4xx.h:345
bool enableGPIOSyncIOWakeupLPDS
Definition: power_xwrLx4xx.h:487
uint32_t wakeupGPIOEdgeLPDS
The GPIO trigger type for wakeup from LPDS.
Definition: power_xwrLx4xx.h:259
@ POWER_GPIO_WAKEUP_LPDS
Definition: power_xwrLx4xx.h:194
@ POWER_DONT_PARK
Definition: power_xwrLx4xx.h:416
uint32_t mode
Definition: power_xwrLx4xx.h:474
bool enableSleepCounterWakeupLPDS
Definition: power_xwrLx4xx.h:491
Power_GPIO_SYNCIO_Wakeup_Enable selectGpioSyncIOLpds
Definition: power_xwrLx4xx.h:240
#define PIN_PAD_AI
Definition: pinmux/v0/pinmux.h:109
#define PIN_PAD_AX
Definition: pinmux/v0/pinmux.h:124
#define PIN_PAD_AE
Definition: pinmux/v0/pinmux.h:105
#define PIN_PAD_AL
Definition: pinmux/v0/pinmux.h:112
@ POWER_PIN_PAD_AT
Definition: power_xwrLx4xx.h:460
@ POWER_PIN_PAD_AU
Definition: power_xwrLx4xx.h:462
#define PIN_PAD_AC
Definition: pinmux/v0/pinmux.h:103
@ POWER_WEAK_PULL_UP_STD
Definition: power_xwrLx4xx.h:408
uint32_t ramRetentionMaskLPDS
SRAM retention mask for LPDS.
Definition: power_xwrLx4xx.h:312
bool enableUARTWakeupLPDS
Definition: power_xwrLx4xx.h:228
@ POWER_PIN_PAD_AE
Definition: power_xwrLx4xx.h:430
@ POWER_PIN_PAD_AB
Definition: power_xwrLx4xx.h:424
#define PIN_PAD_AK
Definition: pinmux/v0/pinmux.h:111
uint32_t totalLatencyForIdle
Definition: power_xwrLx4xx.h:349
#define PIN_PAD_AV
Definition: pinmux/v0/pinmux.h:122
void Power_Idle3()
Device Idle mode.
uint32_t wakeupGPIOEdgeLPDS
The GPIO trigger type for wakeup from LPDS.
Definition: power_xwrLx4xx.h:517
bool enableRTCWakeupLPDS
Definition: power_xwrLx4xx.h:497
Specify the wakeup sources for LPDS and Shutdown.
Definition: power_xwrLx4xx.h:485
#define PIN_PAD_AR
Definition: pinmux/v0/pinmux.h:118
Power_GPIO_SYNCIO_Wakeup_Enable selectGpioSyncIOLpds
Definition: power_xwrLx4xx.h:489
#define PIN_PAD_AA
Definition: pinmux/v0/pinmux.h:101
@ POWER_PIN_PAD_AK
Definition: power_xwrLx4xx.h:442
uint_least8_t wakeupGPIOFxnLPDSArg
The argument to be passed to wakeupGPIOFxnLPDS()
Definition: power_xwrLx4xx.h:284
Power_ParkInfo * pinParkDefs
Pointer to an array of pins to be parked during LPDS.
Definition: power_xwrLx4xx.h:329
#define PIN_PAD_AM
Definition: pinmux/v0/pinmux.h:113
bool enableSleepCounterWakeupLPDS
Definition: power_xwrLx4xx.h:225
uint32_t wakeupSyncIOPadLPDS
The GPIO source for wakeup from LPDS.
Definition: power_xwrLx4xx.h:553
#define PIN_PAD_AB
Definition: pinmux/v0/pinmux.h:102
#define PIN_PAD_AN
Definition: pinmux/v0/pinmux.h:114
Power_Pin
Enumeration of pins that can be parked.
Definition: power_xwrLx4xx.h:420
@ POWER_PIN_PAD_AI
Definition: power_xwrLx4xx.h:438
Definition: power_xwrLx4xx.h:472
@ POWER_WEAK_PULL_DOWN_STD
Definition: power_xwrLx4xx.h:410
void Power_setParkState(Power_Pin pin, uint32_t level)
bool enableRTCWakeupLPDS
Definition: power_xwrLx4xx.h:234
@ POWER_PIN_PAD_AW
Definition: power_xwrLx4xx.h:466
#define PIN_PAD_AG
Definition: pinmux/v0/pinmux.h:107
#define PIN_PAD_AH
Definition: pinmux/v0/pinmux.h:108
#define PIN_PAD_AT
Definition: pinmux/v0/pinmux.h:120
bool keepDebugActiveDuringLPDS
Keep debug interface active during LPDS.
Definition: power_xwrLx4xx.h:322
int_fast16_t Power_reset(uint_fast16_t resourceId)
Software reset of a resource.
uint32_t pin
Definition: power_xwrLx4xx.h:187
#define PIN_PAD_AQ
Definition: pinmux/v0/pinmux.h:117
uint32_t numPins
Number of pins to be parked during LPDS.
Definition: power_xwrLx4xx.h:333
#define PIN_PAD_AW
Definition: pinmux/v0/pinmux.h:123
uint32_t wakeupGPIOPadLPDS
The GPIO source for wakeup from LPDS.
Definition: power_xwrLx4xx.h:509
#define PIN_PAD_AP
Definition: pinmux/v0/pinmux.h:116
@ POWER_DRIVE_HIGH
Definition: power_xwrLx4xx.h:414
uint32_t parkState
Definition: power_xwrLx4xx.h:189
@ POWER_PIN_PAD_AP
Definition: power_xwrLx4xx.h:452
@ POWER_PIN_PAD_AR
Definition: power_xwrLx4xx.h:456
#define PIN_PAD_AJ
Definition: pinmux/v0/pinmux.h:110
Power_ParkState Power_getParkState(Power_Pin pin)
@ POWER_PIN_PAD_AC
Definition: power_xwrLx4xx.h:426
bool enableFRCWakeupLPDS
Definition: power_xwrLx4xx.h:499
void Power_configureWakeup(Power_Wakeup *wakeup)
Function configures wakeup for LPDS and shutdown.
uint32_t wakeupSyncIOEdgeLPDS
The GPIO trigger type for wakeup from LPDS.
Definition: power_xwrLx4xx.h:561
void Power_restoreParkState(Power_Pin pin, Power_ParkState state)
uint32_t resumeLatencyForLPDS
Definition: power_xwrLx4xx.h:343
@ POWER_PIN_PAD_AA
Definition: power_xwrLx4xx.h:422
#define PIN_PAD_AU
Definition: pinmux/v0/pinmux.h:121
uint32_t pad
Definition: power_xwrLx4xx.h:473
uint32_t wakeupSyncIOPadLPDS
The GPIO source for wakeup from LPDS.
Definition: power_xwrLx4xx.h:295
Power_PolicyFxn policyFxn
Definition: power_xwrLx4xx.h:203
Power_ParkState
Enumeration of states a pin can be parked in.
Definition: power_xwrLx4xx.h:404
bool enableSPICSWakeupLPDS
Definition: power_xwrLx4xx.h:495
void Power_afterLPDS(void)
void Power_initPolicy(void)
bool enableFRCWakeupLPDS
Definition: power_xwrLx4xx.h:237
Power_GPIO_SYNCIO_Wakeup_Enable
Definition: power_xwrLx4xx.h:193
Power_PolicyInitFxn policyInitFxn
Definition: power_xwrLx4xx.h:201
@ POWER_DRIVE_LOW
Definition: power_xwrLx4xx.h:412
@ POWER_PIN_PAD_AS
Definition: power_xwrLx4xx.h:458
uint32_t totalLatencyForLPDS
Latency to reserve for entry to and exit from LPDS, in microseconds.
Definition: power_xwrLx4xx.h:341
@ POWER_PIN_PAD_AO
Definition: power_xwrLx4xx.h:450
bool enableUARTWakeupLPDS
Definition: power_xwrLx4xx.h:493
@ POWER_PIN_PAD_AD
Definition: power_xwrLx4xx.h:428
uint32_t resumeLatencyForIdle
Definition: power_xwrLx4xx.h:351
@ POWER_PIN_PAD_AF
Definition: power_xwrLx4xx.h:432
@ POWER_PIN_PAD_AX
Definition: power_xwrLx4xx.h:468
void Power_getWakeup(Power_Wakeup *wakeup)
Function to get wakeup configuration settings.
@ POWER_PIN_PAD_AV
Definition: power_xwrLx4xx.h:464
uint32_t resumeLatencyForSleep
Definition: power_xwrLx4xx.h:347
@ POWER_PIN_PAD_AQ
Definition: power_xwrLx4xx.h:454
bool enableSPICSWakeupLPDS
Definition: power_xwrLx4xx.h:231
uint32_t wakeupGPIOPadLPDS
The GPIO source for wakeup from LPDS.
Definition: power_xwrLx4xx.h:251
Used to specify parking of a pin during LPDS.
Definition: power_xwrLx4xx.h:186
@ POWER_PIN_PAD_AN
Definition: power_xwrLx4xx.h:448
@ POWER_PIN_PAD_AH
Definition: power_xwrLx4xx.h:436
#define PIN_PAD_AD
Definition: pinmux/v0/pinmux.h:104
@ POWER_PIN_PAD_AJ
Definition: power_xwrLx4xx.h:440
@ POWER_SYNCIN_IO_WAKEUP_LPDS
Definition: power_xwrLx4xx.h:195
uint32_t wakeupSyncIOEdgeLPDS
The GPIO trigger type for wakeup from LPDS.
Definition: power_xwrLx4xx.h:303
#define PIN_PAD_AS
Definition: pinmux/v0/pinmux.h:119
bool enablePolicy
Definition: power_xwrLx4xx.h:220
void Power_sleepPolicy(unsigned long long sleepTimeus)
A reference power policy is provided which can transition the MCU from the active state to one of two...
@ POWER_NO_PULL_HIZ
Definition: power_xwrLx4xx.h:406
@ POWER_PIN_PAD_AL
Definition: power_xwrLx4xx.h:444
bool enableGPIOSyncIOWakeupLPDS
Definition: power_xwrLx4xx.h:222
#define PIN_PAD_AF
Definition: pinmux/v0/pinmux.h:106
#define PIN_PAD_AO
Definition: pinmux/v0/pinmux.h:115
@ POWER_PIN_PAD_AG
Definition: power_xwrLx4xx.h:434