File nut/include/arch/cm3/nxp/mach/lpc_emac.h


Included Files


Preprocessor definitions

#define _ARCH_CM3_NXP_MACH_LPC__EMAC_H_

#define EMAC_MAC1_OFF 0x000

#define EMAC_MAC1

#define EMAC_MAC1_REC_EN_LSB 0

#define EMAC_MAC1_PASS_ALL_LSB 1

#define EMAC_MAC1_RX_FLOWC_LSB 2

#define EMAC_MAC1_TX_FLOWC_LSB 3

#define EMAC_MAC1_LOOPB_LSB 4

#define EMAC_MAC1_RES_TX_LSB 8

#define EMAC_MAC1_RES_MCS_TX_LSB 9

#define EMAC_MAC1_RES_RX_LSB 10

#define EMAC_MAC1_RES_MCS_RX_LSB 11

#define EMAC_MAC1_SIM_RES_LSB 14

#define EMAC_MAC1_SOFT_RES_LSB 15

#define EMAC_MAC1_REC_EN

#define EMAC_MAC1_PASS_ALL

#define EMAC_MAC1_RX_FLOWC

#define EMAC_MAC1_TX_FLOWC

#define EMAC_MAC1_LOOPB

#define EMAC_MAC1_RES_TX

#define EMAC_MAC1_RES_MCS_TX

#define EMAC_MAC1_RES_RX

#define EMAC_MAC1_RES_MCS_RX

#define EMAC_MAC1_SIM_RES

#define EMAC_MAC1_SOFT_RES

#define EMAC_MAC2_OFF 0x004

#define EMAC_MAC2

#define EMAC_MAC2_FULL_DUP_LSB 0

#define EMAC_MAC2_FRM_LEN_CHK_LSB 1

#define EMAC_MAC2_HUGE_FRM_EN_LSB 2

#define EMAC_MAC2_DLY_CRC_LSB 3

#define EMAC_MAC2_CRC_EN_LSB 4

#define EMAC_MAC2_PAD_EN_LSB 5

#define EMAC_MAC2_VLAN_PAD_EN_LSB 6

#define EMAC_MAC2_ADET_PAD_EN_LSB 7

#define EMAC_MAC2_PPREAM_ENF_LSB 8

#define EMAC_MAC2_LPREAM_ENF_LSB 9

#define EMAC_MAC2_NO_BACKOFF_LSB 12

#define EMAC_MAC2_BACK_PRESSURE_LSB 13

#define EMAC_MAC2_EXCESS_DEF_LSB 14

#define EMAC_MAC2_FULL_DUP

#define EMAC_MAC2_FRM_LEN_CHK

#define EMAC_MAC2_HUGE_FRM_EN

#define EMAC_MAC2_DLY_CRC

#define EMAC_MAC2_CRC_EN

#define EMAC_MAC2_PAD_EN

#define EMAC_MAC2_VLAN_PAD_EN

#define EMAC_MAC2_ADET_PAD_EN

#define EMAC_MAC2_PPREAM_ENF

#define EMAC_MAC2_LPREAM_ENF

#define EMAC_MAC2_NO_BACKOFF

#define EMAC_MAC2_BACK_PRESSURE

#define EMAC_MAC2_EXCESS_DEF

#define EMAC_IPGT_OFF 0x008

#define EMAC_IPGT

#define EMAC_IPGT_BB_LSB 0

#define EMAC_IPGT_BB_MSB 6

#define EMAC_IPGR_OFF 0x00C

#define EMAC_IPGR

#define EMAC_IPGR_NBB2_LSB 0

#define EMAC_IPGR_NBB2_MSB 6

#define EMAC_IPGR_NBB1_LSB 8

#define EMAC_IPGR_NBB1_MSB 14

#define EMAC_CLRT_OFF 0x010

#define EMAC_CLRT

#define EMAC_CLRT_RMAX_LSB 0

#define EMAC_CLRT_RMAX_MSB 3

#define EMAC_CLRT_COLLWIN_LSB 8

#define EMAC_CLRT_COLLWIN_MSB 13

#define EMAC_MAXF_OFF 0x014

#define EMAC_MAXF

#define EMAC_SUPP_OFF 0x018

