dm9000_driver.h File Reference

DM9000A/B Ethernet controller. More...

#include "core/ethernet.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_INDEX_REG   *((volatile uint16_t *) 0x30000000)
 
#define DM9000_DATA_REG   *((volatile uint16_t *) 0x30001000)
 
#define AT91C_SMC2_NWS_2   (2 << 0)
 
#define AT91C_SMC2_TDF_2   (2 << 8)
 
#define AT91C_SMC2_BAT_16   (1 << 12)
 
#define AT91C_SMC2_DRP_STANDARD   (0 << 15)
 
#define AT91C_SMC2_RWSETUP_1   (1 << 24)
 
#define AT91C_SMC2_RWHOLD_1   (1 << 28)
 
#define DM9000_VID   0x0A46
 
#define DM9000_PID   0x9000
 
#define DM9000A_CHIP_REV   0x19
 
#define DM9000B_CHIP_REV   0x1A
 
#define DM9000_REG_NCR   0x00
 
#define DM9000_REG_NSR   0x01
 
#define DM9000_REG_TCR   0x02
 
#define DM9000_REG_TSR1   0x03
 
#define DM9000_REG_TSR2   0x04
 
#define DM9000_REG_RCR   0x05
 
#define DM9000_REG_RSR   0x06
 
#define DM9000_REG_ROCR   0x07
 
#define DM9000_REG_BPTR   0x08
 
#define DM9000_REG_FCTR   0x09
 
#define DM9000_REG_FCR   0x0A
 
#define DM9000_REG_EPCR   0x0B
 
#define DM9000_REG_EPAR   0x0C
 
#define DM9000_REG_EPDRL   0x0D
 
#define DM9000_REG_EPDRH   0x0E
 
#define DM9000_REG_WCR   0x0F
 
#define DM9000_REG_PAR0   0x10
 
#define DM9000_REG_PAR1   0x11
 
#define DM9000_REG_PAR2   0x12
 
#define DM9000_REG_PAR3   0x13
 
#define DM9000_REG_PAR4   0x14
 
#define DM9000_REG_PAR5   0x15
 
#define DM9000_REG_MAR0   0x16
 
#define DM9000_REG_MAR1   0x17
 
#define DM9000_REG_MAR2   0x18
 
#define DM9000_REG_MAR3   0x19
 
#define DM9000_REG_MAR4   0x1A
 
#define DM9000_REG_MAR5   0x1B
 
#define DM9000_REG_MAR6   0x1C
 
#define DM9000_REG_MAR7   0x1D
 
#define DM9000_REG_GPCR   0x1E
 
#define DM9000_REG_GPR   0x1F
 
#define DM9000_REG_TRPAL   0x22
 
#define DM9000_REG_TRPAH   0x23
 
#define DM9000_REG_RWPAL   0x24
 
#define DM9000_REG_RWPAH   0x25
 
#define DM9000_REG_VIDL   0x28
 
#define DM9000_REG_VIDH   0x29
 
#define DM9000_REG_PIDL   0x2A
 
#define DM9000_REG_PIDH   0x2B
 
#define DM9000_REG_CHIPR   0x2C
 
#define DM9000_REG_TCR2   0x2D
 
#define DM9000_REG_OCR   0x2E
 
#define DM9000_REG_SMCR   0x2F
 
#define DM9000_REG_ETXCSR   0x30
 
#define DM9000_REG_TCSCR   0x31
 
#define DM9000_REG_RCSCSR   0x32
 
#define DM9000_REG_MPAR   0x33
 
#define DM9000_REG_LEDCR   0x34
 
#define DM9000_REG_BUSCR   0x38
 
#define DM9000_REG_INTCR   0x39
 
#define DM9000_REG_SCCR   0x50
 
#define DM9000_REG_RSCCR   0x51
 
#define DM9000_REG_MRCMDX   0xF0
 
#define DM9000_REG_MRCMDX1   0xF1
 
#define DM9000_REG_MRCMD   0xF2
 
#define DM9000_REG_MRRL   0xF4
 
#define DM9000_REG_MRRH   0xF5
 
#define DM9000_REG_MWCMDX   0xF6
 
#define DM9000_REG_MWCMD   0xF8
 
#define DM9000_REG_MWRL   0xFA
 
#define DM9000_REG_MWRH   0xFB
 
#define DM9000_REG_TXPLL   0xFC
 
#define DM9000_REG_TXPLH   0xFD
 
#define DM9000_REG_ISR   0xFE
 
#define DM9000_REG_IMR   0xFF
 
#define DM9000_PHY_REG_BMCR   0x00
 
#define DM9000_PHY_REG_BMSR   0x01
 
#define DM9000_PHY_REG_PHYIDR1   0x02
 
#define DM9000_PHY_REG_PHYIDR2   0x03
 
#define DM9000_PHY_REG_ANAR   0x04
 
#define DM9000_PHY_REG_ANLPAR   0x05
 
#define DM9000_PHY_REG_ANER   0x06
 
#define DM9000_PHY_REG_DSCR   0x10
 
#define DM9000_PHY_REG_DSCSR   0x11
 
#define DM9000_PHY_REG_10BTCSR   0x12
 
#define DM9000_PHY_REG_PWDOR   0x13
 
#define DM9000_PHY_REG_SCR   0x14
 
#define DM9000_PHY_REG_DSP   0x1B
 
#define DM9000_PHY_REG_PSCR   0x1D
 
#define NCR_WAKEEN   (1 << 6)
 
#define NCR_FCOL   (1 << 4)
 
#define NCR_FDX   (1 << 3)
 
#define NCR_LBK   (3 << 1)
 
#define NCR_RST   (1 << 0)
 
#define NSR_SPEED   (1 << 7)
 
#define NSR_LINKST   (1 << 6)
 
#define NSR_WAKEST   (1 << 5)
 
#define NSR_TX2END   (1 << 3)
 
#define NSR_TX1END   (1 << 2)
 
#define NSR_RXOV   (1 << 1)
 
#define TCR_TJDIS   (1 << 6)
 
