dm9000_driver.h File Reference

DM9000A/B Ethernet controller. More...

#include "core/nic.h"

Go to the source code of this file.

Data Structures

struct  Dm9000Context
 DM9000 driver context. More...
 

Macros

#define DM9000_LOOPBACK_MODE   DISABLED
 
#define DM9000_ETH_TX_BUFFER_SIZE   1536
 
#define DM9000_ETH_RX_BUFFER_SIZE   1536
 
#define DM9000_INDEX_REG   *((volatile uint16_t *) 0x30000000)
 
#define DM9000_DATA_REG   *((volatile uint16_t *) 0x30001000)
 
#define DM9000_VID   ((DM9000_VIDH_DEFAULT << 8) | DM9000_VIDL_DEFAULT)
 
#define DM9000_PID   ((DM9000_PIDH_DEFAULT << 8) | DM9000_PIDL_DEFAULT)
 
#define DM9000_NCR   0x00
 
#define DM9000_NSR   0x01
 
#define DM9000_TCR   0x02
 
#define DM9000_TSR1   0x03
 
#define DM9000_TSR2   0x04
 
#define DM9000_RCR   0x05
 
#define DM9000_RSR   0x06
 
#define DM9000_ROCR   0x07
 
#define DM9000_BPTR   0x08
 
#define DM9000_FCTR   0x09
 
#define DM9000_FCR   0x0A
 
#define DM9000_EPCR   0x0B
 
#define DM9000_EPAR   0x0C
 
#define DM9000_EPDRL   0x0D
 
#define DM9000_EPDRH   0x0E
 
#define DM9000_WCR   0x0F
 
#define DM9000_PAR0   0x10
 
#define DM9000_PAR1   0x11
 
#define DM9000_PAR2   0x12
 
#define DM9000_PAR3   0x13
 
#define DM9000_PAR4   0x14
 
#define DM9000_PAR5   0x15
 
#define DM9000_MAR0   0x16
 
#define DM9000_MAR1   0x17
 
#define DM9000_MAR2   0x18
 
#define DM9000_MAR3   0x19
 
#define DM9000_MAR4   0x1A
 
#define DM9000_MAR5   0x1B
 
#define DM9000_MAR6   0x1C
 
#define DM9000_MAR7   0x1D
 
#define DM9000_GPCR   0x1E
 
#define DM9000_GPR   0x1F
 
#define DM9000_TRPAL   0x22
 
#define DM9000_TRPAH   0x23
 
#define DM9000_RWPAL   0x24
 
#define DM9000_RWPAH   0x25
 
#define DM9000_VIDL   0x28
 
#define DM9000_VIDH   0x29
 
#define DM9000_PIDL   0x2A
 
#define DM9000_PIDH   0x2B
 
#define DM9000_CHIPR   0x2C
 
#define DM9000_TCR2   0x2D
 
#define DM9000_OCR   0x2E
 
#define DM9000_SMCR   0x2F
 
#define DM9000_ETXCSR   0x30
 
#define DM9000_TCSCR   0x31
 
#define DM9000_RCSCSR   0x32
 
#define DM9000_MPAR   0x33
 
#define DM9000_LEDCR   0x34
 
#define DM9000_BUSCR   0x38
 
#define DM9000_INTCR   0x39
 
#define DM9000_SCCR   0x50
 
#define DM9000_RSCCR   0x51
 
#define DM9000_MRCMDX   0xF0
 
#define DM9000_MRCMDX1   0xF1
 
#define DM9000_MRCMD   0xF2
 
#define DM9000_MRRL   0xF4
 
#define DM9000_MRRH   0xF5
 
#define DM9000_MWCMDX   0xF6
 
#define DM9000_MWCMD   0xF8
 
#define DM9000_MWRL   0xFA
 
#define DM9000_MWRH   0xFB
 
#define DM9000_TXPLL   0xFC
 
#define DM9000_TXPLH   0xFD
 
#define DM9000_ISR   0xFE
 
#define DM9000_IMR   0xFF
 
#define DM9000_BMCR   0x00
 
#define DM9000_BMSR   0x01
 
#define DM9000_PHYIDR1   0x02
 
#define DM9000_PHYIDR2   0x03
 
#define DM9000_ANAR   0x04
 
#define DM9000_ANLPAR   0x05
 
#define DM9000_ANER   0x06
 
#define DM9000_DSCR   0x10
 
#define DM9000_DSCSR   0x11
 
#define DM9000_10BTCSR   0x12
 
#define DM9000_PWDOR   0x13
 
#define DM9000_SCR   0x14
 
#define DM9000_DSPCR   0x1B
 
#define DM9000_PSCR   0x1D
 
#define DM9000_NCR_WAKEEN   0x40
 
#define DM9000_NCR_FCOL   0x10
 
#define DM9000_NCR_FDX   0x08
 
#define DM9000_NCR_LBK   0x06
 
#define DM9000_NCR_LBK_NORMAL   0x00
 
#define DM9000_NCR_LBK_MAC   0x02
 
#define DM9000_NCR_LBK_PHY   0x04
 
#define DM9000_NCR_RST   0x01
 
#define DM9000_NSR_SPEED   0x80
 
#define DM9000_NSR_LINKST   0x40
 
#define DM9000_NSR_WAKEST   0x20
 
#define DM9000_NSR_TX2END   0x08
 
#define DM9000_NSR_TX1END   0x04
 
#define DM9000_NSR_RXOV   0x02
 
#define DM9000_TCR_TJDIS   0x40
 
#define DM9000_TCR_EXCECM   0x20
 
#define DM9000_TCR_PAD_DIS2   0x10
 
#define DM9000_TCR_CRC_DIS2   0x08
 
#define DM9000_TCR_PAD_DIS1   0x04
 
#define DM9000_TCR_CRC_DIS1   0x02
 
#define DM9000_TCR_TXREQ   0x01
 
#define DM9000_TSR1_TJTO   0x80
 
#define DM9000_TSR1_LC   0x40
 
#define DM9000_TSR1_NC   0x20
 
#define DM9000_TSR1_LCOL   0x10
 
#define DM9000_TSR1_COL   0x08
 
#define DM9000_TSR1_EC   0x04
 
#define DM9000_TSR2_TJTO   0x80
 
#define DM9000_TSR2_LC   0x40
 
#define DM9000_TSR2_NC   0x20
 
#define DM9000_TSR2_LCOL   0x10
 
#define DM9000_TSR2_COL   0x08
 
#define DM9000_TSR2_EC   0x04
 
#define DM9000_RCR_WTDIS   0x40
 
#define DM9000_RCR_DIS_LONG   0x20
 
#define DM9000_RCR_DIS_CRC   0x10
 
#define DM9000_RCR_ALL   0x08
 
#define DM9000_RCR_RUNT   0x04
 
#define DM9000_RCR_PRMSC   0x02
 
#define DM9000_RCR_RXEN   0x01
 
#define DM9000_RSR_RF   0x80
 
#define DM9000_RSR_MF   0x40
 
#define DM9000_RSR_LCS   0x20
 
#define DM9000_RSR_RWTO   0x10
 
#define DM9000_RSR_PLE   0x08
 
#define DM9000_RSR_AE   0x04
 
#define DM9000_RSR_CE   0x02
 
#define DM9000_RSR_FOE   0x01
 
#define DM9000_ROCR_RXFU   0x80
 
#define DM9000_ROCR_ROC   0x7F
 
#define DM9000_BPTR_BPHW   0xF0
 
#define DM9000_BPTR_JPT   0x0F
 
#define DM9000_FCTR_HWOT   0xF0
 
#define DM9000_FCTR_LWOT   0x0F
 
#define DM9000_FCR_TXP0   0x80
 
#define DM9000_FCR_TXPF   0x40
 
#define DM9000_FCR_TXPEN   0x20
 
#define DM9000_FCR_BKPA   0x10
 
#define DM9000_FCR_BKPM   0x08
 
#define DM9000_FCR_RXPS   0x04
 
#define DM9000_FCR_RXPCS   0x02
 
#define DM9000_FCR_FLCE   0x01
 
#define DM9000_EPCR_REEP   0x20
 
#define DM9000_EPCR_WEP   0x10
 
#define DM9000_EPCR_EPOS   0x08
 
#define DM9000_EPCR_ERPRR   0x04
 
#define DM9000_EPCR_ERPRW   0x02
 
#define DM9000_EPCR_ERRE   0x01
 
#define DM9000_EPAR_PHY_ADR   0xC0
 
#define DM9000_EPAR_EROA   0x3F
 
#define DM9000_WCR_LINKEN   0x20
 
#define DM9000_WCR_SAMPLEEN   0x10
 
#define DM9000_WCR_MAGICEN   0x08
 
#define DM9000_WCR_LINKST   0x04
 
#define DM9000_WCR_SAMPLEST   0x02
 
#define DM9000_WCR_MAGICST   0x01
 
#define DM9000_GPCR_GPC6   0x40
 
#define DM9000_GPCR_GPC5   0x20
 
#define DM9000_GPCR_GPC4   0x10
 
#define DM9000_GPCR_GPC3   0x08
 
#define DM9000_GPCR_GPC2   0x04
 
#define DM9000_GPCR_GPC1   0x02
 
#define DM9000_GPR_GPO6   0x40
 
#define DM9000_GPR_GPO5   0x20
 
#define DM9000_GPR_GPO4   0x10
 
#define DM9000_GPR_GPIO3   0x08
 
#define DM9000_GPR_GPIO2   0x04
 
#define DM9000_GPR_GPIO1   0x02
 
#define DM9000_GPR_PHYPD   0x01
 
#define DM9000_VIDL_DEFAULT   0x46
 
#define DM9000_VIDH_DEFAULT   0x0A
 
#define DM9000_PIDL_DEFAULT   0x00
 
#define DM9000_PIDH_DEFAULT   0x90
 
#define DM9000_CHIPR_REV_A   0x19
 
#define DM9000_CHIPR_REV_B   0x1A
 
#define DM9000_TCR2_LED   0x80
 
#define DM9000_TCR2_RLCP   0x40
 
#define DM9000_TCR2_DTU   0x20
 
#define DM9000_TCR2_ONEPM   0x10
 
#define DM9000_TCR2_IFGS   0x0F
 
#define DM9000_TCR2_IFGS_64_BIT   0x08
 
#define DM9000_TCR2_IFGS_72_BIT   0x09
 
#define DM9000_TCR2_IFGS_80_BIT   0x0A
 
