xWRL6432 MMWAVE-L-SDK  05.01.00.04

Introduction

This module contains APIs to program and use the pinmux module.

Files

file  power_xwrLx4xx.h
 Power manager interface for the 64XX/14xx.
 

Data Structures

struct  Power_ParkInfo
 Used to specify parking of a pin during LPDS. More...
 
struct  Power_ConfigV1
 Power global configuration. More...
 
struct  syncinpadcfg
 
struct  Power_Wakeup
 Specify the wakeup sources for LPDS and Shutdown. More...
 

Functions

void Power_configureWakeup (Power_Wakeup *wakeup)
 Function configures wakeup for LPDS and shutdown. More...
 
void Power_initPolicy (void)
 
void Power_getWakeup (Power_Wakeup *wakeup)
 Function to get wakeup configuration settings. More...
 
Power_ParkState Power_getParkState (Power_Pin pin)
 
void Power_restoreParkState (Power_Pin pin, Power_ParkState state)
 
void Power_setParkState (Power_Pin pin, uint32_t level)
 
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 sleep states: Low-Power Deep Sleep (LPDS) or Sleep. More...
 
int_fast16_t Power_reset (uint_fast16_t resourceId)
 Software reset of a resource. More...
 
void Power_Idle3 ()
 Device Idle mode. More...
 
void Power_afterLPDS (void)
 

Enumerations

enum  Power_GPIO_SYNCIO_Wakeup_Enable { POWER_GPIO_WAKEUP_LPDS, POWER_SYNCIN_IO_WAKEUP_LPDS }
 
enum  Power_ParkState {
  POWER_NO_PULL_HIZ, POWER_WEAK_PULL_UP_STD, POWER_WEAK_PULL_DOWN_STD, POWER_DRIVE_LOW,
  POWER_DRIVE_HIGH, POWER_DONT_PARK
}
 Enumeration of states a pin can be parked in. More...
 
enum  Power_Pin {
  POWER_PIN_PAD_AA = PIN_PAD_AA, POWER_PIN_PAD_AB = PIN_PAD_AB, POWER_PIN_PAD_AC = PIN_PAD_AC, POWER_PIN_PAD_AD = PIN_PAD_AD,
  POWER_PIN_PAD_AE = PIN_PAD_AE, POWER_PIN_PAD_AF = PIN_PAD_AF, POWER_PIN_PAD_AG = PIN_PAD_AG, POWER_PIN_PAD_AH = PIN_PAD_AH,
  POWER_PIN_PAD_AI = PIN_PAD_AI, POWER_PIN_PAD_AJ = PIN_PAD_AJ, POWER_PIN_PAD_AK = PIN_PAD_AK, POWER_PIN_PAD_AL = PIN_PAD_AL,
  POWER_PIN_PAD_AM = PIN_PAD_AM, POWER_PIN_PAD_AN = PIN_PAD_AN, POWER_PIN_PAD_AO = PIN_PAD_AO, POWER_PIN_PAD_AP = PIN_PAD_AP,
  POWER_PIN_PAD_AQ = PIN_PAD_AQ, POWER_PIN_PAD_AR = PIN_PAD_AR, POWER_PIN_PAD_AS = PIN_PAD_AS, POWER_PIN_PAD_AT = PIN_PAD_AT,
  POWER_PIN_PAD_AU = PIN_PAD_AU, POWER_PIN_PAD_AV = PIN_PAD_AV, POWER_PIN_PAD_AW = PIN_PAD_AW, POWER_PIN_PAD_AX = PIN_PAD_AX
}
 Enumeration of pins that can be parked. More...
 

Macros

#define POWER_RESUMETIMELPDS   2500
 
#define POWER_PERIPH_CAN   0
 
#define POWER_PERIPH_SPI   1
 
#define POWER_PERIPH_QSPI   2
 
#define POWER_PERIPH_TOPSS   3
 
#define POWER_PERIPH_APP_RTI   4
 
#define POWER_PERIPH_WD   5
 
#define POWER_PERIPH_UART0   6
 
#define POWER_PERIPH_UART1   7
 
#define POWER_PERIPH_I2C   8
 
#define POWER_PERIPH_LIN   9
 
#define POWER_PERIPH_ESM   10
 
#define POWER_PERIPH_EDMA   11
 
#define POWER_PERIPH_CRC   12
 
#define POWER_PERIPH_PWM   13
 