#define TCR_EXCECM   (1 << 5)
 
#define TCR_PAD_DIS2   (1 << 4)
 
#define TCR_CRC_DIS2   (1 << 3)
 
#define TCR_PAD_DIS1   (1 << 2)
 
#define TCR_CRC_DIS1   (1 << 1)
 
#define TCR_TXREQ   (1 << 0)
 
#define TSR_TJTO   (1 << 7)
 
#define TSR_LC   (1 << 6)
 
#define TSR_NC   (1 << 5)
 
#define TSR_LCOL   (1 << 4)
 
#define TSR_COL   (1 << 3)
 
#define TSR_EC   (1 << 2)
 
#define RCR_WTDIS   (1 << 6)
 
#define RCR_DIS_LONG   (1 << 5)
 
#define RCR_DIS_CRC   (1 << 4)
 
#define RCR_ALL   (1 << 3)
 
#define RCR_RUNT   (1 << 2)
 
#define RCR_PRMSC   (1 << 1)
 
#define RCR_RXEN   (1 << 0)
 
#define RSR_RF   (1 << 7)
 
#define RSR_MF   (1 << 6)
 
#define RSR_LCS   (1 << 5)
 
#define RSR_RWTO   (1 << 4)
 
#define RSR_PLE   (1 << 3)
 
#define RSR_AE   (1 << 2)
 
#define RSR_CE   (1 << 1)
 
#define RSR_FOE   (1 << 0)
 
#define ROCR_ROC   (127 << 0)
 
#define ROCR_RXFU   (1 << 7)
 
#define BPTR_BPHW   (15 << 4)
 
#define BPTR_JPT   (15 << 0)
 
#define FCTR_HWOT   (15 << 4)
 
#define FCTR_LWOT   (15 << 0)
 
#define FCR_TXP0   (1 << 7)
 
#define FCR_TXPF   (1 << 6)
 
#define FCR_TXPEN   (1 << 5)
 
#define FCR_BKPA   (1 << 4)
 
#define FCR_BKPM   (1 << 3)
 
#define FCR_RXPS   (1 << 2)
 
#define FCR_RXPCS   (1 << 1)
 
#define FCR_FLCE   (1 << 0)
 
#define EPCR_REEP   (1 << 5)
 
#define EPCR_WEP   (1 << 4)
 
#define EPCR_EPOS   (1 << 3)
 
#define EPCR_ERPRR   (1 << 2)
 
#define EPCR_ERPRW   (1 << 1)
 
#define EPCR_ERRE   (1 << 0)
 
#define EPAR_PHY_ADR   (3 << 6)
 
#define EPAR_EROA   (31 << 0)
 
#define WCR_LINKEN   (1 << 5)
 
#define WCR_SAMPLEEN   (1 << 4)
 
#define WCR_MAGICEN   (1 << 3)
 
#define WCR_LINKST   (1 << 2)
 
#define WCR_SAMPLEST   (1 << 1)
 
#define WCR_MAGICST   (1 << 0)
 
#define GPCR_GPC6   (1 << 6)
 
#define GPCR_GPC5   (1 << 5)
 
#define GPCR_GPC4   (1 << 4)
 
#define GPCR_GPC3   (1 << 3)
 
#define GPCR_GPC2   (1 << 2)
 
#define GPCR_GPC1   (1 << 1)
 
#define GPR_GPO6   (1 << 6)
 
#define GPR_GPO5   (1 << 5)
 
#define GPR_GPO4   (1 << 4)
 
#define GPR_GPIO3   (1 << 3)
 
#define GPR_GPIO2   (1 << 2)
 
#define GPR_GPIO1   (1 << 1)
 
#define GPR_PHYPD   (1 << 0)
 
#define TCR2_LED   (1 << 7)
 
#define TCR2_RLCP   (1 << 6)
 
#define TCR2_DTU   (1 << 5)
 
#define TCR2_ONEPM   (1 << 4)
 
#define TCR2_IFGS   (15 << 0)
 
#define OCR_SCC   (3 << 6)
 
#define OCR_SOE   (1 << 4)
 
#define OCR_SCS   (1 << 3)
 
#define OCR_PHYOP   (7 << 0)
 
#define SMCR_SM_EN   (1 << 7)
 
#define SMCR_FLC   (1 << 2)
 
#define SMCR_FB1   (1 << 1)
 
#define SMCR_FB0   (1 << 0)
 
#define ETXCSR_ETE   (1 << 7)
 
#define ETXCSR_ETS2   (1 << 6)
 
#define ETXCSR_ETS1   (1 << 5)
 
#define ETXCSR_ETT   (3 << 0)
 
#define TCSCR_UDPCSE   (1 << 2)
 
#define TCSCR_TCPCSE   (1 << 1)
 
#define TCSCR_IPCSE   (1 << 0)
 
#define RCSCSR_UDPS   (1 << 7)
 
#define RCSCSR_TCPS   (1 << 6)
 
#define RCSCSR_IPS   (1 << 5)
 
#define RCSCSR_UDPP   (1 << 4)
 
#define RCSCSR_TCPP   (1 << 3)
 
#define RCSCSR_IPP   (1 << 2)
 
#define RCSCSR_RCSEN   (1 << 1)
 
#define RCSCSR_DCSE   (1 << 0)
 
#define MPAR_ADR_EN   (1 << 7)
 
#define MPAR_EPHYADR   (31 << 0)
 
#define LEDCR_GPIO   (1 << 1)
 
#define LEDCR_MII   (1 << 0)
 
#define BUSCR_CURR   (3 << 5)
 
#define BUSCR_EST   (1 << 3)
 
#define BUSCR_IOW_SPIKE   (1 << 1)
 
#define BUSCR_IOR_SPIKE   (1 << 0)
 
#define INTCR_INT_TYPE   (1 << 1)
 
#define INTCR_INT_POL   (1 << 0)
 
#define SCCR_DIS_CLK   (1 << 0)
 
#define ISR_IOMODE   (1 << 7)
 
#define ISR_LNKCHG   (1 << 5)
 