#define DM9000_TCR2_IFGS_88_BIT   0x0B
 
#define DM9000_TCR2_IFGS_96_BIT   0x0C
 
#define DM9000_TCR2_IFGS_104_BIT   0x0D
 
#define DM9000_TCR2_IFGS_112_BIT   0x0E
 
#define DM9000_TCR2_IFGS_120_BIT   0x0F
 
#define DM9000_OCR_SCC   0xC0
 
#define DM9000_OCR_SCC_50MHZ   0x00
 
#define DM9000_OCR_SCC_20MHZ   0x40
 
#define DM9000_OCR_SCC_100MHZ   0x80
 
#define DM9000_OCR_SOE   0x10
 
#define DM9000_OCR_SCS   0x08
 
#define DM9000_OCR_PHYOP   0x07
 
#define DM9000_SMCR_SM_EN   0x80
 
#define DM9000_SMCR_FLC   0x04
 
#define DM9000_SMCR_FB1   0x02
 
#define DM9000_SMCR_FB0   0x01
 
#define DM9000_ETXCSR_ETE   0x80
 
#define DM9000_ETXCSR_ETS2   0x40
 
#define DM9000_ETXCSR_ETS1   0x20
 
#define DM9000_ETXCSR_ETT   0x03
 
#define DM9000_ETXCSR_ETT_12_5_PERCENT   0x00
 
#define DM9000_ETXCSR_ETT_25_PERCENT   0x01
 
#define DM9000_ETXCSR_ETT_50_PERCENT   0x02
 
#define DM9000_ETXCSR_ETT_75_PERCENT   0x03
 
#define DM9000_TCSCR_UDPCSE   0x04
 
#define DM9000_TCSCR_TCPCSE   0x02
 
#define DM9000_TCSCR_IPCSE   0x01
 
#define DM9000_RCSCSR_UDPS   0x80
 
#define DM9000_RCSCSR_TCPS   0x40
 
#define DM9000_RCSCSR_IPS   0x20
 
#define DM9000_RCSCSR_UDPP   0x10
 
#define DM9000_RCSCSR_TCPP   0x08
 
#define DM9000_RCSCSR_IPP   0x04
 
#define DM9000_RCSCSR_RCSEN   0x02
 
#define DM9000_RCSCSR_DCSE   0x01
 
#define DM9000_MPAR_ADR_EN   0x80
 
#define DM9000_MPAR_EPHYADR   0x1F
 
#define DM9000_LEDCR_GPIO   0x02
 
#define DM9000_LEDCR_MII   0x01
 
#define DM9000_BUSCR_CURR   0x60
 
#define DM9000_BUSCR_CURR_2MA   0x00
 
#define DM9000_BUSCR_CURR_4MA   0x20
 
#define DM9000_BUSCR_CURR_6MA   0x40
 
#define DM9000_BUSCR_CURR_8MA   0x60
 
#define DM9000_BUSCR_EST   0x08
 
#define DM9000_BUSCR_IOW_SPIKE   0x02
 
#define DM9000_BUSCR_IOR_SPIKE   0x01
 
#define DM9000_INTCR_INT_TYPE   0x02
 
#define DM9000_INTCR_INT_TYPE_DIRECT   0x00
 
#define DM9000_INTCR_INT_TYPE_OC   0x02
 
#define DM9000_INTCR_INT_POL   0x01
 
#define DM9000_INTCR_INT_POL_HIGH   0x00
 
#define DM9000_INTCR_INT_POL_LOW   0x01
 
#define DM9000_SCCR_DIS_CLK   0x01
 
#define DM9000_ISR_IOMODE   0x80
 
#define DM9000_ISR_IOMODE_16_BIT   0x00
 
#define DM9000_ISR_IOMODE_8_BIT   0x80
 
#define DM9000_ISR_LNKCHG   0x20
 
#define DM9000_ISR_UDRUN   0x10
 
#define DM9000_ISR_ROO   0x08
 
#define DM9000_ISR_ROS   0x04
 
#define DM9000_ISR_PT   0x02
 
#define DM9000_ISR_PR   0x01
 
#define DM9000_IMR_PAR   0x80
 
#define DM9000_IMR_LNKCHGI   0x20
 
#define DM9000_IMR_UDRUNI   0x10
 
#define DM9000_IMR_ROOI   0x08
 
#define DM9000_IMR_ROI   0x04
 
#define DM9000_IMR_PTI   0x02
 
#define DM9000_IMR_PRI   0x01
 
#define DM9000_BMCR_RST   0x8000
 
#define DM9000_BMCR_LOOPBACK   0x4000
 
#define DM9000_BMCR_SPEED_SEL   0x2000
 
#define DM9000_BMCR_AN_EN   0x1000
 
#define DM9000_BMCR_POWER_DOWN   0x0800
 
#define DM9000_BMCR_ISOLATE   0x0400
 
#define DM9000_BMCR_RESTART_AN   0x0200
 
#define DM9000_BMCR_DUPLEX_MODE   0x0100
 
#define DM9000_BMCR_COL_TEST   0x0080
 
#define DM9000_BMSR_100BT4   0x8000
 
#define DM9000_BMSR_100BTX_FD   0x4000
 
#define DM9000_BMSR_100BTX_HD   0x2000
 
#define DM9000_BMSR_10BT_FD   0x1000
 
#define DM9000_BMSR_10BT_HD   0x0800
 
#define DM9000_BMSR_MF_PREAMBLE_SUPPR   0x0040
 
#define DM9000_BMSR_AN_COMPLETE   0x0020
 
#define DM9000_BMSR_REMOTE_FAULT   0x0010
 
#define DM9000_BMSR_AN_CAPABLE   0x0008
 
#define DM9000_BMSR_LINK_STATUS   0x0004
 
#define DM9000_BMSR_JABBER_DETECT   0x0002
 
#define DM9000_BMSR_EXTENDED_CAPABLE   0x0001
 
#define DM9000_PHYIDR1_OUI_MSB   0xFFFF
 
#define DM9000_PHYIDR1_OUI_MSB_DEFAULT   0x0181
 
#define DM9000_PHYIDR2_OUI_LSB   0xFC00
 
#define DM9000_PHYIDR2_OUI_LSB_DEFAULT   0xB800
 
#define DM9000_PHYIDR2_VNDR_MDL   0x03F0
 
#define DM9000_PHYIDR2_VNDR_MDL_DEFAULT   0x0070
 
#define DM9000_PHYIDR2_MDL_REV   0x000F
 
#define DM9000_PHYIDR2_MDL_REV_DEFAULT   0x0000
 
#define DM9000_ANAR_NP   0x8000
 
#define DM9000_ANAR_ACK   0x4000
 
#define DM9000_ANAR_RF   0x2000
 
#define DM9000_ANAR_FCS   0x0400
 
#define DM9000_ANAR_100BT4   0x0200
 
#define DM9000_ANAR_100BTX_FD   0x0100
 
#define DM9000_ANAR_100BTX_HD   0x0080
 
#define DM9000_ANAR_10BT_FD   0x0040
 
#define DM9000_ANAR_10BT_HD   0x0020
 
#define DM9000_ANAR_SELECTOR   0x001F
 
#define DM9000_ANAR_SELECTOR_DEFAULT   0x0001
 
#define DM9000_ANLPAR_NP   0x8000
 
#define DM9000_ANLPAR_ACK   0x4000
 
#define DM9000_ANLPAR_RF   0x2000
 
#define DM9000_ANLPAR_FCS   0x0400
 
#define DM9000_ANLPAR_100BT4   0x0200
 
#define DM9000_ANLPAR_100BTX_FD   0x0100
 
#define DM9000_ANLPAR_100BTX_HD   0x0080
 
#define DM9000_ANLPAR_10BT_FD   0x0040
 
#define DM9000_ANLPAR_10BT_HD   0x0020
 
#define DM9000_ANLPAR_SELECTOR   0x001F
 
#define DM9000_ANLPAR_SELECTOR_DEFAULT   0x0001
 
#define DM9000_ANER_PDF   0x0010
 
#define DM9000_ANER_LP_NP_ABLE   0x0008
 
#define DM9000_ANER_NP_ABLE   0x0004
 
#define DM9000_ANER_PAGE_RX   0x0002
 
#define DM9000_ANER_LP_AN_ABLE   0x0001
 
#define DM9000_DSCR_BP_4B5B   0x8000
 
#define DM9000_DSCR_BP_SCR   0x4000
 
#define DM9000_DSCR_BP_ALIGN   0x2000
 
#define DM9000_DSCR_BP_ADPOK   0x1000
 
#define DM9000_DSCR_TX_FX   0x0400
 
#define DM9000_DSCR_F_LINK_100   0x0080
 
#define DM9000_DSCR_SPLED_CTL   0x0040
 
#define DM9000_DSCR_COLLED_CTL   0x0020
 
#define DM9000_DSCR_RPDCTR_EN   0x0010
 
#define DM9000_DSCR_SMRST   0x0008
 
#define DM9000_DSCR_MFPSC   0x0004
 
#define DM9000_DSCR_SLEEP   0x0002
 
#define DM9000_DSCR_RLOUT   0x0001
 
#define DM9000_DSCSR_100FDX   0x8000
 
#define DM9000_DSCSR_100HDX   0x4000
 
#define DM9000_DSCSR_10FDX   0x2000
 
#define DM9000_DSCSR_10HDX   0x1000
 
#define DM9000_DSCSR_PHYADR   0x01F0
 
#define DM9000_DSCSR_ANMB   0x000F
 
#define DM9000_10BTCSR_LP_EN   0x4000
 
#define DM9000_10BTCSR_HBE   0x2000
 
#define DM9000_10BTCSR_SQUELCH   0x1000
 
#define DM9000_10BTCSR_JABEN   0x0800
 
#define DM9000_10BTCSR_POLR   0x0001
 
#define DM9000_PWDOR_PD10DRV   0x0100
 
#define DM9000_PWDOR_PD100DL   0x0080
 
#define DM9000_PWDOR_PDCHIP   0x0040
 
#define DM9000_PWDOR_PDCOM   0x0020
 
#define DM9000_PWDOR_PDAEQ   0x0010
 
#define DM9000_PWDOR_PDDRV   0x0008
 
#define DM9000_PWDOR_PDEDI   0x0004
 
#define DM9000_PWDOR_PDEDO   0x0002
 
#define DM9000_PWDOR_PD10   0x0001
 
#define DM9000_SCR_TSTSE1   0x8000
 
