/*
 *  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
 *
 *
 * bsp_driveres.h This file defines BSP feature variables for driver inclusion.
 *
 *
 * Edit History
 *
 * Date      Initials       Change Description
 *
 */

#ifndef BSP_DRIVERS_H
#define BSP_DRIVERS_H

#include <Npttypes.h>
#include "bsp_defs.h"


#ifdef __cplusplus
extern "C"
{
#endif

/*ad*
 * Set this constant to TRUE to include the NUL driver.
 *
 * @since 1.0
 * @external
 * @category BSP:BSP_Configuration
*ad*/
#define BSP_INCLUDE_NUL_DRIVER          TRUE

/*ad*
 * Set this constant to TRUE to include the loopback driver.
 *
 * @since 1.0
 * @external
 * @category BSP:BSP_Configuration
*ad*/
#define BSP_INCLUDE_LOOPBACK_DRIVER     TRUE

/*ad*
 * Set this constant to TRUE to include the UPD debug driver.
 *
 * @since 1.0
 * @external
 * @category BSP:BSP_Configuration
*ad*/
#define BSP_INCLUDE_UDP_DEBUG_DRIVER    FALSE


/*ad*
 * Set this constant to TRUE to include the LCD driver.
 *
 * @since 6.1
 * @external
 * @category BSP:BSP_Configuration
*ad*/
#define BSP_INCLUDE_LCD_DRIVER			FALSE


/*ad*
 * Set this constant to TRUE to include the Real Time Clock driver.
 *
 * @since 6.0
 * @external
 * @category BSP:BSP_Configuration
*ad*/
#define BSP_INCLUDE_RTC_DRIVER          FALSE


/*ad*
 * Sets this constant to TRUE to include the I2C_EXPANDER APIs in
 * the functional name based GPIO API functions.
 *
 * @since 6.3
 * @external
 * @category BSP:BSP_Configuration
*ad*/

#define BSP_INCLUDE_I2C_EXPANDER        FALSE


/*ad*
 *
 * Set to TRUE to enable the USB mouse class driver.
 * 
 * @since 7.2
 * @external
 * @category BSP:BSP_Configuration
 *
*ad*/
#define BSP_ENABLE_USB_MOUSE FALSE

/*ad*
 *
 * Set to TRUE to enable the USB keyboard class driver.
 * 
 * @since 7.2
 * @external
 * @category BSP:BSP_Configuration
 *
*ad*/
#define BSP_ENABLE_USB_KEYBOARD FALSE

/*ad*
 *
 * Set to TRUE to enable the USB mass storage class driver, this includes
 * USB memory sticks.
 * 
 * @since 7.2
 * @external
 * @category BSP:BSP_Configuration
 *
*ad*/
#define BSP_ENABLE_USB_MASS_STORAGE FALSE

/*ad*
 *
 * Set to TRUE to enable the USB hub class driver, this is also
 * required for on-board USB hubs.
 * 
 * @since 7.2
 * @external
 * @category BSP:BSP_Configuration
 *
*ad*/
#define BSP_ENABLE_USB_HUB FALSE

/*ad*
 *
 * Set this constant to TRUE to enabale the USB host on ARM9
 * platforms. If your platform has an on-board hub, you must also
 * enable BSP_ENABLE_USB_HUB.
 *
 * @since 7.2
 * @external
 * @category BSP:BSP_Configuration
 *
*ad*/
#define BSP_ENABLE_USB_HOST  FALSE 


/*ad*
 * This constant determines which NVRAM driver will be built.
 *
 * @since 6.0
 * @external
 * @category BSP:BSP_Configuration
*ad*/

#define BSP_NVRAM_DRIVER     BSP_NVRAM_LAST_FLASH_SECTOR

/*
 * Set this constant to the I2C bus address of the EEPROM.
 *
 * This constant is only used if BSP_NVRAM_DRIVER is set to
 * BSP_NVRAM_EEPROM_OVER_I2C.
 *
 * @since 7.1
 * @external
 * @category BSP:BSP_Configuration:ARM7
 * @index BSP_NVRAM_DRIVER
 * @see @link BSP:BSP_Configuration:ARM7:NvramDriverConfigurations
 */
#define BSP_NVRAM_I2C_EEPROM_ADDRESS    0xA0

/*ad*
 * This constant determines the name of default serial flash device name.
 *
 * @since 6.2
 * @external
 * @category BSP:BSP_Configuration
*ad*/
#define BSP_DEFAULT_FLASH_DEVICE		"defaultSFlash"


/*ad*
 * If BSP_NVRAM_DRIVER is set to BSP_NVRAM_EEPROM.  This constant
 * determines where the part should be mapped to in memory.
 *
 * @since 3.0
 * @external
 * @deprecated 6.1
 * @category BSP:BSP_Configuration
*ad*/
#define BSP_EEPROM_BASE     0x3000000

/*ad*
 * If BSP_NVRAM_DRIVER is set to BSP_NVRAM_EEPROM.  This constant
 * determines the size of the part.
 *
 * @since 3.0
 * @external
 * @deprecated 6.1
 * @category BSP:BSP_Configuration
*ad*/
#define BSP_EEPROM_SIZE     0x2000

/*ad*
 * BSP_FLASH_BANKS sets the number of flash memory banks.  The number of
 * flash banks is the number of flash chips located in memory where one
 * chip follows another in the address map.
 * For example, 2 16-bit chips wired up as 16-bit flash would count as 2
 * Flash banks.  2 16-bit chips wired up as 32-bit flash (in parallel)
 * would count as 1 bank.  4 16-bit chips wired up as 32-bit flash would
 * count as 2 banks (2 pairs of chips where the pairs follow each other in
 * the address map).
 *
 * @since 5.0
 * @external
 * @category BSP:BSP_Configuration
*ad*/
#define BSP_FLASH_BANKS  1

/*ad*
 * Maximum number of PWM channels supported
 *
 * @since 6.2
 * @include 	<bsp.h>
 * @external
 * @category BSP:BSP_Configuration
 *
*ad*/
#define BSP_PWM_MAXIMUM_CHANNELS     4     


/*ad*
 * The BSP_UBOOT_ENV_SHARE parameter is applied only if BSP_NVRAM_DRIVER
 * is set to BSP_NVRAM_NAND.
 *
 * Set BSP_UBOOT_ENV_SHARE to TRUE to locate the dialog
 * environment variables in the U-Boot NVPT_NVRAM partition. 
 * NET+OS will then store its environment parameters in an OS section of
 * type NVOS_NETOS. 
 *
 * The U-Boot nand layout can be displayed by typing "intnvram printall"
 * in the U-Boot console.
 *
 * When set to TRUE, MAC addresses, IP addressess, and baudrate
 * configurations are shared between U-Boot and NET+OS.
 * These parameters are read from U-Boot at NET+OS initialization
 * so as to be consistent, and if these parameters are changed in the
 * dialog, they are propagated to the U-Boot area when they are saved
 * from NET+OS.
 * If BSP_UBOOT_ENV_SHARE is FALSE or missing, the dialog environment
 * variables are located in a separate and independent NAND block whose
 * location is defined in the nand_parts.h header file.
 *
 * @since 7.2
 * @external
 * @category BSP:BSP_Configuration
*ad*/

#define	BSP_UBOOT_ENV_SHARE FALSE


#ifdef __cplusplus
}
#endif

#endif /* BSP_DRIVERS_H */