#define ISR_UDRUN   (1 << 4)
 
#define ISR_ROO   (1 << 3)
 
#define ISR_ROS   (1 << 2)
 
#define ISR_PT   (1 << 1)
 
#define ISR_PR   (1 << 0)
 
#define IMR_PAR   (1 << 7)
 
#define IMR_LNKCHGI   (1 << 5)
 
#define IMR_UDRUNI   (1 << 4)
 
#define IMR_ROOI   (1 << 3)
 
#define IMR_ROI   (1 << 2)
 
#define IMR_PTI   (1 << 1)
 
#define IMR_PRI   (1 << 0)
 
#define BMCR_RST   (1 << 15)
 
#define BMCR_LOOPBACK   (1 << 14)
 
#define BMCR_SPEED_SEL   (1 << 13)
 
#define BMCR_AN_EN   (1 << 12)
 
#define BMCR_PD   (1 << 11)
 
#define BMCR_ISOLATE   (1 << 10)
 
#define BMCR_RESTART_AN   (1 << 9)
 
#define BMCR_DUPLEX_MODE   (1 << 8)
 
#define BMCR_COL_TEST   (1 << 7)
 
#define DM9000_LBK_NORMAL   (0 << 1)
 
#define DM9000_LBK_MAC   (1 << 1)
 
#define DM9000_LBK_PHY   (2 << 1)
 

Functions

error_t dm9000Init (NetInterface *interface)
 DM9000 controller initialization. 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)
 Send a packet to DM9000. 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

Copyright (C) 2010-2018 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
1.9.0

Definition in file dm9000_driver.h.

Macro Definition Documentation

◆ AT91C_SMC2_BAT_16

#define AT91C_SMC2_BAT_16   (1 << 12)

Definition at line 55 of file dm9000_driver.h.

◆ AT91C_SMC2_DRP_STANDARD

#define AT91C_SMC2_DRP_STANDARD   (0 << 15)

Definition at line 56 of file dm9000_driver.h.

◆ AT91C_SMC2_NWS_2

#define AT91C_SMC2_NWS_2   (2 << 0)

Definition at line 53 of file dm9000_driver.h.

◆ AT91C_SMC2_RWHOLD_1

#define AT91C_SMC2_RWHOLD_1   (1 << 28)

Definition at line 58 of file dm9000_driver.h.

◆ AT91C_SMC2_RWSETUP_1

#define AT91C_SMC2_RWSETUP_1   (1 << 24)

Definition at line 57 of file dm9000_driver.h.

◆ AT91C_SMC2_TDF_2

#define AT91C_SMC2_TDF_2   (2 << 8)

Definition at line 54 of file dm9000_driver.h.

◆ BMCR_AN_EN

#define BMCR_AN_EN   (1 << 12)

Definition at line 343 of file dm9000_driver.h.

◆ BMCR_COL_TEST

#define BMCR_COL_TEST   (1 << 7)

Definition at line 348 of file dm9000_driver.h.

◆ BMCR_DUPLEX_MODE

#define BMCR_DUPLEX_MODE   (1 << 8)

Definition at line 347 of file dm9000_driver.h.

◆ BMCR_ISOLATE

#define BMCR_ISOLATE   (1 << 10)

Definition at line 345 of file dm9000_driver.h.

◆ BMCR_LOOPBACK

#define BMCR_LOOPBACK   (1 << 14)

Definition at line 341 of file dm9000_driver.h.

◆ BMCR_PD

#define BMCR_PD   (1 << 11)

Definition at line 344 of file dm9000_driver.h.

◆ BMCR_RESTART_AN

#define BMCR_RESTART_AN   (1 << 9)

Definition at line 346 of file dm9000_driver.h.

◆ BMCR_RST

#define BMCR_RST   (1 << 15)

Definition at line 340 of file dm9000_driver.h.

◆ BMCR_SPEED_SEL

#define BMCR_SPEED_SEL   (1 << 13)

Definition at line 342 of file dm9000_driver.h.

◆ BPTR_BPHW

#define BPTR_BPHW   (15 << 4)

Definition at line 206 of file dm9000_driver.h.

◆ BPTR_JPT

#define BPTR_JPT   (15 << 0)

Definition at line 207 of file dm9000_driver.h.

◆ BUSCR_CURR

#define BUSCR_CURR   (3 << 5)

Definition at line 309 of file dm9000_driver.h.

◆ BUSCR_EST

#define BUSCR_EST   (1 << 3)

Definition at line 310 of file dm9000_driver.h.

◆ BUSCR_IOR_SPIKE

#define BUSCR_IOR_SPIKE   (1 << 0)

Definition at line 312 of file dm9000_driver.h.

◆ BUSCR_IOW_SPIKE

#define BUSCR_IOW_SPIKE   (1 << 1)

Definition at line 311 of file dm9000_driver.h.

◆ DM9000_DATA_REG

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

Definition at line 49 of file dm9000_driver.h.

◆ DM9000_INDEX_REG

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

Definition at line 44 of file dm9000_driver.h.

◆ DM9000_LBK_MAC

#define DM9000_LBK_MAC   (1 << 1)

Definition at line 352 of file dm9000_driver.h.

◆ DM9000_LBK_NORMAL

#define DM9000_LBK_NORMAL   (0 << 1)

Definition at line 351 of file dm9000_driver.h.

◆ DM9000_LBK_PHY

#define DM9000_LBK_PHY   (2 << 1)

Definition at line 353 of file dm9000_driver.h.

◆ DM9000_LOOPBACK_MODE

#define DM9000_LOOPBACK_MODE   DISABLED

Definition at line 37 of file dm9000_driver.h.

◆ DM9000_PHY_REG_10BTCSR

#define DM9000_PHY_REG_10BTCSR   0x12

Definition at line 144 of file dm9000_driver.h.

◆ DM9000_PHY_REG_ANAR

#define DM9000_PHY_REG_ANAR   0x04

Definition at line 139 of file dm9000_driver.h.

◆ DM9000_PHY_REG_ANER

#define DM9000_PHY_REG_ANER   0x06

