/**
 * cpsw_init_cfg.h
 * 
 *
 * Copyright (c) 2012 Texas Instruments Incorporated ALL RIGHTS RESERVED
 *
*/
/** \file   cpsw_init_cfg.h
    \brief  Switch Default init time configuration header file.

    This file contains the default configuration parameters for initializing
    the CPSW.
*/

#ifndef _CPSW3G_INIT_CFG_H
#define _CPSW3G_INIT_CFG_H

#ifdef __cplusplus
extern "C" {
#endif

/* System value for ticks per seconds 
 #define CPSW3G_DDA_TICKS_PER_SEC         HZ */

/* Default TX channel number */
#define CPSW3G_DEFAULT_TX_CHANNEL       	 	0u

/* Default RX channel number */
#define CPSW3G_DEFAULT_RX_CHANNEL       	 	0u

#define CPSW3G_MIB_TIMER_TIMEOUT             	5000u /* 5 seconds should be enough */

/*ALE time out value*/
#define CPSW_ALE_AGE_OUT_TIME           		300000u
#define CPSW_ALE_TICK_PERIOD					100u
#define CPGMAC_DEFAULT_MAX_MULTICAST_ADDRESSES  64u


#define CPSW3G_DEFAULT_CPMACBUSFREQ              (125000000u)
#define CPSW3G_DEFAULT_MDIOTICK                  1000u

/* prescalar divides down to 1ms interval*/
#define CPSW3G_DEFAULT_ALEPRESCALE               (CPSW3G_DEFAULT_CPMACBUSFREQ /1000u)

#define CPSW3G_INITPARAM_TXNUMBDS	4u //192u
#define CPSW3G_INITPARAM_RXNUMBDS   2u	//64u

/* only 1 Tx/Rx channel. Resort to Multiple channels when QOS/Prirority is needed
  * When using multiple channels, the switch must be configured for Rx Channel Mapping
  * based on switch prority and also the Rx CPPI service routine will have to be suitably
  * modified for priority/channel based servicing(from CPPI dma perspective all 
  * Rx Channels have same priority, hence only way of handling priority is to implement
  * priority handling policy as part of the RX CPPI completion service mechanism) .
  * 
  * Similarly on Tx Path, based on priority/vlan tag we should be enqueuing the packet 
  * into corresponding TX Channel(also configure the Tx channels to use priority instead
  * of round robin */
#define CPSW3G_INITPARAM_TXNUMCHAN	1u
#define CPSW3G_INITPARAM_RXNUMCHAN	1u


#ifdef __cplusplus
}
#endif

#endif /* _CPSW3G_INIT_CFG_H */



