API Reference: Libraries

Top

# vxbIntelTCOWatchdogTimerK

#### NAME

> vxbIntelTCOWatchdogTimerK - INTEL ICHx TCO Watchdog driver for VxBus

#### ROUTINES

> vxbITCOWatchdogDrvRegister( ) - register driver
> iTCOWatchdogInstInit( ) - first level initialization routine of watchdog device
> iTCOWatchdogInstInit2( ) - second level initialization routine of watchdog device
> iTCOWatchdogInstConnect( ) - third level initialization routine of watchdog device
> iTCOWatchdogDrvCtrlShow( ) - show routine
> iTCOWatchdogAllocate( ) - allocate watchdog timer
> iTCOWatchdogRelease( ) - release the watchdog resource
> iTCOWatchdogCountGet( ) - retrieve the current value of the counter
> iTCOWatchdogDisable( ) - stop watchdog timer
> iTCOWatchdogEnable( ) - start the watchdog timer
> iTCOWatchdogReload( ) - reload the watchdog timer

#### DESCRIPTION

> This is the vxBus compliant driver which implements the functionality
> specific to the Intel TCO Watch Dog Timer (TCO_WD).

> User application is able to allocate, start, stop, get counter, and release
> the watchdog device using VxBus custom methods defined for this driver:
> METHOD_DECL(wdAllocate)
> METHOD_DECL(wdRelease)
> METHOD_DECL(wdStart)
> METHOD_DECL(wdStop)
> METHOD_DECL(wdCountGet)
> METHOD_DECL(wdReload)

API Reference: Routines

Top

# vxbITCOWatchdogDrvRegister( )

#### NAME

> vxbITCOWatchdogDrvRegister( ) - register driver

#### DESCRIPTION

> This routine registers the driver with the VxBus subsystem.

> This routine contains the first instructions of the device driver that are ever executed within a VxWorks system. This function registers the driver with VxBus by providing pointers to the data structures listed previously. Once this step is complete, VxWorks is able to associate this driver with appropriate hardware within the system to form an instance.

#### RETURNS

> N/A

#### ERRNO

#### SEE ALSO

> vxbIntelTCOWatchdogTimerK

API Reference: Routines

Top

# iTCOWatchdogInstInit( )

#### NAME

> iTCOWatchdogInstInit( ) - first level initialization routine of watchdog device

#### DESCRIPTION

> This is the function called to perform the first level initialization of the watchdog device.

#### NOTE

> This routine is called early during system initialization, and *MUST NOT* make calls to OS facilities such as memory allocation and I/O.

> Timer device initialization must be completed here, except timer interrupt connection, since delay timer will be enabled right after the VxBus first level initialization is done and can not wait till the second level initialization in case this timer is assigned to the delay timer.

#### RETURNS

> N/A

#### ERRNO

#### SEE ALSO

> vxbIntelTCOWatchdogTimerK

API Reference: Routines

Top

# iTCOWatchdogInstInit2( )

#### NAME

> iTCOWatchdogInstInit2( ) - second level initialization routine of watchdog device

#### DESCRIPTION

> This routine performs the second level initialization of the watchdog device.

#### NOTE

> This routine is called later during system initialization. OS features such as memory allocation are available at this time.

> Timer interrupt source must be connencted here since system clock timer will be enabled right after the VxBus second level initialization is done and can not wait till the third level initialization in case this timer is assigned to the system clock timer.

#### RETURNS

> N/A

#### ERRNO

#### SEE ALSO

> vxbIntelTCOWatchdogTimerK

API Reference: Routines

Top

# iTCOWatchdogInstConnect( )

#### NAME

> iTCOWatchdogInstConnect( ) - third level initialization routine of watchdog device

#### DESCRIPTION

> This is the function called to perform the third level initialization of the watchdog device.

#### RETURNS

> N/A

#### ERRNO

#### SEE ALSO

> vxbIntelTCOWatchdogTimerK

API Reference: Routines

Top

# iTCOWatchdogDrvCtrlShow( )

#### NAME

> iTCOWatchdogDrvCtrlShow( ) - show routine

#### DESCRIPTION

> This routine prints information about the instance to to system
> console. This is integrated with vxBusShow.

> RETURNS: 0, always

#### RETURNS

> Not Available

#### ERRNO

> Not Available

#### SEE ALSO

> vxbIntelTCOWatchdogTimerK

API Reference: Routines

Top

# iTCOWatchdogAllocate( )

#### NAME

> iTCOWatchdogAllocate( ) - allocate watchdog timer

#### DESCRIPTION

> This is the function called to allocate watchdog timer for usage

#### RETURNS

> OK, or ERROR if timer allocation fails.

#### ERRNO

#### SEE ALSO

> vxbIntelTCOWatchdogTimerK

API Reference: Routines

Top

# iTCOWatchdogRelease( )

#### NAME

> iTCOWatchdogRelease( ) - release the watchdog resource

#### DESCRIPTION

> This is the function called to release the watchdog timer device

#### RETURNS

> OK, or ERROR if timer release fails.

#### ERRNO

#### SEE ALSO

> vxbIntelTCOWatchdogTimerK

API Reference: Routines

Top

# iTCOWatchdogCountGet( )

#### NAME

> iTCOWatchdogCountGet( ) - retrieve the current value of the counter

#### DESCRIPTION

> none

#### RETURNS

> Not Available

#### ERRNO

> Not Available

#### SEE ALSO

> vxbIntelTCOWatchdogTimerK

API Reference: Routines

Top

# iTCOWatchdogDisable( )

#### NAME

> iTCOWatchdogDisable( ) - stop watchdog timer

#### DESCRIPTION

> none

#### RETURNS

> OK, or ERROR if fails to disable timer.

#### ERRNO

#### SEE ALSO

> vxbIntelTCOWatchdogTimerK

API Reference: Routines

Top

# iTCOWatchdogEnable( )

#### NAME

> iTCOWatchdogEnable( ) - start the watchdog timer

#### DESCRIPTION

> none

#### RETURNS

> OK, or ERROR if fails to enable timer.

#### ERRNO

#### SEE ALSO

> vxbIntelTCOWatchdogTimerK

API Reference: Routines

Top

# iTCOWatchdogReload( )

#### NAME

> iTCOWatchdogReload( ) - reload the watchdog timer

#### DESCRIPTION

> none

#### RETURNS

> OK, or ERROR if fails to reload timer.

#### ERRNO

#### SEE ALSO

> vxbIntelTCOWatchdogTimerK