![]() |
wdttb
Xilinx SDK Drivers API Documentation
|
Data Structures | |
struct | XWdtTb_Config |
This typedef contains configuration information for the device. More... | |
struct | XWdtTb |
The XWdtTb driver instance data. More... | |
Macros | |
#define | XWDTTB_HW_H_ |
Prevent circular inclusions by using protection macros. More... | |
Enumerations | |
enum | XWdtTb_Event { XWDTTB_NO_BAD_EVENT = 0, XWDTTB_RS_KICK_EVENT, XWDTTB_TSR_MM_EVENT, XWDTTB_SEC_WIN_EVENT } |
This typedef contains enumeration of different events in basic mode. More... | |
Functions | |
s32 | XWdtTb_CfgInitialize (XWdtTb *InstancePtr, XWdtTb_Config *CfgPtr, u32 EffectiveAddr) |
This function initializes the AXI Timebase Watchdog Timer core. More... | |
s32 | XWdtTb_Initialize (XWdtTb *InstancePtr, u16 DeviceId) |
Initialize a specific legacy/window watchdog timer/timebase instance/driver. More... | |
void | XWdtTb_Start (XWdtTb *InstancePtr) |
This function starts the legacy or window watchdog timer. More... | |
s32 | XWdtTb_Stop (XWdtTb *InstancePtr) |
This function disables the legacy or window watchdog timer. More... | |
u32 | XWdtTb_IsWdtExpired (XWdtTb *InstancePtr) |
This function checks if the legacy watchdog timer has expired or window watchdog timer either in second window or not in second window. More... | |
void | XWdtTb_RestartWdt (XWdtTb *InstancePtr) |
This function restarts the legacy or window watchdog timer. More... | |
void | XWdtTb_AlwaysEnable (XWdtTb *InstancePtr) |
This function keeps Window Watchdog Timer always enabled. More... | |
void | XWdtTb_ClearLastEvent (XWdtTb *InstancePtr) |
This function clears event(s) that present after system reset. More... | |
void | XWdtTb_ClearResetPending (XWdtTb *InstancePtr) |
This function clears the window watchdog reset pending. More... | |
void | XWdtTb_IntrClear (XWdtTb *InstancePtr) |
This function clears window watchdog timer interrupt (WINT) bit. More... | |
void | XWdtTb_SetByteCount (XWdtTb *InstancePtr, u32 ByteCount) |
This function sets byte count to determine the interrupt assertion point in the second window configuration. More... | |
u32 | XWdtTb_GetByteCount (XWdtTb *InstancePtr) |
This function provides byte count value of the selected byte count in the second window configuration. More... | |
void | XWdtTb_SetByteSegment (XWdtTb *InstancePtr, u32 ByteSegment) |
This function sets byte segment selection to determine the interrupt assertion point in the second window configuration. More... | |
u32 | XWdtTb_GetByteSegment (XWdtTb *InstancePtr) |
This function provides byte segment selection in the second window configuration. More... | |
void | XWdtTb_EnableSst (XWdtTb *InstancePtr) |
This function enables Second Sequence Timer (SST) function. More... | |
void | XWdtTb_DisableSst (XWdtTb *InstancePtr) |
This function disables Second Sequence Timer (SST) function. More... | |
void | XWdtTb_EnablePsm (XWdtTb *InstancePtr) |
This function enables Program Sequence Monitor (PSM) function. More... | |
void | XWdtTb_DisablePsm (XWdtTb *InstancePtr) |
This function disables Program Sequence Monitor (PSM) function. More... | |
void | XWdtTb_EnableFailCounter (XWdtTb *InstancePtr) |
This function enables Fail Counter (FC) function. More... | |
void | XWdtTb_DisableFailCounter (XWdtTb *InstancePtr) |
This function disables Fail Counter (FC) function. More... | |
void | XWdtTb_EnableExtraProtection (XWdtTb *InstancePtr) |
This function provides extra safeguard against unintentional clear of WEN bit. More... | |
void | XWdtTb_DisableExtraProtection (XWdtTb *InstancePtr) |
This function enables unintentional clear of WEN bit. More... | |
void | XWdtTb_SetWindowCount (XWdtTb *InstancePtr, u32 FirstWinCount, u32 SecondWinCount) |
This function sets the count value for the first and second window. More... | |
XWdtTb_Config * | XWdtTb_LookupConfig (u16 DeviceId) |
This function returns a reference to an XWdtTb_Config structure based on the core id, DeviceId. More... | |
s32 | XWdtTb_SelfTest (XWdtTb *InstancePtr) |
This function runs a self-test on the timebase or window if enabled. More... | |
Register offsets for the AXI Timebase WDT core. Each register is 32 | |
#define | XWT_TWCSR0_OFFSET 0x00U |
Control/Status Register 0 Offset. More... | |
#define | XWT_TWCSR1_OFFSET 0x04U |
Control/Status Register 1 Offset. More... | |
#define | XWT_TBR_OFFSET 0x08U |
Timebase Register Offset. More... | |
Register offsets for the AXI Timebase WDT core with windowing | |
Each register is 32 bits. | |
#define | XWT_MWR_OFFSET 0x0CU |
Master Write Control Register Offset. More... | |
#define | XWT_ESR_OFFSET 0x10U |
Enable & Status Register Offset. More... | |
#define | XWT_FCR_OFFSET 0x14U |
Function Control Register Offset. More... | |
#define | XWT_FWR_OFFSET 0x18U |
First Window Configuration Register Offset. More... | |
#define | XWT_SWR_OFFSET 0x1CU |
Second Window Configuration Register Offset. More... | |
#define | XWT_TSR0_OFFSET 0x20U |
Task Signature Register 0 Offset. More... | |
#define | XWT_TSR1_OFFSET 0x24U |
Task Signature Register 1 Offset. More... | |
#define | XWT_STR_OFFSET 0x28U |
Second Sequence Timer Register Offset. More... | |
Control/Status Register 0 bits | |
#define | XWT_CSR0_WRS_MASK 0x00000008U |
Reset status Mask. More... | |
#define | XWT_CSR0_WDS_MASK 0x00000004U |
Timer state Mask. More... | |
#define | XWT_CSR0_EWDT1_MASK 0x00000002U |
Enable bit 1 Mask. More... | |
Control/Status Register 0/1 bits | |
#define | XWT_CSRX_EWDT2_MASK 0x00000001U |
Enable bit 2 Mask. More... | |
Master Write Control bits | |
#define | XWT_MWR_AEN_MASK 0x00000002U |
Always Enable Mask. More... | |
#define | XWT_MWR_MWC_MASK 0x00000001U |
Master Write Control Mask. More... | |
Enable & Status Register bits | |
#define | XWT_ESR_LBE_MASK 0x07000000U |
Last Bad Event Mask. More... | |
#define | XWT_ESR_FCV_MASK 0x00700000U |
Fail Counter Value Mask. More... | |
#define | XWT_ESR_WRP_MASK 0x00020000U |
Watchdog Reset Pending Mask. More... | |
#define | XWT_ESR_WINT_MASK 0x00010000U |
Watchdog Interrupt Mask. More... | |
#define | XWT_ESR_WSW_MASK 0x00000100U |
Watchdog Second Window Mask. More... | |
#define | XWT_ESR_WCFG_MASK 0x00000002U |
Wrong Configuration Mask. More... | |
#define | XWT_ESR_WEN_MASK 0x00000001U |
Window WDT Enable Mask. More... | |
#define | XWT_ESR_LBE_SHIFT 24 |
Last Bad Event Shift. More... | |
#define | XWT_ESR_FCV_SHIFT 20 |
Fail Counter Value Shift. More... | |
#define | XWT_ESR_WRP_SHIFT 17 |
Watchdog Reset Pending Shift. More... | |
#define | XWT_ESR_WINT_SHIFT 16 |
Watchdog Interrupt Shift. More... | |
#define | XWT_ESR_WSW_SHIFT 8 |
Watchdog Second Window Shift. More... | |
#define | XWT_ESR_WCFG_SHIFT 1 |
Wrong Configuration Shift. More... | |
Function Control Register bits | |
#define | XWT_FCR_SBC_MASK 0x0000FF00U |
Selected Byte Count Mask. More... | |
#define | XWT_FCR_BSS_MASK 0x000000C0U |
Byte Segment Selection Mask. More... | |
#define | XWT_FCR_SSTE_MASK 0x00000010U |
Second Sequence Timer Enable Mask. More... | |
#define | XWT_FCR_PSME_MASK 0x00000008U |
Program Sequence Monitor Enable Mask. More... | |
#define | XWT_FCR_FCE_MASK 0x00000004U |
Fail Counter Enable Mask. More... | |
#define | XWT_FCR_WM_MASK 0x00000002U |
Window WDT Mode Mask. More... | |
#define | XWT_FCR_WDP_MASK 0x00000001U |
Window WDT Disable Protection Mask. More... | |
#define | XWT_FCR_SBC_SHIFT 8 |
Selected Byte Count Shift. More... | |
#define | XWT_FCR_BSS_SHIFT 6 |
Byte Segment Selection Shift. More... | |
#define | XWT_FCR_SSTE_SHIFT 4 |
Second Sequence Timer Enable Shift. More... | |
#define | XWT_FCR_WM_SHIFT 1 |
Window WDT Mode Shift. More... | |
Register access macro definition | |
#define | XWdtTb_In32 Xil_In32 |
Input Operations. More... | |
#define | XWdtTb_Out32 Xil_Out32 |
Output Operations. More... | |
#define | XWdtTb_ReadReg(BaseAddress, RegOffset) XWdtTb_In32((BaseAddress) + ((u32)RegOffset)) |
Read from the specified WdtTb core's register. More... | |
#define | XWdtTb_WriteReg(BaseAddress, RegOffset, RegisterValue) XWdtTb_Out32((BaseAddress) + ((u32)RegOffset), (u32)(RegisterValue)) |
Write to the specified WdtTb core's register. More... | |
#define XWDTTB_HW_H_ |
#include <xwdttb_hw.h>
Prevent circular inclusions by using protection macros.
#define XWdtTb_In32 Xil_In32 |
#include <xwdttb_hw.h>
Input Operations.
#define XWdtTb_Out32 Xil_Out32 |
#include <xwdttb_hw.h>
Output Operations.
#define XWdtTb_ReadReg | ( | BaseAddress, | |
RegOffset | |||
) | XWdtTb_In32((BaseAddress) + ((u32)RegOffset)) |
#include <xwdttb_hw.h>
Read from the specified WdtTb core's register.
BaseAddress | contains the base address of the core. |
RegOffset | contains the offset from the 1st register of the core to select the specific register. |
Referenced by WdtTbExample(), XWdtTb_AlwaysEnable(), XWdtTb_ClearLastEvent(), XWdtTb_ClearResetPending(), XWdtTb_DisableExtraProtection(), XWdtTb_DisableFailCounter(), XWdtTb_DisablePsm(), XWdtTb_DisableSst(), XWdtTb_EnableExtraProtection(), XWdtTb_EnableFailCounter(), XWdtTb_EnablePsm(), XWdtTb_EnableSst(), XWdtTb_GetByteCount(), XWdtTb_GetByteSegment(), XWdtTb_IntrClear(), XWdtTb_IsWdtExpired(), XWdtTb_LowLevelExample(), XWdtTb_RestartWdt(), XWdtTb_SetByteCount(), and XWdtTb_SetByteSegment().
#define XWdtTb_WriteReg | ( | BaseAddress, | |
RegOffset, | |||
RegisterValue | |||
) | XWdtTb_Out32((BaseAddress) + ((u32)RegOffset), (u32)(RegisterValue)) |
#include <xwdttb_hw.h>
Write to the specified WdtTb core's register.
BaseAddress | contains the base address of the core. |
RegOffset | contains the offset from the 1st register of the core to select the specific register. |
RegisterValue | is the value to be written to the register. |
Referenced by XWdtTb_AlwaysEnable(), XWdtTb_ClearLastEvent(), XWdtTb_ClearResetPending(), XWdtTb_DisableExtraProtection(), XWdtTb_DisableFailCounter(), XWdtTb_DisablePsm(), XWdtTb_DisableSst(), XWdtTb_EnableExtraProtection(), XWdtTb_EnableFailCounter(), XWdtTb_EnablePsm(), XWdtTb_EnableSst(), XWdtTb_IntrClear(), XWdtTb_LowLevelExample(), XWdtTb_RestartWdt(), XWdtTb_SelfTest(), XWdtTb_SetByteCount(), XWdtTb_SetByteSegment(), and XWdtTb_SetWindowCount().
#define XWT_CSR0_EWDT1_MASK 0x00000002U |
#define XWT_CSR0_WDS_MASK 0x00000004U |
#include <xwdttb_hw.h>
Timer state Mask.
Referenced by XWdtTb_IsWdtExpired(), XWdtTb_LowLevelExample(), and XWdtTb_RestartWdt().
#define XWT_CSR0_WRS_MASK 0x00000008U |
#include <xwdttb_hw.h>
Reset status Mask.
Referenced by WdtTbExample(), XWdtTb_IsWdtExpired(), XWdtTb_LowLevelExample(), and XWdtTb_RestartWdt().
#define XWT_CSRX_EWDT2_MASK 0x00000001U |
#define XWT_ESR_FCV_MASK 0x00700000U |
#include <xwdttb_hw.h>
Fail Counter Value Mask.
#define XWT_ESR_FCV_SHIFT 20 |
#include <xwdttb_hw.h>
Fail Counter Value Shift.
#define XWT_ESR_LBE_MASK 0x07000000U |
#define XWT_ESR_LBE_SHIFT 24 |
#include <xwdttb_hw.h>
Last Bad Event Shift.
#define XWT_ESR_OFFSET 0x10U |
#include <xwdttb_hw.h>
Enable & Status Register Offset.
Referenced by XWdtTb_ClearLastEvent(), XWdtTb_ClearResetPending(), XWdtTb_IntrClear(), XWdtTb_IsWdtExpired(), and XWdtTb_RestartWdt().
#define XWT_ESR_WCFG_MASK 0x00000002U |
#include <xwdttb_hw.h>
Wrong Configuration Mask.
#define XWT_ESR_WCFG_SHIFT 1 |
#include <xwdttb_hw.h>
Wrong Configuration Shift.
#define XWT_ESR_WEN_MASK 0x00000001U |
#include <xwdttb_hw.h>
Window WDT Enable Mask.
#define XWT_ESR_WINT_MASK 0x00010000U |
#define XWT_ESR_WINT_SHIFT 16 |
#include <xwdttb_hw.h>
Watchdog Interrupt Shift.
#define XWT_ESR_WRP_MASK 0x00020000U |
#define XWT_ESR_WRP_SHIFT 17 |
#include <xwdttb_hw.h>
Watchdog Reset Pending Shift.
#define XWT_ESR_WSW_MASK 0x00000100U |
#include <xwdttb_hw.h>
Watchdog Second Window Mask.
Referenced by XWdtTb_ClearLastEvent(), XWdtTb_IntrClear(), XWdtTb_IsWdtExpired(), and XWdtTb_RestartWdt().
#define XWT_ESR_WSW_SHIFT 8 |
#include <xwdttb_hw.h>
Watchdog Second Window Shift.
Referenced by XWdtTb_ClearLastEvent(), XWdtTb_IntrClear(), and XWdtTb_IsWdtExpired().
#define XWT_FCR_BSS_MASK 0x000000C0U |
#include <xwdttb_hw.h>
Byte Segment Selection Mask.
Referenced by XWdtTb_GetByteSegment(), and XWdtTb_SetByteSegment().
#define XWT_FCR_BSS_SHIFT 6 |
#include <xwdttb_hw.h>
Byte Segment Selection Shift.
Referenced by XWdtTb_GetByteSegment(), and XWdtTb_SetByteSegment().
#define XWT_FCR_FCE_MASK 0x00000004U |
#include <xwdttb_hw.h>
Fail Counter Enable Mask.
Referenced by XWdtTb_DisableFailCounter(), and XWdtTb_EnableFailCounter().
#define XWT_FCR_OFFSET 0x14U |
#include <xwdttb_hw.h>
Function Control Register Offset.
Referenced by XWdtTb_DisableExtraProtection(), XWdtTb_DisableFailCounter(), XWdtTb_DisablePsm(), XWdtTb_DisableSst(), XWdtTb_EnableExtraProtection(), XWdtTb_EnableFailCounter(), XWdtTb_EnablePsm(), XWdtTb_EnableSst(), XWdtTb_GetByteCount(), XWdtTb_GetByteSegment(), XWdtTb_SetByteCount(), and XWdtTb_SetByteSegment().
#define XWT_FCR_PSME_MASK 0x00000008U |
#include <xwdttb_hw.h>
Program Sequence Monitor Enable Mask.
Referenced by XWdtTb_DisablePsm(), and XWdtTb_EnablePsm().
#define XWT_FCR_SBC_MASK 0x0000FF00U |
#include <xwdttb_hw.h>
Selected Byte Count Mask.
Referenced by XWdtTb_GetByteCount(), and XWdtTb_SetByteCount().
#define XWT_FCR_SBC_SHIFT 8 |
#include <xwdttb_hw.h>
Selected Byte Count Shift.
Referenced by XWdtTb_GetByteCount(), and XWdtTb_SetByteCount().
#define XWT_FCR_SSTE_MASK 0x00000010U |
#include <xwdttb_hw.h>
Second Sequence Timer Enable Mask.
Referenced by XWdtTb_DisableSst(), and XWdtTb_EnableSst().
#define XWT_FCR_SSTE_SHIFT 4 |
#include <xwdttb_hw.h>
Second Sequence Timer Enable Shift.
#define XWT_FCR_WDP_MASK 0x00000001U |
#include <xwdttb_hw.h>
Window WDT Disable Protection Mask.
Referenced by XWdtTb_DisableExtraProtection(), and XWdtTb_EnableExtraProtection().
#define XWT_FCR_WM_MASK 0x00000002U |
#include <xwdttb_hw.h>
Window WDT Mode Mask.
#define XWT_FCR_WM_SHIFT 1 |
#include <xwdttb_hw.h>
Window WDT Mode Shift.
#define XWT_FWR_OFFSET 0x18U |
#include <xwdttb_hw.h>
First Window Configuration Register Offset.
Referenced by XWdtTb_SelfTest(), and XWdtTb_SetWindowCount().
#define XWT_MWR_AEN_MASK 0x00000002U |
#define XWT_MWR_MWC_MASK 0x00000001U |
#include <xwdttb_hw.h>
Master Write Control Mask.
#define XWT_MWR_OFFSET 0x0CU |
#define XWT_STR_OFFSET 0x28U |
#include <xwdttb_hw.h>
Second Sequence Timer Register Offset.
#define XWT_SWR_OFFSET 0x1CU |
#include <xwdttb_hw.h>
Second Window Configuration Register Offset.
Referenced by XWdtTb_SetWindowCount().
#define XWT_TBR_OFFSET 0x08U |
#include <xwdttb_hw.h>
Timebase Register Offset.
#define XWT_TSR0_OFFSET 0x20U |
#include <xwdttb_hw.h>
Task Signature Register 0 Offset.
#define XWT_TSR1_OFFSET 0x24U |
#include <xwdttb_hw.h>
Task Signature Register 1 Offset.
#define XWT_TWCSR0_OFFSET 0x00U |
#include <xwdttb_hw.h>
Control/Status Register 0 Offset.
Referenced by WdtTbExample(), XWdtTb_IsWdtExpired(), XWdtTb_LowLevelExample(), and XWdtTb_RestartWdt().
#define XWT_TWCSR1_OFFSET 0x04U |
enum XWdtTb_Event |
#include <xwdttb.h>
This typedef contains enumeration of different events in basic mode.
Enumerator | |
---|---|
XWDTTB_NO_BAD_EVENT | No bad event. |
XWDTTB_RS_KICK_EVENT | Restart kick or disable attempt in first window. |
XWDTTB_TSR_MM_EVENT | TSR mismatch. |
XWDTTB_SEC_WIN_EVENT | Second window overflow. |
void XWdtTb_AlwaysEnable | ( | XWdtTb * | InstancePtr | ) |
#include <xwdttb.c>
This function keeps Window Watchdog Timer always enabled.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb_Config::EnableWinWdt, XWdtTb_ReadReg, XWdtTb_WriteReg, XWT_MWR_AEN_MASK, and XWT_MWR_OFFSET.
s32 XWdtTb_CfgInitialize | ( | XWdtTb * | InstancePtr, |
XWdtTb_Config * | CfgPtr, | ||
u32 | EffectiveAddr | ||
) |
#include <xwdttb.c>
This function initializes the AXI Timebase Watchdog Timer core.
This function must be called prior to using the core. Initialization of the core includes setting up the instance data and ensuring the hardware is in a quiescent state.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
CfgPtr | points to the configuration structure associated with the AXI Timebase Watchdog Timer core. |
EffectiveAddr | is the base address of the device. If address translation is being used, then this parameter must reflect the virtual base address. Otherwise, the physical address should be used. |
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb_Config::DeviceId, XWdtTb::EnableFailCounter, XWdtTb_Config::EnableWinWdt, XWdtTb::IsReady, XWdtTb::IsStarted, XWdtTb_Config::MaxCountWidth, and XWdtTb_Config::SstCountWidth.
Referenced by WdtTbExample(), and WdtTbSelfTestExample().
void XWdtTb_ClearLastEvent | ( | XWdtTb * | InstancePtr | ) |
#include <xwdttb.c>
This function clears event(s) that present after system reset.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb_Config::EnableWinWdt, XWdtTb_ReadReg, XWdtTb_WriteReg, XWT_ESR_LBE_MASK, XWT_ESR_OFFSET, XWT_ESR_WSW_MASK, and XWT_ESR_WSW_SHIFT.
void XWdtTb_ClearResetPending | ( | XWdtTb * | InstancePtr | ) |
#include <xwdttb.c>
This function clears the window watchdog reset pending.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb_Config::EnableWinWdt, XWdtTb_ReadReg, XWdtTb_WriteReg, XWT_ESR_OFFSET, and XWT_ESR_WRP_MASK.
void XWdtTb_DisableExtraProtection | ( | XWdtTb * | InstancePtr | ) |
#include <xwdttb.c>
This function enables unintentional clear of WEN bit.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb_Config::EnableWinWdt, XWdtTb_ReadReg, XWdtTb_WriteReg, XWT_FCR_OFFSET, and XWT_FCR_WDP_MASK.
void XWdtTb_DisableFailCounter | ( | XWdtTb * | InstancePtr | ) |
#include <xwdttb.c>
This function disables Fail Counter (FC) function.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb::EnableFailCounter, XWdtTb_Config::EnableWinWdt, XWdtTb_ReadReg, XWdtTb_WriteReg, XWT_FCR_FCE_MASK, and XWT_FCR_OFFSET.
void XWdtTb_DisablePsm | ( | XWdtTb * | InstancePtr | ) |
#include <xwdttb.c>
This function disables Program Sequence Monitor (PSM) function.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb_Config::EnableWinWdt, XWdtTb_ReadReg, XWdtTb_WriteReg, XWT_FCR_OFFSET, and XWT_FCR_PSME_MASK.
void XWdtTb_DisableSst | ( | XWdtTb * | InstancePtr | ) |
#include <xwdttb.c>
This function disables Second Sequence Timer (SST) function.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb_Config::EnableWinWdt, XWdtTb_ReadReg, XWdtTb_WriteReg, XWT_FCR_OFFSET, and XWT_FCR_SSTE_MASK.
void XWdtTb_EnableExtraProtection | ( | XWdtTb * | InstancePtr | ) |
#include <xwdttb.c>
This function provides extra safeguard against unintentional clear of WEN bit.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb_Config::EnableWinWdt, XWdtTb_ReadReg, XWdtTb_WriteReg, XWT_FCR_OFFSET, and XWT_FCR_WDP_MASK.
void XWdtTb_EnableFailCounter | ( | XWdtTb * | InstancePtr | ) |
#include <xwdttb.c>
This function enables Fail Counter (FC) function.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb::EnableFailCounter, XWdtTb_Config::EnableWinWdt, XWdtTb_ReadReg, XWdtTb_WriteReg, XWT_FCR_FCE_MASK, and XWT_FCR_OFFSET.
void XWdtTb_EnablePsm | ( | XWdtTb * | InstancePtr | ) |
#include <xwdttb.c>
This function enables Program Sequence Monitor (PSM) function.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb_Config::EnableWinWdt, XWdtTb_ReadReg, XWdtTb_WriteReg, XWT_FCR_OFFSET, and XWT_FCR_PSME_MASK.
void XWdtTb_EnableSst | ( | XWdtTb * | InstancePtr | ) |
#include <xwdttb.c>
This function enables Second Sequence Timer (SST) function.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb_Config::EnableWinWdt, XWdtTb_ReadReg, XWdtTb_WriteReg, XWT_FCR_OFFSET, and XWT_FCR_SSTE_MASK.
u32 XWdtTb_GetByteCount | ( | XWdtTb * | InstancePtr | ) |
#include <xwdttb.c>
This function provides byte count value of the selected byte count in the second window configuration.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb_Config::EnableWinWdt, XWdtTb_ReadReg, XWT_FCR_OFFSET, XWT_FCR_SBC_MASK, and XWT_FCR_SBC_SHIFT.
u32 XWdtTb_GetByteSegment | ( | XWdtTb * | InstancePtr | ) |
#include <xwdttb.c>
This function provides byte segment selection in the second window configuration.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb_Config::EnableWinWdt, XWdtTb_ReadReg, XWT_FCR_BSS_MASK, XWT_FCR_BSS_SHIFT, and XWT_FCR_OFFSET.
s32 XWdtTb_Initialize | ( | XWdtTb * | InstancePtr, |
u16 | DeviceId | ||
) |
#include <xwdttb.c>
Initialize a specific legacy/window watchdog timer/timebase instance/driver.
This function must be called before other functions of the driver are called.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
DeviceId | is the unique id of the device controlled by this XWdtTb instance. Passing in a device id associates the generic XWdtTb instance to a specific device, as chosen by the caller or application developer. |
References XWdtTb::Config, XWdtTb::EnableFailCounter, XWdtTb::IsReady, XWdtTb::IsStarted, and XWdtTb_LookupConfig().
Referenced by WinWdtIntrExample().
void XWdtTb_IntrClear | ( | XWdtTb * | InstancePtr | ) |
#include <xwdttb.c>
This function clears window watchdog timer interrupt (WINT) bit.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb_Config::EnableWinWdt, XWdtTb_ReadReg, XWdtTb_WriteReg, XWT_ESR_OFFSET, XWT_ESR_WINT_MASK, XWT_ESR_WSW_MASK, and XWT_ESR_WSW_SHIFT.
u32 XWdtTb_IsWdtExpired | ( | XWdtTb * | InstancePtr | ) |
#include <xwdttb.c>
This function checks if the legacy watchdog timer has expired or window watchdog timer either in second window or not in second window.
This function is used for polled mode in legacy watchdog timer.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb_Config::EnableWinWdt, XWdtTb::IsReady, XWdtTb_ReadReg, XWT_CSR0_WDS_MASK, XWT_CSR0_WRS_MASK, XWT_ESR_OFFSET, XWT_ESR_WSW_MASK, XWT_ESR_WSW_SHIFT, and XWT_TWCSR0_OFFSET.
Referenced by WdtTbExample().
XWdtTb_Config* XWdtTb_LookupConfig | ( | u16 | DeviceId | ) |
#include <xwdttb.h>
This function returns a reference to an XWdtTb_Config structure based on the core id, DeviceId.
The return value will refer to an entry in the device configuration table defined in the xwdttb_g.c file.
DeviceId | is the unique core ID of the XWdtTb core for the lookup operation. |
Referenced by WdtTbExample(), WdtTbSelfTestExample(), and XWdtTb_Initialize().
void XWdtTb_RestartWdt | ( | XWdtTb * | InstancePtr | ) |
#include <xwdttb.c>
This function restarts the legacy or window watchdog timer.
An application needs to call this function periodically to keep the timer from asserting the reset output.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb_Config::EnableWinWdt, XWdtTb::IsReady, XWdtTb_ReadReg, XWdtTb_WriteReg, XWT_CSR0_WDS_MASK, XWT_CSR0_WRS_MASK, XWT_ESR_OFFSET, XWT_ESR_WSW_MASK, and XWT_TWCSR0_OFFSET.
Referenced by WdtTbExample().
s32 XWdtTb_SelfTest | ( | XWdtTb * | InstancePtr | ) |
#include <xwdttb.h>
This function runs a self-test on the timebase or window if enabled.
Timebase test verifies that the timebase is incrementing. The watchdog timer is not tested due to the time required to wait for the watchdog timer to expire. The time consumed by this test is dependant on the system clock and the configuration of the dividers in for the input clock of the timebase.
Window test verifies that the windowing feature does not generate bad event after enabling window feature with first and second window count. It disables window feature immediately.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb_Config::EnableWinWdt, XWdtTb::IsReady, XWdtTb_WriteReg, and XWT_FWR_OFFSET.
Referenced by WdtTbExample(), WdtTbSelfTestExample(), and WinWdtIntrExample().
void XWdtTb_SetByteCount | ( | XWdtTb * | InstancePtr, |
u32 | ByteCount | ||
) |
#include <xwdttb.c>
This function sets byte count to determine the interrupt assertion point in the second window configuration.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
ByteCount | specifies the selected byte count value to be set in the second window configuration. |
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb_Config::EnableWinWdt, XWdtTb_ReadReg, XWdtTb_WriteReg, XWT_FCR_OFFSET, XWT_FCR_SBC_MASK, and XWT_FCR_SBC_SHIFT.
void XWdtTb_SetByteSegment | ( | XWdtTb * | InstancePtr, |
u32 | ByteSegment | ||
) |
#include <xwdttb.c>
This function sets byte segment selection to determine the interrupt assertion point in the second window configuration.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
ByteSegment | specifies the byte segment selected.
|
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb_Config::EnableWinWdt, XWdtTb_ReadReg, XWdtTb_WriteReg, XWT_FCR_BSS_MASK, XWT_FCR_BSS_SHIFT, and XWT_FCR_OFFSET.
void XWdtTb_SetWindowCount | ( | XWdtTb * | InstancePtr, |
u32 | FirstWinCount, | ||
u32 | SecondWinCount | ||
) |
#include <xwdttb.c>
This function sets the count value for the first and second window.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
FirstWinCount | specifies the first window count value. |
SecondWinCount | specifies the second window count value. |
References XWdtTb_Config::BaseAddr, XWdtTb::Config, XWdtTb_Config::EnableWinWdt, XWdtTb_WriteReg, XWT_FWR_OFFSET, and XWT_SWR_OFFSET.
void XWdtTb_Start | ( | XWdtTb * | InstancePtr | ) |
#include <xwdttb.c>
This function starts the legacy or window watchdog timer.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
References XWdtTb::Config, XWdtTb_Config::EnableWinWdt, and XWdtTb::IsReady.
Referenced by WdtTbExample().
s32 XWdtTb_Stop | ( | XWdtTb * | InstancePtr | ) |
#include <xwdttb.c>
This function disables the legacy or window watchdog timer.
It is the caller's responsibility to disconnect the interrupt handler of the watchdog timer from the interrupt source, typically an interrupt controller, and disable the interrupt in the interrupt controller.
InstancePtr | is a pointer to the XWdtTb instance to be worked on. |
References XWdtTb::Config, XWdtTb_Config::EnableWinWdt, and XWdtTb::IsReady.
Referenced by WdtTbExample().