#define DM9000_SCR_TSTSE2   0x4000
 
#define DM9000_SCR_FORCE_TXSD   0x2000
 
#define DM9000_SCR_FORCE_FEF   0x1000
 
#define DM9000_SCR_PREAMBLEX   0x0800
 
#define DM9000_SCR_TX10M_PWR   0x0400
 
#define DM9000_SCR_NWAY_PWR   0x0200
 
#define DM9000_SCR_MDIX_CNTL   0x0080
 
#define DM9000_SCR_AUTONEG_LPBK   0x0040
 
#define DM9000_SCR_MDIX_FIX   0x0020
 
#define DM9000_SCR_MDIX_DOWN   0x0010
 
#define DM9000_SCR_MONSEL1   0x0008
 
#define DM9000_SCR_MONSEL0   0x0004
 
#define DM9000_SCR_PD_VALUE   0x0001
 
#define DM9000_DSPCR_DSP   0xFFFF
 
#define DM9000_PSCR_PREAMBLEX   0x0800
 
#define DM9000_PSCR_AMPLITUDE   0x0400
 
#define DM9000_PSCR_TX_PWR   0x0200
 

Functions

error_t dm9000Init (NetInterface *interface)
 DM9000 controller initialization. More...
 
void dm9000InitHook (NetInterface *interface)
 DM9000 custom configuration. More...
 
void dm9000Tick (NetInterface *interface)
 DM9000 timer handler. More...
 
void dm9000EnableIrq (NetInterface *interface)
 Enable interrupts. More...
 
void dm9000DisableIrq (NetInterface *interface)
 Disable interrupts. More...
 
bool_t dm9000IrqHandler (NetInterface *interface)
 DM9000 interrupt service routine. More...
 
void dm9000EventHandler (NetInterface *interface)
 DM9000 event handler. More...
 
error_t dm9000SendPacket (NetInterface *interface, const NetBuffer *buffer, size_t offset, NetTxAncillary *ancillary)
 Send a packet. More...
 
error_t dm9000ReceivePacket (NetInterface *interface)
 Receive a packet. More...
 
error_t dm9000UpdateMacAddrFilter (NetInterface *interface)
 Configure MAC address filtering. More...
 
void dm9000WriteReg (uint8_t address, uint8_t data)
 Write DM9000 register. More...
 
uint8_t dm9000ReadReg (uint8_t address)
 Read DM9000 register. More...
 
void dm9000WritePhyReg (uint8_t address, uint16_t data)
 Write DM9000 PHY register. More...
 
uint16_t dm9000ReadPhyReg (uint8_t address)
 Read DM9000 PHY register. More...
 
uint32_t dm9000CalcCrc (const void *data, size_t length)
 CRC calculation. More...
 

Variables

const NicDriver dm9000Driver
 DM9000 driver. More...
 

Detailed Description

DM9000A/B Ethernet controller.

License

SPDX-License-Identifier: GPL-2.0-or-later

Copyright (C) 2010-2024 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneTCP Open.

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.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
2.4.0

Definition in file dm9000_driver.h.

Macro Definition Documentation

◆ DM9000_10BTCSR

#define DM9000_10BTCSR   0x12

Definition at line 150 of file dm9000_driver.h.

◆ DM9000_10BTCSR_HBE

#define DM9000_10BTCSR_HBE   0x2000

Definition at line 492 of file dm9000_driver.h.

◆ DM9000_10BTCSR_JABEN

#define DM9000_10BTCSR_JABEN   0x0800

Definition at line 494 of file dm9000_driver.h.

◆ DM9000_10BTCSR_LP_EN

#define DM9000_10BTCSR_LP_EN   0x4000

Definition at line 491 of file dm9000_driver.h.

◆ DM9000_10BTCSR_POLR

#define DM9000_10BTCSR_POLR   0x0001

Definition at line 495 of file dm9000_driver.h.

◆ DM9000_10BTCSR_SQUELCH

#define DM9000_10BTCSR_SQUELCH   0x1000

Definition at line 493 of file dm9000_driver.h.

◆ DM9000_ANAR

#define DM9000_ANAR   0x04

Definition at line 145 of file dm9000_driver.h.

◆ DM9000_ANAR_100BT4

#define DM9000_ANAR_100BT4   0x0200

Definition at line 439 of file dm9000_driver.h.

◆ DM9000_ANAR_100BTX_FD

#define DM9000_ANAR_100BTX_FD   0x0100

Definition at line 440 of file dm9000_driver.h.

◆ DM9000_ANAR_100BTX_HD

#define DM9000_ANAR_100BTX_HD   0x0080

Definition at line 441 of file dm9000_driver.h.

◆ DM9000_ANAR_10BT_FD

#define DM9000_ANAR_10BT_FD   0x0040

Definition at line 442 of file dm9000_driver.h.

◆ DM9000_ANAR_10BT_HD

#define DM9000_ANAR_10BT_HD   0x0020

Definition at line 443 of file dm9000_driver.h.

◆ DM9000_ANAR_ACK

#define DM9000_ANAR_ACK   0x4000

Definition at line 436 of file dm9000_driver.h.

◆ DM9000_ANAR_FCS

#define DM9000_ANAR_FCS   0x0400

Definition at line 438 of file dm9000_driver.h.

◆ DM9000_ANAR_NP

#define DM9000_ANAR_NP   0x8000

Definition at line 435 of file dm9000_driver.h.

◆ DM9000_ANAR_RF

#define DM9000_ANAR_RF   0x2000

Definition at line 437 of file dm9000_driver.h.

◆ DM9000_ANAR_SELECTOR

#define DM9000_ANAR_SELECTOR   0x001F

Definition at line 444 of file dm9000_driver.h.

◆ DM9000_ANAR_SELECTOR_DEFAULT

#define DM9000_ANAR_SELECTOR_DEFAULT   0x0001

Definition at line 445 of file dm9000_driver.h.

◆ DM9000_ANER

#define DM9000_ANER   0x06

Definition at line 147 of file dm9000_driver.h.

◆ DM9000_ANER_LP_AN_ABLE

#define DM9000_ANER_LP_AN_ABLE   0x0001

Definition at line 465 of file dm9000_driver.h.

◆ DM9000_ANER_LP_NP_ABLE

#define DM9000_ANER_LP_NP_ABLE   0x0008

Definition at line 462 of file dm9000_driver.h.

◆ DM9000_ANER_NP_ABLE

#define DM9000_ANER_NP_ABLE   0x0004

Definition at line 463 of file dm9000_driver.h.

◆ DM9000_ANER_PAGE_RX

#define DM9000_ANER_PAGE_RX   0x0002

Definition at line 464 of file dm9000_driver.h.

◆ DM9000_ANER_PDF

#define DM9000_ANER_PDF   0x0010

Definition at line 461 of file dm9000_driver.h.

◆ DM9000_ANLPAR

#define DM9000_ANLPAR   0x05

Definition at line 146 of file dm9000_driver.h.

◆ DM9000_ANLPAR_100BT4

#define DM9000_ANLPAR_100BT4   0x0200

Definition at line 452 of file dm9000_driver.h.

◆ DM9000_ANLPAR_100BTX_FD

#define DM9000_ANLPAR_100BTX_FD   0x0100

Definition at line 453 of file dm9000_driver.h.

◆ DM9000_ANLPAR_100BTX_HD

#define DM9000_ANLPAR_100BTX_HD   0x0080

Definition at line 454 of file dm9000_driver.h.

◆ DM9000_ANLPAR_10BT_FD

#define DM9000_ANLPAR_10BT_FD   0x0040

Definition at line 455 of file dm9000_driver.h.

◆ DM9000_ANLPAR_10BT_HD

#define DM9000_ANLPAR_10BT_HD   0x0020

Definition at line 456 of file dm9000_driver.h.

◆ DM9000_ANLPAR_ACK

#define DM9000_ANLPAR_ACK   0x4000

Definition at line 449 of file dm9000_driver.h.

◆ DM9000_ANLPAR_FCS

#define DM9000_ANLPAR_FCS   0x0400

Definition at line 451 of file dm9000_driver.h.

◆ DM9000_ANLPAR_NP

#define DM9000_ANLPAR_NP   0x8000

Definition at line 448 of file dm9000_driver.h.

◆ DM9000_ANLPAR_RF

#define DM9000_ANLPAR_RF   0x2000

Definition at line 450 of file dm9000_driver.h.

◆ DM9000_ANLPAR_SELECTOR

#define DM9000_ANLPAR_SELECTOR   0x001F

Definition at line 457 of file dm9000_driver.h.

◆ DM9000_ANLPAR_SELECTOR_DEFAULT

#define DM9000_ANLPAR_SELECTOR_DEFAULT   0x0001

Definition at line 458 of file dm9000_driver.h.

◆ DM9000_BMCR

#define DM9000_BMCR   0x00

Definition at line 141 of file dm9000_driver.h.

◆ DM9000_BMCR_AN_EN

#define DM9000_BMCR_AN_EN   0x1000

Definition at line 401 of file dm9000_driver.h.

◆ DM9000_BMCR_COL_TEST

#define DM9000_BMCR_COL_TEST   0x0080

Definition at line 406 of file dm9000_driver.h.

◆ DM9000_BMCR_DUPLEX_MODE

#define DM9000_BMCR_DUPLEX_MODE   0x0100

Definition at line 405 of file dm9000_driver.h.

◆ DM9000_BMCR_ISOLATE

#define DM9000_BMCR_ISOLATE   0x0400

Definition at line 403 of file dm9000_driver.h.

◆ DM9000_BMCR_LOOPBACK

#define DM9000_BMCR_LOOPBACK   0x4000

Definition at line 399 of file dm9000_driver.h.

◆ DM9000_BMCR_POWER_DOWN

#define DM9000_BMCR_POWER_DOWN   0x0800

Definition at line 402 of file dm9000_driver.h.

◆ DM9000_BMCR_RESTART_AN

#define DM9000_BMCR_RESTART_AN   0x0200

Definition at line 404 of file dm9000_driver.h.

◆ DM9000_BMCR_RST

#define DM9000_BMCR_RST   0x8000

Definition at line 398 of file dm9000_driver.h.

◆ DM9000_BMCR_SPEED_SEL

#define DM9000_BMCR_SPEED_SEL   0x2000

Definition at line 400 of file dm9000_driver.h.

◆ DM9000_BMSR

#define DM9000_BMSR   0x01

Definition at line 142 of file dm9000_driver.h.

◆ DM9000_BMSR_100BT4