#define EMAC_SUPP

#define EMAC_SUPP_SPEED_LSB 8

#define EMAC_SUPP_RES_RMII_LSB 11

#define EMAC_SUPP_SPEED

#define EMAC_SUPP_RES_RMII

#define EMAC_TEST_OFF 0x01C

#define EMAC_TEST

#define EMAC_TEST_SHCUT_PQUANTA_LSB 0

#define EMAC_TEST_TST_PAUSE_LSB 1

#define EMAC_TEST_TST_BACKP_LSB 2

#define EMAC_TEST_SHCUT_PQUANTA

#define EMAC_TEST_TST_PAUSE

#define EMAC_TEST_TST_BACKP

#define EMAC_MCFG_OFF 0x020

#define EMAC_MCFG

#define EMAC_MCFG_SCAN_INC_LSB 0

#define EMAC_MCFG_SUPP_PREAM_LSB 1

#define EMAC_MCFG_CLK_SEL_LSB 2

#define EMAC_MCFG_CLK_SEL_MSB 5

#define EMAC_MCFG_RES_MII_LSB 15

#define EMAC_MCFG_SCAN_INC

#define EMAC_MCFG_SUPP_PREAM

#define EMAC_MCFG_RES_MII

#define EMAC_MCMD_OFF 0x024

#define EMAC_MCMD

#define EMAC_MCMD_READ_LSB 0

#define EMAC_MCMD_SCAN_LSB 1

#define EMAC_MCMD_READ

#define EMAC_MCMD_SCAN

#define EMAC_MADR_OFF 0x028

#define EMAC_MADR

#define EMAC_MADR_REG_ADR_LSB 0

#define EMAC_MADR_REG_ADR_MSB 4

#define EMAC_MADR_PHY_ADR_LSB 8

#define EMAC_MADR_PHY_ADR_MSB 12

#define EMAC_MWTD_OFF 0x02C

#define EMAC_MWTD

#define EMAC_MRDD_OFF 0x030

#define EMAC_MRDD

#define EMAC_MIND_OFF 0x034

#define EMAC_MIND

#define EMAC_MIND_BUSY_LSB 0

#define EMAC_MIND_SCAN_LSB 1

#define EMAC_MIND_NOT_VAL_LSB 2

#define EMAC_MIND_MII_LINK_FAIL_LSB 3

#define EMAC_MIND_BUSY

#define EMAC_MIND_SCAN

#define EMAC_MIND_NOT_VAL

#define EMAC_MIND_MII_LINK_FAIL

#define EMAC_SA0_OFF 0x040

#define EMAC_SA0

#define EMAC_SA1_OFF 0x044

#define EMAC_SA1

#define EMAC_SA2_OFF 0x048

#define EMAC_SA2

#define EMAC_SA_HI_LSB 0

#define EMAC_SA_HI_MSB 7

#define EMAC_SA_LO_LSB 8

#define EMAC_SA_LO_MSB 15

#define EMAC_CR_OFF 0x100

#define EMAC_CR

#define EMAC_CR_RX_EN_LSB 0

#define EMAC_CR_TX_EN_LSB 1

#define EMAC_CR_REG_RES_LSB 3

#define EMAC_CR_TX_RES_LSB 4

#define EMAC_CR_RX_RES_LSB 5

#define EMAC_CR_PASS_RUNT_FRM_LSB 6

#define EMAC_CR_PASS_RX_FILT_LSB 7

#define EMAC_CR_TX_FLOW_CTRL_LSB 8

#define EMAC_CR_RMII_LSB 9

#define EMAC_CR_FULL_DUP_LSB 10

#define EMAC_CR_RX_EN

#define EMAC_CR_TX_EN

#define EMAC_CR_REG_RES

#define EMAC_CR_TX_RES

#define EMAC_CR_RX_RES

#define EMAC_CR_PASS_RUNT_FRM

#define EMAC_CR_PASS_RX_FILT

#define EMAC_CR_TX_FLOW_CTRL

#define EMAC_CR_RMII

#define EMAC_CR_FULL_DUP

#define EMAC_SR_OFF 0x104

#define EMAC_SR

#define EMAC_SR_RX_EN_LSB 0