Definition at line 141 of file dm9000_driver.h.

◆ DM9000_PHY_REG_ANLPAR

#define DM9000_PHY_REG_ANLPAR   0x05

Definition at line 140 of file dm9000_driver.h.

◆ DM9000_PHY_REG_BMCR

#define DM9000_PHY_REG_BMCR   0x00

Definition at line 135 of file dm9000_driver.h.

◆ DM9000_PHY_REG_BMSR

#define DM9000_PHY_REG_BMSR   0x01

Definition at line 136 of file dm9000_driver.h.

◆ DM9000_PHY_REG_DSCR

#define DM9000_PHY_REG_DSCR   0x10

Definition at line 142 of file dm9000_driver.h.

◆ DM9000_PHY_REG_DSCSR

#define DM9000_PHY_REG_DSCSR   0x11

Definition at line 143 of file dm9000_driver.h.

◆ DM9000_PHY_REG_DSP

#define DM9000_PHY_REG_DSP   0x1B

Definition at line 147 of file dm9000_driver.h.

◆ DM9000_PHY_REG_PHYIDR1

#define DM9000_PHY_REG_PHYIDR1   0x02

Definition at line 137 of file dm9000_driver.h.

◆ DM9000_PHY_REG_PHYIDR2

#define DM9000_PHY_REG_PHYIDR2   0x03

Definition at line 138 of file dm9000_driver.h.

◆ DM9000_PHY_REG_PSCR

#define DM9000_PHY_REG_PSCR   0x1D

Definition at line 148 of file dm9000_driver.h.

◆ DM9000_PHY_REG_PWDOR

#define DM9000_PHY_REG_PWDOR   0x13

Definition at line 145 of file dm9000_driver.h.

◆ DM9000_PHY_REG_SCR

#define DM9000_PHY_REG_SCR   0x14

Definition at line 146 of file dm9000_driver.h.

◆ DM9000_PID

#define DM9000_PID   0x9000

Definition at line 62 of file dm9000_driver.h.

◆ DM9000_REG_BPTR

#define DM9000_REG_BPTR   0x08

Definition at line 75 of file dm9000_driver.h.

◆ DM9000_REG_BUSCR

#define DM9000_REG_BUSCR   0x38

Definition at line 116 of file dm9000_driver.h.

◆ DM9000_REG_CHIPR

#define DM9000_REG_CHIPR   0x2C

Definition at line 107 of file dm9000_driver.h.

◆ DM9000_REG_EPAR

#define DM9000_REG_EPAR   0x0C

Definition at line 79 of file dm9000_driver.h.

◆ DM9000_REG_EPCR

#define DM9000_REG_EPCR   0x0B

Definition at line 78 of file dm9000_driver.h.

◆ DM9000_REG_EPDRH

#define DM9000_REG_EPDRH   0x0E

Definition at line 81 of file dm9000_driver.h.

◆ DM9000_REG_EPDRL

#define DM9000_REG_EPDRL   0x0D

Definition at line 80 of file dm9000_driver.h.

◆ DM9000_REG_ETXCSR

#define DM9000_REG_ETXCSR   0x30

Definition at line 111 of file dm9000_driver.h.

◆ DM9000_REG_FCR

#define DM9000_REG_FCR   0x0A

Definition at line 77 of file dm9000_driver.h.

◆ DM9000_REG_FCTR

#define DM9000_REG_FCTR   0x09

Definition at line 76 of file dm9000_driver.h.

◆ DM9000_REG_GPCR

#define DM9000_REG_GPCR   0x1E

Definition at line 97 of file dm9000_driver.h.

◆ DM9000_REG_GPR

#define DM9000_REG_GPR   0x1F

Definition at line 98 of file dm9000_driver.h.

◆ DM9000_REG_IMR

#define DM9000_REG_IMR   0xFF

Definition at line 132 of file dm9000_driver.h.

◆ DM9000_REG_INTCR

#define DM9000_REG_INTCR   0x39

Definition at line 117 of file dm9000_driver.h.

◆ DM9000_REG_ISR

#define DM9000_REG_ISR   0xFE

Definition at line 131 of file dm9000_driver.h.

◆ DM9000_REG_LEDCR

#define DM9000_REG_LEDCR   0x34

Definition at line 115 of file dm9000_driver.h.

◆ DM9000_REG_MAR0

#define DM9000_REG_MAR0   0x16

Definition at line 89 of file dm9000_driver.h.

◆ DM9000_REG_MAR1

#define DM9000_REG_MAR1   0x17

Definition at line 90 of file dm9000_driver.h.

◆ DM9000_REG_MAR2

#define DM9000_REG_MAR2   0x18

Definition at line 91 of file dm9000_driver.h.

◆ DM9000_REG_MAR3

#define DM9000_REG_MAR3   0x19

Definition at line 92 of file dm9000_driver.h.

◆ DM9000_REG_MAR4

#define DM9000_REG_MAR4   0x1A

Definition at line 93 of file dm9000_driver.h.

◆ DM9000_REG_MAR5

#define DM9000_REG_MAR5   0x1B

Definition at line 94 of file dm9000_driver.h.

◆ DM9000_REG_MAR6

#define DM9000_REG_MAR6   0x1C

Definition at line 95 of file dm9000_driver.h.

◆ DM9000_REG_MAR7

#define DM9000_REG_MAR7   0x1D

Definition at line 96 of file dm9000_driver.h.

◆ DM9000_REG_MPAR

#define DM9000_REG_MPAR   0x33

Definition at line 114 of file dm9000_driver.h.

◆ DM9000_REG_MRCMD

#define DM9000_REG_MRCMD   0xF2

Definition at line 122 of file dm9000_driver.h.

◆ DM9000_REG_MRCMDX

#define DM9000_REG_MRCMDX   0xF0

Definition at line 120 of file dm9000_driver.h.

◆ DM9000_REG_MRCMDX1

#define DM9000_REG_MRCMDX1   0xF1

Definition at line 121 of file dm9000_driver.h.

◆ DM9000_REG_MRRH

