original files of m241

This commit is contained in:
neelimap
2026-07-30 11:19:44 +05:30
parent 170c2b3f3a
commit afc7070c1f
12254 changed files with 7655111 additions and 0 deletions
+383
View File
@@ -0,0 +1,383 @@
/* mcfFec.h - Motorola/Freescale FEC END device header */
/*
* Copyright 2007, 2008 Wind River Systems, Inc.
*
* The right to copy, distribute, modify or otherwise make use
* of this software may be licensed only pursuant to the terms
* of an applicable Wind River license agreement.
*/
/*
modification history
--------------------
01b,06feb08,rec change CAST_M5208 macros to more generic type
01a,14dec07,rec created
*/
#ifndef __INCmcfFech
#define __INCmcfFech
/* register offsets */
#define MCF_FEC_EIR_OFF 0x004
#define MCF_FEC_EIMR_OFF 0x008
#define MCF_FEC_RDAR_OFF 0x010
#define MCF_FEC_TDAR_OFF 0x014
#define MCF_FEC_ECR_OFF 0x024
#define MCF_FEC_MMFR_OFF 0x040
#define MCF_FEC_MSCR_OFF 0x044
#define MCF_FEC_MIBC_OFF 0x064
#define MCF_FEC_RCR_OFF 0x084
#define MCF_FEC_TCR_OFF 0x0C4
#define MCF_FEC_PALR_OFF 0x0E4
#define MCF_FEC_PAUR_OFF 0x0E8
#define MCF_FEC_OPD_OFF 0x0EC
#define MCF_FEC_IAUR_OFF 0x118
#define MCF_FEC_IALR_OFF 0x11C
#define MCF_FEC_GAUR_OFF 0x120
#define MCF_FEC_GALR_OFF 0x124
#define MCF_FEC_TFWR_OFF 0x144
#define MCF_FEC_FRBR_OFF 0x14C
#define MCF_FEC_FRSR_OFF 0x150
#define MCF_FEC_ERDSR_OFF 0x180
#define MCF_FEC_ETDSR_OFF 0x184
#define MCF_FEC_EMRBR_OFF 0x188
#define MCF_FEC_RMON_T_DROP_OFF 0x200
#define MCF_FEC_RMON_T_PACKETS_OFF 0x204
#define MCF_FEC_RMON_T_BC_PKT_OFF 0x208
#define MCF_FEC_RMON_T_MC_PKT_OFF 0x20C
#define MCF_FEC_RMON_T_CRC_ALIGN_OFF 0x210
#define MCF_FEC_RMON_T_UNDERSIZE_OFF 0x214
#define MCF_FEC_RMON_T_OVERSIZE_OFF 0x218
#define MCF_FEC_RMON_T_FRAG_OFF 0x21C
#define MCF_FEC_RMON_T_JAB_OFF 0x220
#define MCF_FEC_RMON_T_COL_OFF 0x224
#define MCF_FEC_RMON_T_P64_OFF 0x228
#define MCF_FEC_RMON_T_P65TO127_OFF 0x22C
#define MCF_FEC_RMON_T_P128TO255_OFF 0x230
#define MCF_FEC_RMON_T_P256TO511_OFF 0x234
#define MCF_FEC_RMON_T_P512TO1023_OFF 0x238
#define MCF_FEC_RMON_T_P1024TO2047_OFF 0x23C
#define MCF_FEC_RMON_T_P_GTE2048_OFF 0x240
#define MCF_FEC_RMON_T_OCTETS_OFF 0x244
#define MCF_FEC_IEEE_T_DROP_OFF 0x248
#define MCF_FEC_IEEE_T_FRAME_OK_OFF 0x24C
#define MCF_FEC_IEEE_T_1COL_OFF 0x250
#define MCF_FEC_IEEE_T_MCOL_OFF 0x254
#define MCF_FEC_IEEE_T_DEF_OFF 0x258
#define MCF_FEC_IEEE_T_LCOL_OFF 0x25C
#define MCF_FEC_IEEE_T_EXCOL_OFF 0x260
#define MCF_FEC_IEEE_T_MACERR_OFF 0x264
#define MCF_FEC_IEEE_T_CSERR_OFF 0x268
#define MCF_FEC_IEEE_T_SQE_OFF 0x26C
#define MCF_FEC_IEEE_T_FDXFC_OFF 0x270
#define MCF_FEC_IEEE_T_OCTETS_OK_OFF 0x274
#define MCF_FEC_RMON_R_PACKETS_OFF 0x284
#define MCF_FEC_RMON_R_BC_PKT_OFF 0x288
#define MCF_FEC_RMON_R_MC_PKT_OFF 0x28C
#define MCF_FEC_RMON_R_CRC_ALIGN_OFF 0x290
#define MCF_FEC_RMON_R_UNDERSIZE_OFF 0x294
#define MCF_FEC_RMON_R_OVERSIZE_OFF 0x298
#define MCF_FEC_RMON_R_FRAG_OFF 0x29C
#define MCF_FEC_RMON_R_JAB_OFF 0x2A0
#define MCF_FEC_RMON_R_RESVD_0_OFF 0x2A4
#define MCF_FEC_RMON_R_P64_OFF 0x2A8
#define MCF_FEC_RMON_R_P65TO127_OFF 0x2AC
#define MCF_FEC_RMON_R_P128TO255_OFF 0x2B0
#define MCF_FEC_RMON_R_P256TO511_OFF 0x2B4
#define MCF_FEC_RMON_R_512TO1023_OFF 0x2B8
#define MCF_FEC_RMON_R_P_GTE2048_OFF 0x2C0
#define MCF_FEC_RMON_R_1024TO2047_OFF 0x2BC
#define MCF_FEC_RMON_R_OCTETS_OFF 0x2C4
#define MCF_FEC_IEEE_R_DROP_OFF 0x2C8
#define MCF_FEC_IEEE_R_FRAME_OK_OFF 0x2CC
#define MCF_FEC_IEEE_R_CRC_OFF 0x2D0
#define MCF_FEC_IEEE_R_ALIGN_OFF 0x2D4
#define MCF_FEC_IEEE_R_MACERR_OFF 0x2D8
#define MCF_FEC_IEEE_R_FDXFC_OFF 0x2DC
#define MCF_FEC_IEEE_R_OCTETS_OK_OFF 0x2E0
/* Register read/write macros */
#define MCF_FEC_EIR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_EIR_OFF))
#define MCF_FEC_EIMR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_EIMR_OFF))
#define MCF_FEC_RDAR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RDAR_OFF))
#define MCF_FEC_TDAR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_TDAR_OFF))
#define MCF_FEC_ECR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_ECR_OFF))
#define MCF_FEC_MMFR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_MMFR_OFF))
#define MCF_FEC_MSCR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_MSCR_OFF))
#define MCF_FEC_MIBC (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_MIBC_OFF))
#define MCF_FEC_RCR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RCR_OFF))
#define MCF_FEC_TCR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_TCR_OFF))
#define MCF_FEC_PALR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_PALR_OFF))
#define MCF_FEC_PAUR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_PAUR_OFF))
#define MCF_FEC_OPD (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_OPD_OFF))
#define MCF_FEC_IAUR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IAUR_OFF))
#define MCF_FEC_IALR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IALR_OFF))
#define MCF_FEC_GAUR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_GAUR_OFF))
#define MCF_FEC_GALR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_GALR_OFF))
#define MCF_FEC_TFWR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_TFWR_OFF))
#define MCF_FEC_FRBR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_FRBR_OFF))
#define MCF_FEC_FRSR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_FRSR_OFF))
#define MCF_FEC_ERDSR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_ERDSR_OFF))
#define MCF_FEC_ETDSR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_ETDSR_OFF))
#define MCF_FEC_EMRBR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_EMRBR_OFF))
#define MCF_FEC_RMON_T_DROP (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_T_DROP_OFF))
#define MCF_FEC_RMON_T_PACKETS (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_T_PACKETS_OFF))
#define MCF_FEC_RMON_T_BC_PKT (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_T_BC_PKT_OFF))
#define MCF_FEC_RMON_T_MC_PKT (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_T_MC_PKT_OFF))
#define MCF_FEC_RMON_T_CRC_ALIGN (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_T_CRC_ALIGN_OFF))
#define MCF_FEC_RMON_T_UNDERSIZE (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_T_UNDERSIZE_OFF))
#define MCF_FEC_RMON_T_OVERSIZE (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_T_OVERSIZE_OFF))
#define MCF_FEC_RMON_T_FRAG (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_T_FRAG_OFF))
#define MCF_FEC_RMON_T_JAB (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_T_JAB_OFF))
#define MCF_FEC_RMON_T_COL (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_T_COL_OFF))
#define MCF_FEC_RMON_T_P64 (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_T_P64_OFF))
#define MCF_FEC_RMON_T_P65TO127 (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_T_P65TO127_OFF))
#define MCF_FEC_RMON_T_P128TO255 (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_T_P128TO255_OFF))
#define MCF_FEC_RMON_T_P256TO511 (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_T_P256TO511_OFF))
#define MCF_FEC_RMON_T_P512TO1023 (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_T_P512TO1023_OFF))
#define MCF_FEC_RMON_T_P1024TO2047 (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_T_P1024TO2047_OFF))
#define MCF_FEC_RMON_T_P_GTE2048 (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_T_P_GTE2048_OFF))
#define MCF_FEC_RMON_T_OCTETS (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_T_OCTETS_OFF))
#define MCF_FEC_IEEE_T_DROP (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IEEE_T_DROP_OFF))
#define MCF_FEC_IEEE_T_FRAME_OK (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IEEE_T_FRAME_OK_OFF))
#define MCF_FEC_IEEE_T_1COL (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IEEE_T_1COL_OFF))
#define MCF_FEC_IEEE_T_MCOL (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IEEE_T_MCOL_OFF))
#define MCF_FEC_IEEE_T_DEF (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IEEE_T_DEF_OFF))
#define MCF_FEC_IEEE_T_LCOL (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IEEE_T_LCOL_OFF))
#define MCF_FEC_IEEE_T_EXCOL (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IEEE_T_EXCOL_OFF))
#define MCF_FEC_IEEE_T_MACERR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IEEE_T_MACERR_OFF))
#define MCF_FEC_IEEE_T_CSERR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IEEE_T_CSERR_OFF))
#define MCF_FEC_IEEE_T_SQE (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IEEE_T_SQE_OFF))
#define MCF_FEC_IEEE_T_FDXFC (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IEEE_T_FDXFC_OFF))
#define MCF_FEC_IEEE_T_OCTETS_OK (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IEEE_T_OCTETS_OK_OFF))
#define MCF_FEC_RMON_R_PACKETS (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_R_PACKETS_OFF))
#define MCF_FEC_RMON_R_BC_PKT (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_R_BC_PKT_OFF))
#define MCF_FEC_RMON_R_MC_PKT (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_R_MC_PKT_OFF))
#define MCF_FEC_RMON_R_CRC_ALIGN (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_R_CRC_ALIGN_OFF))
#define MCF_FEC_RMON_R_UNDERSIZE (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_R_UNDERSIZE_OFF))
#define MCF_FEC_RMON_R_OVERSIZE (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_R_OVERSIZE_OFF))
#define MCF_FEC_RMON_R_FRAG (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_R_FRAG_OFF))
#define MCF_FEC_RMON_R_JAB (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_R_JAB_OFF))
#define MCF_FEC_RMON_R_RESVD_0 (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_R_RESVD_0_OFF))
#define MCF_FEC_RMON_R_P64 (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_R_P64_OFF))
#define MCF_FEC_RMON_R_P65TO127 (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_R_P65TO127_OFF))
#define MCF_FEC_RMON_R_P128TO255 (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_R_P128TO255_OFF))
#define MCF_FEC_RMON_R_P256TO511 (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_R_P256TO511_OFF))
#define MCF_FEC_RMON_R_512TO1023 (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_R_512TO1023_OFF))
#define MCF_FEC_RMON_R_P_GTE2048 (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_R_P_GTE2048_OFF))
#define MCF_FEC_RMON_R_1024TO2047 (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_R_1024TO2047_OFF))
#define MCF_FEC_RMON_R_OCTETS (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_RMON_R_OCTETS_OFF))
#define MCF_FEC_IEEE_R_DROP (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IEEE_R_DROP_OFF))
#define MCF_FEC_IEEE_R_FRAME_OK (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IEEE_R_FRAME_OK_OFF))
#define MCF_FEC_IEEE_R_CRC (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IEEE_R_CRC_OFF))
#define MCF_FEC_IEEE_R_ALIGN (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IEEE_R_ALIGN_OFF))
#define MCF_FEC_IEEE_R_MACERR (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IEEE_R_MACERR_OFF))
#define MCF_FEC_IEEE_R_FDXFC (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IEEE_R_FDXFC_OFF))
#define MCF_FEC_IEEE_R_OCTETS_OK (CAST_MCF_VOLPTR( UINT32 )(MCF_FEC_BASE + \
MCF_FEC_IEEE_R_OCTETS_OK_OFF))
/* Bit definitions and macros for MCF_FEC_EIR */
#define MCF_FEC_EIR_UN (0x00080000)
#define MCF_FEC_EIR_RL (0x00100000)
#define MCF_FEC_EIR_LC (0x00200000)
#define MCF_FEC_EIR_EBERR (0x00400000)
#define MCF_FEC_EIR_MII (0x00800000)
#define MCF_FEC_EIR_RXB (0x01000000)
#define MCF_FEC_EIR_RXF (0x02000000)
#define MCF_FEC_EIR_TXB (0x04000000)
#define MCF_FEC_EIR_TXF (0x08000000)
#define MCF_FEC_EIR_GRA (0x10000000)
#define MCF_FEC_EIR_BABT (0x20000000)
#define MCF_FEC_EIR_BABR (0x40000000)
#define MCF_FEC_EIR_HBERR (0x80000000)
#define MCF_FEC_EIR_CLEAR_ALL (0xFFFFFFFF)
/* Bit definitions and macros for MCF_FEC_EIMR */
#define MCF_FEC_EIMR_UN (0x00080000)
#define MCF_FEC_EIMR_RL (0x00100000)
#define MCF_FEC_EIMR_LC (0x00200000)
#define MCF_FEC_EIMR_EBERR (0x00400000)
#define MCF_FEC_EIMR_MII (0x00800000)
#define MCF_FEC_EIMR_RXB (0x01000000)
#define MCF_FEC_EIMR_RXF (0x02000000)
#define MCF_FEC_EIMR_TXB (0x04000000)
#define MCF_FEC_EIMR_TXF (0x08000000)
#define MCF_FEC_EIMR_GRA (0x10000000)
#define MCF_FEC_EIMR_BABT (0x20000000)
#define MCF_FEC_EIMR_BABR (0x40000000)
#define MCF_FEC_EIMR_HBERR (0x80000000)
#define MCF_FEC_EIMR_MASK_ALL (0x00000000)
#define MCF_FEC_EIMR_UNMASK_ALL (0xFFFFFFFF)
/* Bit definitions and macros for MCF_FEC_RDAR */
#define MCF_FEC_RDAR_R_DES_ACTIVE (0x01000000)
/* Bit definitions and macros for MCF_FEC_TDAR */
#define MCF_FEC_TDAR_X_DES_ACTIVE (0x01000000)
/* Bit definitions and macros for MCF_FEC_ECR */
#define MCF_FEC_ECR_RESET (0x00000001)
#define MCF_FEC_ECR_ETHER_EN (0x00000002)
/* Bit definitions and macros for MCF_FEC_MMFR */
#define MCF_FEC_MMFR_DATA(x) (((x)&0x0000FFFF)<<0)
#define MCF_FEC_MMFR_TA(x) (((x)&0x00000003)<<16)
#define MCF_FEC_MMFR_RA(x) (((x)&0x0000001F)<<18)
#define MCF_FEC_MMFR_PA(x) (((x)&0x0000001F)<<23)
#define MCF_FEC_MMFR_OP(x) (((x)&0x00000003)<<28)
#define MCF_FEC_MMFR_ST(x) (((x)&0x00000003)<<30)
#define MCF_FEC_MMFR_ST_01 (0x40000000)
#define MCF_FEC_MMFR_OP_READ (0x20000000)
#define MCF_FEC_MMFR_OP_WRITE (0x10000000)
#define MCF_FEC_MMFR_TA_10 (0x00020000)
/* Bit definitions and macros for MCF_FEC_MSCR */
#define MCF_FEC_MSCR_MII_SPEED(x) (((x)&0x0000003F)<<1)
#define MCF_FEC_MSCR_DIS_PREAMBLE (0x00000080)
/* Bit definitions and macros for MCF_FEC_MIBC */
#define MCF_FEC_MIBC_MIB_IDLE (0x40000000)
#define MCF_FEC_MIBC_MIB_DISABLE (0x80000000)
/* Bit definitions and macros for MCF_FEC_RCR */
#define MCF_FEC_RCR_LOOP (0x00000001)
#define MCF_FEC_RCR_DRT (0x00000002)
#define MCF_FEC_RCR_MII_MODE (0x00000004)
#define MCF_FEC_RCR_PROM (0x00000008)
#define MCF_FEC_RCR_BC_REJ (0x00000010)
#define MCF_FEC_RCR_FCE (0x00000020)
#define MCF_FEC_RCR_MAX_FL(x) (((x)&0x000007FF)<<16)
/* Bit definitions and macros for MCF_FEC_TCR */
#define MCF_FEC_TCR_GTS (0x00000001)
#define MCF_FEC_TCR_HBC (0x00000002)
#define MCF_FEC_TCR_FDEN (0x00000004)
#define MCF_FEC_TCR_TFC_PAUSE (0x00000008)
#define MCF_FEC_TCR_RFC_PAUSE (0x00000010)
/* Bit definitions and macros for MCF_FEC_PALR */
#define MCF_FEC_PALR_PADDR1(x) (((x)&0xFFFFFFFF)<<0)
/* Bit definitions and macros for MCF_FEC_PAUR */
#define MCF_FEC_PAUR_TYPE(x) (((x)&0x0000FFFF)<<0)
#define MCF_FEC_PAUR_PADDR2(x) (((x)&0x0000FFFF)<<16)
/* Bit definitions and macros for MCF_FEC_OPD */
#define MCF_FEC_OPD_PAUSE_DUR(x) (((x)&0x0000FFFF)<<0)
#define MCF_FEC_OPD_OPCODE(x) (((x)&0x0000FFFF)<<16)
/* Bit definitions and macros for MCF_FEC_IAUR */
#define MCF_FEC_IAUR_IADDR1(x) (((x)&0xFFFFFFFF)<<0)
/* Bit definitions and macros for MCF_FEC_IALR */
#define MCF_FEC_IALR_IADDR2(x) (((x)&0xFFFFFFFF)<<0)
/* Bit definitions and macros for MCF_FEC_GAUR */
#define MCF_FEC_GAUR_GADDR1(x) (((x)&0xFFFFFFFF)<<0)
/* Bit definitions and macros for MCF_FEC_GALR */
#define MCF_FEC_GALR_GADDR2(x) (((x)&0xFFFFFFFF)<<0)
/* Bit definitions and macros for MCF_FEC_TFWR */
#define MCF_FEC_TFWR_X_WMRK(x) (((x)&0x00000003)<<0)
/* Bit definitions and macros for MCF_FEC_FRBR */
#define MCF_FEC_FRBR_R_BOUND(x) (((x)&0x000000FF)<<2)
/* Bit definitions and macros for MCF_FEC_FRSR */
#define MCF_FEC_FRSR_R_FSTART(x) (((x)&0x000000FF)<<2)
/* Bit definitions and macros for MCF_FEC_ERDSR */
#define MCF_FEC_ERDSR_R_DES_START(x) (((x)&0x3FFFFFFF)<<2)
/* Bit definitions and macros for MCF_FEC_ETDSR */
#define MCF_FEC_ETDSR_X_DES_START(x) (((x)&0x3FFFFFFF)<<2)
/* Bit definitions and macros for MCF_FEC_EMRBR */
#define MCF_FEC_EMRBR_R_BUF_SIZE(x) (((x)&0x0000007F)<<4)
/* register offsets */
#endif
@@ -0,0 +1,356 @@
/* stm32f2xxNet.h - STM32F20x/STM32F21x network controller header file */
/*
* Copyright (c) 2012 Wind River Systems, Inc.
*
* The right to copy, distribute, modify or otherwise make use
* of this software may be licensed only pursuant to the terms
* of an applicable Wind River license agreement.
*/
/*
modification history
--------------------
01c,31jul12,rec Move STM32F_DMAIER_INITVAL to code body
01b,12jul12,rec update bit fields
01a,03apr12,rec written
*/
#ifndef __INCstm32f2xxNeth
#define __INCstm32f2xxNeth
#ifdef __cplusplus
extern "C" {
#endif
/* MAC register definitions */
#define STM32F_MACCR 0x0000 /* MAC configuration register */
#define STM32F_MACCR_RE 0x00000004 /* Receiver enable */
#define STM32F_MACCR_TE 0x00000008 /* Transmitter enable */
#define STM32F_MACCR_DC 0x00000010 /* Deferral check */
#define STM32F_MACCR_BL1 0x00000060 /* Backoff limit 1 */
#define STM32F_MACCR_BL4 0x00000040 /* Backoff limit 4 */
#define STM32F_MACCR_BL8 0x00000020 /* Backoff limit 8 */
#define STM32F_MACCR_BL10 0x00000000 /* Backoff limit 10 */
#define STM32F_MACCR_BLMSK 0x00000060 /* Backoff limit mask */
#define STM32F_MACCR_APCS 0x00000080 /* Automatic PAD/CRC stipping */
#define STM32F_MACCR_RD 0x00000200 /* Retry disable */
#define STM32F_MACCR_IPCO 0x00000400 /* IPv4 checksum offload */
#define STM32F_MACCR_DM 0x00000800 /* Duplex mode */
#define STM32F_MACCR_LM 0x00001000 /* Loopback mode */
#define STM32F_MACCR_ROD 0x00002000 /* Receive own disable */
#define STM32F_MACCR_FES 0x00004000 /* Fast ethernet speed */
#define STM32F_MACCR_CSD 0x00010000 /* Carrier sense disable */
#define STM32F_MACCR_IFGMSK 0x000E0000 /* Interframe gap mask */
#define STM32F_MACCR_IFGSHFT 17 /* Interframe gap shift */
#define STM32F_MACCR_JD 0x00400000 /* Jabber disable */
#define STM32F_MACCR_WD 0x00800000 /* Watchdog disable */
#define STM32F_MACCR_CSTF 0x02000000 /* CRC stripping for type frames */
#define STM32F_MACFFR 0x0004 /* MAC frame filter register */
#define STM32F_MACFFR_PM 0x00000001 /* Promiscuous mode */
#define STM32F_MACFFR_HU 0x00000002 /* Hash unicast */
#define STM32F_MACFFR_HM 0x00000004 /* Hash multicast */
#define STM32F_MACFFR_DAIF 0x00000008 /* Dest address inverse filtering */
#define STM32F_MACFFR_PAM 0x00000010 /* Pass all multicast */
#define STM32F_MACFFR_BFD 0x00000020 /* Broadcast frames disable */
#define STM32F_MACFFR_PCFMSK 0x000000C0 /* Pass control frames mask */
#define STM32F_MACFFR_PCFSHFT 6 /* Pass control frames shift */
#define STM32F_MACFFR_SAIF 0x00000100 /* Source address inverse filtering */
#define STM32F_MACFFR_SAF 0x00000200 /* Source address filtering */
#define STM32F_MACFFR_HPF 0x00000400 /* Hash or perfect filter */
#define STM32F_MACFFR_RA 0x80000000 /* Receive all */
#define STM32F_MACHTHR 0x0008 /* MAC hash table high register */
#define STM32F_MACHTLR 0x000C /* MAC hash table low register */
#define STM32F_MACMIIAR 0x0010 /* MAC MII address register */
#define STM32F_MACMIIARMB 0x00000001 /* MII busy */
#define STM32F_MACMIIARMW 0x00000002 /* MII write */
#define STM32F_MACMIIARCRMSK 0x0000001C /* Clock range mask */
#define STM32F_MACMIIARCRSHFT 2 /* Clock range shift */
#define STM32F_MACMIIARMRMSK 0x000007C0 /* MII register mask */
#define STM32F_MACMIIARMRSHFT 6 /* MII register shift */
#define STM32F_MACMIIARPAMSK 0x0000F800 /* PHY address mask */
#define STM32F_MACMIIARPASHFT 11 /* PHY address shift */
#define STM32F_MACMIIARMRVALIDMSK 0x1F /* Max MII register number */
#define STM32F_MACMIIARPAVALIDMSK 0x1F /* Max PHY address number */
#define STM32F_MACMIIDR 0x0014 /* MAC MII data register */
#define STM32F_MACMIIDRMSK 0x0000FFFF /* MAC MII data register mask */
#define STM32F_MACFCR 0x0018 /* MAC flow control register */
#define STM32F_MACFCRFCB 0x00000001 /* Flow control busy/backpressure */
#define STM32F_MACFCRTFCE 0x00000002 /* Transmit flow control enable */
#define STM32F_MACFCRRFCE 0x00000004 /* Receive flow control enable */
#define STM32F_MACFCRUPFD 0x00000008 /* Unicast pause frame detect */
#define STM32F_MACFCRPLT0 0x00000000 /* Pause Low threshold 4 slots */
#define STM32F_MACFCRPLT1 0x00000010 /* Pause Low threshold 28 slots */
#define STM32F_MACFCRPLT2 0x00000020 /* Pause Low threshold 144 slots */
#define STM32F_MACFCRPLT3 0x00000030 /* Pause Low threshold 256 slots */
#define STM32F_MACFCRZQPD 0x00000080 /* Zero-quanta pause disable */
#define STM32F_MACFCRPTMSK 0xFFFF0000 /* Pause time mask */
#define STM32F_MACFCRPTSHFT 16 /* Pause time shift */
#define STM32F_MACVLANTR 0x001C /* MAC VLAN tag register */
#define STM32F_MACVLANTIMSK 0x0000FFFF /* Tag identifier for receive frames*/
#define STM32F_MACVLANTC 0x00010000 /* 12-bit tag comparison */
#define STM32F_MACWUFFR 0x0028 /* MAC wakeup frame fill register */
#define STM32F_MACPMTCSR 0x002C /* MAC PMT control and status reg */
#define STM32F_MACPMTCRSPD 0x00000001 /* Power down */
#define STM32F_MACPMTCRSMPE 0x00000002 /* Magic packet enable */
#define STM32F_MACPMTCRWFE 0x00000004 /* Wakeup frame enable */
#define STM32F_MACPMTCRMPR 0x00000020 /* Magic packet receive */
#define STM32F_MACPMTCRWFR 0x00000040 /* Wakeup frame receive */
#define STM32F_MACPMTCRGU 0x00000200 /* Global unicast */
#define STM32F_MACPMTCRPR 0x80000000 /* Wakeup frame register ptr reset */
#define STM32F_MACDBGR 0x0034 /* MAC debug register */
#define STM32F_MACDBGRMMRPEA 0x00000001 /* MII receive protocol active */
#define STM32F_MACDBGRMSFRWCSMSK \
0x00000006 /* Small fifo status flags */
#define STM32F_MACDBGRRFWA 0x00000010 /* RCV fifo controller active */
#define STM32F_MACDBGRRFRCSMASK \
0x00000060 /* Rx FIFO read cont. status mask */
#define STM32F_MACDBGRRFRCSSHFT 5 /* Rx FIFO read cont. status mask */
#define STM32F_MACDBGRRFRCSIDLE \
0x00000000 /* Rx FIFO read controller idle */
#define STM32F_MACDBGRRFRCSREADING \
0x00000020 /* Rx FIFO read controller reading */
#define STM32F_MACDBGRRFRCRDSTAT \
0x00000040 /* Rx FIFO read cont. read status */
#define STM32F_MACDBGRRFRCFLUSH \
0x00000060 /* Rx FIFO read controller flushing */
#define STM32F_MACDBGRRFFLMSK \
0x00000300 /* Rx FIFO fill level mask */
#define STM32F_MACDBGRRFFLSHFT 8 /* Rx FIFO fill level shift */
#define STM32F_MACDBGRRFFLEMPTY \
0x00000000 /* Rx FIFO fill level empty */
#define STM32F_MACDBGRRFFLBDA \
0x00000100 /* Rx FIFO fill below de-active */
#define STM32F_MACDBGRRFFLADA \
0x00000200 /* Rx FIFO fill above de-active */
#define STM32F_MACDBGRRFFLFULL \
0x00000300 /* Rx FIFO fill full */
#define STM32F_MACDBGRMMTEA 0x00010000 /* MAC MII transmit engine active */
#define STM32F_MACDBGRMTFCSMSK \
0x00060000 /* MAC transmit frame cont. stat msk */
#define STM32F_MACDBGRMTFCSSHFT 17 /* MAC transmit frame cont. stat shft*/
#define STM32F_MACDBGRMTFCSIDLE \
0x00000000 /* MAC transmit frame cont. idle */
#define STM32F_MACDBGRMTFCSWAIT \
0x00020000 /* MAC transmit frame cont. waiting */
#define STM32F_MACDBGRMTFCSGEN \
0x00040000 /* MAC transmit frame cont. generatin*/
#define STM32F_MACDBGRMTFCSTRANS \
0x00060000 /* MAC transmit frame cont. transfer*/
#define STM32F_MACDBGRMTP 0x00080000 /* MAC transmit pause */
#define STM32F_MACDBGRTFRSMSK \
0x00300000 /* Tx FIFO read status mask */
#define STM32F_MACDBGRTFRSSHFT 20 /* Tx FIFO read status shift */
#define STM32F_MACDBGRTFRSIDLE \
0x00000000 /* Tx FIFO read status idle */
#define STM32F_MACDBGRTFRSREAD \
0x00100000 /* Tx FIFO read status reading */
#define STM32F_MACDBGRTFRSWAIT \
0x00200000 /* Tx FIFO read status waiting */
#define STM32F_MACDBGRTFRSWRITE \
0x00300000 /* Tx FIFO read status writing */
#define STM32F_MACDBGRTFWA 0x00400000 /* Tx FIFO write active */
#define STM32F_MACDBGRTFNE 0x01000000 /* Tx FIFO not empty */
#define STM32F_MACDBGRTFF 0x02000000 /* Tx FIFO full */
#define STM32F_MACSR 0x0038 /* MAC status register */
#define STM32F_MACSRPMTS 0x00000008 /* PMT status */
#define STM32F_MACSRMMCS 0x00000010 /* MMC status */
#define STM32F_MACSRMMCRS 0x00000020 /* Receive status */
#define STM32F_MACSRMMCTS 0x00000040 /* Transmit status */
#define STM32F_MACSRTSTS 0x00000200 /* Timestamp trigger status */
#define STM32F_MACIMR 0x003C /* MAC Interrupt mask register */
#define STM32F_MACIMRPMTIM 0x00000008 /* PMT interrupt mask */
#define STM32F_MACIMRTSTIM 0x00000200 /* Timestamp trigger interrupt mask */
#define STM32F_MACIMR_INITVAL STM32F_MACIMRPMTIM /* power management wakeup*/
#define STM32F_MACA0HR 0x0040 /* MAC address 0 high register */
#define STM32F_MACA0LR 0x0044 /* MAC address 0 low register */
#define STM32F_MACA1HR 0x0048 /* MAC address 1 high register */
#define STM32F_MACA1LR 0x004C /* MAC address 1 low register */
#define STM32F_MACA2HR 0x0050 /* MAC address 2 high register */
#define STM32F_MACA2LR 0x0054 /* MAC address 2 low register */
#define STM32F_MACA3HR 0x0058 /* MAC address 3 high register */
#define STM32F_MACA3LR 0x005C /* MAC address 3 low register */
#define STM32F_MACA0HRMO 0x80000000 /* Must be 1 */
#define STM32F_MACAHRMSK 0x0000FFFF /* MAC address high mask */
#define STM32F_MACAHMBC0MSK 0x01000000 /* MAC byte 0 mask control */
#define STM32F_MACAHMBC1MSK 0x02000000 /* MAC byte 1 mask control */
#define STM32F_MACAHMBC2MSK 0x04000000 /* MAC byte 2 mask control */
#define STM32F_MACAHMBC3MSK 0x08000000 /* MAC byte 3 mask control */
#define STM32F_MACAHMBC4MSK 0x10000000 /* MAC byte 4 mask control */
#define STM32F_MACAHMBC5MSK 0x20000000 /* MAC byte 5 mask control */
#define STM32F_MACAHRSA 0x40000000 /* MAC source address */
#define STM32F_MACAHRAE 0x80000000 /* MAC address enable */
/* MMC register definitions */
#define STM32F_MMCCR 0x0100 /* MMC control register */
#define STM32F_MMCCRCR 0x00000001 /* Counter reset */
#define STM32F_MMCCRCSR 0x00000002 /* Counter stop register */
#define STM32F_MMCCRROR 0x00000004 /* Reset on read */
#define STM32F_MMCCRMCF 0x00000008 /* MMC counter freeze */
#define STM32F_MMCCRMCP 0x00000010 /* MMC counter preset */
#define STM32F_MMCCRFHP 0x00000020 /* MMC counter full-half preset */
#define STM32F_MMCRIR 0x0104 /* MMC receive interrupt register */
#define STM32F_MMCRIMR 0x010C /* MMC receive interrupt mask reg */
#define STM32F_MMCRIRFCES 0x00000020 /* Receive frames CRC error status */
#define STM32F_MMCRIRFAES 0x00000040 /* Receive frames align error status */
#define STM32F_MMCRIRGUFS 0x00020000 /* Receive good unicast frame status */
#define STM32F_MMCRIMR_INITVAL STM32F_MMCRIRGUFS
#define STM32F_MMCTIR 0x0108 /* MMC transmit interrupt register */
#define STM32F_MMCTIMR 0x0110 /* MMC transmit interrupt mask reg */
#define STM32F_MMCTITGFSCS 0x00004000 /* Trans good frame single collision */
#define STM32F_MMCTITGFMSCS 0x00008000 /* More TGFSCS */
#define STM32F_MMCTITGFS 0x00200000 /* Transmitted good frame status */
#define STM32F_MMCTIR_INITVAL STM32F_MMCTITGFS
#define STM32F_MMCTGFSCCR 0x014C /* Trans good frame single col ctr */
#define STM32F_MMCTGFMSCCR 0x0150 /* TGF after more than a single col */
#define STM32F_MMCTGFCR 0x0168 /* MMC TGF counter register */
#define STM32F_MMCRFCECR 0x0194 /* MMC RCV frames w/CRC err count */
#define STM32F_MMCRFAECR 0x0198 /* MMC RCV frames w/align err count */
#define STM32F_MMCRGUFCR 0x01C4 /* MMC RCV good unicast count reg */
/*
* PTP register definitions (not used at this time)
*/
/*
* DMA register definitions
*/
#define STM32F_DMABMR 0x1000 /* DMA bus mode register register */
#define STM32F_DMABMRSR 0x00000001 /* Software reset */
#define STM32F_DMABMRDA 0x00000002 /* DMA arbitration */
#define STM32F_DMABMRDSLMSK 0x0000007C /* Descriptor skip length mask */
#define STM32F_DMABMRDSLSHFT 2 /* Descriptor skip length shift */
#define STM32F_DMABMREDFE 0x00000080 /* Enhanced descriptor format enable */
#define STM32F_DMABMRPBLMSK 0x00003F00 /* Programmable burst length mask */
#define STM32F_DMABMRPBLSHFT 8 /* Programmable burst length shift */
#define STM32F_DMABMRPBL(arg) (arg << STM32F_DMABMRPBLSHFT)
#define STM32F_DMABMRRTPR0 0x00000000 /* Rx/Tx priority ratio 1:1 */
#define STM32F_DMABMRRTPR1 0x00004000 /* Rx/Tx priority ratio 2:1 */
#define STM32F_DMABMRRTPR2 0x00008000 /* Rx/Tx priority ratio 3:1 */
#define STM32F_DMABMRRTPR3 0x0000C000 /* Rx/Tx priority ratio 4:1 */
#define STM32F_DMABMRFB 0x00010000 /* Fixed burst */
#define STM32F_DMABMRRDPMSK 0x007E0000 /* Rx DMA PBL mask */
#define STM32F_DMABMRRDPSHFT 17 /* Rx DMA PBL shift */
#define STM32F_DMABMRRDP(arg) (arg << STM32F_DMABMRRDPSHFT)
#define STM32F_DMABMRUSP 0x00800000 /* Use separate PBL */
#define STM32F_DMABMRFPM 0x01000000 /* 4x PBL mode */
#define STM32F_DMABMRAAB 0x02000000 /* Adress-aligned beats */
#define STM32F_DMABMRMB 0x04000000 /* Mixed bursts */
#define STM32F_DMABMR_RESERVED_BITS \
0xF8000000
#define STM32F_DMATPDR 0x1004 /* DMA transmit poll demand register */
#define STM32F_DMARPDR 0x1008 /* DMA receive poll demand register */
#define STM32F_DMARDLAR 0x100C /* DMA receive desc list adr register*/
#define STM32F_DMATDLAR 0x1010 /* DMA transmit desc list adr reg */
#define STM32F_DMASR 0x1014 /* DMA status register register */
#define STM32F_DMASRTS 0x00000001 /* Transmit status */
#define STM32F_DMASRTPSS 0x00000002 /* Transmitter process stopped status*/
#define STM32F_DMASRTBUS 0x00000004 /* Transmitter buffer unavail status */
#define STM32F_DMASRTJTS 0x00000008 /* Transmitter jabber timeout status */
#define STM32F_DMASRROS 0x00000010 /* Receiver overflow status */
#define STM32F_DMASRTUS 0x00000020 /* Transmitter underflow status */
#define STM32F_DMASRRS 0x00000040 /* Receive status */
#define STM32F_DMASRRBUS 0x00000080 /* Receive buffer unavailable */
#define STM32F_DMASRRPSS 0x00000100 /* Receiver process stopped */
#define STM32F_DMASRRWTS 0x00000200 /* Receive watchdog timeout status */
#define STM32F_DMASRETS 0x00000400 /* Early transmit status */
#define STM32F_DMASRFBES 0x00002000 /* Fatal bus error status */
#define STM32F_DMASRERS 0x00004000 /* Early receiver status */
#define STM32F_DMASRAIS 0x00008000 /* Abnormal interrupt summary */
#define STM32F_DMASRNIS 0x00010000 /* Normal interrupt summary */
#define STM32F_DMASRRPSMSK 0x000E0000 /* Receiver process state mask */
#define STM32F_DMASRRPSSHFT 17 /* Receiver process state shift */
#define STM32F_DMASRTPSMSK 0x00700000 /* Transmit process state mask */
#define STM32F_DMASRTPSSHFT 20 /* Transmit process state shift */
#define STM32F_DMASREBSMSK 0x03800000 /* Error bit status mask */
#define STM32F_DMASREBSSHFT 23 /* Error bit status shift */
#define STM32F_DMASRMMCS 0x08000000 /* MMC status */
#define STM32F_DMASRPMTS 0x10000000 /* PMT state */
#define STM32F_DMASRTSTS 0x20000000 /* Timestamp trigger status */
#define STM32F_DMASRMASK 0x0001E7FF /* Status bits that can be cleared */
#define STM32F_DMAOMR 0x1018 /* DMA operation mode register */
#define STM32F_DMAOMRSR 0x00000002 /* Start receive */
#define STM32F_DMAOMROSF 0x00000004 /* Operate on second frame */
#define STM32F_DMAOMRRTC0 0x00000000 /* Receive threshold control 64 */
#define STM32F_DMAOMRRTC1 0x00000008 /* Receive threshold control 32 */
#define STM32F_DMAOMRRTC2 0x00000010 /* Receive threshold control 96 */
#define STM32F_DMAOMRRTC3 0x00000018 /* Receive threshold control 128 */
#define STM32F_DMAOMRRMSK 0x00000018 /* Receive threshold control mask */
#define STM32F_DMAOMRFUGF 0x00000040 /* Forward undersized good frames */
#define STM32F_DMAOMRFEF 0x00000080 /* Forward error frames */
#define STM32F_DMAOMRST 0x00002000 /* Start transmission */
#define STM32F_DMAOMRTT64 0x00000000 /* Transmitter threshold control 64 */
#define STM32F_DMAOMRTT128 0x00004000 /* Transmitter threshold control 128 */
#define STM32F_DMAOMRTT192 0x00008000 /* Transmitter threshold control 192 */
#define STM32F_DMAOMRTT256 0x0000C000 /* Transmitter threshold control 256 */
#define STM32F_DMAOMRTT40 0x00010000 /* Transmitter threshold control 40 */
#define STM32F_DMAOMRTT32 0x00014000 /* Transmitter threshold control 32 */
#define STM32F_DMAOMRTT24 0x00018000 /* Transmitter threshold control 24 */
#define STM32F_DMAOMRTT16 0x0001C000 /* Transmitter threshold control 16 */
#define STM32F_DMAOMR_RESERVED_BITS \
0xF0CE1F00
#define STM32F_DMAOMRTTCMSK 0x0001C000 /* Transmitter threshold control mask*/
#define STM32F_DMAOMRFTF 0x00100000 /* Flush transmitter fifo */
#define STM32F_DMAOMRTSF 0x00200000 /* Transmit store and forward */
#define STM32F_DMAOMRDFRF 0x01000000 /* Disable flushing of receiv frames */
#define STM32F_DMAOMRRSF 0x02000000 /* Receive store and forward */
#define STM32F_DMAOMRDTCEFD 0x04000000 /* Dropping of TCP/IP checksum errs */
#define STM32F_DMAIER 0x101C /* DMA interrupt enable regiser */
#define STM32F_DMAIERTIE 0x00000001 /* Transmit interrupt enable */
#define STM32F_DMAIERTPSIE 0x00000002 /* Transmit process stopped */
#define STM32F_DMAIERTBUIE 0x00000004 /* Transmit buffer unavailable */
#define STM32F_DMAIERTJTIE 0x00000008 /* Transmit jabber timeout */
#define STM32F_DMAIERROIE 0x00000010 /* Receiver overflow */
#define STM32F_DMAIERTUIE 0x00000020 /* Transmit underflow */
#define STM32F_DMAIERRIE 0x00000040 /* Receive interrupt enable */
#define STM32F_DMAIERRBUIE 0x00000080 /* Receive buffer unavailable */
#define STM32F_DMAIERRPSIE 0x00000100 /* Receive processor stopped */
#define STM32F_DMAIERRWTIE 0x00000200 /* Receive watchdog timeout */
#define STM32F_DMAIERETIE 0x00000400 /* Early transmit interrupt enable */
#define STM32F_DMAIERFBEIE 0x00002000 /* Fatal bus error */
#define STM32F_DMAIERERIE 0x00004000 /* Early receive */
#define STM32F_DMAIERAISE 0x00008000 /* Abnormal interrupt summary */
#define STM32F_DMAIERNISE 0x00010000 /* Normal interrupt summary */
#define STM32F_DMAMFBOCR 0x1020 /* DMA missed frame and overflow reg */
#define STM32F_DMAMFBOCRMFCMSAK 0x0000FFFF /* Missed frame count mask */
#define STM32F_DMAMFBOCROMFC 0x00010000 /* Missed frame overflow */
#define STM32F_DMAMFBOCRMFAMSK 0x0FFE0000 /* Missed frames by appl mask */
#define STM32F_DMAMFBOCRMFASHFT 17 /* Missed frames by appl shift */
#define STM32F_DMAMFBOCROFOC 0x10000000 /* Fifo counter overflow */
#define STM32F_DMARSWTR 0x1024 /* Receive status watchdog timer reg */
#define STM32F_DMACHTDR 0x1048 /* Current host transmit descript reg*/
#define STM32F_DMACHRDR 0x104C /* Current host receive descript reg */
#define STM32F_DMACHTBAR 0x1050 /* Current host trans buf reg addr */
#define STM32F_DMACHRBAR 0x1054 /* Current host rcv buf reg addr */
#ifdef __cplusplus
}
#endif
#endif /* __INCstm32f2xxNeth */