![]() |
|
|||
File indexing completed on 2025-05-11 08:23:43
0001 /** 0002 * @file 0003 * 0004 * @ingroup RTEMSBSPsI386 0005 * 0006 * @brief DP8390 Ethernet controller definitions. 0007 */ 0008 0009 /* 0010 * Information about the DP8390 Ethernet controller. 0011 */ 0012 0013 #ifndef __BSP_WD80x3_h 0014 #define __BSP_WD80x3_h 0015 0016 /* Register descriptions */ 0017 /* Controller DP8390. */ 0018 0019 #define DATAPORT 0x10 /* Port Window. */ 0020 #define RESET 0x1f /* Issue a read for reset */ 0021 #define W83CREG 0x00 /* I/O port definition */ 0022 #define ADDROM 0x08 0023 0024 /* page 0 read or read/write registers */ 0025 0026 #define CMDR 0x00+RO 0027 #define CLDA0 0x01+RO /* current local dma addr 0 for read */ 0028 #define CLDA1 0x02+RO /* current local dma addr 1 for read */ 0029 #define BNRY 0x03+RO /* boundary reg for rd and wr */ 0030 #define TSR 0x04+RO /* tx status reg for rd */ 0031 #define NCR 0x05+RO /* number of collision reg for rd */ 0032 #define FIFO 0x06+RO /* FIFO for rd */ 0033 #define ISR 0x07+RO /* interrupt status reg for rd and wr */ 0034 #define CRDA0 0x08+RO /* current remote dma address 0 for rd */ 0035 #define CRDA1 0x09+RO /* current remote dma address 1 for rd */ 0036 #define RSR 0x0C+RO /* rx status reg for rd */ 0037 #define CNTR0 0x0D+RO /* tally cnt 0 for frm alg err for rd */ 0038 #define CNTR1 RO+0x0E /* tally cnt 1 for crc err for rd */ 0039 #define CNTR2 0x0F+RO /* tally cnt 2 for missed pkt for rd */ 0040 0041 /* page 0 write registers */ 0042 0043 #define PSTART 0x01+RO /* page start register */ 0044 #define PSTOP 0x02+RO /* page stop register */ 0045 #define TPSR 0x04+RO /* tx start page start reg */ 0046 #define TBCR0 0x05+RO /* tx byte count 0 reg */ 0047 #define TBCR1 0x06+RO /* tx byte count 1 reg */ 0048 #define RSAR0 0x08+RO /* remote start address reg 0 */ 0049 #define RSAR1 0x09+RO /* remote start address reg 1 */ 0050 #define RBCR0 0x0A+RO /* remote byte count reg 0 */ 0051 #define RBCR1 0x0B+RO /* remote byte count reg 1 */ 0052 #define RCR 0x0C+RO /* rx configuration reg */ 0053 #define TCR 0x0D+RO /* tx configuration reg */ 0054 #define DCR RO+0x0E /* data configuration reg */ 0055 #define IMR 0x0F+RO /* interrupt mask reg */ 0056 0057 /* page 1 registers */ 0058 0059 #define PAR 0x01+RO /* physical addr reg base for rd and wr */ 0060 #define CURR 0x07+RO /* current page reg for rd and wr */ 0061 #define MAR 0x08+RO /* multicast addr reg base fro rd and WR */ 0062 #define MARsize 8 /* size of multicast addr space */ 0063 0064 /*-----W83CREG command bits-----*/ 0065 #define MSK_RESET 0x80 /* W83CREG masks */ 0066 #define MSK_ENASH 0x40 0067 #define MSK_DECOD 0x3F /* memory decode bits, corresponding */ 0068 /* to SA 18-13. SA 19 assumed to be 1 */ 0069 0070 /*-----CMDR command bits-----*/ 0071 #define MSK_STP 0x01 /* stop the chip */ 0072 #define MSK_STA 0x02 /* start the chip */ 0073 #define MSK_TXP 0x04 /* initial txing of a frm */ 0074 #define MSK_RRE 0x08 /* remote read */ 0075 #define MSK_RWR 0x10 /* remote write */ 0076 #define MSK_RD2 0x20 /* no DMA used */ 0077 #define MSK_PG0 0x00 /* select register page 0 */ 0078 #define MSK_PG1 0x40 /* select register page 1 */ 0079 #define MSK_PG2 0x80 /* select register page 2 */ 0080 0081 /*-----ISR and TSR status bits-----*/ 0082 #define MSK_PRX 0x01 /* rx with no error */ 0083 #define MSK_PTX 0x02 /* tx with no error */ 0084 #define MSK_RXE 0x04 /* rx with error */ 0085 #define MSK_TXE 0x08 /* tx with error */ 0086 #define MSK_OVW 0x10 /* overwrite warning */ 0087 #define MSK_CNT 0x20 /* MSB of one of the tally counters is set */ 0088 #define MSK_RDC 0x40 /* remote dma completed */ 0089 #define MSK_RST 0x80 /* reset state indicator */ 0090 0091 /*-----DCR command bits-----*/ 0092 #define MSK_WTS 0x01 /* word transfer mode selection */ 0093 #define MSK_BOS 0x02 /* byte order selection */ 0094 #define MSK_LAS 0x04 /* long addr selection */ 0095 #define MSK_BMS 0x08 /* burst mode selection */ 0096 #define MSK_ARM 0x10 /* autoinitialize remote */ 0097 #define MSK_FT00 0x00 /* burst lrngth selection */ 0098 #define MSK_FT01 0x20 /* burst lrngth selection */ 0099 #define MSK_FT10 0x40 /* burst lrngth selection */ 0100 #define MSK_FT11 0x60 /* burst lrngth selection */ 0101 0102 /*-----RCR command bits-----*/ 0103 #define MSK_SEP 0x01 /* save error pkts */ 0104 #define MSK_AR 0x02 /* accept runt pkt */ 0105 #define MSK_AB 0x04 /* 8390 RCR */ 0106 #define MSK_AM 0x08 /* accept multicast */ 0107 #define MSK_PRO 0x10 /* accept all pkt with physical adr */ 0108 #define MSK_MON 0x20 /* monitor mode */ 0109 0110 /*-----TCR command bits-----*/ 0111 #define MSK_CRC 0x01 /* inhibit CRC, do not append crc */ 0112 #define MSK_LOOP 0x02 /* set loopback mode */ 0113 #define MSK_BCST 0x04 /* Accept broadcasts */ 0114 #define MSK_LB01 0x06 /* encoded loopback control */ 0115 #define MSK_ATD 0x08 /* auto tx disable */ 0116 #define MSK_OFST 0x10 /* collision offset enable */ 0117 0118 /*-----receive status bits-----*/ 0119 #define SMK_PRX 0x01 /* rx without error */ 0120 #define SMK_CRC 0x02 /* CRC error */ 0121 #define SMK_FAE 0x04 /* frame alignment error */ 0122 #define SMK_FO 0x08 /* FIFO overrun */ 0123 #define SMK_MPA 0x10 /* missed pkt */ 0124 #define SMK_PHY 0x20 /* physical/multicase address */ 0125 #define SMK_DIS 0x40 /* receiver disable. set in monitor mode */ 0126 #define SMK_DEF 0x80 /* deferring */ 0127 0128 /*-----transmit status bits-----*/ 0129 #define SMK_PTX 0x01 /* tx without error */ 0130 #define SMK_DFR 0x02 /* non deferred tx */ 0131 #define SMK_COL 0x04 /* tx collided */ 0132 #define SMK_ABT 0x08 /* tx abort because of excessive collisions */ 0133 #define SMK_CRS 0x10 /* carrier sense lost */ 0134 #define SMK_FU 0x20 /* FIFO underrun */ 0135 #define SMK_CDH 0x40 /* collision detect heartbeat */ 0136 #define SMK_OWC 0x80 /* out of window collision */ 0137 0138 #endif 0139 /* end of include */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |