|
xWRL6432 MMWAVE-L-SDK
05.04.00.01
|
|
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>
75 #define POWER_PERIPH_CAN 0
78 #define POWER_PERIPH_SPI 1
81 #define POWER_PERIPH_QSPI 2
84 #define POWER_PERIPH_TOPSS 3
87 #define POWER_PERIPH_APP_RTI 4
90 #define POWER_PERIPH_WD 5
93 #define POWER_PERIPH_UART0 6
96 #define POWER_PERIPH_UART1 7
99 #define POWER_PERIPH_I2C 8
102 #define POWER_PERIPH_LIN 9
105 #define POWER_PERIPH_ESM 10
108 #define POWER_PERIPH_EDMA 11
111 #define POWER_PERIPH_CRC 12
114 #define POWER_PERIPH_PWM 13
117 #define POWER_PERIPH_GIO 14
120 #define POWER_PERIPH_HWASS 15
124 #define POWER_NUMRESOURCES 16
131 #define POWER_DISALLOW_LPDS 0
134 #define POWER_DISALLOW_SLEEP 1
137 #define POWER_DISALLOW_IDLE 2
141 #define POWER_NUMCONSTRAINTS 3
150 #define POWER_ENTERING_LPDS 0x1
153 #define POWER_ENTERING_SLEEP 0x2
156 #define POWER_ENTERING_IDLE 0x4
159 #define POWER_AWAKE_LPDS 0x8
162 #define POWER_AWAKE_SLEEP 0x10
165 #define POWER_AWAKE_IDLE 0x20
169 #define POWER_NUMEVENTS 6
174 #define POWER_numNVICSetEnableRegs 6
175 #define POWER_numNVICIntPriority 49
180 #define POWER_NUMPINS 24
209 void (*enterLPDSHookFxn)(void);
216 void (*resumeLPDSHookFxn)(void);
223 void (*enteridle3HookFxn)(void);
230 void (*resumeidle3HookFxn)(void);
325 uint32_t vectorTable;
327 uint32_t intCtrlState;
335 uint32_t systickCtrl;
336 uint32_t systickReload;
337 uint32_t systickCalib;
338 uint32_t intSetEn[POWER_numNVICSetEnableRegs];
339 uint32_t intPriority[POWER_numNVICIntPriority];
340 } Power_NVICRegisters;
355 } Power_MCURegisters;
363 Power_MCURegisters m4Regs;
364 Power_NVICRegisters nvicRegs;
365 } Power_SaveRegisters;
477 List_List notifyList;
478 uint32_t constraintMask;
480 uint16_t dbRecords[POWER_NUMRESOURCES];
483 uint8_t refCount[POWER_NUMRESOURCES];
484 uint8_t constraintCounts[POWER_NUMCONSTRAINTS];
486 uint32_t pinMode[POWER_NUMPINS];
487 uint32_t pinLockMask;
543 int_fast16_t Power_reset(uint_fast16_t resourceId);
560 #define Power_getPerformanceLevel(void) 0
561 #define Power_setPerformanceLevel(level) Power_EFAIL
void(* Power_PolicyFxn)(unsigned long long sleepTimeus)
Power policy function pointer.
Definition: power.h:423
Power global configuration.
Definition: power_xwrLx4xx.h:198
uint32_t totalLatencyForSleep
Latency for entry to and exit from Sleep in microseconds.
Definition: power_xwrLx4xx.h:304
bool enableGPIOSyncIOWakeupLPDS
Definition: power_xwrLx4xx.h:442
uint32_t wakeupGPIOEdgeLPDS
The GPIO (WU_REQIN) trigger type for wakeup from LPDS.
Definition: power_xwrLx4xx.h:261
@ POWER_GPIO_WAKEUP_LPDS
Definition: power_xwrLx4xx.h:193
@ POWER_DONT_PARK
Definition: power_xwrLx4xx.h:373
bool enableSleepCounterWakeupLPDS
Definition: power_xwrLx4xx.h:446
Power_GPIO_SYNCIO_Wakeup_Enable selectGpioSyncIOLpds
Definition: power_xwrLx4xx.h:254
#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
uint32_t sleepThreshold
Threshold for entry to Sleep in microseconds.
Definition: power_xwrLx4xx.h:300
#define PIN_PAD_AC
Definition: pinmux/v0/pinmux.h:103
uint32_t ramRetentionMaskLPDS
SRAM retention mask for LPDS.
Definition: power_xwrLx4xx.h:275
uint32_t idleThreshold
Threshold for entry to Idle in microseconds.
Definition: power_xwrLx4xx.h:310
bool enableUARTWakeupLPDS
Definition: power_xwrLx4xx.h:242
#define PIN_PAD_AK
Definition: pinmux/v0/pinmux.h:111
uint32_t totalLatencyForIdle
Latency for entry to and exit from Idle in microseconds.
Definition: power_xwrLx4xx.h:314
#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:461
bool enableRTCWakeupLPDS
Definition: power_xwrLx4xx.h:452
Specify the wakeup sources for LPDS and Shutdown.
Definition: power_xwrLx4xx.h:439
#define PIN_PAD_AR
Definition: pinmux/v0/pinmux.h:118
Power_GPIO_SYNCIO_Wakeup_Enable selectGpioSyncIOLpds
Definition: power_xwrLx4xx.h:444
#define PIN_PAD_AA
Definition: pinmux/v0/pinmux.h:101
Power_ParkInfo * pinParkDefs
Pointer to an array of pins to be parked during LPDS.
Definition: power_xwrLx4xx.h:282
#define PIN_PAD_AM
Definition: pinmux/v0/pinmux.h:113
bool enableSleepCounterWakeupLPDS
Definition: power_xwrLx4xx.h:239
#define PIN_PAD_AB
Definition: pinmux/v0/pinmux.h:102
#define PIN_PAD_AN
Definition: pinmux/v0/pinmux.h:114
bool enableRTCWakeupLPDS
Definition: power_xwrLx4xx.h:248
#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
uint32_t pin
Definition: power_xwrLx4xx.h:185
#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:286
#define PIN_PAD_AW
Definition: pinmux/v0/pinmux.h:123
#define PIN_PAD_AP
Definition: pinmux/v0/pinmux.h:116
uint32_t parkState
Definition: power_xwrLx4xx.h:187
#define PIN_PAD_AJ
Definition: pinmux/v0/pinmux.h:110
bool enableFRCWakeupLPDS
Definition: power_xwrLx4xx.h:454
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:468
uint32_t LPDSThreshold
Threshold for entry to LPDS in microseconds.
Definition: power_xwrLx4xx.h:290
uint32_t resumeLatencyForLPDS
Definition: power_xwrLx4xx.h:296
#define PIN_PAD_AU
Definition: pinmux/v0/pinmux.h:121
Power_PolicyFxn policyFxn
Definition: power_xwrLx4xx.h:202
Power_ParkState
Enumeration of states a pin can be parked in.
Definition: power_xwrLx4xx.h:369
bool enableSPICSWakeupLPDS
Definition: power_xwrLx4xx.h:450
void Power_initPolicy(void)
bool enableFRCWakeupLPDS
Definition: power_xwrLx4xx.h:251
Power_GPIO_SYNCIO_Wakeup_Enable
Source of Wake-up can be either GPIO (WU_REQIN) or SYNC_IN.
Definition: power_xwrLx4xx.h:192
Power_PolicyInitFxn policyInitFxn
Definition: power_xwrLx4xx.h:200
void(* Power_PolicyInitFxn)(void)
Power policy initialization function pointer.
Definition: power.h:418
uint32_t totalLatencyForLPDS
Latency for entry to and exit from LPDS in microseconds.
Definition: power_xwrLx4xx.h:294
bool enableUARTWakeupLPDS
Definition: power_xwrLx4xx.h:448
uint32_t resumeLatencyForIdle
Definition: power_xwrLx4xx.h:316
@ POWER_PARK
Definition: power_xwrLx4xx.h:371
void Power_getWakeup(Power_Wakeup *wakeup)
Function to get wakeup configuration settings.
uint32_t resumeLatencyForSleep
Definition: power_xwrLx4xx.h:306
bool enableSPICSWakeupLPDS
Definition: power_xwrLx4xx.h:245
Used to specify parking of a pin during LPDS.
Definition: power_xwrLx4xx.h:184
#define PIN_PAD_AD
Definition: pinmux/v0/pinmux.h:104
@ POWER_SYNCIN_IO_WAKEUP_LPDS
Definition: power_xwrLx4xx.h:194
uint32_t wakeupSyncIOEdgeLPDS
The SYNC-IN trigger type for wakeup from LPDS.
Definition: power_xwrLx4xx.h:268
#define PIN_PAD_AS
Definition: pinmux/v0/pinmux.h:119
bool enablePolicy
Definition: power_xwrLx4xx.h:233
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...
bool enableGPIOSyncIOWakeupLPDS
Definition: power_xwrLx4xx.h:236
#define PIN_PAD_AF
Definition: pinmux/v0/pinmux.h:106
#define PIN_PAD_AO
Definition: pinmux/v0/pinmux.h:115