#ifndef __config_h__
#define __config_h__

/*
 * Target arch selection (first things first)
 */
 
#define CONFIG_ARCH_LPC2XXX
#undef  CONFIG_ARCH_MSP430

/*
 * Board selection
 */
 
#undef CONFIG_BOARD_MEDUSA_REV2
#define CONFIG_BOARD_MEDUSA
#undef CONFIG_BOARD_NOHAU
#undef CONFIG_BOARD_OLIMEX

#include "hwconfig.h"

/*
 * System configuration
 */

#undef CONFIG_INCLUDE_WATCHDOG

#undef CONFIG_INCLUDE_PM_SLEEP

// event queueing module
#define CONFIG_EVENTQ_MAX_EVENTS (64)
#define CONFIG_EVENTQ_MAX_URGENT_EVENTS (32)
#define CONFIG_EVENTQ_MAX_HANDLERS (16)
#define CONFIG_EVENTQ_BUSY_LED

// Command Line Interface (cli)

#define CONFIG_CLI_ARG_BUF_SIZE (128)
#define CONFIG_CLI_MAX_ARGUMENTS (8)
#define CONFIG_CLI_MAX_COMMANDS (64)
#define CONFIG_CLI_VAR_SIZE (12)
#define CONFIG_CLI_MAX_VARIABLES (16)

#define CONFIG_CLIVAR_VAR_LEN (16)
#define CONFIG_CLIVAR_VAL_LEN (16)
#define CONFIG_CLIVAR_MAX_VARIABLES (16)

#define CONFIG_CLICHAR_INPUT_BUF_SIZE (256)
#define CONFIG_CLICHAR_OUTPUT_BUF_SIZE (256)

/*
 * UART0 driver configuration
 */

#define CONFIG_UART0_RX_QUEUE_SIZE (64)
#define CONFIG_UART0_TX_QUEUE_SIZE (256)

/*
 * I2C driver configuration
 */

#define CONFIG_I2C_RX_BUFFER_SIZE (32)
#define CONFIG_I2C_TX_BUFFER_SIZE (128)


#define CONFIG_I2CPORT_MAX_PORTS (2)

/*
 * SPI driver configuration
 */

#define CONFIG_SPI_RX_QUEUE_SIZE (64)
#define CONFIG_SPI_TX_QUEUE_SIZE (64)

/*
 * SSP driver configuration
 */

#define CONFIG_SSP_RX_QUEUE_SIZE (128)
#define CONFIG_SSP_TX_QUEUE_SIZE (128)

/*
 * Non-volatile item support
 */

#define CONFIG_NUM_NV_ITEMS (10)
#define CONFIG_INCLUDE_CRC16

/*
 * ethernet frame pool for Medusa 
 */

#define CONFIG_NUM_FRAME_DESCRIPTORS (16)

// frame pool sizes
#define CONFIG_FRAME_POOL_128  (4)
#define CONFIG_FRAME_POOL_512  (2)
#define CONFIG_FRAME_POOL_1518 (1)

#endif /* __config_h__ */