#define DM9000_BMSR_100BT4   0x8000

Definition at line 409 of file dm9000_driver.h.

◆ DM9000_BMSR_100BTX_FD

#define DM9000_BMSR_100BTX_FD   0x4000

Definition at line 410 of file dm9000_driver.h.

◆ DM9000_BMSR_100BTX_HD

#define DM9000_BMSR_100BTX_HD   0x2000

Definition at line 411 of file dm9000_driver.h.

◆ DM9000_BMSR_10BT_FD

#define DM9000_BMSR_10BT_FD   0x1000

Definition at line 412 of file dm9000_driver.h.

◆ DM9000_BMSR_10BT_HD

#define DM9000_BMSR_10BT_HD   0x0800

Definition at line 413 of file dm9000_driver.h.

◆ DM9000_BMSR_AN_CAPABLE

#define DM9000_BMSR_AN_CAPABLE   0x0008

Definition at line 417 of file dm9000_driver.h.

◆ DM9000_BMSR_AN_COMPLETE

#define DM9000_BMSR_AN_COMPLETE   0x0020

Definition at line 415 of file dm9000_driver.h.

◆ DM9000_BMSR_EXTENDED_CAPABLE

#define DM9000_BMSR_EXTENDED_CAPABLE   0x0001

Definition at line 420 of file dm9000_driver.h.

◆ DM9000_BMSR_JABBER_DETECT

#define DM9000_BMSR_JABBER_DETECT   0x0002

Definition at line 419 of file dm9000_driver.h.

◆ DM9000_BMSR_LINK_STATUS

#define DM9000_BMSR_LINK_STATUS   0x0004

Definition at line 418 of file dm9000_driver.h.

◆ DM9000_BMSR_MF_PREAMBLE_SUPPR

#define DM9000_BMSR_MF_PREAMBLE_SUPPR   0x0040

Definition at line 414 of file dm9000_driver.h.

◆ DM9000_BMSR_REMOTE_FAULT

#define DM9000_BMSR_REMOTE_FAULT   0x0010

Definition at line 416 of file dm9000_driver.h.

◆ DM9000_BPTR

#define DM9000_BPTR   0x08

Definition at line 81 of file dm9000_driver.h.

◆ DM9000_BPTR_BPHW

#define DM9000_BPTR_BPHW   0xF0

Definition at line 223 of file dm9000_driver.h.

◆ DM9000_BPTR_JPT

#define DM9000_BPTR_JPT   0x0F

Definition at line 224 of file dm9000_driver.h.

◆ DM9000_BUSCR

#define DM9000_BUSCR   0x38

Definition at line 122 of file dm9000_driver.h.

◆ DM9000_BUSCR_CURR

#define DM9000_BUSCR_CURR   0x60

Definition at line 357 of file dm9000_driver.h.

◆ DM9000_BUSCR_CURR_2MA

#define DM9000_BUSCR_CURR_2MA   0x00

Definition at line 358 of file dm9000_driver.h.

◆ DM9000_BUSCR_CURR_4MA

#define DM9000_BUSCR_CURR_4MA   0x20

Definition at line 359 of file dm9000_driver.h.

◆ DM9000_BUSCR_CURR_6MA

#define DM9000_BUSCR_CURR_6MA   0x40

Definition at line 360 of file dm9000_driver.h.

◆ DM9000_BUSCR_CURR_8MA

#define DM9000_BUSCR_CURR_8MA   0x60

Definition at line 361 of file dm9000_driver.h.

◆ DM9000_BUSCR_EST

#define DM9000_BUSCR_EST   0x08

Definition at line 362 of file dm9000_driver.h.

◆ DM9000_BUSCR_IOR_SPIKE

#define DM9000_BUSCR_IOR_SPIKE   0x01

Definition at line 364 of file dm9000_driver.h.

◆ DM9000_BUSCR_IOW_SPIKE

#define DM9000_BUSCR_IOW_SPIKE   0x02

Definition at line 363 of file dm9000_driver.h.

◆ DM9000_CHIPR

#define DM9000_CHIPR   0x2C

Definition at line 113 of file dm9000_driver.h.

◆ DM9000_CHIPR_REV_A

#define DM9000_CHIPR_REV_A   0x19

Definition at line 290 of file dm9000_driver.h.

◆ DM9000_CHIPR_REV_B

#define DM9000_CHIPR_REV_B   0x1A

Definition at line 291 of file dm9000_driver.h.

◆ DM9000_DATA_REG

#define DM9000_DATA_REG   *((volatile uint16_t *) 0x30001000)

Definition at line 65 of file dm9000_driver.h.

◆ DM9000_DSCR

#define DM9000_DSCR   0x10

Definition at line 148 of file dm9000_driver.h.

◆ DM9000_DSCR_BP_4B5B

#define DM9000_DSCR_BP_4B5B   0x8000

Definition at line 468 of file dm9000_driver.h.

◆ DM9000_DSCR_BP_ADPOK

#define DM9000_DSCR_BP_ADPOK   0x1000

Definition at line 471 of file dm9000_driver.h.

◆ DM9000_DSCR_BP_ALIGN

#define DM9000_DSCR_BP_ALIGN   0x2000

Definition at line 470 of file dm9000_driver.h.

◆ DM9000_DSCR_BP_SCR

#define DM9000_DSCR_BP_SCR   0x4000

Definition at line 469 of file dm9000_driver.h.

◆ DM9000_DSCR_COLLED_CTL

#define DM9000_DSCR_COLLED_CTL   0x0020

Definition at line 475 of file dm9000_driver.h.

◆ DM9000_DSCR_F_LINK_100

#define DM9000_DSCR_F_LINK_100   0x0080

Definition at line 473 of file dm9000_driver.h.

◆ DM9000_DSCR_MFPSC

#define DM9000_DSCR_MFPSC   0x0004

Definition at line 478 of file dm9000_driver.h.

◆ DM9000_DSCR_RLOUT

#define DM9000_DSCR_RLOUT   0x0001

Definition at line 480 of file dm9000_driver.h.

◆ DM9000_DSCR_RPDCTR_EN

#define DM9000_DSCR_RPDCTR_EN   0x0010

Definition at line 476 of file dm9000_driver.h.

◆ DM9000_DSCR_SLEEP

#define DM9000_DSCR_SLEEP   0x0002

Definition at line 479 of file dm9000_driver.h.

◆ DM9000_DSCR_SMRST

#define DM9000_DSCR_SMRST   0x0008

Definition at line 477 of file dm9000_driver.h.

◆ DM9000_DSCR_SPLED_CTL

#define DM9000_DSCR_SPLED_CTL   0x0040

Definition at line 474 of file dm9000_driver.h.

◆ DM9000_DSCR_TX_FX

#define DM9000_DSCR_TX_FX   0x0400

Definition at line 472 of file dm9000_driver.h.

◆ DM9000_DSCSR

#define DM9000_DSCSR   0x11

Definition at line 149 of file dm9000_driver.h.

◆ DM9000_DSCSR_100FDX

#define DM9000_DSCSR_100FDX   0x8000

Definition at line 483 of file dm9000_driver.h.

◆ DM9000_DSCSR_100HDX

#define DM9000_DSCSR_100HDX   0x4000

Definition at line 484 of file dm9000_driver.h.

◆ DM9000_DSCSR_10FDX

#define DM9000_DSCSR_10FDX   0x2000

Definition at line 485 of file dm9000_driver.h.

◆ DM9000_DSCSR_10HDX

#define DM9000_DSCSR_10HDX   0x1000

Definition at line 486 of file dm9000_driver.h.

◆ DM9000_DSCSR_ANMB

#define DM9000_DSCSR_ANMB   0x000F

Definition at line 488 of file dm9000_driver.h.

◆ DM9000_DSCSR_PHYADR

#define DM9000_DSCSR_PHYADR   0x01F0

Definition at line 487 of file dm9000_driver.h.

◆ DM9000_DSPCR

#define DM9000_DSPCR   0x1B

Definition at line 153 of file dm9000_driver.h.

◆ DM9000_DSPCR_DSP

#define DM9000_DSPCR_DSP   0xFFFF

Definition at line 525 of file dm9000_driver.h.

◆ DM9000_EPAR

#define DM9000_EPAR   0x0C

Definition at line 85 of file dm9000_driver.h.

◆ DM9000_EPAR_EROA

#define DM9000_EPAR_EROA   0x3F

Definition at line 250 of file dm9000_driver.h.

◆ DM9000_EPAR_PHY_ADR

#define DM9000_EPAR_PHY_ADR   0xC0

Definition at line 249 of file dm9000_driver.h.

◆ DM9000_EPCR

#define DM9000_EPCR   0x0B

Definition at line 84 of file dm9000_driver.h.

◆ DM9000_EPCR_EPOS

#define DM9000_EPCR_EPOS   0x08

Definition at line 243 of file dm9000_driver.h.

◆ DM9000_EPCR_ERPRR

#define DM9000_EPCR_ERPRR   0x04

Definition at line 244 of file dm9000_driver.h.

◆ DM9000_EPCR_ERPRW

#define DM9000_EPCR_ERPRW   0x02

Definition at line 245 of file dm9000_driver.h.

◆ DM9000_EPCR_ERRE

#define DM9000_EPCR_ERRE   0x01

Definition at line 246 of file dm9000_driver.h.

◆ DM9000_EPCR_REEP

#define DM9000_EPCR_REEP   0x20

Definition at line 241 of file dm9000_driver.h.

◆ DM9000_EPCR_WEP

#define DM9000_EPCR_WEP   0x10

Definition at line 242 of file dm9000_driver.h.

◆ DM9000_EPDRH

#define DM9000_EPDRH   0x0E

Definition at line 87 of file dm9000_driver.h.

◆ DM9000_EPDRL

#define DM9000_EPDRL   0x0D

Definition at line 86 of file dm9000_driver.h.

◆ DM9000_ETH_RX_BUFFER_SIZE

#define DM9000_ETH_RX_BUFFER_SIZE   1536

Definition at line 53 of file dm9000_driver.h.

◆ DM9000_ETH_TX_BUFFER_SIZE

#define DM9000_ETH_TX_BUFFER_SIZE   1536

Definition at line 46 of file dm9000_driver.h.

◆ DM9000_ETXCSR

#define DM9000_ETXCSR   0x30

Definition at line 117 of file dm9000_driver.h.

◆ DM9000_ETXCSR_ETE

#define DM9000_ETXCSR_ETE   0x80