#define EMAC_SR_TX_EN_LSB 1

#define EMAC_SR_RX_EN

#define EMAC_SR_TX_EN

#define EMAC_RXDESCR_OFF 0x108

#define EMAC_RXDESCR

#define EMAC_RXSTAT_OFF 0x10C

#define EMAC_RXSTAT

#define EMAC_RXDESCR_NUM_OFF 0x110

#define EMAC_RXDESCR_NUM

#define EMAC_RXPROD_IDX_OFF 0x114

#define EMAC_RXPROD_IDX

#define EMAC_RXCONS_IDX_OFF 0x118

#define EMAC_RXCONS_IDX

#define EMAC_TXDESCR_OFF 0x11C

#define EMAC_TXDESCR

#define EMAC_TXSTAT_OFF 0x120

#define EMAC_TXSTAT

#define EMAC_TXDESCR_NUM_OFF 0x124

#define EMAC_TXDESCR_NUM

#define EMAC_TXPROD_IDX_OFF 0x128

#define EMAC_TXPROD_IDX

#define EMAC_TXCONS_IDX_OFF 0x12C

#define EMAC_TXCONS_IDX

#define EMAC_TSV0_OFF 0x158

#define EMAC_TSV0

#define EMAC_TSV0_CRC_ERR_LSB 0

#define EMAC_TSV0_LEN_CHKERR_LSB 1

#define EMAC_TSV0_LEN_OUTRNG_LSB 2

#define EMAC_TSV0_DONE_LSB 3

#define EMAC_TSV0_MCAST_LSB 4

#define EMAC_TSV0_BCAST_LSB 5

#define EMAC_TSV0_PKT_DEFER_LSB 6

#define EMAC_TSV0_EXC_DEFER_LSB 7

#define EMAC_TSV0_EXC_COLL_LSB 8

#define EMAC_TSV0_LATE_COLL_LSB 9

#define EMAC_TSV0_GIANT_LSB 10

#define EMAC_TSV0_UNDERRUN_LSB 11

#define EMAC_TSV0_BYTES_LSB 12

#define EMAC_TSV0_BYTES_MSB 27

#define EMAC_TSV0_CTRL_FRAME_LSB 28

#define EMAC_TSV0_PAUSE_LSB 29

#define EMAC_TSV0_BACK_PRESS_LSB 30

#define EMAC_TSV0_VLAN_LSB 31

#define EMAC_TSV0_CRC_ERR

#define EMAC_TSV0_LEN_CHKERR

#define EMAC_TSV0_LEN_OUTRNG

#define EMAC_TSV0_DONE

#define EMAC_TSV0_MCAST

#define EMAC_TSV0_BCAST

#define EMAC_TSV0_PKT_DEFER

#define EMAC_TSV0_EXC_DEFER

#define EMAC_TSV0_EXC_COLL

#define EMAC_TSV0_LATE_COLL

#define EMAC_TSV0_GIANT

#define EMAC_TSV0_UNDERRUN

#define EMAC_TSV0_CTRL_FRAME

#define EMAC_TSV0_PAUSE

#define EMAC_TSV0_BACK_PRESS

#define EMAC_TSV0_VLAN

#define EMAC_TSV1_OFF 0x15C

#define EMAC_TSV1

#define EMAC_TSV1_BYTE_CNT_LSB 0

#define EMAC_TSV1_BYTE_CNT_MSB 15

#define EMAC_TSV1_COLL_CNT_LSB 16

#define EMAC_TSV1_COLL_CNT_MSB 19

#define EMAC_RSV_OFF 0x160

#define EMAC_RSV

#define EMAC_RSV_BYTE_CNT_LSB 0

#define EMAC_RSV_BYTE_CNT_MSB 15

#define EMAC_RSV_PKT_IGNORED_LSB 16

#define EMAC_RSV_RXDV_SEEN_LSB 17

#define EMAC_RSV_CARR_SEEN_LSB 18

#define EMAC_RSV_REC_CODEV_LSB 19

#define EMAC_RSV_CRC_ERR_LSB 20

#define EMAC_RSV_LEN_CHKERR_LSB 21

#define EMAC_RSV_LEN_OUTRNG_LSB 22

