#ifndef _INC_PMCC4_DEFS_H_
#define _INC_PMCC4_DEFS_H_

/*-----------------------------------------------------------------------------
 * c4_defs.h -
 *
 *   Implementation elements of the wanPMC-C4T1E1 device driver
 *
 * Copyright (C) 2005  SBE, Inc.
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 * For further information, contact via email: support@sbei.com
 * SBE, Inc.  San Ramon, California  U.S.A.
 *-----------------------------------------------------------------------------
 */


#define MAX_BOARDS          8
#define MAX_CHANS_USED      128

#ifdef  SBE_PMCC4_ENABLE
#define MUSYCC_NPORTS       4     /* CN8474 */
#endif
#ifdef SBE_WAN256T3_ENABLE
#define MUSYCC_NPORTS       8     /* CN8478 */
#endif
#define MUSYCC_NCHANS       32    /* actually, chans per port */

#define MUSYCC_NIQD         0x1000    /* power of 2 */
#define MUSYCC_MRU          2048  /* default */
#define MUSYCC_MTU          2048  /* default */
#define MUSYCC_TXDESC_MIN   10    /* HDLC mode default */
#define MUSYCC_RXDESC_MIN   18    /* HDLC mode default */
#define MUSYCC_TXDESC_TRANS 4     /* Transparent mode minimum # of TX descriptors */
#define MUSYCC_RXDESC_TRANS 12    /* Transparent mode minimum # of RX descriptors */

#define MAX_DEFAULT_IFQLEN  32    /* network qlen */


#define SBE_IFACETMPL        "pmcc4-%d"
#ifdef IFNAMSIZ
#define SBE_IFACETMPL_SIZE    IFNAMSIZ
#else
#define SBE_IFACETMPL_SIZE    16
#endif

/* we want the PMCC4 watchdog to fire off every 250ms */
#define WATCHDOG_TIMEOUT      250000

/* if we restart the watchdog every 250ms, then we'll time out
 * an additional 300ms later */
#define WATCHDOG_UTIMEOUT     (WATCHDOG_TIMEOUT+300000)

#if !defined(SBE_ISR_TASKLET) && !defined(SBE_ISR_IMMEDIATE) && !defined(SBE_ISR_INLINE)
#define SBE_ISR_TASKLET
#endif

#endif   /*** _INC_PMCC4_DEFS_H_ ***/