Definition at line 324 of file dm9000_driver.h.

◆ DM9000_ETXCSR_ETS1

#define DM9000_ETXCSR_ETS1   0x20

Definition at line 326 of file dm9000_driver.h.

◆ DM9000_ETXCSR_ETS2

#define DM9000_ETXCSR_ETS2   0x40

Definition at line 325 of file dm9000_driver.h.

◆ DM9000_ETXCSR_ETT

#define DM9000_ETXCSR_ETT   0x03

Definition at line 327 of file dm9000_driver.h.

◆ DM9000_ETXCSR_ETT_12_5_PERCENT

#define DM9000_ETXCSR_ETT_12_5_PERCENT   0x00

Definition at line 328 of file dm9000_driver.h.

◆ DM9000_ETXCSR_ETT_25_PERCENT

#define DM9000_ETXCSR_ETT_25_PERCENT   0x01

Definition at line 329 of file dm9000_driver.h.

◆ DM9000_ETXCSR_ETT_50_PERCENT

#define DM9000_ETXCSR_ETT_50_PERCENT   0x02

Definition at line 330 of file dm9000_driver.h.

◆ DM9000_ETXCSR_ETT_75_PERCENT

#define DM9000_ETXCSR_ETT_75_PERCENT   0x03

Definition at line 331 of file dm9000_driver.h.

◆ DM9000_FCR

#define DM9000_FCR   0x0A

Definition at line 83 of file dm9000_driver.h.

◆ DM9000_FCR_BKPA

#define DM9000_FCR_BKPA   0x10

Definition at line 234 of file dm9000_driver.h.

◆ DM9000_FCR_BKPM

#define DM9000_FCR_BKPM   0x08

Definition at line 235 of file dm9000_driver.h.

◆ DM9000_FCR_FLCE

#define DM9000_FCR_FLCE   0x01

Definition at line 238 of file dm9000_driver.h.

◆ DM9000_FCR_RXPCS

#define DM9000_FCR_RXPCS   0x02

Definition at line 237 of file dm9000_driver.h.

◆ DM9000_FCR_RXPS

#define DM9000_FCR_RXPS   0x04

Definition at line 236 of file dm9000_driver.h.

◆ DM9000_FCR_TXP0

#define DM9000_FCR_TXP0   0x80

Definition at line 231 of file dm9000_driver.h.

◆ DM9000_FCR_TXPEN

#define DM9000_FCR_TXPEN   0x20

Definition at line 233 of file dm9000_driver.h.

◆ DM9000_FCR_TXPF

#define DM9000_FCR_TXPF   0x40

Definition at line 232 of file dm9000_driver.h.

◆ DM9000_FCTR

#define DM9000_FCTR   0x09

Definition at line 82 of file dm9000_driver.h.

◆ DM9000_FCTR_HWOT

#define DM9000_FCTR_HWOT   0xF0

Definition at line 227 of file dm9000_driver.h.

◆ DM9000_FCTR_LWOT

#define DM9000_FCTR_LWOT   0x0F

Definition at line 228 of file dm9000_driver.h.

◆ DM9000_GPCR

#define DM9000_GPCR   0x1E

Definition at line 103 of file dm9000_driver.h.

◆ DM9000_GPCR_GPC1

#define DM9000_GPCR_GPC1   0x02

Definition at line 266 of file dm9000_driver.h.

◆ DM9000_GPCR_GPC2

#define DM9000_GPCR_GPC2   0x04

Definition at line 265 of file dm9000_driver.h.

◆ DM9000_GPCR_GPC3

#define DM9000_GPCR_GPC3   0x08

Definition at line 264 of file dm9000_driver.h.

◆ DM9000_GPCR_GPC4

#define DM9000_GPCR_GPC4   0x10

Definition at line 263 of file dm9000_driver.h.

◆ DM9000_GPCR_GPC5

#define DM9000_GPCR_GPC5   0x20

Definition at line 262 of file dm9000_driver.h.

◆ DM9000_GPCR_GPC6

#define DM9000_GPCR_GPC6   0x40

Definition at line 261 of file dm9000_driver.h.

◆ DM9000_GPR

#define DM9000_GPR   0x1F

Definition at line 104 of file dm9000_driver.h.

◆ DM9000_GPR_GPIO1

#define DM9000_GPR_GPIO1   0x02

Definition at line 274 of file dm9000_driver.h.

◆ DM9000_GPR_GPIO2

#define DM9000_GPR_GPIO2   0x04

Definition at line 273 of file dm9000_driver.h.

◆ DM9000_GPR_GPIO3

#define DM9000_GPR_GPIO3   0x08

Definition at line 272 of file dm9000_driver.h.

◆ DM9000_GPR_GPO4

#define DM9000_GPR_GPO4   0x10

Definition at line 271 of file dm9000_driver.h.

◆ DM9000_GPR_GPO5

#define DM9000_GPR_GPO5   0x20

Definition at line 270 of file dm9000_driver.h.

◆ DM9000_GPR_GPO6

#define DM9000_GPR_GPO6   0x40

Definition at line 269 of file dm9000_driver.h.

◆ DM9000_GPR_PHYPD

#define DM9000_GPR_PHYPD   0x01

Definition at line 275 of file dm9000_driver.h.

◆ DM9000_IMR

#define DM9000_IMR   0xFF

Definition at line 138 of file dm9000_driver.h.

◆ DM9000_IMR_LNKCHGI

#define DM9000_IMR_LNKCHGI   0x20

Definition at line 390 of file dm9000_driver.h.

◆ DM9000_IMR_PAR

#define DM9000_IMR_PAR   0x80

Definition at line 389 of file dm9000_driver.h.

◆ DM9000_IMR_PRI

#define DM9000_IMR_PRI   0x01

Definition at line 395 of file dm9000_driver.h.

◆ DM9000_IMR_PTI

#define DM9000_IMR_PTI   0x02

Definition at line 394 of file dm9000_driver.h.

◆ DM9000_IMR_ROI

#define DM9000_IMR_ROI   0x04

Definition at line 393 of file dm9000_driver.h.

◆ DM9000_IMR_ROOI

#define DM9000_IMR_ROOI   0x08

Definition at line 392 of file dm9000_driver.h.

◆ DM9000_IMR_UDRUNI

#define DM9000_IMR_UDRUNI   0x10

Definition at line 391 of file dm9000_driver.h.

◆ DM9000_INDEX_REG

#define DM9000_INDEX_REG   *((volatile uint16_t *) 0x30000000)

Definition at line 60 of file dm9000_driver.h.

◆ DM9000_INTCR

#define DM9000_INTCR   0x39

Definition at line 123 of file dm9000_driver.h.

◆ DM9000_INTCR_INT_POL

#define DM9000_INTCR_INT_POL   0x01

Definition at line 370 of file dm9000_driver.h.

◆ DM9000_INTCR_INT_POL_HIGH

#define DM9000_INTCR_INT_POL_HIGH   0x00

Definition at line 371 of file dm9000_driver.h.

◆ DM9000_INTCR_INT_POL_LOW

#define DM9000_INTCR_INT_POL_LOW   0x01

Definition at line 372 of file dm9000_driver.h.

◆ DM9000_INTCR_INT_TYPE

#define DM9000_INTCR_INT_TYPE   0x02

Definition at line 367 of file dm9000_driver.h.

◆ DM9000_INTCR_INT_TYPE_DIRECT

#define DM9000_INTCR_INT_TYPE_DIRECT   0x00

Definition at line 368 of file dm9000_driver.h.

◆ DM9000_INTCR_INT_TYPE_OC

#define DM9000_INTCR_INT_TYPE_OC   0x02

Definition at line 369 of file dm9000_driver.h.

◆ DM9000_ISR

#define DM9000_ISR   0xFE

Definition at line 137 of file dm9000_driver.h.

◆ DM9000_ISR_IOMODE

#define DM9000_ISR_IOMODE   0x80

Definition at line 378 of file dm9000_driver.h.

◆ DM9000_ISR_IOMODE_16_BIT

#define DM9000_ISR_IOMODE_16_BIT   0x00

Definition at line 379 of file dm9000_driver.h.

◆ DM9000_ISR_IOMODE_8_BIT

#define DM9000_ISR_IOMODE_8_BIT   0x80

Definition at line 380 of file dm9000_driver.h.

◆ DM9000_ISR_LNKCHG

#define DM9000_ISR_LNKCHG   0x20

Definition at line 381 of file dm9000_driver.h.

◆ DM9000_ISR_PR

#define DM9000_ISR_PR   0x01

Definition at line 386 of file dm9000_driver.h.

◆ DM9000_ISR_PT

#define DM9000_ISR_PT   0x02

Definition at line 385 of file dm9000_driver.h.

◆ DM9000_ISR_ROO

#define DM9000_ISR_ROO   0x08

Definition at line 383 of file dm9000_driver.h.

◆ DM9000_ISR_ROS

#define DM9000_ISR_ROS   0x04

Definition at line 384 of file dm9000_driver.h.

◆ DM9000_ISR_UDRUN

#define DM9000_ISR_UDRUN   0x10

Definition at line 382 of file dm9000_driver.h.

◆ DM9000_LEDCR

#define DM9000_LEDCR   0x34

Definition at line 121 of file dm9000_driver.h.

◆ DM9000_LEDCR_GPIO

#define DM9000_LEDCR_GPIO   0x02

Definition at line 353 of file dm9000_driver.h.

◆ DM9000_LEDCR_MII

#define DM9000_LEDCR_MII   0x01

Definition at line 354 of file dm9000_driver.h.

◆ DM9000_LOOPBACK_MODE

#define DM9000_LOOPBACK_MODE   DISABLED

Definition at line 39 of file dm9000_driver.h.

◆ DM9000_MAR0

#define DM9000_MAR0   0x16

Definition at line 95 of file dm9000_driver.h.

◆ DM9000_MAR1

#define DM9000_MAR1   0x17

Definition at line 96 of file dm9000_driver.h.

◆ DM9000_MAR2

#define DM9000_MAR2   0x18

Definition at line 97 of file dm9000_driver.h.

◆ DM9000_MAR3

#define DM9000_MAR3   0x19

Definition at line 98 of file dm9000_driver.h.

◆ DM9000_MAR4

#define DM9000_MAR4   0x1A

Definition at line 99 of file dm9000_driver.h.

◆ DM9000_MAR5

#define DM9000_MAR5   0x1B

Definition at line 100 of file dm9000_driver.h.

◆ DM9000_MAR6

