BOOTLOADER
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
Data Structures | Macros | Enumerations | Functions | Variables
dm9000a.h File Reference

Go to the source code of this file.

Data Structures

struct  DM9000_CONTROL

Macros

#define DM9000_ADDRESS   0x19000300
#define DM9000_INDEX   DM9000_ADDRESS
#define DM9000_DATA   (DM9000_ADDRESS+4)
#define DM9000_16BIT
#define DM9000_ID   0x90000a46
#define DM9000_PKT_MAX   1536
#define DM9000_PKT_RDY   0x01
#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_PAR   0x10
#define DM9000_MAR   0x16
#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_SMCR   0x2F
#define DM9000_PHY   0x40
#define DM9000_MRCMDX   0xF0
#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_PHY_STATUS   0x01
#define BIT_AUTO_N_COMPL   0x20
#define DM9000_PHY_SCS   0x11
#define NCR_EXT_PHY   (1<<7)
#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 FCTR_HWOT(ot)   ((ot&0xf)<<4)
#define FCTR_LWOT(ot)   (ot&0xf)
#define IMR_PAR   (1<<7)
#define IMR_ROOM   (1<<3)
#define IMR_ROM   (1<<2)
#define IMR_PTM   (1<<1)
#define IMR_PRM   (1<<0)
#define DM9000_PACKET_READY   0x01

Enumerations

enum  DM9000_PHY_MODE {
  DM9000_10MHD = 0, DM9000_100MHD = 1, DM9000_10MFD = 4, DM9000_100MFD = 5,
  DM9000_AUTO = 8, DM9000_1M_HPNA = 0x10
}
enum  DM9000_LINK_MODE {
  DM9000_LINK_10HDX = 0, DM9000_LINK_10FDX = 1, DM9000_LINK_100HDX = 2, DM9000_LINK_100FDX = 3,
  DM9000_LINK_UNKNOW = 4
}

Functions

void F_Dm9000Init (void)
void F_Dm9000Svc (void)
INT8U F_Dm9000ReadyCheck (void)
BOOL F_Dm9000InUseCheck (void)
BOOL F_Dm9000Allocate (INT16U UserId)
BOOL F_Dm9000Release (INT16U UserId)
BOOL F_Dm9000InitialStart (INT16U UserId)
void F_Dm9000Reset (void)
BOOL F_Dm9000Probe (void)
void F_Dm9000ModeSet (INT8U Mode)
BOOL F_Dm9000MacAddressSet (INT16U UserId, INT8U *pMacAddress)
BOOL F_Dm9000IpAddressSet (INT16U UserId, INT8U *pIpAddress)
INT8U F_Dm9000InitialPassCheck (void)
BOOL F_Dm9000PacketTransmit (INT8U *pPacketData, INT16U PacketLength)
INT32U F_Dm9000PacketReceive (INT8U *pPacketData, INT32U PacketLength)
BOOL F_Dm9000PacketReceiveCheck (void)
INT8U F_Dm9000IoRead (INT8U Address)
void F_Dm9000IoWrite (INT8U Address, INT8U Data)
INT16U F_Dm9000PhyRead (INT8U RegisterAddr)
void F_Dm9000PhyWrite (INT8U RegisterAddr, INT16U Value)

Variables

DM9000_CONTROL Dm9000Ctrl

Macro Definition Documentation

#define BIT_AUTO_N_COMPL   0x20

Definition at line 80 of file dm9000a.h.

#define DM9000_16BIT

Definition at line 7 of file dm9000a.h.

#define DM9000_ADDRESS   0x19000300

Definition at line 4 of file dm9000a.h.

#define DM9000_BPTR   0x08

Definition at line 37 of file dm9000a.h.

#define DM9000_CHIPR   0x2C

Definition at line 61 of file dm9000a.h.

#define DM9000_DATA   (DM9000_ADDRESS+4)

Definition at line 6 of file dm9000a.h.

#define DM9000_EPAR   0x0C

