PDK API Guide for J721E

Introduction

Files

file  wd_timer.h
 Watchdog timer APIs and macros.
 

Functions

void WDTIMEREnable (uint32_t baseAddr)
 Starts/Enables the watchdog timer. More...
 
void WDTIMERDisable (uint32_t baseAddr)
 Stops/Disables the watchdog timer. More...
 
uint32_t WDTIMERRevisionIDGet (uint32_t baseAddr)
 Return the revision id of the SOC used. More...
 
void WDTIMERReset (uint32_t baseAddr)
 Reset the watchdog timer module. More...
 
void WDTIMERPreScalerClkEnable (uint32_t baseAddr, uint32_t ptv)
 This API will configure and enable the pre-scaler clock. More...
 
void WDTIMERPreScalerClkDisable (uint32_t baseAddr)
 This API will disable the pre-scaler clock. More...
 
void WDTIMERCounterSet (uint32_t baseAddr, uint32_t countVal)
 Set/Write the Counter register with the counter value. More...
 
uint32_t WDTIMERCounterGet (uint32_t baseAddr)
 Get/Read the counter value from the counter register. More...
 
void WDTIMERReloadSet (uint32_t baseAddr, uint32_t reloadVal)
 Set the reload count value in the Watchdog timer load register. More...
 
uint32_t WDTIMERReloadGet (uint32_t baseAddr)
 Get the reload count value from the Watchdog timer load register. More...
 
void WDTIMERTriggerSet (uint32_t baseAddr, uint32_t trigVal)
 Set/enable the trigger write access. More...
 
void WDTIMERDelaySet (uint32_t baseAddr, uint32_t delayVal)
 Load the delay register of Watchdog timer with the delay value. More...
 
uint32_t WDTIMERDelayGet (uint32_t baseAddr)
 Return the delay register value of Watchdog timer. More...
 
void WDTIMERIntRawStatusSet (uint32_t baseAddr, uint32_t intFlags)
 Set IRQ status by software. More...
 
uint32_t WDTIMERIntRawStatusGet (uint32_t baseAddr)
 Return the Raw IRQ status. More...
 
uint32_t WDTIMERIntStatusGet (uint32_t baseAddr)
 Read the status of WD_TIMER_WIRQSTAT register. More...
 
void WDTIMERIntStatusClear (uint32_t baseAddr, uint32_t intFlags)
 Clear IRQ status. More...
 
void WDTIMERIntEnable (uint32_t baseAddr, uint32_t intFlags)
 Enable Watchdog timer interrupts. More...
 
uint32_t WDTIMERIntEnableStatusGet (uint32_t baseAddr)
 Used to check whether interrupts of Watchdog timer are enabled or disabled. More...
 
void WDTIMERIntDisable (uint32_t baseAddr, uint32_t intFlags)
 Disable Watchdog timer interrupts. More...
 
uint32_t WDTIMERWritePostedStatusGet (uint32_t baseAddr, uint32_t flags)
 Read the status of WD_TIMER_WWPS register. More...
 

Values that can be passed to WDTIMERPreScalerClkEnable API as ptv.

#define WD_TIMER_PRESCALER_CLK_DIV_1   (uint32_t) (0x00000000U)
 
#define WD_TIMER_PRESCALER_CLK_DIV_2   (uint32_t) (0x00000004U)
 
#define WD_TIMER_PRESCALER_CLK_DIV_4   (uint32_t) (0x00000008U)
 
#define WD_TIMER_PRESCALER_CLK_DIV_8   (uint32_t) (0x0000000CU)
 
#define WD_TIMER_PRESCALER_CLK_DIV_16   (uint32_t) (0x00000010U)
 
#define WD_TIMER_PRESCALER_CLK_DIV_32   (uint32_t) (0x00000014U)
 
#define WD_TIMER_PRESCALER_CLK_DIV_64   (uint32_t) (0x00000018U)
 
#define WD_TIMER_PRESCALER_CLK_DIV_128   (uint32_t) (0x0000001CU)
 
#define WD_TIMER_INT_DELAY   (WD_TIMER_WIRQSTATRAW_EVENT_DLY_MASK)
 Values that can be passed to WDTIMERIntRawStatusSet, WDTIMERIntStatusClear APIs as intFlags. More...
 