#define DM9000_MAR6   0x1C

Definition at line 101 of file dm9000_driver.h.

◆ DM9000_MAR7

#define DM9000_MAR7   0x1D

Definition at line 102 of file dm9000_driver.h.

◆ DM9000_MPAR

#define DM9000_MPAR   0x33

Definition at line 120 of file dm9000_driver.h.

◆ DM9000_MPAR_ADR_EN

#define DM9000_MPAR_ADR_EN   0x80

Definition at line 349 of file dm9000_driver.h.

◆ DM9000_MPAR_EPHYADR

#define DM9000_MPAR_EPHYADR   0x1F

Definition at line 350 of file dm9000_driver.h.

◆ DM9000_MRCMD

#define DM9000_MRCMD   0xF2

Definition at line 128 of file dm9000_driver.h.

◆ DM9000_MRCMDX

#define DM9000_MRCMDX   0xF0

Definition at line 126 of file dm9000_driver.h.

◆ DM9000_MRCMDX1

#define DM9000_MRCMDX1   0xF1

Definition at line 127 of file dm9000_driver.h.

◆ DM9000_MRRH

#define DM9000_MRRH   0xF5

Definition at line 130 of file dm9000_driver.h.

◆ DM9000_MRRL

#define DM9000_MRRL   0xF4

Definition at line 129 of file dm9000_driver.h.

◆ DM9000_MWCMD

#define DM9000_MWCMD   0xF8

Definition at line 132 of file dm9000_driver.h.

◆ DM9000_MWCMDX

#define DM9000_MWCMDX   0xF6

Definition at line 131 of file dm9000_driver.h.

◆ DM9000_MWRH

#define DM9000_MWRH   0xFB

Definition at line 134 of file dm9000_driver.h.

◆ DM9000_MWRL

#define DM9000_MWRL   0xFA

Definition at line 133 of file dm9000_driver.h.

◆ DM9000_NCR

#define DM9000_NCR   0x00

Definition at line 73 of file dm9000_driver.h.

◆ DM9000_NCR_FCOL

#define DM9000_NCR_FCOL   0x10

Definition at line 158 of file dm9000_driver.h.

◆ DM9000_NCR_FDX

#define DM9000_NCR_FDX   0x08

Definition at line 159 of file dm9000_driver.h.

◆ DM9000_NCR_LBK

#define DM9000_NCR_LBK   0x06

Definition at line 160 of file dm9000_driver.h.

◆ DM9000_NCR_LBK_MAC

#define DM9000_NCR_LBK_MAC   0x02

Definition at line 162 of file dm9000_driver.h.

◆ DM9000_NCR_LBK_NORMAL

#define DM9000_NCR_LBK_NORMAL   0x00

Definition at line 161 of file dm9000_driver.h.

◆ DM9000_NCR_LBK_PHY

#define DM9000_NCR_LBK_PHY   0x04

Definition at line 163 of file dm9000_driver.h.

◆ DM9000_NCR_RST

#define DM9000_NCR_RST   0x01

Definition at line 164 of file dm9000_driver.h.

◆ DM9000_NCR_WAKEEN

#define DM9000_NCR_WAKEEN   0x40

Definition at line 157 of file dm9000_driver.h.

◆ DM9000_NSR

#define DM9000_NSR   0x01

Definition at line 74 of file dm9000_driver.h.

◆ DM9000_NSR_LINKST

#define DM9000_NSR_LINKST   0x40

Definition at line 168 of file dm9000_driver.h.

◆ DM9000_NSR_RXOV

#define DM9000_NSR_RXOV   0x02

Definition at line 172 of file dm9000_driver.h.

◆ DM9000_NSR_SPEED

#define DM9000_NSR_SPEED   0x80

Definition at line 167 of file dm9000_driver.h.

◆ DM9000_NSR_TX1END

#define DM9000_NSR_TX1END   0x04

Definition at line 171 of file dm9000_driver.h.

◆ DM9000_NSR_TX2END

#define DM9000_NSR_TX2END   0x08

Definition at line 170 of file dm9000_driver.h.

◆ DM9000_NSR_WAKEST

#define DM9000_NSR_WAKEST   0x20

Definition at line 169 of file dm9000_driver.h.

◆ DM9000_OCR

#define DM9000_OCR   0x2E

Definition at line 115 of file dm9000_driver.h.

◆ DM9000_OCR_PHYOP

#define DM9000_OCR_PHYOP   0x07

Definition at line 315 of file dm9000_driver.h.

◆ DM9000_OCR_SCC

#define DM9000_OCR_SCC   0xC0

Definition at line 309 of file dm9000_driver.h.

◆ DM9000_OCR_SCC_100MHZ

#define DM9000_OCR_SCC_100MHZ   0x80

Definition at line 312 of file dm9000_driver.h.

◆ DM9000_OCR_SCC_20MHZ

#define DM9000_OCR_SCC_20MHZ   0x40

Definition at line 311 of file dm9000_driver.h.

◆ DM9000_OCR_SCC_50MHZ

#define DM9000_OCR_SCC_50MHZ   0x00

Definition at line 310 of file dm9000_driver.h.

◆ DM9000_OCR_SCS

#define DM9000_OCR_SCS   0x08

Definition at line 314 of file dm9000_driver.h.

◆ DM9000_OCR_SOE

#define DM9000_OCR_SOE   0x10

Definition at line 313 of file dm9000_driver.h.

◆ DM9000_PAR0

#define DM9000_PAR0   0x10

Definition at line 89 of file dm9000_driver.h.

◆ DM9000_PAR1

#define DM9000_PAR1   0x11

Definition at line 90 of file dm9000_driver.h.

◆ DM9000_PAR2

#define DM9000_PAR2   0x12

Definition at line 91 of file dm9000_driver.h.

◆ DM9000_PAR3

#define DM9000_PAR3   0x13

Definition at line 92 of file dm9000_driver.h.

◆ DM9000_PAR4

#define DM9000_PAR4   0x14

Definition at line 93 of file dm9000_driver.h.

◆ DM9000_PAR5

#define DM9000_PAR5   0x15

Definition at line 94 of file dm9000_driver.h.

◆ DM9000_PHYIDR1

#define DM9000_PHYIDR1   0x02

Definition at line 143 of file dm9000_driver.h.

◆ DM9000_PHYIDR1_OUI_MSB

#define DM9000_PHYIDR1_OUI_MSB   0xFFFF

Definition at line 423 of file dm9000_driver.h.

◆ DM9000_PHYIDR1_OUI_MSB_DEFAULT

#define DM9000_PHYIDR1_OUI_MSB_DEFAULT   0x0181

Definition at line 424 of file dm9000_driver.h.

◆ DM9000_PHYIDR2

#define DM9000_PHYIDR2   0x03

Definition at line 144 of file dm9000_driver.h.

◆ DM9000_PHYIDR2_MDL_REV

#define DM9000_PHYIDR2_MDL_REV   0x000F

Definition at line 431 of file dm9000_driver.h.

◆ DM9000_PHYIDR2_MDL_REV_DEFAULT

#define DM9000_PHYIDR2_MDL_REV_DEFAULT   0x0000

Definition at line 432 of file dm9000_driver.h.

◆ DM9000_PHYIDR2_OUI_LSB

#define DM9000_PHYIDR2_OUI_LSB   0xFC00

Definition at line 427 of file dm9000_driver.h.

◆ DM9000_PHYIDR2_OUI_LSB_DEFAULT

#define DM9000_PHYIDR2_OUI_LSB_DEFAULT   0xB800

Definition at line 428 of file dm9000_driver.h.

◆ DM9000_PHYIDR2_VNDR_MDL

#define DM9000_PHYIDR2_VNDR_MDL   0x03F0

Definition at line 429 of file dm9000_driver.h.

◆ DM9000_PHYIDR2_VNDR_MDL_DEFAULT

#define DM9000_PHYIDR2_VNDR_MDL_DEFAULT   0x0070

Definition at line 430 of file dm9000_driver.h.

◆ DM9000_PID

#define DM9000_PID   ((DM9000_PIDH_DEFAULT << 8) | DM9000_PIDL_DEFAULT)

Definition at line 70 of file dm9000_driver.h.

◆ DM9000_PIDH

#define DM9000_PIDH   0x2B

Definition at line 112 of file dm9000_driver.h.

◆ DM9000_PIDH_DEFAULT

#define DM9000_PIDH_DEFAULT   0x90

Definition at line 287 of file dm9000_driver.h.

◆ DM9000_PIDL

#define DM9000_PIDL   0x2A

Definition at line 111 of file dm9000_driver.h.

◆ DM9000_PIDL_DEFAULT

#define DM9000_PIDL_DEFAULT   0x00

Definition at line 284 of file dm9000_driver.h.

◆ DM9000_PSCR

#define DM9000_PSCR   0x1D

Definition at line 154 of file dm9000_driver.h.

◆ DM9000_PSCR_AMPLITUDE

#define DM9000_PSCR_AMPLITUDE   0x0400

Definition at line 529 of file dm9000_driver.h.

◆ DM9000_PSCR_PREAMBLEX

#define DM9000_PSCR_PREAMBLEX   0x0800

Definition at line 528 of file dm9000_driver.h.

◆ DM9000_PSCR_TX_PWR

#define DM9000_PSCR_TX_PWR   0x0200

Definition at line 530 of file dm9000_driver.h.

◆ DM9000_PWDOR

#define DM9000_PWDOR   0x13

Definition at line 151 of file dm9000_driver.h.

◆ DM9000_PWDOR_PD10

#define DM9000_PWDOR_PD10   0x0001

Definition at line 506 of file dm9000_driver.h.

◆ DM9000_PWDOR_PD100DL

#define DM9000_PWDOR_PD100DL   0x0080

Definition at line 499 of file dm9000_driver.h.

◆ DM9000_PWDOR_PD10DRV

#define DM9000_PWDOR_PD10DRV   0x0100

Definition at line 498 of file dm9000_driver.h.

◆ DM9000_PWDOR_PDAEQ

#define DM9000_PWDOR_PDAEQ   0x0010

Definition at line 502 of file dm9000_driver.h.

◆ DM9000_PWDOR_PDCHIP

#define DM9000_PWDOR_PDCHIP   0x0040

Definition at line 500 of file dm9000_driver.h.

◆ DM9000_PWDOR_PDCOM

#define DM9000_PWDOR_PDCOM   0x0020

Definition at line 501 of file dm9000_driver.h.

◆ DM9000_PWDOR_PDDRV