#define DM9000_REG_MRRH   0xF5

Definition at line 124 of file dm9000_driver.h.

◆ DM9000_REG_MRRL

#define DM9000_REG_MRRL   0xF4

Definition at line 123 of file dm9000_driver.h.

◆ DM9000_REG_MWCMD

#define DM9000_REG_MWCMD   0xF8

Definition at line 126 of file dm9000_driver.h.

◆ DM9000_REG_MWCMDX

#define DM9000_REG_MWCMDX   0xF6

Definition at line 125 of file dm9000_driver.h.

◆ DM9000_REG_MWRH

#define DM9000_REG_MWRH   0xFB

Definition at line 128 of file dm9000_driver.h.

◆ DM9000_REG_MWRL

#define DM9000_REG_MWRL   0xFA

Definition at line 127 of file dm9000_driver.h.

◆ DM9000_REG_NCR

#define DM9000_REG_NCR   0x00

Definition at line 67 of file dm9000_driver.h.

◆ DM9000_REG_NSR

#define DM9000_REG_NSR   0x01

Definition at line 68 of file dm9000_driver.h.

◆ DM9000_REG_OCR

#define DM9000_REG_OCR   0x2E

Definition at line 109 of file dm9000_driver.h.

◆ DM9000_REG_PAR0

#define DM9000_REG_PAR0   0x10

Definition at line 83 of file dm9000_driver.h.

◆ DM9000_REG_PAR1

#define DM9000_REG_PAR1   0x11

Definition at line 84 of file dm9000_driver.h.

◆ DM9000_REG_PAR2

#define DM9000_REG_PAR2   0x12

Definition at line 85 of file dm9000_driver.h.

◆ DM9000_REG_PAR3

#define DM9000_REG_PAR3   0x13

Definition at line 86 of file dm9000_driver.h.

◆ DM9000_REG_PAR4

#define DM9000_REG_PAR4   0x14

Definition at line 87 of file dm9000_driver.h.

◆ DM9000_REG_PAR5

#define DM9000_REG_PAR5   0x15

Definition at line 88 of file dm9000_driver.h.

◆ DM9000_REG_PIDH

#define DM9000_REG_PIDH   0x2B

Definition at line 106 of file dm9000_driver.h.

◆ DM9000_REG_PIDL

#define DM9000_REG_PIDL   0x2A

Definition at line 105 of file dm9000_driver.h.

◆ DM9000_REG_RCR

#define DM9000_REG_RCR   0x05

Definition at line 72 of file dm9000_driver.h.

◆ DM9000_REG_RCSCSR

#define DM9000_REG_RCSCSR   0x32

Definition at line 113 of file dm9000_driver.h.

◆ DM9000_REG_ROCR

#define DM9000_REG_ROCR   0x07

Definition at line 74 of file dm9000_driver.h.

◆ DM9000_REG_RSCCR

#define DM9000_REG_RSCCR   0x51

Definition at line 119 of file dm9000_driver.h.

◆ DM9000_REG_RSR

#define DM9000_REG_RSR   0x06

Definition at line 73 of file dm9000_driver.h.

◆ DM9000_REG_RWPAH

#define DM9000_REG_RWPAH   0x25

Definition at line 102 of file dm9000_driver.h.

◆ DM9000_REG_RWPAL

#define DM9000_REG_RWPAL   0x24

Definition at line 101 of file dm9000_driver.h.

◆ DM9000_REG_SCCR

#define DM9000_REG_SCCR   0x50

Definition at line 118 of file dm9000_driver.h.

◆ DM9000_REG_SMCR

#define DM9000_REG_SMCR   0x2F

Definition at line 110 of file dm9000_driver.h.

◆ DM9000_REG_TCR

#define DM9000_REG_TCR   0x02

Definition at line 69 of file dm9000_driver.h.

◆ DM9000_REG_TCR2

#define DM9000_REG_TCR2   0x2D

Definition at line 108 of file dm9000_driver.h.

◆ DM9000_REG_TCSCR

#define DM9000_REG_TCSCR   0x31

Definition at line 112 of file dm9000_driver.h.

◆ DM9000_REG_TRPAH

#define DM9000_REG_TRPAH   0x23

Definition at line 100 of file dm9000_driver.h.

◆ DM9000_REG_TRPAL

#define DM9000_REG_TRPAL   0x22

Definition at line 99 of file dm9000_driver.h.

◆ DM9000_REG_TSR1

#define DM9000_REG_TSR1   0x03

Definition at line 70 of file dm9000_driver.h.

◆ DM9000_REG_TSR2

#define DM9000_REG_TSR2   0x04

Definition at line 71 of file dm9000_driver.h.

◆ DM9000_REG_TXPLH

#define DM9000_REG_TXPLH   0xFD

Definition at line 130 of file dm9000_driver.h.

◆ DM9000_REG_TXPLL

#define DM9000_REG_TXPLL   0xFC

Definition at line 129 of file dm9000_driver.h.

◆ DM9000_REG_VIDH

#define DM9000_REG_VIDH   0x29

Definition at line 104 of file dm9000_driver.h.

◆ DM9000_REG_VIDL

#define DM9000_REG_VIDL   0x28

Definition at line 103 of file dm9000_driver.h.

◆ DM9000_REG_WCR

#define DM9000_REG_WCR   0x0F

Definition at line 82 of file dm9000_driver.h.

◆ DM9000_VID

#define DM9000_VID   0x0A46

Definition at line 61 of file dm9000_driver.h.

◆ DM9000A_CHIP_REV

#define DM9000A_CHIP_REV   0x19

Definition at line 63 of file dm9000_driver.h.

◆ DM9000B_CHIP_REV

#define DM9000B_CHIP_REV   0x1A

Definition at line 64 of file dm9000_driver.h.

◆ EPAR_EROA

#define EPAR_EROA   (31 << 0)

Definition at line 233 of file dm9000_driver.h.

◆ EPAR_PHY_ADR

#define EPAR_PHY_ADR   (3 << 6)

Definition at line 232 of file dm9000_driver.h.

◆ EPCR_EPOS