Definition at line 41 of file dm9000a.h.

#define DM9000_EPCR   0x0B

Definition at line 40 of file dm9000a.h.

#define DM9000_EPDRH   0x0E

Definition at line 43 of file dm9000a.h.

#define DM9000_EPDRL   0x0D

Definition at line 42 of file dm9000a.h.

#define DM9000_FCR   0x0A

Definition at line 39 of file dm9000a.h.

#define DM9000_FCTR   0x09

Definition at line 38 of file dm9000a.h.

#define DM9000_GPCR   0x1e

Definition at line 49 of file dm9000a.h.

#define DM9000_GPR   0x1f

Definition at line 50 of file dm9000a.h.

#define DM9000_ID   0x90000a46

Definition at line 9 of file dm9000a.h.

#define DM9000_IMR   0xFF

Definition at line 77 of file dm9000a.h.

#define DM9000_INDEX   DM9000_ADDRESS

Definition at line 5 of file dm9000a.h.

#define DM9000_ISR   0xFE

Definition at line 76 of file dm9000a.h.

#define DM9000_MAR   0x16

Definition at line 47 of file dm9000a.h.

#define DM9000_MRCMD   0xF2

Definition at line 67 of file dm9000a.h.

#define DM9000_MRCMDX   0xF0

Definition at line 66 of file dm9000a.h.

#define DM9000_MRRH   0xF5

Definition at line 69 of file dm9000a.h.

#define DM9000_MRRL   0xF4

Definition at line 68 of file dm9000a.h.

#define DM9000_MWCMD   0xF8

Definition at line 71 of file dm9000a.h.

#define DM9000_MWCMDX   0xF6

Definition at line 70 of file dm9000a.h.

#define DM9000_MWRH   0xFB

Definition at line 73 of file dm9000a.h.

#define DM9000_MWRL   0xFA

Definition at line 72 of file dm9000a.h.

#define DM9000_NCR   0x00

Definition at line 29 of file dm9000a.h.

#define DM9000_NSR   0x01

Definition at line 30 of file dm9000a.h.

#define DM9000_PACKET_READY   0x01

Definition at line 138 of file dm9000a.h.

#define DM9000_PAR   0x10

Definition at line 46 of file dm9000a.h.

#define DM9000_PHY   0x40

Definition at line 64 of file dm9000a.h.

#define DM9000_PHY_SCS   0x11

Definition at line 81 of file dm9000a.h.

#define DM9000_PHY_STATUS   0x01

Definition at line 79 of file dm9000a.h.

#define DM9000_PIDH   0x2B

Definition at line 59 of file dm9000a.h.

#define DM9000_PIDL   0x2A

Definition at line 58 of file dm9000a.h.

#define DM9000_PKT_MAX   1536

Definition at line 10 of file dm9000a.h.

#define DM9000_PKT_RDY   0x01

Definition at line 11 of file dm9000a.h.

#define DM9000_RCR   0x05

Definition at line 34 of file dm9000a.h.

#define DM9000_ROCR   0x07

Definition at line 36 of file dm9000a.h.

#define DM9000_RSR   0x06

Definition at line 35 of file dm9000a.h.

#define DM9000_RWPAH   0x25

Definition at line 54 of file dm9000a.h.

#define DM9000_RWPAL   0x24

Definition at line 53 of file dm9000a.h.

#define DM9000_SMCR   0x2F

Definition at line 62 of file dm9000a.h.

#define DM9000_TCR   0x02

Definition at line 31 of file dm9000a.h.

#define DM9000_TRPAH   0x23

Definition at line 52 of file dm9000a.h.

#define DM9000_TRPAL   0x22

Definition at line 51 of file dm9000a.h.

#define DM9000_TSR1   0x03

Definition at line 32 of file dm9000a.h.

#define DM9000_TSR2   0x04

Definition at line 33 of file dm9000a.h.

#define DM9000_TXPLH   0xFD

Definition at line 75 of file dm9000a.h.