#define DM9000_PWDOR_PDDRV   0x0008

Definition at line 503 of file dm9000_driver.h.

◆ DM9000_PWDOR_PDEDI

#define DM9000_PWDOR_PDEDI   0x0004

Definition at line 504 of file dm9000_driver.h.

◆ DM9000_PWDOR_PDEDO

#define DM9000_PWDOR_PDEDO   0x0002

Definition at line 505 of file dm9000_driver.h.

◆ DM9000_RCR

#define DM9000_RCR   0x05

Definition at line 78 of file dm9000_driver.h.

◆ DM9000_RCR_ALL

#define DM9000_RCR_ALL   0x08

Definition at line 203 of file dm9000_driver.h.

◆ DM9000_RCR_DIS_CRC

#define DM9000_RCR_DIS_CRC   0x10

Definition at line 202 of file dm9000_driver.h.

◆ DM9000_RCR_DIS_LONG

#define DM9000_RCR_DIS_LONG   0x20

Definition at line 201 of file dm9000_driver.h.

◆ DM9000_RCR_PRMSC

#define DM9000_RCR_PRMSC   0x02

Definition at line 205 of file dm9000_driver.h.

◆ DM9000_RCR_RUNT

#define DM9000_RCR_RUNT   0x04

Definition at line 204 of file dm9000_driver.h.

◆ DM9000_RCR_RXEN

#define DM9000_RCR_RXEN   0x01

Definition at line 206 of file dm9000_driver.h.

◆ DM9000_RCR_WTDIS

#define DM9000_RCR_WTDIS   0x40

Definition at line 200 of file dm9000_driver.h.

◆ DM9000_RCSCSR

#define DM9000_RCSCSR   0x32

Definition at line 119 of file dm9000_driver.h.

◆ DM9000_RCSCSR_DCSE

#define DM9000_RCSCSR_DCSE   0x01

Definition at line 346 of file dm9000_driver.h.

◆ DM9000_RCSCSR_IPP

#define DM9000_RCSCSR_IPP   0x04

Definition at line 344 of file dm9000_driver.h.

◆ DM9000_RCSCSR_IPS

#define DM9000_RCSCSR_IPS   0x20

Definition at line 341 of file dm9000_driver.h.

◆ DM9000_RCSCSR_RCSEN

#define DM9000_RCSCSR_RCSEN   0x02

Definition at line 345 of file dm9000_driver.h.

◆ DM9000_RCSCSR_TCPP

#define DM9000_RCSCSR_TCPP   0x08

Definition at line 343 of file dm9000_driver.h.

◆ DM9000_RCSCSR_TCPS

#define DM9000_RCSCSR_TCPS   0x40

Definition at line 340 of file dm9000_driver.h.

◆ DM9000_RCSCSR_UDPP

#define DM9000_RCSCSR_UDPP   0x10

Definition at line 342 of file dm9000_driver.h.

◆ DM9000_RCSCSR_UDPS

#define DM9000_RCSCSR_UDPS   0x80

Definition at line 339 of file dm9000_driver.h.

◆ DM9000_ROCR

#define DM9000_ROCR   0x07

Definition at line 80 of file dm9000_driver.h.

◆ DM9000_ROCR_ROC

#define DM9000_ROCR_ROC   0x7F

Definition at line 220 of file dm9000_driver.h.

◆ DM9000_ROCR_RXFU

#define DM9000_ROCR_RXFU   0x80

Definition at line 219 of file dm9000_driver.h.

◆ DM9000_RSCCR

#define DM9000_RSCCR   0x51

Definition at line 125 of file dm9000_driver.h.

◆ DM9000_RSR

#define DM9000_RSR   0x06

Definition at line 79 of file dm9000_driver.h.

◆ DM9000_RSR_AE

#define DM9000_RSR_AE   0x04

Definition at line 214 of file dm9000_driver.h.

◆ DM9000_RSR_CE

#define DM9000_RSR_CE   0x02

Definition at line 215 of file dm9000_driver.h.

◆ DM9000_RSR_FOE

#define DM9000_RSR_FOE   0x01

Definition at line 216 of file dm9000_driver.h.

◆ DM9000_RSR_LCS

#define DM9000_RSR_LCS   0x20

Definition at line 211 of file dm9000_driver.h.

◆ DM9000_RSR_MF

#define DM9000_RSR_MF   0x40

Definition at line 210 of file dm9000_driver.h.

◆ DM9000_RSR_PLE

#define DM9000_RSR_PLE   0x08

Definition at line 213 of file dm9000_driver.h.

◆ DM9000_RSR_RF

#define DM9000_RSR_RF   0x80

Definition at line 209 of file dm9000_driver.h.

◆ DM9000_RSR_RWTO

#define DM9000_RSR_RWTO   0x10

Definition at line 212 of file dm9000_driver.h.

◆ DM9000_RWPAH

#define DM9000_RWPAH   0x25

Definition at line 108 of file dm9000_driver.h.

◆ DM9000_RWPAL

#define DM9000_RWPAL   0x24

Definition at line 107 of file dm9000_driver.h.

◆ DM9000_SCCR

#define DM9000_SCCR   0x50

Definition at line 124 of file dm9000_driver.h.

◆ DM9000_SCCR_DIS_CLK

#define DM9000_SCCR_DIS_CLK   0x01

Definition at line 375 of file dm9000_driver.h.

◆ DM9000_SCR

#define DM9000_SCR   0x14

Definition at line 152 of file dm9000_driver.h.

◆ DM9000_SCR_AUTONEG_LPBK

#define DM9000_SCR_AUTONEG_LPBK   0x0040

Definition at line 517 of file dm9000_driver.h.

◆ DM9000_SCR_FORCE_FEF

#define DM9000_SCR_FORCE_FEF   0x1000

Definition at line 512 of file dm9000_driver.h.

◆ DM9000_SCR_FORCE_TXSD

#define DM9000_SCR_FORCE_TXSD   0x2000

Definition at line 511 of file dm9000_driver.h.

◆ DM9000_SCR_MDIX_CNTL

#define DM9000_SCR_MDIX_CNTL   0x0080

Definition at line 516 of file dm9000_driver.h.

◆ DM9000_SCR_MDIX_DOWN

#define DM9000_SCR_MDIX_DOWN   0x0010

Definition at line 519 of file dm9000_driver.h.

◆ DM9000_SCR_MDIX_FIX

#define DM9000_SCR_MDIX_FIX   0x0020

Definition at line 518 of file dm9000_driver.h.

◆ DM9000_SCR_MONSEL0

#define DM9000_SCR_MONSEL0   0x0004

Definition at line 521 of file dm9000_driver.h.

◆ DM9000_SCR_MONSEL1

#define DM9000_SCR_MONSEL1   0x0008

Definition at line 520 of file dm9000_driver.h.

◆ DM9000_SCR_NWAY_PWR

#define DM9000_SCR_NWAY_PWR   0x0200

Definition at line 515 of file dm9000_driver.h.

◆ DM9000_SCR_PD_VALUE

#define DM9000_SCR_PD_VALUE   0x0001

Definition at line 522 of file dm9000_driver.h.

◆ DM9000_SCR_PREAMBLEX

#define DM9000_SCR_PREAMBLEX   0x0800

Definition at line 513 of file dm9000_driver.h.

◆ DM9000_SCR_TSTSE1

#define DM9000_SCR_TSTSE1   0x8000

Definition at line 509 of file dm9000_driver.h.

◆ DM9000_SCR_TSTSE2

#define DM9000_SCR_TSTSE2   0x4000

Definition at line 510 of file dm9000_driver.h.

◆ DM9000_SCR_TX10M_PWR

#define DM9000_SCR_TX10M_PWR   0x0400

Definition at line 514 of file dm9000_driver.h.

◆ DM9000_SMCR

#define DM9000_SMCR   0x2F

Definition at line 116 of file dm9000_driver.h.

◆ DM9000_SMCR_FB0

#define DM9000_SMCR_FB0   0x01

Definition at line 321 of file dm9000_driver.h.

◆ DM9000_SMCR_FB1

#define DM9000_SMCR_FB1   0x02

Definition at line 320 of file dm9000_driver.h.

◆ DM9000_SMCR_FLC

#define DM9000_SMCR_FLC   0x04

Definition at line 319 of file dm9000_driver.h.

◆ DM9000_SMCR_SM_EN

#define DM9000_SMCR_SM_EN   0x80

Definition at line 318 of file dm9000_driver.h.

◆ DM9000_TCR

#define DM9000_TCR   0x02

Definition at line 75 of file dm9000_driver.h.

◆ DM9000_TCR2

#define DM9000_TCR2   0x2D

Definition at line 114 of file dm9000_driver.h.

◆ DM9000_TCR2_DTU

#define DM9000_TCR2_DTU   0x20

Definition at line 296 of file dm9000_driver.h.

◆ DM9000_TCR2_IFGS

#define DM9000_TCR2_IFGS   0x0F

Definition at line 298 of file dm9000_driver.h.

◆ DM9000_TCR2_IFGS_104_BIT

#define DM9000_TCR2_IFGS_104_BIT   0x0D

Definition at line 304 of file dm9000_driver.h.

◆ DM9000_TCR2_IFGS_112_BIT

#define DM9000_TCR2_IFGS_112_BIT   0x0E

Definition at line 305 of file dm9000_driver.h.

◆ DM9000_TCR2_IFGS_120_BIT

#define DM9000_TCR2_IFGS_120_BIT   0x0F

Definition at line 306 of file dm9000_driver.h.

◆ DM9000_TCR2_IFGS_64_BIT

#define DM9000_TCR2_IFGS_64_BIT   0x08

Definition at line 299 of file dm9000_driver.h.

◆ DM9000_TCR2_IFGS_72_BIT

#define DM9000_TCR2_IFGS_72_BIT   0x09

Definition at line 300 of file dm9000_driver.h.

◆ DM9000_TCR2_IFGS_80_BIT

#define DM9000_TCR2_IFGS_80_BIT   0x0A

Definition at line 301 of file dm9000_driver.h.

◆ DM9000_TCR2_IFGS_88_BIT

#define DM9000_TCR2_IFGS_88_BIT   0x0B

Definition at line 302 of file dm9000_driver.h.

◆ DM9000_TCR2_IFGS_96_BIT

#define DM9000_TCR2_IFGS_96_BIT   0x0C

Definition at line 303 of file dm9000_driver.h.

◆ DM9000_TCR2_LED

#define DM9000_TCR2_LED   0x80