#define EMAC_RSV_REC_OK_LSB 23

#define EMAC_RSV_MCAST_LSB 24

#define EMAC_RSV_BCAST_LSB 25

#define EMAC_RSV_DRIB_NIBB_LSB 26

#define EMAC_RSV_CTRL_FRAME_LSB 27

#define EMAC_RSV_PAUSE_LSB 28

#define EMAC_RSV_UNSUPP_OPC_LSB 29

#define EMAC_RSV_VLAN_LSB 30

#define EMAC_RSV_PKT_IGNORED

#define EMAC_RSV_RXDV_SEEN

#define EMAC_RSV_CARR_SEEN

#define EMAC_RSV_REC_CODEV

#define EMAC_RSV_CRC_ERR

#define EMAC_RSV_LEN_CHKERR

#define EMAC_RSV_LEN_OUTRNG

#define EMAC_RSV_REC_OK

#define EMAC_RSV_MCAST

#define EMAC_RSV_BCAST

#define EMAC_RSV_DRIB_NIBB

#define EMAC_RSV_CTRL_FRAME

#define EMAC_RSV_PAUSE

#define EMAC_RSV_UNSUPP_OPC

#define EMAC_RSV_VLAN

#define EMAC_FCC_OFF 0x170

#define EMAC_FCC

#define EMAC_FCC_MIRR_CNT_LSB 0

#define EMAC_FCC_MIRR_CNT_MSB 15

#define EMAC_FCC_PAUSE_TIM_LSB 16

#define EMAC_FCC_PAUSE_TIM_MSB 31

#define EMAC_FCS_OFF 0x174

#define EMAC_FCS

#define EMAC_FCS_MIRR_CNT_LSB 0

#define EMAC_FCS_MIRR_CNT_MSB 15

#define EMAC_RFC_OFF 0x200

#define EMAC_RFC

#define EMAC_RFC_UCAST_EN_LSB 0

#define EMAC_RFC_BCAST_EN_LSB 1

#define EMAC_RFC_MCAST_EN_LSB 2

#define EMAC_RFC_UCAST_HASH_EN_LSB 3

#define EMAC_RFC_MCAST_HASH_EN_LSB 4

#define EMAC_RFC_PERFECT_EN_LSB 5

#define EMAC_RFC_MAGP_WOL_EN_LSB 12

#define EMAC_RFC_PFILT_WOL_EN_LSB 13

#define EMAC_RFC_UCAST_EN

#define EMAC_RFC_BCAST_EN

#define EMAC_RFC_MCAST_EN

#define EMAC_RFC_UCAST_HASH_EN

#define EMAC_RFC_MCAST_HASH_EN

#define EMAC_RFC_PERFECT_EN

#define EMAC_RFC_MAGP_WOL_EN

#define EMAC_RFC_PFILT_WOL_EN

#define EMAC_WOLSR_OFF 0x204

#define EMAC_WOLSR

#define EMAC_WOLCR_OFF 0x208

#define EMAC_WOLCR

#define EMAC_WOL_UCAST_LSB 0

#define EMAC_WOL_BCAST_LSB 1

#define EMAC_WOL_MCAST_LSB 2

#define EMAC_WOL_UCAST_HASH_LSB 3

#define EMAC_WOL_MCAST_HASH_LSB 4

#define EMAC_WOL_PERFECT_LSB 5

#define EMAC_WOL_RX_FILTER_LSB 7

#define EMAC_WOL_MAG_PACKET_LSB 8

#define EMAC_WOL_UCAST

#define EMAC_WOL_BCAST

#define EMAC_WOL_MCAST

#define EMAC_WOL_UCAST_HASH

#define EMAC_WOL_MCAST_HASH

#define EMAC_WOL_PERFECT

#define EMAC_WOL_RX_FILTER

#define EMAC_WOL_MAG_PACKET

#define EMAC_HASHFILTERL_OFF 0x210

#define EMAC_HASHFILTERL

#define EMAC_HASHFILTERH_OFF 0x214

#define EMAC_HASHFILTERH

#define EMAC_INT_STAT_OFF 0xFE0

#define EMAC_INT_STAT