#define POWER_PERIPH_GIO   14
 
#define POWER_PERIPH_HWASS   15
 
#define POWER_DISALLOW_LPDS   0
 
#define POWER_DISALLOW_SLEEP   1
 
#define POWER_DISALLOW_IDLE   2
 
#define POWER_ENTERING_LPDS   0x1
 
#define POWER_ENTERING_SLEEP   0x2
 
#define POWER_ENTERING_IDLE   0x4
 
#define POWER_AWAKE_LPDS   0x8
 
#define POWER_AWAKE_SLEEP   0x10
 
#define POWER_AWAKE_IDLE   0x20
 

Macro Definition Documentation

◆ POWER_RESUMETIMELPDS

#define POWER_RESUMETIMELPDS   2500

The latency to reserve for resuming from LPDS (usec)

◆ POWER_PERIPH_CAN

#define POWER_PERIPH_CAN   0

Resource ID: CAN

◆ POWER_PERIPH_SPI

#define POWER_PERIPH_SPI   1

Resource ID: SPI

◆ POWER_PERIPH_QSPI

#define POWER_PERIPH_QSPI   2

Resource ID: QSPI

◆ POWER_PERIPH_TOPSS

#define POWER_PERIPH_TOPSS   3

Resource ID: TOPSS

◆ POWER_PERIPH_APP_RTI

#define POWER_PERIPH_APP_RTI   4

Resource ID: APP_RTI

◆ POWER_PERIPH_WD

#define POWER_PERIPH_WD   5

Resource ID: WD

◆ POWER_PERIPH_UART0

#define POWER_PERIPH_UART0   6

Resource ID: UART0

◆ POWER_PERIPH_UART1

#define POWER_PERIPH_UART1   7

Resource ID: UART1

◆ POWER_PERIPH_I2C

#define POWER_PERIPH_I2C   8

Resource ID: I2C

◆ POWER_PERIPH_LIN

#define POWER_PERIPH_LIN   9

Resource ID: LIN

◆ POWER_PERIPH_ESM

#define POWER_PERIPH_ESM   10

Resource ID: LIN

◆ POWER_PERIPH_EDMA

#define POWER_PERIPH_EDMA   11

Resource ID: LIN

◆ POWER_PERIPH_CRC

#define POWER_PERIPH_CRC   12

Resource ID: LIN

◆ POWER_PERIPH_PWM

#define POWER_PERIPH_PWM   13

Resource ID: LIN

◆ POWER_PERIPH_GIO

#define POWER_PERIPH_GIO   14

Resource ID: LIN

◆ POWER_PERIPH_HWASS

#define POWER_PERIPH_HWASS   15

Resource ID: LIN

◆ POWER_DISALLOW_LPDS

#define POWER_DISALLOW_LPDS   0

Constraint: Disallow entry to Low Power Deep Sleep (LPDS)

◆ POWER_DISALLOW_SLEEP

#define POWER_DISALLOW_SLEEP   1

Constraint: Disallow entry to Sleep

◆ POWER_DISALLOW_IDLE

#define POWER_DISALLOW_IDLE   2

Constraint: Disallow entry to Idle

◆ POWER_ENTERING_LPDS

#define POWER_ENTERING_LPDS   0x1

Power event: The device is entering the LPDS sleep state

◆ POWER_ENTERING_SLEEP

#define POWER_ENTERING_SLEEP   0x2

Power event: The device is entering the device sleep state

◆ POWER_ENTERING_IDLE

#define POWER_ENTERING_IDLE   0x4

Power event: The device is entering the idle state

◆ POWER_AWAKE_LPDS

#define POWER_AWAKE_LPDS   0x8

Power event: The device is waking from the LPDS sleep state

◆ POWER_AWAKE_SLEEP

#define POWER_AWAKE_SLEEP   0x10

Power event: The device is waking from the device sleep state

◆ POWER_AWAKE_IDLE

#define POWER_AWAKE_IDLE   0x20

Power event: The device is waking from the device idle state

Enumeration Type Documentation

◆ Power_GPIO_SYNCIO_Wakeup_Enable

Enumerator
POWER_GPIO_WAKEUP_LPDS 
POWER_SYNCIN_IO_WAKEUP_LPDS 

◆ Power_ParkState

Enumeration of states a pin can be parked in.

Enumerator
POWER_NO_PULL_HIZ 

No pull resistor, leave pin in a HIZ state

