/*
 *  Copyright (c) 1996-2007 Digi International Inc., All Rights Reserved
 *
 *  This software contains proprietary and confidential information of Digi
 *  International Inc.  By accepting transfer of this copy, Recipient agrees
 *  to retain this software in confidence, to prevent disclosure to others,
 *  and to make no use of this software other than that for which it was
 *  delivered.  This is an unpublished copyrighted work of Digi International
 *  Inc.  Except as permitted by federal law, 17 USC 117, copying is strictly
 *  prohibited.
 *
 *  Restricted Rights Legend
 *
 *  Use, duplication, or disclosure by the Government is subject to
 *  restrictions set forth in sub-paragraph (c)(1)(ii) of The Rights in
 *  Technical Data and Computer Software clause at DFARS 252.227-7031 or
 *  subparagraphs (c)(1) and (2) of the Commercial Computer Software -
 *  Restricted Rights at 48 CFR 52.227-19, as applicable.
 *
 *  Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343
 *
 * Description.
 * =======================================================================
 *  This header file defines some useful constants for external watchdog 
 *  timer chip.
 *
 * Edit Date/Ver   Edit Description
 * ==============  =======================================================
 *
 *
 */

#ifndef wd_gpio_h
#define wd_gpio_h
#include <Npttypes.h>
#include <bsp_sys.h>

#ifdef __cplusplus
extern "C"
{
#endif


#if (BSP_WATCHDOG_TYPE == BSP_WATCHDOG_EXTERNAL)
This platform does not have a external watchdog chip on the board.
You need to customize this file for your external watchdog implementation.
#endif

/*
 * Address of GPIO PORTF register in GEN module.
 */
#define GPIO_PORTF_ADDR          0xffa00048
#define GPIO_PORTF              (*((volatile WORD32 *) GPIO_PORTF_ADDR))


/*
 * Shift values for different fields in the GPIO registers.
 */
#define GPIO_MODE_SHIFT         24
#define GPIO_DIR_SHIFT          16


/*
 * Set direction bit to determine whether pin is an input or an output.
 */
#define GPIO_SET_INPUT              0
#define GPIO_SET_OUTPUT             1

/*
 * Shift values for data bits.
 */
#define GPIO_BIT4       4
 

/*
 * NET+CONNECT defines for PORTF
 */
#define GPIO_WATCHDOG               GPIO_BIT4
 

/*
 * Constant value to use to create a 1 microsecond delay.  Since this is a 
 * 44 MHz part, a loop that executes 44 times is guarenteed to be at least
 * one microsecond (actually quite a lot longer).
 */
#define ONE_MICROSECOND     44


#ifdef __cplusplus
}
#endif

#endif