#define DM9000_TXPLL   0xFC

Definition at line 74 of file dm9000a.h.

#define DM9000_VIDH   0x29

Definition at line 57 of file dm9000a.h.

#define DM9000_VIDL   0x28

Definition at line 56 of file dm9000a.h.

#define DM9000_WCR   0x0F

Definition at line 44 of file dm9000a.h.

#define FCTR_HWOT (   ot)    ((ot&0xf)<<4)

Definition at line 129 of file dm9000a.h.

#define FCTR_LWOT (   ot)    (ot&0xf)

Definition at line 130 of file dm9000a.h.

#define IMR_PAR   (1<<7)

Definition at line 132 of file dm9000a.h.

#define IMR_PRM   (1<<0)

Definition at line 136 of file dm9000a.h.

#define IMR_PTM   (1<<1)

Definition at line 135 of file dm9000a.h.

#define IMR_ROM   (1<<2)

Definition at line 134 of file dm9000a.h.

#define IMR_ROOM   (1<<3)

Definition at line 133 of file dm9000a.h.

#define NCR_EXT_PHY   (1<<7)

Definition at line 83 of file dm9000a.h.

#define NCR_FCOL   (1<<4)

Definition at line 85 of file dm9000a.h.

#define NCR_FDX   (1<<3)

Definition at line 86 of file dm9000a.h.

#define NCR_LBK   (3<<1)

Definition at line 87 of file dm9000a.h.

#define NCR_RST   (1<<0)

Definition at line 88 of file dm9000a.h.

#define NCR_WAKEEN   (1<<6)

Definition at line 84 of file dm9000a.h.

#define NSR_LINKST   (1<<6)

Definition at line 91 of file dm9000a.h.

#define NSR_RXOV   (1<<1)

Definition at line 95 of file dm9000a.h.

#define NSR_SPEED   (1<<7)

Definition at line 90 of file dm9000a.h.

#define NSR_TX1END   (1<<2)

Definition at line 94 of file dm9000a.h.

#define NSR_TX2END   (1<<3)

Definition at line 93 of file dm9000a.h.

#define NSR_WAKEST   (1<<5)

Definition at line 92 of file dm9000a.h.

#define RCR_ALL   (1<<3)

Definition at line 115 of file dm9000a.h.

#define RCR_DIS_CRC   (1<<4)

Definition at line 114 of file dm9000a.h.

#define RCR_DIS_LONG   (1<<5)

Definition at line 113 of file dm9000a.h.

#define RCR_PRMSC   (1<<1)

Definition at line 117 of file dm9000a.h.

#define RCR_RUNT   (1<<2)

Definition at line 116 of file dm9000a.h.

#define RCR_RXEN   (1<<0)

Definition at line 118 of file dm9000a.h.

#define RCR_WTDIS   (1<<6)

Definition at line 112 of file dm9000a.h.

#define RSR_AE   (1<<2)

Definition at line 125 of file dm9000a.h.

#define RSR_CE   (1<<1)

Definition at line 126 of file dm9000a.h.

#define RSR_FOE   (1<<0)

Definition at line 127 of file dm9000a.h.

#define RSR_LCS   (1<<5)

Definition at line 122 of file dm9000a.h.

#define RSR_MF   (1<<6)

Definition at line 121 of file dm9000a.h.

#define RSR_PLE   (1<<3)

Definition at line 124 of file dm9000a.h.

#define RSR_RF   (1<<7)

Definition at line 120 of file dm9000a.h.

#define RSR_RWTO   (1<<4)

Definition at line 123 of file dm9000a.h.

#define TCR_CRC_DIS1   (1<<1)

Definition at line 102 of file dm9000a.h.

#define TCR_CRC_DIS2   (1<<3)

Definition at line 100 of file dm9000a.h.

#define TCR_EXCECM   (1<<5)

Definition at line 98 of file dm9000a.h.

#define TCR_PAD_DIS1   (1<<2)

Definition at line 101 of file dm9000a.h.