#define WD_TIMER_INT_OVERFLOW   (WD_TIMER_WIRQSTATRAW_EVENT_OVF_MASK)
 
#define WD_TIMER_INT_ALL
 
#define WD_TIMER_INT_ENABLE_DELAY   (WD_TIMER_WIRQENSET_ENABLE_DLY_MASK)
 values passed to WDTIMERIntEnable as intFlags. More...
 
#define WD_TIMER_INT_ENABLE_OVRFLW   (WD_TIMER_WIRQENSET_ENABLE_OVF_MASK)
 
#define WD_TIMER_INT_ENABLE_ALL
 
#define WD_TIMER_INT_DISABLE_DELAY   (WD_TIMER_WIRQENCLR_ENABLE_DLY_MASK)
 Values passed to WDTIMERIntDisable as intFlags. More...
 
#define WD_TIMER_INT_DISABLE_OVRFLW   (WD_TIMER_WIRQENCLR_ENABLE_OVF_MASK)
 
#define WD_TIMER_INT_DISABLE_ALL
 
#define WD_TIMER_WRITE_PENDING_WCLR   ((uint32_t) WD_TIMER_WWPS_W_PEND_WCLR_MASK)
 Values to read the status of WDTIMERWritePostedStatusGet API. More...
 
#define WD_TIMER_WRITE_PENDING_WCRR   ((uint32_t) WD_TIMER_WWPS_W_PEND_WCRR_MASK)
 
#define WD_TIMER_WRITE_PENDING_WLDR   ((uint32_t) WD_TIMER_WWPS_W_PEND_WLDR_MASK)
 
#define WD_TIMER_WRITE_PENDING_WTGR   ((uint32_t) WD_TIMER_WWPS_W_PEND_WTGR_MASK)
 
#define WD_TIMER_WRITE_PENDING_WSPR   ((uint32_t) WD_TIMER_WWPS_W_PEND_WSPR_MASK)
 
#define WD_TIMER_WRITE_PENDING_WDLY   ((uint32_t) WD_TIMER_WWPS_W_PEND_WDLY_MASK)
 

Macro Definition Documentation

◆ WD_TIMER_PRESCALER_CLK_DIV_1

#define WD_TIMER_PRESCALER_CLK_DIV_1   (uint32_t) (0x00000000U)

◆ WD_TIMER_PRESCALER_CLK_DIV_2

#define WD_TIMER_PRESCALER_CLK_DIV_2   (uint32_t) (0x00000004U)

◆ WD_TIMER_PRESCALER_CLK_DIV_4

#define WD_TIMER_PRESCALER_CLK_DIV_4   (uint32_t) (0x00000008U)

◆ WD_TIMER_PRESCALER_CLK_DIV_8

#define WD_TIMER_PRESCALER_CLK_DIV_8   (uint32_t) (0x0000000CU)

◆ WD_TIMER_PRESCALER_CLK_DIV_16

#define WD_TIMER_PRESCALER_CLK_DIV_16   (uint32_t) (0x00000010U)

◆ WD_TIMER_PRESCALER_CLK_DIV_32

#define WD_TIMER_PRESCALER_CLK_DIV_32   (uint32_t) (0x00000014U)

◆ WD_TIMER_PRESCALER_CLK_DIV_64

#define WD_TIMER_PRESCALER_CLK_DIV_64   (uint32_t) (0x00000018U)

◆ WD_TIMER_PRESCALER_CLK_DIV_128

#define WD_TIMER_PRESCALER_CLK_DIV_128   (uint32_t) (0x0000001CU)

◆ WD_TIMER_INT_DELAY

#define WD_TIMER_INT_DELAY   (WD_TIMER_WIRQSTATRAW_EVENT_DLY_MASK)

Values that can be passed to WDTIMERIntRawStatusSet, WDTIMERIntStatusClear APIs as intFlags.

◆ WD_TIMER_INT_OVERFLOW

#define WD_TIMER_INT_OVERFLOW   (WD_TIMER_WIRQSTATRAW_EVENT_OVF_MASK)

◆ WD_TIMER_INT_ALL

