39 #define DC_BUSCTL 0x00 40 #define DC_TXSTART 0x08 41 #define DC_RXSTART 0x10 42 #define DC_RXADDR 0x18 43 #define DC_TXADDR 0x20 45 #define DC_NETCFG 0x30 47 #define DC_FRAMESDISCARDED 0x40 51 #define DC_10BTSTAT 0x60 52 #define DC_SIARESET 0x68 53 #define DC_10BTCTRL 0x70 54 #define DC_WATCHDOG 0x78 66 #define DC_TYPE_98713 0x1 67 #define DC_TYPE_98713A 0x2 68 #define DC_TYPE_987x5 0x3 71 #define DC_TYPE_21143 0x4 72 #define DC_TYPE_ASIX 0x5 73 #define DC_TYPE_AL981 0x6 74 #define DC_TYPE_AN985 0x7 75 #define DC_TYPE_DM9102 0x8 76 #define DC_TYPE_PNICII 0x9 77 #define DC_TYPE_PNIC 0xA 78 #define DC_TYPE_CONEXANT 0xC 80 #define DC_IS_MACRONIX(x) \ 81 (x->dc_type == DC_TYPE_98713 || \ 82 x->dc_type == DC_TYPE_98713A || \ 83 x->dc_type == DC_TYPE_987x5) 85 #define DC_IS_ADMTEK(x) \ 86 (x->dc_type == DC_TYPE_AL981 || \ 87 x->dc_type == DC_TYPE_AN985) 89 #define DC_IS_INTEL(x) (x->dc_type == DC_TYPE_21143) 90 #define DC_IS_ASIX(x) (x->dc_type == DC_TYPE_ASIX) 91 #define DC_IS_COMET(x) (x->dc_type == DC_TYPE_AL981) 92 #define DC_IS_CENTAUR(x) (x->dc_type == DC_TYPE_AN985) 93 #define DC_IS_DAVICOM(x) (x->dc_type == DC_TYPE_DM9102) 94 #define DC_IS_PNICII(x) (x->dc_type == DC_TYPE_PNICII) 95 #define DC_IS_PNIC(x) (x->dc_type == DC_TYPE_PNIC) 96 #define DC_IS_CONEXANT(x) (x->dc_type == DC_TYPE_CONEXANT) 99 #define DC_PMODE_MII 0x1 100 #define DC_PMODE_SYM 0x2 101 #define DC_PMODE_SIA 0x3 106 #define DC_BUSCTL_RESET 0x00000001 107 #define DC_BUSCTL_ARBITRATION 0x00000002 108 #define DC_BUSCTL_SKIPLEN 0x0000007C 109 #define DC_BUSCTL_BUF_BIGENDIAN 0x00000080 110 #define DC_BUSCTL_BURSTLEN 0x00003F00 111 #define DC_BUSCTL_CACHEALIGN 0x0000C000 112 #define DC_BUSCTL_TXPOLL 0x000E0000 113 #define DC_BUSCTL_DBO 0x00100000 114 #define DC_BUSCTL_MRME 0x00200000 115 #define DC_BUSCTL_MRLE 0x00800000 116 #define DC_BUSCTL_MWIE 0x01000000 117 #define DC_BUSCTL_ONNOW_ENB 0x04000000 119 #define DC_SKIPLEN_1LONG 0x00000004 120 #define DC_SKIPLEN_2LONG 0x00000008 121 #define DC_SKIPLEN_3LONG 0x00000010 122 #define DC_SKIPLEN_4LONG 0x00000020 123 #define DC_SKIPLEN_5LONG 0x00000040 125 #define DC_CACHEALIGN_NONE 0x00000000 126 #define DC_CACHEALIGN_8LONG 0x00004000 127 #define DC_CACHEALIGN_16LONG 0x00008000 128 #define DC_CACHEALIGN_32LONG 0x0000C000 130 #define DC_BURSTLEN_USECA 0x00000000 131 #define DC_BURSTLEN_1LONG 0x00000100 132 #define DC_BURSTLEN_2LONG 0x00000200 133 #define DC_BURSTLEN_4LONG 0x00000400 134 #define DC_BURSTLEN_8LONG 0x00000800 135 #define DC_BURSTLEN_16LONG 0x00001000 136 #define DC_BURSTLEN_32LONG 0x00002000 138 #define DC_TXPOLL_OFF 0x00000000 139 #define DC_TXPOLL_1 0x00020000 140 #define DC_TXPOLL_2 0x00040000 141 #define DC_TXPOLL_3 0x00060000 142 #define DC_TXPOLL_4 0x00080000 143 #define DC_TXPOLL_5 0x000A0000 144 #define DC_TXPOLL_6 0x000C0000 145 #define DC_TXPOLL_7 0x000E0000 150 #define DC_ISR_TX_OK 0x00000001 151 #define DC_ISR_TX_IDLE 0x00000002 152 #define DC_ISR_TX_NOBUF 0x00000004 153 #define DC_ISR_TX_JABBERTIMEO 0x00000008 154 #define DC_ISR_LINKGOOD 0x00000010 155 #define DC_ISR_TX_UNDERRUN 0x00000020 156 #define DC_ISR_RX_OK 0x00000040 157 #define DC_ISR_RX_NOBUF 0x00000080 158 #define DC_ISR_RX_READ 0x00000100 159 #define DC_ISR_RX_WATDOGTIMEO 0x00000200 160 #define DC_ISR_TX_EARLY 0x00000400 161 #define DC_ISR_TIMER_EXPIRED 0x00000800 162 #define DC_ISR_LINKFAIL 0x00001000 163 #define DC_ISR_BUS_ERR 0x00002000 164 #define DC_ISR_RX_EARLY 0x00004000 165 #define DC_ISR_ABNORMAL 0x00008000 166 #define DC_ISR_NORMAL 0x00010000 167 #define DC_ISR_RX_STATE 0x000E0000 168 #define DC_ISR_TX_STATE 0x00700000 169 #define DC_ISR_BUSERRTYPE 0x03800000 170 #define DC_ISR_100MBPSLINK 0x08000000 171 #define DC_ISR_MAGICKPACK 0x10000000 173 #define DC_RXSTATE_STOPPED 0x00000000 174 #define DC_RXSTATE_FETCH 0x00020000 175 #define DC_RXSTATE_ENDCHECK 0x00040000 176 #define DC_RXSTATE_WAIT 0x00060000 177 #define DC_RXSTATE_SUSPEND 0x00080000 178 #define DC_RXSTATE_CLOSE 0x000A0000 179 #define DC_RXSTATE_FLUSH 0x000C0000 180 #define DC_RXSTATE_DEQUEUE 0x000E0000 182 #define DC_TXSTATE_RESET 0x00000000 183 #define DC_TXSTATE_FETCH 0x00100000 184 #define DC_TXSTATE_WAITEND 0x00200000 185 #define DC_TXSTATE_READING 0x00300000 186 #define DC_TXSTATE_RSVD 0x00400000 187 #define DC_TXSTATE_SETUP 0x00500000 188 #define DC_TXSTATE_SUSPEND 0x00600000 189 #define DC_TXSTATE_CLOSE 0x00700000 194 #define DC_NETCFG_RX_HASHPERF 0x00000001 195 #define DC_NETCFG_RX_ON 0x00000002 196 #define DC_NETCFG_RX_HASHONLY 0x00000004 197 #define DC_NETCFG_RX_BADFRAMES 0x00000008 198 #define DC_NETCFG_RX_INVFILT 0x00000010 199 #define DC_NETCFG_BACKOFFCNT 0x00000020 200 #define DC_NETCFG_RX_PROMISC 0x00000040 201 #define DC_NETCFG_RX_ALLMULTI 0x00000080 202 #define DC_NETCFG_FULLDUPLEX 0x00000200 203 #define DC_NETCFG_LOOPBACK 0x00000C00 204 #define DC_NETCFG_FORCECOLL 0x00001000 205 #define DC_NETCFG_TX_ON 0x00002000 206 #define DC_NETCFG_TX_THRESH 0x0000C000 207 #define DC_NETCFG_TX_BACKOFF 0x00020000 208 #define DC_NETCFG_PORTSEL 0x00040000 209 #define DC_NETCFG_HEARTBEAT 0x00080000 210 #define DC_NETCFG_STORENFWD 0x00200000 211 #define DC_NETCFG_SPEEDSEL 0x00400000 212 #define DC_NETCFG_PCS 0x00800000 213 #define DC_NETCFG_SCRAMBLER 0x01000000 214 #define DC_NETCFG_NO_RXCRC 0x02000000 215 #define DC_NETCFG_RX_ALL 0x40000000 216 #define DC_NETCFG_CAPEFFECT 0x80000000 218 #define DC_OPMODE_NORM 0x00000000 219 #define DC_OPMODE_INTLOOP 0x00000400 220 #define DC_OPMODE_EXTLOOP 0x00000800 223 #define DC_TXTHRESH_72BYTES 0x00000000 224 #define DC_TXTHRESH_96BYTES 0x00004000 225 #define DC_TXTHRESH_128BYTES 0x00008000 226 #define DC_TXTHRESH_160BYTES 0x0000C000 229 #define DC_TXTHRESH_MIN 0x00000000 230 #define DC_TXTHRESH_INC 0x00004000 231 #define DC_TXTHRESH_MAX 0x0000C000 237 #define DC_IMR_TX_OK 0x00000001 238 #define DC_IMR_TX_IDLE 0x00000002 239 #define DC_IMR_TX_NOBUF 0x00000004 240 #define DC_IMR_TX_JABBERTIMEO 0x00000008 241 #define DC_IMR_LINKGOOD 0x00000010 242 #define DC_IMR_TX_UNDERRUN 0x00000020 243 #define DC_IMR_RX_OK 0x00000040 244 #define DC_IMR_RX_NOBUF 0x00000080 245 #define DC_IMR_RX_READ 0x00000100 246 #define DC_IMR_RX_WATDOGTIMEO 0x00000200 247 #define DC_IMR_TX_EARLY 0x00000400 248 #define DC_IMR_TIMER_EXPIRED 0x00000800 249 #define DC_IMR_LINKFAIL 0x00001000 250 #define DC_IMR_BUS_ERR 0x00002000 251 #define DC_IMR_RX_EARLY 0x00004000 252 #define DC_IMR_ABNORMAL 0x00008000 253 #define DC_IMR_NORMAL 0x00010000 254 #define DC_IMR_100MBPSLINK 0x08000000 255 #define DC_IMR_MAGICKPACK 0x10000000 258 (DC_IMR_RX_OK|DC_IMR_TX_OK|DC_IMR_RX_NOBUF|DC_IMR_RX_WATDOGTIMEO|\ 259 DC_IMR_TX_NOBUF|DC_IMR_TX_UNDERRUN|DC_IMR_BUS_ERR| \ 260 DC_IMR_ABNORMAL|DC_IMR_NORMAL) 264 #define DC_SIO_EE_CS 0x00000001 265 #define DC_SIO_EE_CLK 0x00000002 266 #define DC_SIO_EE_DATAIN 0x00000004 267 #define DC_SIO_EE_DATAOUT 0x00000008 268 #define DC_SIO_ROMDATA4 0x00000010 269 #define DC_SIO_ROMDATA5 0x00000020 270 #define DC_SIO_ROMDATA6 0x00000040 271 #define DC_SIO_ROMDATA7 0x00000080 272 #define DC_SIO_EESEL 0x00000800 273 #define DC_SIO_ROMSEL 0x00001000 274 #define DC_SIO_ROMCTL_WRITE 0x00002000 275 #define DC_SIO_ROMCTL_READ 0x00004000 276 #define DC_SIO_MII_CLK 0x00010000 277 #define DC_SIO_MII_DATAOUT 0x00020000 278 #define DC_SIO_MII_DIR 0x00040000 279 #define DC_SIO_MII_DATAIN 0x00080000 281 #define DC_EECMD_WRITE 0x140 282 #define DC_EECMD_READ 0x180 283 #define DC_EECMD_ERASE 0x1c0 285 #define DC_EE_NODEADDR_OFFSET 0x70 286 #define DC_EE_NODEADDR 10 291 #define DC_TIMER_VALUE 0x0000FFFF 292 #define DC_TIMER_CONTINUOUS 0x00010000 297 #define DC_TSTAT_MIIACT 0x00000001 298 #define DC_TSTAT_LS100 0x00000002 299 #define DC_TSTAT_LS10 0x00000004 300 #define DC_TSTAT_AUTOPOLARITY 0x00000008 301 #define DC_TSTAT_AUIACT 0x00000100 302 #define DC_TSTAT_10BTACT 0x00000200 303 #define DC_TSTAT_NSN 0x00000400 304 #define DC_TSTAT_REMFAULT 0x00000800 305 #define DC_TSTAT_ANEGSTAT 0x00007000 306 #define DC_TSTAT_LP_CAN_NWAY 0x00008000 307 #define DC_TSTAT_LPCODEWORD 0xFFFF0000 309 #define DC_ASTAT_DISABLE 0x00000000 310 #define DC_ASTAT_TXDISABLE 0x00001000 311 #define DC_ASTAT_ABDETECT 0x00002000 312 #define DC_ASTAT_ACKDETECT 0x00003000 313 #define DC_ASTAT_CMPACKDETECT 0x00004000 314 #define DC_ASTAT_AUTONEGCMP 0x00005000 315 #define DC_ASTAT_LINKCHECK 0x00006000 320 #define DC_SIA_RESET 0x00000001 321 #define DC_SIA_AUI 0x00000008 326 #define DC_TCTL_ENCODER_ENB 0x00000001 327 #define DC_TCTL_LOOPBACK 0x00000002 328 #define DC_TCTL_DRIVER_ENB 0x00000004 329 #define DC_TCTL_LNKPULSE_ENB 0x00000008 330 #define DC_TCTL_HALFDUPLEX 0x00000040 331 #define DC_TCTL_AUTONEGENBL 0x00000080 332 #define DC_TCTL_RX_SQUELCH 0x00000100 333 #define DC_TCTL_COLL_SQUELCH 0x00000200 334 #define DC_TCTL_COLL_DETECT 0x00000400 335 #define DC_TCTL_SQE_ENB 0x00000800 336 #define DC_TCTL_LINKTEST 0x00001000 337 #define DC_TCTL_AUTOPOLARITY 0x00002000 338 #define DC_TCTL_SET_POL_PLUS 0x00004000 339 #define DC_TCTL_AUTOSENSE 0x00008000 340 #define DC_TCTL_100BTXHALF 0x00010000 341 #define DC_TCTL_100BTXFULL 0x00020000 342 #define DC_TCTL_100BT4 0x00040000 347 #define DC_WDOG_JABBERDIS 0x00000001 348 #define DC_WDOG_HOSTUNJAB 0x00000002 349 #define DC_WDOG_JABBERCLK 0x00000004 350 #define DC_WDOG_RXWDOGDIS 0x00000010 351 #define DC_WDOG_RXWDOGCLK 0x00000020 352 #define DC_WDOG_MUSTBEZERO 0x00000100 353 #define DC_WDOG_AUIBNC 0x00100000 354 #define DC_WDOG_ACTIVITY 0x00200000 355 #define DC_WDOG_RX_MATCH 0x00400000 356 #define DC_WDOG_LINK 0x00800000 357 #define DC_WDOG_CTLWREN 0x08000000 362 #define DC_SFRAME_LEN 192 375 #define dc_data dc_ptr1 376 #define dc_next dc_ptr2 378 #define DC_RXSTAT_FIFOOFLOW 0x00000001 379 #define DC_RXSTAT_CRCERR 0x00000002 380 #define DC_RXSTAT_DRIBBLE 0x00000004 381 #define DC_RXSTAT_MIIERE 0x00000008 382 #define DC_RXSTAT_WATCHDOG 0x00000010 383 #define DC_RXSTAT_FRAMETYPE 0x00000020 384 #define DC_RXSTAT_COLLSEEN 0x00000040 385 #define DC_RXSTAT_GIANT 0x00000080 386 #define DC_RXSTAT_LASTFRAG 0x00000100 387 #define DC_RXSTAT_FIRSTFRAG 0x00000200 388 #define DC_RXSTAT_MULTICAST 0x00000400 389 #define DC_RXSTAT_RUNT 0x00000800 390 #define DC_RXSTAT_RXTYPE 0x00003000 391 #define DC_RXSTAT_DE 0x00004000 392 #define DC_RXSTAT_RXERR 0x00008000 393 #define DC_RXSTAT_RXLEN 0x3FFF0000 394 #define DC_RXSTAT_OWN 0x80000000 396 #define DC_RXBYTES(x) ((x & DC_RXSTAT_RXLEN) >> 16) 397 #define DC_RXSTAT (DC_RXSTAT_FIRSTFRAG|DC_RXSTAT_LASTFRAG|DC_RXSTAT_OWN) 399 #define DC_RXCTL_BUFLEN1 0x00000FFF 400 #define DC_RXCTL_BUFLEN2 0x00FFF000 401 #define DC_RXCTL_RLINK 0x01000000 402 #define DC_RXCTL_RLAST 0x02000000 404 #define DC_TXSTAT_DEFER 0x00000001 405 #define DC_TXSTAT_UNDERRUN 0x00000002 406 #define DC_TXSTAT_LINKFAIL 0x00000003 407 #define DC_TXSTAT_COLLCNT 0x00000078 408 #define DC_TXSTAT_SQE 0x00000080 409 #define DC_TXSTAT_EXCESSCOLL 0x00000100 410 #define DC_TXSTAT_LATECOLL 0x00000200 411 #define DC_TXSTAT_NOCARRIER 0x00000400 412 #define DC_TXSTAT_CARRLOST 0x00000800 413 #define DC_TXSTAT_JABTIMEO 0x00004000 414 #define DC_TXSTAT_ERRSUM 0x00008000 415 #define DC_TXSTAT_OWN 0x80000000 417 #define DC_TXCTL_BUFLEN1 0x000007FF 418 #define DC_TXCTL_BUFLEN2 0x003FF800 419 #define DC_TXCTL_FILTTYPE0 0x00400000 420 #define DC_TXCTL_PAD 0x00800000 421 #define DC_TXCTL_TLINK 0x01000000 422 #define DC_TXCTL_TLAST 0x02000000 423 #define DC_TXCTL_NOCRC 0x04000000 424 #define DC_TXCTL_SETUP 0x08000000 425 #define DC_TXCTL_FILTTYPE1 0x10000000 426 #define DC_TXCTL_FIRSTFRAG 0x20000000 427 #define DC_TXCTL_LASTFRAG 0x40000000 428 #define DC_TXCTL_FINT 0x80000000 430 #define DC_FILTER_PERFECT 0x00000000 431 #define DC_FILTER_HASHPERF 0x00400000 432 #define DC_FILTER_INVERSE 0x10000000 433 #define DC_FILTER_HASHONLY 0x10400000 435 #define DC_MAXFRAGS 16 436 #ifdef DEVICE_POLLING 437 #define DC_RX_LIST_CNT 192 439 #define DC_RX_LIST_CNT 64 441 #define DC_TX_LIST_CNT 256 442 #define DC_MIN_FRAMELEN 60 443 #define DC_RXLEN 1536 445 #define DC_INC(x, y) (x) = (x + 1) % y 448 struct dc_desc dc_rx_list[DC_RX_LIST_CNT];
449 struct dc_desc dc_tx_list[DC_TX_LIST_CNT];
453 struct mbuf *dc_rx_chain[DC_RX_LIST_CNT];
454 struct mbuf *dc_tx_chain[DC_TX_LIST_CNT];
455 u_int32_t dc_sbuf[DC_SFRAME_LEN/
sizeof(u_int32_t)];
456 u_int8_t dc_pad[DC_MIN_FRAMELEN];
467 u_int8_t *dc_reset_ptr;
468 u_int8_t dc_reset_len;
484 u_int8_t mii_stdelim;
486 u_int8_t mii_phyaddr;
487 u_int8_t mii_regaddr;
488 u_int8_t mii_turnaround;
495 #define DC_MII_STARTDELIM 0x01 496 #define DC_MII_READOP 0x02 497 #define DC_MII_WRITEOP 0x01 498 #define DC_MII_TURNAROUND 0x02 511 #define DC_AL_CR 0x88 512 #define DC_AL_PAR0 0xA4 513 #define DC_AL_PAR1 0xA8 514 #define DC_AL_MAR0 0xAC 515 #define DC_AL_MAR1 0xB0 516 #define DC_AL_BMCR 0xB4 517 #define DC_AL_BMSR 0xB8 518 #define DC_AL_VENID 0xBC 519 #define DC_AL_DEVID 0xC0 520 #define DC_AL_ANAR 0xC4 521 #define DC_AL_LPAR 0xC8 522 #define DC_AL_ANER 0xCC 524 #define DC_AL_CR_ATUR 0x00000001 525 #define DC_ADMTEK_PHYADDR 0x1 526 #define DC_AL_EE_NODEADDR 4 532 #define DC_AX_FILTIDX 0x68 533 #define DC_AX_FILTDATA 0x70 538 #define DC_AX_NETCFG_RX_BROAD 0x00000100 543 #define DC_AX_FILTIDX_PAR0 0x00000000 544 #define DC_AX_FILTIDX_PAR1 0x00000001 545 #define DC_AX_FILTIDX_MAR0 0x00000002 546 #define DC_AX_FILTIDX_MAR1 0x00000003 555 #define DC_MX_MAGICPACKET 0x80 556 #define DC_MX_NWAYSTAT 0xA0 561 #define DC_MX_MPACK_DISABLE 0x00400000 566 #define DC_MX_NWAY_10BTHALF 0x08000000 567 #define DC_MX_NWAY_10BTFULL 0x10000000 568 #define DC_MX_NWAY_100BTHALF 0x20000000 569 #define DC_MX_NWAY_100BTFULL 0x40000000 570 #define DC_MX_NWAY_100BT4 0x80000000 578 #define DC_MX_MAGIC_98713 0x0F370000 579 #define DC_MX_MAGIC_98713A 0x0B3C0000 580 #define DC_MX_MAGIC_98715 0x0B3C0000 581 #define DC_MX_MAGIC_98725 0x0B3C0000 589 #define DC_PN_GPIO 0x60 590 #define DC_PN_PWRUP_CFG 0x90 591 #define DC_PN_SIOCTL 0x98 592 #define DC_PN_MII 0xA0 593 #define DC_PN_NWAY 0xB8 596 #define DC_PN_SIOCTL_DATA 0x0000003F 597 #define DC_PN_SIOCTL_OPCODE 0x00000300 598 #define DC_PN_SIOCTL_BUSY 0x80000000 600 #define DC_PN_EEOPCODE_ERASE 0x00000300 601 #define DC_PN_EEOPCODE_READ 0x00000600 602 #define DC_PN_EEOPCODE_WRITE 0x00000100 611 #define DC_PN_GPIO_DATA0 0x000000001 612 #define DC_PN_GPIO_DATA1 0x000000002 613 #define DC_PN_GPIO_DATA2 0x000000004 614 #define DC_PN_GPIO_DATA3 0x000000008 615 #define DC_PN_GPIO_CTL0 0x000000010 616 #define DC_PN_GPIO_CTL1 0x000000020 617 #define DC_PN_GPIO_CTL2 0x000000040 618 #define DC_PN_GPIO_CTL3 0x000000080 619 #define DC_PN_GPIO_SPEEDSEL DC_PN_GPIO_DATA0 620 #define DC_PN_GPIO_100TX_LOOP DC_PN_GPIO_DATA1 621 #define DC_PN_GPIO_BNC_ENB DC_PN_GPIO_DATA2 622 #define DC_PN_GPIO_100TX_LNK DC_PN_GPIO_DATA3 623 #define DC_PN_GPIO_SETBIT(sc, r) \ 624 DC_SETBIT(sc, DC_PN_GPIO, ((r) | (r << 4))) 625 #define DC_PN_GPIO_CLRBIT(sc, r) \ 627 DC_SETBIT(sc, DC_PN_GPIO, ((r) << 4)); \ 628 DC_CLRBIT(sc, DC_PN_GPIO, (r)); \ 632 #define DC_PN_MII_DATA 0x0000FFFF 633 #define DC_PN_MII_RESERVER 0x00020000 634 #define DC_PN_MII_REGADDR 0x007C0000 635 #define DC_PN_MII_PHYADDR 0x0F800000 636 #define DC_PN_MII_OPCODE 0x30000000 637 #define DC_PN_MII_BUSY 0x80000000 639 #define DC_PN_MIIOPCODE_READ 0x60020000 640 #define DC_PN_MIIOPCODE_WRITE 0x50020000 643 #define DC_PN_NWAY_RESET 0x00000001 644 #define DC_PN_NWAY_PDOWN 0x00000002 645 #define DC_PN_NWAY_BYPASS 0x00000004 646 #define DC_PN_NWAY_AUILOWCUR 0x00000008 647 #define DC_PN_NWAY_TPEXTEND 0x00000010 648 #define DC_PN_NWAY_POLARITY 0x00000020 649 #define DC_PN_NWAY_TP 0x00000040 650 #define DC_PN_NWAY_AUIVOLT 0x00000080 651 #define DC_PN_NWAY_DUPLEX 0x00000100 652 #define DC_PN_NWAY_LINKTEST 0x00000200 653 #define DC_PN_NWAY_AUTODETECT 0x00000400 654 #define DC_PN_NWAY_SPEEDSEL 0x00000800 655 #define DC_PN_NWAY_NWAY_ENB 0x00001000 656 #define DC_PN_NWAY_CAP10HDX 0x00002000 657 #define DC_PN_NWAY_CAP10FDX 0x00004000 658 #define DC_PN_NWAY_CAP100FDX 0x00008000 659 #define DC_PN_NWAY_CAP100HDX 0x00010000 660 #define DC_PN_NWAY_CAP100T4 0x00020000 661 #define DC_PN_NWAY_ANEGRESTART 0x02000000 662 #define DC_PN_NWAY_REMFAULT 0x04000000 663 #define DC_PN_NWAY_LPAR10HDX 0x08000000 664 #define DC_PN_NWAY_LPAR10FDX 0x10000000 665 #define DC_PN_NWAY_LPAR100FDX 0x20000000 666 #define DC_PN_NWAY_LPAR100HDX 0x40000000 667 #define DC_PN_NWAY_LPAR100T4 0x80000000 675 #define DC_CONEXANT_PHYADDR 0x1 676 #define DC_CONEXANT_EE_NODEADDR 0x19A 682 struct arpcom arpcom;
684 volatile u_int32_t membase;
687 bus_space_handle_t dc_bhandle;
688 bus_space_tag_t dc_btag;
690 struct resource *dc_irq;
691 struct resource *dc_res;
700 u_int8_t dc_cachesize;
702 int dc_pnic_rx_bug_save;
703 unsigned char *dc_pnic_rx_buf;
707 u_int32_t dc_txthresh;
718 #ifdef DEVICE_POLLING 723 u_int32_t saved_maps[5];
724 u_int32_t saved_biosaddr;
725 u_int8_t saved_intline;
726 u_int8_t saved_cachelnsz;
727 u_int8_t saved_lattimer;
730 #define DC_TX_POLL 0x00000001 731 #define DC_TX_COALESCE 0x00000002 732 #define DC_TX_ADMTEK_WAR 0x00000004 733 #define DC_TX_USE_TX_INTR 0x00000008 734 #define DC_RX_FILTER_TULIP 0x00000010 735 #define DC_TX_INTR_FIRSTFRAG 0x00000020 736 #define DC_PNIC_RX_BUG_WAR 0x00000040 737 #define DC_TX_FIXED_RING 0x00000080 738 #define DC_TX_STORENFWD 0x00000100 739 #define DC_REDUCED_MII_POLL 0x00000200 740 #define DC_TX_INTR_ALWAYS 0x00000400 741 #define DC_21143_NWAY 0x00000800 742 #define DC_128BIT_HASH 0x00001000 743 #define DC_64BIT_HASH 0x00002000 744 #define DC_TULIP_LEDS 0x00004000 745 #define DC_TX_ONE 0x00008000 750 #define _readl_(addr) (*(volatile unsigned int *)((void *)(addr))) 751 #define _writel_(b, addr) (*(volatile unsigned int *)((void *)(addr)) = (b)) 753 #define CSR_READ_4(sc, reg) _readl_(((sc->membase)+(reg))) 754 #define CSR_WRITE_4(sc, reg, val) _writel_(val, ((sc->membase)+(reg))) 761 #define DC_TIMEOUT 1000 762 #define ETHER_ALIGN 2 771 #define DC_VENDORID_DEC 0x1011 776 #define DC_DEVICEID_21143 0x0019 781 #define DC_VENDORID_MX 0x10D9 786 #define DC_DEVICEID_98713 0x0512 787 #define DC_DEVICEID_987x5 0x0531 788 #define DC_DEVICEID_98727 0x0532 789 #define DC_DEVICEID_98732 0x0532 792 #define DC_REVISION_98713 0x00 793 #define DC_REVISION_98713A 0x10 794 #define DC_REVISION_98715 0x20 795 #define DC_REVISION_98715AEC_C 0x25 796 #define DC_REVISION_98725 0x30 801 #define DC_VENDORID_CP 0x11F6 806 #define DC_DEVICEID_98713_CP 0x9881 811 #define DC_VENDORID_LO 0x11AD 818 #define DC_DEVICEID_82C168 0x0002 820 #define DC_REVISION_82C168 0x10 821 #define DC_REVISION_82C169 0x20 827 #define DC_DEVICEID_82C115 0xc115 832 #define DC_VENDORID_DAVICOM 0x1282 837 #define DC_DEVICEID_DM9009 0x9009 838 #define DC_DEVICEID_DM9100 0x9100 839 #define DC_DEVICEID_DM9102 0x9102 845 #define DC_REVISION_DM9102 0x10 846 #define DC_REVISION_DM9102A 0x30 851 #define DC_VENDORID_ADMTEK 0x1317 856 #define DC_DEVICEID_AL981 0x0981 857 #define DC_DEVICEID_AN985 0x0985 862 #define DC_VENDORID_ASIX 0x125B 867 #define DC_DEVICEID_AX88140A 0x1400 873 #define DC_REVISION_88140 0x00 874 #define DC_REVISION_88141 0x10 879 #define DC_VENDORID_ACCTON 0x1113 884 #define DC_DEVICEID_EN1217 0x1217 885 #define DC_DEVICEID_EN2242 0x1216 890 #define DC_VENDORID_CONEXANT 0x14f1 895 #define DC_DEVICEID_RS7112 0x1803 902 #define DC_PCI_CFID 0x00 903 #define DC_PCI_CFCS 0x04 904 #define DC_PCI_CFRV 0x08 905 #define DC_PCI_CFLT 0x0C 906 #define DC_PCI_CFBIO 0x10 907 #define DC_PCI_CFBMA 0x14 908 #define DC_PCI_CCIS 0x28 909 #define DC_PCI_CSID 0x2C 910 #define DC_PCI_CBER 0x30 911 #define DC_PCI_CCAP 0x34 912 #define DC_PCI_CFIT 0x3C 913 #define DC_PCI_CFDD 0x40 914 #define DC_PCI_CWUA0 0x44 915 #define DC_PCI_CWUA1 0x48 916 #define DC_PCI_SOP0 0x4C 917 #define DC_PCI_SOP1 0x50 918 #define DC_PCI_CWUC 0x54 919 #define DC_PCI_CCID 0xDC 920 #define DC_PCI_CPMC 0xE0 923 #define DC_CFID_VENDOR 0x0000FFFF 924 #define DC_CFID_DEVICE 0xFFFF0000 927 #define DC_CFCS_IOSPACE 0x00000001 928 #define DC_CFCS_MEMSPACE 0x00000002 929 #define DC_CFCS_BUSMASTER 0x00000004 930 #define DC_CFCS_MWI_ENB 0x00000010 931 #define DC_CFCS_PARITYERR_ENB 0x00000040 932 #define DC_CFCS_SYSERR_ENB 0x00000100 933 #define DC_CFCS_NEWCAPS 0x00100000 934 #define DC_CFCS_FAST_B2B 0x00800000 935 #define DC_CFCS_DATAPARITY 0x01000000 936 #define DC_CFCS_DEVSELTIM 0x06000000 937 #define DC_CFCS_TGTABRT 0x10000000 938 #define DC_CFCS_MASTERABRT 0x20000000 939 #define DC_CFCS_SYSERR 0x40000000 940 #define DC_CFCS_PARITYERR 0x80000000 943 #define DC_CFRV_STEPPING 0x0000000F 944 #define DC_CFRV_REVISION 0x000000F0 945 #define DC_CFRV_SUBCLASS 0x00FF0000 946 #define DC_CFRV_BASECLASS 0xFF000000 948 #define DC_21143_PB_REV 0x00000030 949 #define DC_21143_TB_REV 0x00000030 950 #define DC_21143_PC_REV 0x00000030 951 #define DC_21143_TC_REV 0x00000030 952 #define DC_21143_PD_REV 0x00000041 953 #define DC_21143_TD_REV 0x00000041 956 #define DC_CFLT_CACHELINESIZE 0x000000FF 957 #define DC_CFLT_LATENCYTIMER 0x0000FF00 960 #define DC_CSID_VENDOR 0x0000FFFF 961 #define DC_CSID_DEVICE 0xFFFF0000 964 #define DC_CCAP_OFFSET 0x000000FF 967 #define DC_CFIT_INTLINE 0x000000FF 968 #define DC_CFIT_INTPIN 0x0000FF00 969 #define DC_CFIT_MIN_GNT 0x00FF0000 970 #define DC_CFIT_MAX_LAT 0xFF000000 973 #define DC_CCID_CAPID 0x000000FF 974 #define DC_CCID_NEXTPTR 0x0000FF00 975 #define DC_CCID_PM_VERS 0x00070000 976 #define DC_CCID_PME_CLK 0x00080000 977 #define DC_CCID_DVSPEC_INT 0x00200000 978 #define DC_CCID_STATE_D1 0x02000000 979 #define DC_CCID_STATE_D2 0x04000000 980 #define DC_CCID_PME_D0 0x08000000 981 #define DC_CCID_PME_D1 0x10000000 982 #define DC_CCID_PME_D2 0x20000000 983 #define DC_CCID_PME_D3HOT 0x40000000 984 #define DC_CCID_PME_D3COLD 0x80000000 987 #define DC_CPMC_STATE 0x00000003 988 #define DC_CPMC_PME_ENB 0x00000100 989 #define DC_CPMC_PME_STS 0x00008000 991 #define DC_PSTATE_D0 0x0 992 #define DC_PSTATE_D1 0x1 993 #define DC_PSTATE_D2 0x2 994 #define DC_PSTATE_D3 0x3 998 #define DC_CFDD_DRVUSE 0x0000FFFF 999 #define DC_CFDD_SNOOZE_MODE 0x40000000 1000 #define DC_CFDD_SLEEP_MODE 0x80000000 1003 #define DC_CWUC_MUST_BE_ZERO 0x00000001 1004 #define DC_CWUC_SECUREON_ENB 0x00000002 1005 #define DC_CWUC_FORCE_WUL 0x00000004 1006 #define DC_CWUC_BNC_ABILITY 0x00000008 1007 #define DC_CWUC_AUI_ABILITY 0x00000010 1008 #define DC_CWUC_TP10_ABILITY 0x00000020 1009 #define DC_CWUC_MII_ABILITY 0x00000040 1010 #define DC_CWUC_SYM_ABILITY 0x00000080 1011 #define DC_CWUC_LOCK 0x00000100 1017 #define DC_IB_CTLRCNT 0x13 1018 #define DC_IB_LEAF0_CNUM 0x1A 1019 #define DC_IB_LEAF0_OFFSET 0x1B 1022 u_int16_t dc_conntype;
1025 u_int16_t dc_infoblk;
1028 #define DC_CTYPE_10BT 0x0000 1029 #define DC_CTYPE_10BT_NWAY 0x0100 1030 #define DC_CTYPE_10BT_FDX 0x0204 1031 #define DC_CTYPE_10B2 0x0001 1032 #define DC_CTYPE_10B5 0x0002 1033 #define DC_CTYPE_100BT 0x0003 1034 #define DC_CTYPE_100BT_FDX 0x0205 1035 #define DC_CTYPE_100T4 0x0006 1036 #define DC_CTYPE_100FX 0x0007 1037 #define DC_CTYPE_100FX_FDX 0x0208 1038 #define DC_CTYPE_MII_10BT 0x0009 1039 #define DC_CTYPE_MII_10BT_FDX 0x020A 1040 #define DC_CTYPE_MII_100BT 0x000D 1041 #define DC_CTYPE_MII_100BT_FDX 0x020E 1042 #define DC_CTYPE_MII_100T4 0x000F 1043 #define DC_CTYPE_MII_100FX 0x0010 1044 #define DC_CTYPE_MII_100FX_FDX 0x0211 1045 #define DC_CTYPE_DYN_PUP_AUTOSENSE 0x0800 1046 #define DC_CTYPE_PUP_AUTOSENSE 0x8800 1047 #define DC_CTYPE_NOMEDIA 0xFFFF 1049 #define DC_EBLOCK_SIA 0x0002 1050 #define DC_EBLOCK_MII 0x0003 1051 #define DC_EBLOCK_SYM 0x0004 1052 #define DC_EBLOCK_RESET 0x0005 1053 #define DC_EBLOCK_PHY_SHUTDOWN 0x0006 1068 u_int8_t dc_sia_code;
1069 u_int8_t dc_sia_mediaspec[6];
1070 u_int8_t dc_sia_gpio_ctl[2];
1071 u_int8_t dc_sia_gpio_dat[2];
1074 #define DC_SIA_CODE_10BT 0x00 1075 #define DC_SIA_CODE_10B2 0x01 1076 #define DC_SIA_CODE_10B5 0x02 1077 #define DC_SIA_CODE_10BT_FDX 0x04 1078 #define DC_SIA_CODE_EXT 0x40 1086 u_int8_t dc_mii_phynum;
1087 u_int8_t dc_gpr_len;
1099 u_int8_t dc_sym_code;
1100 u_int8_t dc_sym_gpio_ctl[2];
1101 u_int8_t dc_sym_gpio_dat[2];
1102 u_int8_t dc_sym_cmd[2];
1105 #define DC_SYM_CODE_100BT 0x03 1106 #define DC_SYM_CODE_100BT_FDX 0x05 1107 #define DC_SYM_CODE_100T4 0x06 1108 #define DC_SYM_CODE_100FX 0x07 1109 #define DC_SYM_CODE_100FX_FDX 0x08 1113 u_int8_t dc_reset_len;
1119 #define vtophys(va) alpha_XXX_dmamap((vm_offset_t)va) Definition: if_dcreg.h:447
Definition: if_dcreg.h:1055
Definition: if_dcreg.h:681
Definition: if_dcreg.h:473
Definition: if_dcreg.h:483
Definition: if_dcreg.h:1097
Definition: if_dcreg.h:1021
Definition: if_dcreg.h:1061
Definition: if_dcreg.h:1084
Definition: if_dcreg.h:1111
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:83
Definition: if_dcreg.h:452
Definition: if_dcreg.h:368
Definition: if_dcreg.h:1066