#define TCR_PAD_DIS2   (1<<4)

Definition at line 99 of file dm9000a.h.

#define TCR_TJDIS   (1<<6)

Definition at line 97 of file dm9000a.h.

#define TCR_TXREQ   (1<<0)

Definition at line 103 of file dm9000a.h.

#define TSR_COL   (1<<3)

Definition at line 109 of file dm9000a.h.

#define TSR_EC   (1<<2)

Definition at line 110 of file dm9000a.h.

#define TSR_LC   (1<<6)

Definition at line 106 of file dm9000a.h.

#define TSR_LCOL   (1<<4)

Definition at line 108 of file dm9000a.h.

#define TSR_NC   (1<<5)

Definition at line 107 of file dm9000a.h.

#define TSR_TJTO   (1<<7)

Definition at line 105 of file dm9000a.h.


Enumeration Type Documentation

Enumerator:
DM9000_LINK_10HDX 
DM9000_LINK_10FDX 
DM9000_LINK_100HDX 
DM9000_LINK_100FDX 
DM9000_LINK_UNKNOW 

Definition at line 21 of file dm9000a.h.

Enumerator:
DM9000_10MHD 
DM9000_100MHD 
DM9000_10MFD 
DM9000_100MFD 
DM9000_AUTO 
DM9000_1M_HPNA 

Definition at line 13 of file dm9000a.h.


Function Documentation

BOOL F_Dm9000Allocate ( INT16U  UserId)

Definition at line 168 of file dm9000a.c.

void F_Dm9000Init ( void  )

Definition at line 57 of file dm9000a.c.

INT8U F_Dm9000InitialPassCheck ( void  )

Definition at line 264 of file dm9000a.c.

BOOL F_Dm9000InitialStart ( INT16U  UserId)

Definition at line 183 of file dm9000a.c.

BOOL F_Dm9000InUseCheck ( void  )

Definition at line 164 of file dm9000a.c.

INT8U F_Dm9000IoRead ( INT8U  Address)

Definition at line 346 of file dm9000a.c.

void F_Dm9000IoWrite ( INT8U  Address,
INT8U  Data 
)

Definition at line 350 of file dm9000a.c.

BOOL F_Dm9000IpAddressSet ( INT16U  UserId,
INT8U pIpAddress 
)

Definition at line 254 of file dm9000a.c.

BOOL F_Dm9000MacAddressSet ( INT16U  UserId,
INT8U pMacAddress 
)

Definition at line 242 of file dm9000a.c.

void F_Dm9000ModeSet ( INT8U  Mode)

Definition at line 217 of file dm9000a.c.

INT32U F_Dm9000PacketReceive ( INT8U pPacketData,
INT32U  PacketLength 
)

Definition at line 294 of file dm9000a.c.

BOOL F_Dm9000PacketReceiveCheck ( void  )

Definition at line 330 of file dm9000a.c.

BOOL F_Dm9000PacketTransmit ( INT8U pPacketData,
INT16U  PacketLength 
)

Definition at line 268 of file dm9000a.c.

INT16U F_Dm9000PhyRead ( INT8U  RegisterAddr)

Definition at line 354 of file dm9000a.c.

void F_Dm9000PhyWrite ( INT8U  RegisterAddr,
INT16U  Value 
)

Definition at line 365 of file dm9000a.c.

BOOL F_Dm9000Probe ( void  )

Definition at line 203 of file dm9000a.c.

INT8U F_Dm9000ReadyCheck ( void  )

Definition at line 160 of file dm9000a.c.

BOOL F_Dm9000Release ( INT16U  UserId)

Definition at line 176 of file dm9000a.c.

void F_Dm9000Reset ( void  )

Definition at line 190 of file dm9000a.c.

void F_Dm9000Svc ( void  )

Definition at line 67 of file dm9000a.c.


Variable Documentation

DM9000_CONTROL Dm9000Ctrl

Definition at line 27 of file dm9000a.c.