#define WD_TIMER_INT_ALL
Value:
WD_TIMER_INT_OVERFLOW)
#define WD_TIMER_INT_DELAY
Values that can be passed to WDTIMERIntRawStatusSet, WDTIMERIntStatusClear APIs as intFlags.
Definition: wd_timer.h:105

◆ WD_TIMER_INT_ENABLE_DELAY

#define WD_TIMER_INT_ENABLE_DELAY   (WD_TIMER_WIRQENSET_ENABLE_DLY_MASK)

values passed to WDTIMERIntEnable as intFlags.

◆ WD_TIMER_INT_ENABLE_OVRFLW

#define WD_TIMER_INT_ENABLE_OVRFLW   (WD_TIMER_WIRQENSET_ENABLE_OVF_MASK)

◆ WD_TIMER_INT_ENABLE_ALL

#define WD_TIMER_INT_ENABLE_ALL
Value:
WD_TIMER_INT_ENABLE_OVRFLW)
#define WD_TIMER_INT_ENABLE_DELAY
values passed to WDTIMERIntEnable as intFlags.
Definition: wd_timer.h:120

◆ WD_TIMER_INT_DISABLE_DELAY

#define WD_TIMER_INT_DISABLE_DELAY   (WD_TIMER_WIRQENCLR_ENABLE_DLY_MASK)

Values passed to WDTIMERIntDisable as intFlags.

◆ WD_TIMER_INT_DISABLE_OVRFLW

#define WD_TIMER_INT_DISABLE_OVRFLW   (WD_TIMER_WIRQENCLR_ENABLE_OVF_MASK)

◆ WD_TIMER_INT_DISABLE_ALL

#define WD_TIMER_INT_DISABLE_ALL
Value:
WD_TIMER_INT_DISABLE_OVRFLW)
#define WD_TIMER_INT_DISABLE_DELAY
Values passed to WDTIMERIntDisable as intFlags.
Definition: wd_timer.h:135

◆ WD_TIMER_WRITE_PENDING_WCLR

#define WD_TIMER_WRITE_PENDING_WCLR   ((uint32_t) WD_TIMER_WWPS_W_PEND_WCLR_MASK)

Values to read the status of WDTIMERWritePostedStatusGet API.

◆ WD_TIMER_WRITE_PENDING_WCRR

#define WD_TIMER_WRITE_PENDING_WCRR   ((uint32_t) WD_TIMER_WWPS_W_PEND_WCRR_MASK)

◆ WD_TIMER_WRITE_PENDING_WLDR

#define WD_TIMER_WRITE_PENDING_WLDR   ((uint32_t) WD_TIMER_WWPS_W_PEND_WLDR_MASK)

◆ WD_TIMER_WRITE_PENDING_WTGR

#define WD_TIMER_WRITE_PENDING_WTGR   ((uint32_t) WD_TIMER_WWPS_W_PEND_WTGR_MASK)

◆ WD_TIMER_WRITE_PENDING_WSPR

#define WD_TIMER_WRITE_PENDING_WSPR   ((uint32_t) WD_TIMER_WWPS_W_PEND_WSPR_MASK)

◆ WD_TIMER_WRITE_PENDING_WDLY

#define WD_TIMER_WRITE_PENDING_WDLY   ((uint32_t) WD_TIMER_WWPS_W_PEND_WDLY_MASK)

Function Documentation

◆ WDTIMEREnable()

void WDTIMEREnable ( uint32_t  baseAddr)

Starts/Enables the watchdog timer.

Parameters
baseAddrBase Address of the Watchdog Timer Module Registers.
Returns
None.

◆ WDTIMERDisable()

void WDTIMERDisable ( uint32_t  baseAddr)

Stops/Disables the watchdog timer.

Parameters
baseAddrBase Address of the Watchdog Timer Module Registers.
Returns
None.

◆ WDTIMERRevisionIDGet()

uint32_t WDTIMERRevisionIDGet ( uint32_t  baseAddr)

Return the revision id of the SOC used.

Parameters
baseAddrBase Address of the Watchdog Timer Module Registers.
Returns
Returns the revision id of the SOC used.

◆ WDTIMERReset()

void WDTIMERReset ( uint32_t  baseAddr)

Reset the watchdog timer module.