#define EPCR_EPOS   (1 << 3)

Definition at line 226 of file dm9000_driver.h.

◆ EPCR_ERPRR

#define EPCR_ERPRR   (1 << 2)

Definition at line 227 of file dm9000_driver.h.

◆ EPCR_ERPRW

#define EPCR_ERPRW   (1 << 1)

Definition at line 228 of file dm9000_driver.h.

◆ EPCR_ERRE

#define EPCR_ERRE   (1 << 0)

Definition at line 229 of file dm9000_driver.h.

◆ EPCR_REEP

#define EPCR_REEP   (1 << 5)

Definition at line 224 of file dm9000_driver.h.

◆ EPCR_WEP

#define EPCR_WEP   (1 << 4)

Definition at line 225 of file dm9000_driver.h.

◆ ETXCSR_ETE

#define ETXCSR_ETE   (1 << 7)

Definition at line 280 of file dm9000_driver.h.

◆ ETXCSR_ETS1

#define ETXCSR_ETS1   (1 << 5)

Definition at line 282 of file dm9000_driver.h.

◆ ETXCSR_ETS2

#define ETXCSR_ETS2   (1 << 6)

Definition at line 281 of file dm9000_driver.h.

◆ ETXCSR_ETT

#define ETXCSR_ETT   (3 << 0)

Definition at line 283 of file dm9000_driver.h.

◆ FCR_BKPA

#define FCR_BKPA   (1 << 4)

Definition at line 217 of file dm9000_driver.h.

◆ FCR_BKPM

#define FCR_BKPM   (1 << 3)

Definition at line 218 of file dm9000_driver.h.

◆ FCR_FLCE

#define FCR_FLCE   (1 << 0)

Definition at line 221 of file dm9000_driver.h.

◆ FCR_RXPCS

#define FCR_RXPCS   (1 << 1)

Definition at line 220 of file dm9000_driver.h.

◆ FCR_RXPS

#define FCR_RXPS   (1 << 2)

Definition at line 219 of file dm9000_driver.h.

◆ FCR_TXP0

#define FCR_TXP0   (1 << 7)

Definition at line 214 of file dm9000_driver.h.

◆ FCR_TXPEN

#define FCR_TXPEN   (1 << 5)

Definition at line 216 of file dm9000_driver.h.

◆ FCR_TXPF

#define FCR_TXPF   (1 << 6)

Definition at line 215 of file dm9000_driver.h.

◆ FCTR_HWOT

#define FCTR_HWOT   (15 << 4)

Definition at line 210 of file dm9000_driver.h.

◆ FCTR_LWOT

#define FCTR_LWOT   (15 << 0)

Definition at line 211 of file dm9000_driver.h.

◆ GPCR_GPC1

#define GPCR_GPC1   (1 << 1)

Definition at line 249 of file dm9000_driver.h.

◆ GPCR_GPC2

#define GPCR_GPC2   (1 << 2)

Definition at line 248 of file dm9000_driver.h.

◆ GPCR_GPC3

#define GPCR_GPC3   (1 << 3)

Definition at line 247 of file dm9000_driver.h.

◆ GPCR_GPC4

#define GPCR_GPC4   (1 << 4)

Definition at line 246 of file dm9000_driver.h.

◆ GPCR_GPC5

#define GPCR_GPC5   (1 << 5)

Definition at line 245 of file dm9000_driver.h.

◆ GPCR_GPC6

#define GPCR_GPC6   (1 << 6)

Definition at line 244 of file dm9000_driver.h.

◆ GPR_GPIO1

#define GPR_GPIO1   (1 << 1)

Definition at line 257 of file dm9000_driver.h.

◆ GPR_GPIO2

#define GPR_GPIO2   (1 << 2)

Definition at line 256 of file dm9000_driver.h.

◆ GPR_GPIO3

#define GPR_GPIO3   (1 << 3)

Definition at line 255 of file dm9000_driver.h.

◆ GPR_GPO4

#define GPR_GPO4   (1 << 4)

Definition at line 254 of file dm9000_driver.h.

◆ GPR_GPO5

#define GPR_GPO5   (1 << 5)

Definition at line 253 of file dm9000_driver.h.

◆ GPR_GPO6

#define GPR_GPO6   (1 << 6)

Definition at line 252 of file dm9000_driver.h.

◆ GPR_PHYPD

#define GPR_PHYPD   (1 << 0)

Definition at line 258 of file dm9000_driver.h.

◆ IMR_LNKCHGI

#define IMR_LNKCHGI   (1 << 5)

Definition at line 332 of file dm9000_driver.h.

◆ IMR_PAR

#define IMR_PAR   (1 << 7)

Definition at line 331 of file dm9000_driver.h.

◆ IMR_PRI

#define IMR_PRI   (1 << 0)

Definition at line 337 of file dm9000_driver.h.

◆ IMR_PTI

#define IMR_PTI   (1 << 1)

Definition at line 336 of file dm9000_driver.h.

◆ IMR_ROI

#define IMR_ROI   (1 << 2)

Definition at line 335 of file dm9000_driver.h.

◆ IMR_ROOI

#define IMR_ROOI   (1 << 3)

Definition at line 334 of file dm9000_driver.h.

◆ IMR_UDRUNI

#define IMR_UDRUNI   (1 << 4)

Definition at line 333 of file dm9000_driver.h.

◆ INTCR_INT_POL

#define INTCR_INT_POL   (1 << 0)

Definition at line 316 of file dm9000_driver.h.

◆ INTCR_INT_TYPE

#define INTCR_INT_TYPE   (1 << 1)

Definition at line 315 of file dm9000_driver.h.

◆ ISR_IOMODE

#define ISR_IOMODE   (1 << 7)

Definition at line 322 of file dm9000_driver.h.

◆ ISR_LNKCHG

#define ISR_LNKCHG   (1 << 5)

Definition at line 323 of file dm9000_driver.h.

◆ ISR_PR

#define ISR_PR   (1 << 0)

Definition at line 328 of file dm9000_driver.h.

◆ ISR_PT