#define EMAC_INT_ENA_OFF 0xFE4

#define EMAC_INT_ENA

#define EMAC_INT_CLR_OFF 0xFE8

#define EMAC_INT_CLR

#define EMAC_INT_SET_OFF 0xFEC

#define EMAC_INT_SET

#define EMAC_INT_RX_OVERRUN_LSB 0

#define EMAC_INT_RX_ERR_LSB 1

#define EMAC_INT_RX_FIN_LSB 2

#define EMAC_INT_RX_DONE_LSB 3

#define EMAC_INT_TX_UNDERRUN_LSB 4

#define EMAC_INT_TX_ERR_LSB 5

#define EMAC_INT_TX_FIN_LSB 6

#define EMAC_INT_TX_DONE_LSB 7

#define EMAC_INT_SOFT_INT_LSB 12

#define EMAC_INT_WAKEUP_LSB 13

#define EMAC_INT_RX_OVERRUN

#define EMAC_INT_RX_ERR

#define EMAC_INT_RX_FIN

#define EMAC_INT_RX_DONE

#define EMAC_INT_TX_UNDERRUN

#define EMAC_INT_TX_ERR

#define EMAC_INT_TX_FIN

#define EMAC_INT_TX_DONE

#define EMAC_INT_SOFT_INT

#define EMAC_INT_WAKEUP

#define EMAC_PD_OFF 0xFF4

#define EMAC_PD

#define EMAC_PD_POWER_DOWN_LSB 31

#define EMAC_PD_POWER_DOWN

#define EMAC_MODULE_ID_OFF 0xFFC

#define EMAC_MODULE_ID

#define EMAC_RCTRL_SIZE( n )

#define EMAC_RCTRL_INT 0x80000000

#define EMAC_RINFO_SIZE 0x000007FF

#define EMAC_RINFO_CTRL_FRAME 0x00040000

#define EMAC_RINFO_VLAN 0x00080000

#define EMAC_RINFO_FAIL_FILT 0x00100000

#define EMAC_RINFO_MCAST 0x00200000

#define EMAC_RINFO_BCAST 0x00400000

#define EMAC_RINFO_CRC_ERR 0x00800000

#define EMAC_RINFO_SYM_ERR 0x01000000

#define EMAC_RINFO_LEN_ERR 0x02000000

#define EMAC_RINFO_RANGE_ERR 0x04000000

#define EMAC_RINFO_ALIGN_ERR 0x08000000

#define EMAC_RINFO_OVERRUN 0x10000000

#define EMAC_RINFO_NO_DESCR 0x20000000

#define EMAC_RINFO_LAST_FLAG 0x40000000

#define EMAC_RINFO_ERR 0x80000000

#define EMAC_RINFO_ERR_MASK

#define EMAC_TCTRL_SIZE 0x000007FF

#define EMAC_TCTRL_OVERRIDE 0x04000000

#define EMAC_TCTRL_HUGE 0x08000000

#define EMAC_TCTRL_PAD 0x10000000

#define EMAC_TCTRL_CRC 0x20000000

#define EMAC_TCTRL_LAST 0x40000000

#define EMAC_TCTRL_INT 0x80000000

#define EMAC_TINFO_COL_CNT 0x01E00000

#define EMAC_TINFO_DEFER 0x02000000

#define EMAC_TINFO_EXCESS_DEF 0x04000000

#define EMAC_TINFO_EXCESS_COL 0x08000000

#define EMAC_TINFO_LATE_COL 0x10000000

#define EMAC_TINFO_UNDERRUN 0x20000000

#define EMAC_TINFO_NO_DESCR 0x40000000

#define EMAC_TINFO_ERR 0x80000000


Typedef EMAC_DESCRIPTOR

typedef struct _EMAC_DESCRIPTOR EMAC_DESCRIPTOR
struct _EMAC_DESCRIPTOR  
   {  
      uint8_t* desc_packet;  
      uint32_t desc_control;  
   }  

Typedef EMAC_RXSTATUS

typedef struct EMAC_RXSTATUS EMAC_RXSTATUS
struct EMAC_RXSTATUS  
   {  
      uint32_t rxs_info;  
      uint32_t rxs_hashcrc;  
   }