Parameters
baseAddrBase Address of the Watchdog Timer Module Registers.
Returns
None.

◆ WDTIMERPreScalerClkEnable()

void WDTIMERPreScalerClkEnable ( uint32_t  baseAddr,
uint32_t  ptv 
)

This API will configure and enable the pre-scaler clock.

Parameters
baseAddrBase Address of the Watchdog Timer Module Register.
ptvPre-scale clock Timer value.

'ptv' can take the following values
WD_TIMER_PRESCALER_CLK_DIV_1 - WD_TIMER Functional clock divide by 1
WD_TIMER_PRESCALER_CLK_DIV_2 - WD_TIMER Functional clock divide by 2
WD_TIMER_PRESCALER_CLK_DIV_4 - WD_TIMER Functional clock divide by 4
WD_TIMER_PRESCALER_CLK_DIV_8 - WD_TIMER Functional clock divide by 8
WD_TIMER_PRESCALER_CLK_DIV_16 - WD_TIMER Functional clock divide by 16
WD_TIMER_PRESCALER_CLK_DIV_32 - WD_TIMER Functional clock divide by 32
WD_TIMER_PRESCALER_CLK_DIV_64 - WD_TIMER Functional clock divide by 64
WD_TIMER_PRESCALER_CLK_DIV_128 - WD_TIMER Functional clock divide by 128

Returns
None.

◆ WDTIMERPreScalerClkDisable()

void WDTIMERPreScalerClkDisable ( uint32_t  baseAddr)

This API will disable the pre-scaler clock.

Parameters
baseAddrBase Address of the Watchdog Timer Module Register.
Returns
None.

◆ WDTIMERCounterSet()

void WDTIMERCounterSet ( uint32_t  baseAddr,
uint32_t  countVal 
)

Set/Write the Counter register with the counter value.

Parameters
baseAddrBase Address of the Watchdog Timer Module Register.
countValCount value for the Watchdog Timer.
Returns
None.

◆ WDTIMERCounterGet()

uint32_t WDTIMERCounterGet ( uint32_t  baseAddr)

Get/Read the counter value from the counter register.

Parameters
baseAddrBase Address of the Watchdog Timer Module Register.
Returns
This API returns the count value present in the Watchdog Timer Counter register.

◆ WDTIMERReloadSet()

void WDTIMERReloadSet ( uint32_t  baseAddr,
uint32_t  reloadVal 
)

Set the reload count value in the Watchdog timer load register.

Parameters
baseAddrBase Address of the Watchdog Timer Module Register.
reloadValThe reload count value of the Watchdog timer.
Returns
None.
Note
: It is recommended to not use reload value as 0xFFFFFFFF.

◆ WDTIMERReloadGet()

uint32_t WDTIMERReloadGet ( uint32_t  baseAddr)

Get the reload count value from the Watchdog timer load register.

Parameters
baseAddrBase Address of the Watchdog Timer Module Register.
Returns
This API returns the value present in Watchdog Timer Load Register.

◆ WDTIMERTriggerSet()

void WDTIMERTriggerSet ( uint32_t  baseAddr,
uint32_t  trigVal 
)

Set/enable the trigger write access.

Parameters
baseAddrBase Address of the Watchdog Timer Module Register.
trigValValue to be written to the WTGR register.
Returns
None.
Note
This API should be called if the Watchdog timer WD_TIMER_WCRR register has to be loaded with the WD_TIMER_WLDR register before overflow occurs. If this API has to be called more than once in an application then ensure each time this API is called, pass a different value to the parameter 'trigVal' to ensure proper working.

◆ WDTIMERDelaySet()

void WDTIMERDelaySet ( uint32_t  baseAddr,
uint32_t  delayVal 
)

Load the delay register of Watchdog timer with the delay value.

Parameters
baseAddrBase Address of the Watchdog Timer Module Register.
delayValDelay value.
Returns
None.

◆ WDTIMERDelayGet()

uint32_t WDTIMERDelayGet ( uint32_t  baseAddr)

Return the delay register value of Watchdog timer.

Parameters
baseAddrBase Address of the Watchdog Timer Module Register.
Returns
This API returns the delay register(WD_TIMER_WDLY) value of Watchdog timer.