POWER_WEAK_PULL_UP_STD 

Pull-up resistor for standard pin type

POWER_WEAK_PULL_DOWN_STD 

Pull-down resistor for standard pin type

POWER_DRIVE_LOW 

Drive pin to a low logic state

POWER_DRIVE_HIGH 

Drive pin to a high logic state

POWER_DONT_PARK 

Take no action; do not park the pin

◆ Power_Pin

enum Power_Pin

Enumeration of pins that can be parked.

Enumerator
POWER_PIN_PAD_AA 

PIN_PAD_AA

POWER_PIN_PAD_AB 

PIN_PAD_AB

POWER_PIN_PAD_AC 

PIN_PAD_AC

POWER_PIN_PAD_AD 

PIN_PAD_AD

POWER_PIN_PAD_AE 

PIN_PAD_AE

POWER_PIN_PAD_AF 

PIN_PAD_AF

POWER_PIN_PAD_AG 

PIN_PAD_AG

POWER_PIN_PAD_AH 

PIN_PAD_AH

POWER_PIN_PAD_AI 

PIN_PAD_AI

POWER_PIN_PAD_AJ 

PIN_PAD_AJ

POWER_PIN_PAD_AK 

PIN_PAD_AK

POWER_PIN_PAD_AL 

PIN_PAD_AL

POWER_PIN_PAD_AM 

PIN_PAD_AM

POWER_PIN_PAD_AN 

PIN_PAD_AN

POWER_PIN_PAD_AO 

PIN_PAD_AO

POWER_PIN_PAD_AP 

PIN_PAD_AP

POWER_PIN_PAD_AQ 

PIN_PAD_AQ

POWER_PIN_PAD_AR 

PIN_PAD_AR

POWER_PIN_PAD_AS 

PIN_PAD_AS

POWER_PIN_PAD_AT 

PIN_PAD_AT

POWER_PIN_PAD_AU 

PIN_PAD_AU

POWER_PIN_PAD_AV 

PIN_PAD_AV

POWER_PIN_PAD_AW 

PIN_PAD_AW

POWER_PIN_PAD_AX 

PIN_PAD_AX

Function Documentation

◆ Power_configureWakeup()

void Power_configureWakeup ( Power_Wakeup wakeup)

Function configures wakeup for LPDS and shutdown.

This function allows the app to configure the GPIO source and type for waking up from LPDS and shutdown and the network host as a wakeup source for LPDS. This overwrites any previous wakeup settings.

Parameters
[in]wakeupSettings applied to wakeup configuration

◆ Power_initPolicy()

void Power_initPolicy ( void  )

OS-specific power policy initialization function

◆ Power_getWakeup()

void Power_getWakeup ( Power_Wakeup wakeup)

Function to get wakeup configuration settings.

This function allows an app to query the current LPDS and shutdown wakeup configuration settings.

Parameters
[in]wakeupA Power_Wakeup structure to be written into

◆ Power_getParkState()

Power_ParkState Power_getParkState ( Power_Pin  pin)

64XX-specific function to query the LPDS park state for a pin

◆ Power_restoreParkState()

void Power_restoreParkState ( Power_Pin  pin,
Power_ParkState  state 
)

64XX-specific function to restore the LPDS park state for a pin

◆ Power_setParkState()

void Power_setParkState ( Power_Pin  pin,
uint32_t  level 
)

64XX-specific function to dynamically set the LPDS park state for a pin

◆ Power_sleepPolicy()

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 sleep states: Low-Power Deep Sleep (LPDS) or Sleep.

The policy looks at the estimated idle time remaining, and the active constraints, and determine which sleep state to transition to. The policy will give first preference to choosing LPDS, but if that is not appropriate (e.g., not enough idle time), it will choose Sleep.

◆ Power_reset()

int_fast16_t Power_reset ( uint_fast16_t  resourceId)

Software reset of a resource.

This function performs a software reset of a resource.

Resource identifiers are device specific, and defined in the device-specific Power include file. For example, the resources for 64XX are defined in Power.h.

Parameters
[in]resourceIdresource id
Return values
#Power_SOKon success,
#Power_EINVALIDINPUTif the reseourceId is invalid.

◆ Power_Idle3()

void Power_Idle3 ( )

Device Idle mode.

This function brings the device to Idle3 mode.

◆ Power_afterLPDS()

void Power_afterLPDS ( void  )