#define ISR_PT   (1 << 1)

Definition at line 327 of file dm9000_driver.h.

◆ ISR_ROO

#define ISR_ROO   (1 << 3)

Definition at line 325 of file dm9000_driver.h.

◆ ISR_ROS

#define ISR_ROS   (1 << 2)

Definition at line 326 of file dm9000_driver.h.

◆ ISR_UDRUN

#define ISR_UDRUN   (1 << 4)

Definition at line 324 of file dm9000_driver.h.

◆ LEDCR_GPIO

#define LEDCR_GPIO   (1 << 1)

Definition at line 305 of file dm9000_driver.h.

◆ LEDCR_MII

#define LEDCR_MII   (1 << 0)

Definition at line 306 of file dm9000_driver.h.

◆ MPAR_ADR_EN

#define MPAR_ADR_EN   (1 << 7)

Definition at line 301 of file dm9000_driver.h.

◆ MPAR_EPHYADR

#define MPAR_EPHYADR   (31 << 0)

Definition at line 302 of file dm9000_driver.h.

◆ NCR_FCOL

#define NCR_FCOL   (1 << 4)

Definition at line 152 of file dm9000_driver.h.

◆ NCR_FDX

#define NCR_FDX   (1 << 3)

Definition at line 153 of file dm9000_driver.h.

◆ NCR_LBK

#define NCR_LBK   (3 << 1)

Definition at line 154 of file dm9000_driver.h.

◆ NCR_RST

#define NCR_RST   (1 << 0)

Definition at line 155 of file dm9000_driver.h.

◆ NCR_WAKEEN

#define NCR_WAKEEN   (1 << 6)

Definition at line 151 of file dm9000_driver.h.

◆ NSR_LINKST

#define NSR_LINKST   (1 << 6)

Definition at line 159 of file dm9000_driver.h.

◆ NSR_RXOV

#define NSR_RXOV   (1 << 1)

Definition at line 163 of file dm9000_driver.h.

◆ NSR_SPEED

#define NSR_SPEED   (1 << 7)

Definition at line 158 of file dm9000_driver.h.

◆ NSR_TX1END

#define NSR_TX1END   (1 << 2)

Definition at line 162 of file dm9000_driver.h.

◆ NSR_TX2END

#define NSR_TX2END   (1 << 3)

Definition at line 161 of file dm9000_driver.h.

◆ NSR_WAKEST

#define NSR_WAKEST   (1 << 5)

Definition at line 160 of file dm9000_driver.h.

◆ OCR_PHYOP

#define OCR_PHYOP   (7 << 0)

Definition at line 271 of file dm9000_driver.h.

◆ OCR_SCC

#define OCR_SCC   (3 << 6)

Definition at line 268 of file dm9000_driver.h.

◆ OCR_SCS

#define OCR_SCS   (1 << 3)

Definition at line 270 of file dm9000_driver.h.

◆ OCR_SOE

#define OCR_SOE   (1 << 4)

Definition at line 269 of file dm9000_driver.h.

◆ RCR_ALL

#define RCR_ALL   (1 << 3)

Definition at line 186 of file dm9000_driver.h.

◆ RCR_DIS_CRC

#define RCR_DIS_CRC   (1 << 4)

Definition at line 185 of file dm9000_driver.h.

◆ RCR_DIS_LONG

#define RCR_DIS_LONG   (1 << 5)

Definition at line 184 of file dm9000_driver.h.

◆ RCR_PRMSC

#define RCR_PRMSC   (1 << 1)

Definition at line 188 of file dm9000_driver.h.

◆ RCR_RUNT

#define RCR_RUNT   (1 << 2)

Definition at line 187 of file dm9000_driver.h.

◆ RCR_RXEN

#define RCR_RXEN   (1 << 0)

Definition at line 189 of file dm9000_driver.h.

◆ RCR_WTDIS

#define RCR_WTDIS   (1 << 6)

Definition at line 183 of file dm9000_driver.h.

◆ RCSCSR_DCSE

#define RCSCSR_DCSE   (1 << 0)

Definition at line 298 of file dm9000_driver.h.

◆ RCSCSR_IPP

#define RCSCSR_IPP   (1 << 2)

Definition at line 296 of file dm9000_driver.h.

◆ RCSCSR_IPS

#define RCSCSR_IPS   (1 << 5)

Definition at line 293 of file dm9000_driver.h.

◆ RCSCSR_RCSEN

#define RCSCSR_RCSEN   (1 << 1)

Definition at line 297 of file dm9000_driver.h.

◆ RCSCSR_TCPP

#define RCSCSR_TCPP   (1 << 3)

Definition at line 295 of file dm9000_driver.h.

◆ RCSCSR_TCPS

#define RCSCSR_TCPS   (1 << 6)

Definition at line 292 of file dm9000_driver.h.

◆ RCSCSR_UDPP

#define RCSCSR_UDPP   (1 << 4)

Definition at line 294 of file dm9000_driver.h.

◆ RCSCSR_UDPS

#define RCSCSR_UDPS   (1 << 7)

Definition at line 291 of file dm9000_driver.h.

◆ ROCR_ROC

#define ROCR_ROC   (127 << 0)

Definition at line 202 of file dm9000_driver.h.

◆ ROCR_RXFU

#define ROCR_RXFU   (1 << 7)

Definition at line 203 of file dm9000_driver.h.

◆ RSR_AE

#define RSR_AE   (1 << 2)

Definition at line 197 of file dm9000_driver.h.

◆ RSR_CE

#define RSR_CE   (1 << 1)

Definition at line 198 of file dm9000_driver.h.

◆ RSR_FOE

#define RSR_FOE   (1 << 0)

Definition at line 199 of file dm9000_driver.h.

◆ RSR_LCS

#define RSR_LCS   (1 << 5)

Definition at line 194 of file dm9000_driver.h.

◆ RSR_MF

#define RSR_MF   (1 << 6)

Definition at line 193 of file dm9000_driver.h.

◆ RSR_PLE

#define RSR_PLE   (1 << 3)

Definition at line 196 of file dm9000_driver.h.