◆ WDTIMERIntRawStatusSet()

void WDTIMERIntRawStatusSet ( uint32_t  baseAddr,
uint32_t  intFlags 
)

Set IRQ status by software.

Parameters
baseAddrBase Address of the Watchdog Timer Module Register.
intFlagsVariable used to trigger the events.

'intFlags' can take the following values
WD_TIMER_INT_DELAY - Set the status for delay interrupt
WD_TIMER_INT_OVERFLOW - Set the status for overflow interrupt

Returns
None.

◆ WDTIMERIntRawStatusGet()

uint32_t WDTIMERIntRawStatusGet ( uint32_t  baseAddr)

Return the Raw IRQ status.

Parameters
baseAddrBase Address of the Watchdog Timer Module Register.
Returns
This API returns the status of the WD_TIMER_WIRQSTATRAW register.

◆ WDTIMERIntStatusGet()

uint32_t WDTIMERIntStatusGet ( uint32_t  baseAddr)

Read the status of WD_TIMER_WIRQSTAT register.

Parameters
baseAddrBase Address of the DMTimer Module Register.
Returns
This API returns the status of WD_TIMER_WIRQSTAT register.

◆ WDTIMERIntStatusClear()

void WDTIMERIntStatusClear ( uint32_t  baseAddr,
uint32_t  intFlags 
)

Clear IRQ status.

Parameters
baseAddrBase Address of the Watchdog Timer Module Register.
intFlagsVariable used to clear the events.

'intFlags' can take the following values
WD_TIMER_INT_DELAY - Clear the status for delay interrupt
WD_TIMER_INT_OVERFLOW - Clear the status for overflow interrupt

Returns
None.

◆ WDTIMERIntEnable()

void WDTIMERIntEnable ( uint32_t  baseAddr,
uint32_t  intFlags 
)

Enable Watchdog timer interrupts.

Parameters
baseAddrBase Address of the Watchdog Timer Module Register.
intFlagsVariable used to enable interrupts.

'intFlags' can take the following values
WD_TIMER_INT_ENABLE_DELAY - Enable the delay interrupt
WD_TIMER_INT_ENABLE_OVRFLW - Enable the overflow interrupt

Returns
None.

◆ WDTIMERIntEnableStatusGet()

uint32_t WDTIMERIntEnableStatusGet ( uint32_t  baseAddr)

Used to check whether interrupts of Watchdog timer are enabled or disabled.

Parameters
baseAddrBase Address of the Watchdog Timer Module Register.
Returns
This API returns the status of WD_TIMER_WIRQENSET register.

◆ WDTIMERIntDisable()

void WDTIMERIntDisable ( uint32_t  baseAddr,
uint32_t  intFlags 
)

Disable Watchdog timer interrupts.

Parameters
baseAddrBase Address of the Watchdog Timer Module Register.
intFlagsVariable used to enable interrupts.

'intFlags' can take the following values
WD_TIMER_INT_DISABLE_DELAY - Disable the delay interrupt
WD_TIMER_INT_DISABLE_OVRFLW - Disable the overflow interrupt

Returns
None.

◆ WDTIMERWritePostedStatusGet()

uint32_t WDTIMERWritePostedStatusGet ( uint32_t  baseAddr,
uint32_t  flags 
)

Read the status of WD_TIMER_WWPS register.

Parameters
baseAddrBase Address of the Watchdog Timer Module Register.
flagsStatus of the particular field to be returned.

'flags' can take the following values
WD_TIMER_WRITE_PENDING_WCLR - Write pending for register WD_TIMER_WCLR
WD_TIMER_WRITE_PENDING_WCRR - Write pending for register WD_TIMER_WCRR
WD_TIMER_WRITE_PENDING_WLDR - Write pending for register WD_TIMER_WLDR
WD_TIMER_WRITE_PENDING_WTGR - Write pending for register WD_TIMER_WTGR
WD_TIMER_WRITE_PENDING_WSPR - Write pending for register WD_TIMER_WSPR
WD_TIMER_WRITE_PENDING_WDLY - Write pending for register WD_TIMER_WDLY

Returns
Returns the status of Write posted status(WD_TIMER_WWPS) register.