Definition at line 294 of file dm9000_driver.h.

◆ DM9000_TCR2_ONEPM

#define DM9000_TCR2_ONEPM   0x10

Definition at line 297 of file dm9000_driver.h.

◆ DM9000_TCR2_RLCP

#define DM9000_TCR2_RLCP   0x40

Definition at line 295 of file dm9000_driver.h.

◆ DM9000_TCR_CRC_DIS1

#define DM9000_TCR_CRC_DIS1   0x02

Definition at line 180 of file dm9000_driver.h.

◆ DM9000_TCR_CRC_DIS2

#define DM9000_TCR_CRC_DIS2   0x08

Definition at line 178 of file dm9000_driver.h.

◆ DM9000_TCR_EXCECM

#define DM9000_TCR_EXCECM   0x20

Definition at line 176 of file dm9000_driver.h.

◆ DM9000_TCR_PAD_DIS1

#define DM9000_TCR_PAD_DIS1   0x04

Definition at line 179 of file dm9000_driver.h.

◆ DM9000_TCR_PAD_DIS2

#define DM9000_TCR_PAD_DIS2   0x10

Definition at line 177 of file dm9000_driver.h.

◆ DM9000_TCR_TJDIS

#define DM9000_TCR_TJDIS   0x40

Definition at line 175 of file dm9000_driver.h.

◆ DM9000_TCR_TXREQ

#define DM9000_TCR_TXREQ   0x01

Definition at line 181 of file dm9000_driver.h.

◆ DM9000_TCSCR

#define DM9000_TCSCR   0x31

Definition at line 118 of file dm9000_driver.h.

◆ DM9000_TCSCR_IPCSE

#define DM9000_TCSCR_IPCSE   0x01

Definition at line 336 of file dm9000_driver.h.

◆ DM9000_TCSCR_TCPCSE

#define DM9000_TCSCR_TCPCSE   0x02

Definition at line 335 of file dm9000_driver.h.

◆ DM9000_TCSCR_UDPCSE

#define DM9000_TCSCR_UDPCSE   0x04

Definition at line 334 of file dm9000_driver.h.

◆ DM9000_TRPAH

#define DM9000_TRPAH   0x23

Definition at line 106 of file dm9000_driver.h.

◆ DM9000_TRPAL

#define DM9000_TRPAL   0x22

Definition at line 105 of file dm9000_driver.h.

◆ DM9000_TSR1

#define DM9000_TSR1   0x03

Definition at line 76 of file dm9000_driver.h.

◆ DM9000_TSR1_COL

#define DM9000_TSR1_COL   0x08

Definition at line 188 of file dm9000_driver.h.

◆ DM9000_TSR1_EC

#define DM9000_TSR1_EC   0x04

Definition at line 189 of file dm9000_driver.h.

◆ DM9000_TSR1_LC

#define DM9000_TSR1_LC   0x40

Definition at line 185 of file dm9000_driver.h.

◆ DM9000_TSR1_LCOL

#define DM9000_TSR1_LCOL   0x10

Definition at line 187 of file dm9000_driver.h.

◆ DM9000_TSR1_NC

#define DM9000_TSR1_NC   0x20

Definition at line 186 of file dm9000_driver.h.

◆ DM9000_TSR1_TJTO

#define DM9000_TSR1_TJTO   0x80

Definition at line 184 of file dm9000_driver.h.

◆ DM9000_TSR2

#define DM9000_TSR2   0x04

Definition at line 77 of file dm9000_driver.h.

◆ DM9000_TSR2_COL

#define DM9000_TSR2_COL   0x08

Definition at line 196 of file dm9000_driver.h.

◆ DM9000_TSR2_EC

#define DM9000_TSR2_EC   0x04

Definition at line 197 of file dm9000_driver.h.

◆ DM9000_TSR2_LC

#define DM9000_TSR2_LC   0x40

Definition at line 193 of file dm9000_driver.h.

◆ DM9000_TSR2_LCOL

#define DM9000_TSR2_LCOL   0x10

Definition at line 195 of file dm9000_driver.h.

◆ DM9000_TSR2_NC

#define DM9000_TSR2_NC   0x20

Definition at line 194 of file dm9000_driver.h.

◆ DM9000_TSR2_TJTO

#define DM9000_TSR2_TJTO   0x80

Definition at line 192 of file dm9000_driver.h.

◆ DM9000_TXPLH

#define DM9000_TXPLH   0xFD

Definition at line 136 of file dm9000_driver.h.

◆ DM9000_TXPLL

#define DM9000_TXPLL   0xFC

Definition at line 135 of file dm9000_driver.h.

◆ DM9000_VID

#define DM9000_VID   ((DM9000_VIDH_DEFAULT << 8) | DM9000_VIDL_DEFAULT)

Definition at line 69 of file dm9000_driver.h.

◆ DM9000_VIDH

#define DM9000_VIDH   0x29

Definition at line 110 of file dm9000_driver.h.

◆ DM9000_VIDH_DEFAULT

#define DM9000_VIDH_DEFAULT   0x0A

Definition at line 281 of file dm9000_driver.h.

◆ DM9000_VIDL

#define DM9000_VIDL   0x28

Definition at line 109 of file dm9000_driver.h.

◆ DM9000_VIDL_DEFAULT

#define DM9000_VIDL_DEFAULT   0x46

Definition at line 278 of file dm9000_driver.h.

◆ DM9000_WCR

#define DM9000_WCR   0x0F

Definition at line 88 of file dm9000_driver.h.

◆ DM9000_WCR_LINKEN

#define DM9000_WCR_LINKEN   0x20

Definition at line 253 of file dm9000_driver.h.

◆ DM9000_WCR_LINKST

#define DM9000_WCR_LINKST   0x04

Definition at line 256 of file dm9000_driver.h.

◆ DM9000_WCR_MAGICEN

#define DM9000_WCR_MAGICEN   0x08

Definition at line 255 of file dm9000_driver.h.

◆ DM9000_WCR_MAGICST

#define DM9000_WCR_MAGICST   0x01

Definition at line 258 of file dm9000_driver.h.

◆ DM9000_WCR_SAMPLEEN

#define DM9000_WCR_SAMPLEEN   0x10

Definition at line 254 of file dm9000_driver.h.

◆ DM9000_WCR_SAMPLEST

#define DM9000_WCR_SAMPLEST   0x02

Definition at line 257 of file dm9000_driver.h.

Function Documentation

◆ dm9000CalcCrc()

uint32_t dm9000CalcCrc ( const void *  data,
size_t  length 
)

CRC calculation.

Parameters
[in]dataPointer to the data over which to calculate the CRC
[in]lengthNumber of bytes to process
Returns
Resulting CRC value

Definition at line 734 of file dm9000_driver.c.

◆ dm9000DisableIrq()

void dm9000DisableIrq ( NetInterface interface)

Disable interrupts.

Parameters
[in]interfaceUnderlying network interface

Definition at line 238 of file dm9000_driver.c.

◆ dm9000EnableIrq()

void dm9000EnableIrq ( NetInterface interface)

Enable interrupts.

Parameters
[in]interfaceUnderlying network interface

Definition at line 223 of file dm9000_driver.c.

◆ dm9000EventHandler()

void dm9000EventHandler ( NetInterface interface)

DM9000 event handler.

Parameters
[in]interfaceUnderlying network interface

Definition at line 328 of file dm9000_driver.c.

◆ dm9000Init()

error_t dm9000Init ( NetInterface interface)

DM9000 controller initialization.

Parameters
[in]interfaceUnderlying network interface
Returns
Error code

Definition at line 72 of file dm9000_driver.c.

◆ dm9000InitHook()

void dm9000InitHook ( NetInterface interface)

DM9000 custom configuration.

Parameters
[in]interfaceUnderlying network interface

Definition at line 203 of file dm9000_driver.c.

◆ dm9000IrqHandler()

bool_t dm9000IrqHandler ( NetInterface interface)

DM9000 interrupt service routine.

Parameters
[in]interfaceUnderlying network interface
Returns
TRUE if a higher priority task must be woken. Else FALSE is returned

Definition at line 254 of file dm9000_driver.c.

◆ dm9000ReadPhyReg()

uint16_t dm9000ReadPhyReg ( uint8_t  address)

Read DM9000 PHY register.

Parameters
[in]addressPHY register address
Returns
Register value

Definition at line 704 of file dm9000_driver.c.

◆ dm9000ReadReg()

uint8_t dm9000ReadReg ( uint8_t  address)

Read DM9000 register.

Parameters
[in]addressRegister address
Returns
Register value

Definition at line 659 of file dm9000_driver.c.

◆ dm9000ReceivePacket()

error_t dm9000ReceivePacket ( NetInterface interface)

Receive a packet.

Parameters
[in]interfaceUnderlying network interface
Returns
Error code

Definition at line 485 of file dm9000_driver.c.

◆ dm9000SendPacket()

error_t dm9000SendPacket ( NetInterface interface,
const NetBuffer buffer,
size_t  offset,
NetTxAncillary ancillary 
)

Send a packet.

Parameters
[in]interfaceUnderlying network interface
[in]bufferMulti-part buffer containing the data to send
[in]offsetOffset to the first data byte
[in]ancillaryAdditional options passed to the stack along with the packet
Returns
Error code

Definition at line 415 of file dm9000_driver.c.

◆ dm9000Tick()

void dm9000Tick ( NetInterface interface)

DM9000 timer handler.

Parameters
[in]interfaceUnderlying network interface

Definition at line 213 of file dm9000_driver.c.

◆ dm9000UpdateMacAddrFilter()

error_t dm9000UpdateMacAddrFilter ( NetInterface interface)

Configure MAC address filtering.

Parameters
[in]interfaceUnderlying network interface
Returns
Error code

Definition at line 584 of file dm9000_driver.c.

◆ dm9000WritePhyReg()

void dm9000WritePhyReg ( uint8_t  address,
uint16_t  data 
)

Write DM9000 PHY register.

Parameters
[in]addressPHY register address
[in]dataRegister value

Definition at line 674 of file dm9000_driver.c.

◆ dm9000WriteReg()

void dm9000WriteReg ( uint8_t  address,
uint8_t  data 
)

Write DM9000 register.

Parameters
[in]addressRegister address
[in]dataRegister value

Definition at line 644 of file dm9000_driver.c.

Variable Documentation

◆ dm9000Driver

const NicDriver dm9000Driver
extern

DM9000 driver.

Definition at line 45 of file dm9000_driver.c.