◆ RSR_RF

#define RSR_RF   (1 << 7)

Definition at line 192 of file dm9000_driver.h.

◆ RSR_RWTO

#define RSR_RWTO   (1 << 4)

Definition at line 195 of file dm9000_driver.h.

◆ SCCR_DIS_CLK

#define SCCR_DIS_CLK   (1 << 0)

Definition at line 319 of file dm9000_driver.h.

◆ SMCR_FB0

#define SMCR_FB0   (1 << 0)

Definition at line 277 of file dm9000_driver.h.

◆ SMCR_FB1

#define SMCR_FB1   (1 << 1)

Definition at line 276 of file dm9000_driver.h.

◆ SMCR_FLC

#define SMCR_FLC   (1 << 2)

Definition at line 275 of file dm9000_driver.h.

◆ SMCR_SM_EN

#define SMCR_SM_EN   (1 << 7)

Definition at line 274 of file dm9000_driver.h.

◆ TCR2_DTU

#define TCR2_DTU   (1 << 5)

Definition at line 263 of file dm9000_driver.h.

◆ TCR2_IFGS

#define TCR2_IFGS   (15 << 0)

Definition at line 265 of file dm9000_driver.h.

◆ TCR2_LED

#define TCR2_LED   (1 << 7)

Definition at line 261 of file dm9000_driver.h.

◆ TCR2_ONEPM

#define TCR2_ONEPM   (1 << 4)

Definition at line 264 of file dm9000_driver.h.

◆ TCR2_RLCP

#define TCR2_RLCP   (1 << 6)

Definition at line 262 of file dm9000_driver.h.

◆ TCR_CRC_DIS1

#define TCR_CRC_DIS1   (1 << 1)

Definition at line 171 of file dm9000_driver.h.

◆ TCR_CRC_DIS2

#define TCR_CRC_DIS2   (1 << 3)

Definition at line 169 of file dm9000_driver.h.

◆ TCR_EXCECM

#define TCR_EXCECM   (1 << 5)

Definition at line 167 of file dm9000_driver.h.

◆ TCR_PAD_DIS1

#define TCR_PAD_DIS1   (1 << 2)

Definition at line 170 of file dm9000_driver.h.

◆ TCR_PAD_DIS2

#define TCR_PAD_DIS2   (1 << 4)

Definition at line 168 of file dm9000_driver.h.

◆ TCR_TJDIS

#define TCR_TJDIS   (1 << 6)

Definition at line 166 of file dm9000_driver.h.

◆ TCR_TXREQ

#define TCR_TXREQ   (1 << 0)

Definition at line 172 of file dm9000_driver.h.

◆ TCSCR_IPCSE

#define TCSCR_IPCSE   (1 << 0)

Definition at line 288 of file dm9000_driver.h.

◆ TCSCR_TCPCSE

#define TCSCR_TCPCSE   (1 << 1)

Definition at line 287 of file dm9000_driver.h.

◆ TCSCR_UDPCSE

#define TCSCR_UDPCSE   (1 << 2)

Definition at line 286 of file dm9000_driver.h.

◆ TSR_COL

#define TSR_COL   (1 << 3)

Definition at line 179 of file dm9000_driver.h.

◆ TSR_EC

#define TSR_EC   (1 << 2)

Definition at line 180 of file dm9000_driver.h.

◆ TSR_LC

#define TSR_LC   (1 << 6)

Definition at line 176 of file dm9000_driver.h.

◆ TSR_LCOL

#define TSR_LCOL   (1 << 4)

Definition at line 178 of file dm9000_driver.h.

◆ TSR_NC

#define TSR_NC   (1 << 5)

Definition at line 177 of file dm9000_driver.h.

◆ TSR_TJTO

#define TSR_TJTO   (1 << 7)

Definition at line 175 of file dm9000_driver.h.

◆ WCR_LINKEN

#define WCR_LINKEN   (1 << 5)

Definition at line 236 of file dm9000_driver.h.

◆ WCR_LINKST

#define WCR_LINKST   (1 << 2)

Definition at line 239 of file dm9000_driver.h.

◆ WCR_MAGICEN

#define WCR_MAGICEN   (1 << 3)

Definition at line 238 of file dm9000_driver.h.

◆ WCR_MAGICST

#define WCR_MAGICST   (1 << 0)

Definition at line 241 of file dm9000_driver.h.

◆ WCR_SAMPLEEN

#define WCR_SAMPLEEN   (1 << 4)

Definition at line 237 of file dm9000_driver.h.

◆ WCR_SAMPLEST

#define WCR_SAMPLEST   (1 << 1)

Definition at line 240 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 670 of file dm9000_driver.c.

◆ dm9000DisableIrq()

void dm9000DisableIrq ( NetInterface interface)

Disable interrupts.

Parameters
[in]interfaceUnderlying network interface

Definition at line 207 of file dm9000_driver.c.

◆ dm9000EnableIrq()

void dm9000EnableIrq ( NetInterface interface)

Enable interrupts.

Parameters
[in]interfaceUnderlying network interface

Definition at line 195 of file dm9000_driver.c.

◆ dm9000EventHandler()

void dm9000EventHandler ( NetInterface interface)

DM9000 event handler.

Parameters
[in]interfaceUnderlying network interface

Definition at line 292 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 70 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 220 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 643 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 602 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 433 of file dm9000_driver.c.

◆ dm9000SendPacket()

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

Send a packet to DM9000.

Parameters
[in]interfaceUnderlying network interface
[in]bufferMulti-part buffer containing the data to send
[in]offsetOffset to the first data byte
Returns
Error code

Definition at line 368 of file dm9000_driver.c.

◆ dm9000Tick()

void dm9000Tick ( NetInterface interface)

DM9000 timer handler.

Parameters
[in]interfaceUnderlying network interface

Definition at line 185 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 529 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 617 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 587 of file dm9000_driver.c.

Variable Documentation

◆ dm9000Driver

const NicDriver dm9000Driver

DM9000 driver.

Definition at line 43 of file dm9000_driver.c.