⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sunbmac.h

📁 powerpc内核mpc8241linux系统下net驱动程序
💻 H
📖 第 1 页 / 共 2 页
字号:
/* sunbmac.h: Defines for the Sun "Big MAC" 100baseT ethernet cards. * * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu) */#ifndef _SUNBMAC_H#define _SUNBMAC_H/* QEC global registers. */struct qe_globreg {	volatile unsigned int ctrl;      /* Control                  */	volatile unsigned int stat;      /* Status                   */	volatile unsigned int psize;     /* Packet Size              */	volatile unsigned int msize;     /* Local-mem size (64K)     */	volatile unsigned int rsize;     /* Receive partition size   */	volatile unsigned int tsize;     /* Transmit partition size  */};#define GLOB_CTRL_MMODE       0x40000000 /* MACE qec mode            */#define GLOB_CTRL_BMODE       0x10000000 /* BigMAC qec mode          */#define GLOB_CTRL_EPAR        0x00000020 /* Enable parity            */#define GLOB_CTRL_ACNTRL      0x00000018 /* SBUS arbitration control */#define GLOB_CTRL_B64         0x00000004 /* 64 byte dvma bursts      */#define GLOB_CTRL_B32         0x00000002 /* 32 byte dvma bursts      */#define GLOB_CTRL_B16         0x00000000 /* 16 byte dvma bursts      */#define GLOB_CTRL_RESET       0x00000001 /* Reset the QEC            */#define GLOB_STAT_TX          0x00000008 /* BigMAC Transmit IRQ      */#define GLOB_STAT_RX          0x00000004 /* BigMAC Receive IRQ       */#define GLOB_STAT_BM          0x00000002 /* BigMAC Global IRQ        */#define GLOB_STAT_ER          0x00000001 /* BigMAC Error IRQ         */#define GLOB_PSIZE_2048       0x00       /* 2k packet size           */#define GLOB_PSIZE_4096       0x01       /* 4k packet size           */#define GLOB_PSIZE_6144       0x10       /* 6k packet size           */#define GLOB_PSIZE_8192       0x11       /* 8k packet size           *//* QEC BigMAC channel registers. */struct qe_creg {	volatile unsigned int ctrl;       /* Control                     */	volatile unsigned int stat;       /* Status                      */	volatile unsigned int rxds;       /* RX descriptor ring ptr      */	volatile unsigned int txds;       /* TX descriptor ring ptr      */	volatile unsigned int rimask;     /* RX Interrupt Mask           */	volatile unsigned int timask;     /* TX Interrupt Mask           */	volatile unsigned int qmask;      /* QEC Error Interrupt Mask    */	volatile unsigned int bmask;      /* BigMAC Error Interrupt Mask */	volatile unsigned int rxwbufptr;  /* Local memory rx write ptr   */	volatile unsigned int rxrbufptr;  /* Local memory rx read ptr    */	volatile unsigned int txwbufptr;  /* Local memory tx write ptr   */	volatile unsigned int txrbufptr;  /* Local memory tx read ptr    */	volatile unsigned int ccnt;       /* Collision Counter           */};#define CREG_CTRL_TWAKEUP     0x00000001  /* Transmitter Wakeup, 'go'. */#define CREG_STAT_BERROR      0x80000000  /* BigMAC error              */#define CREG_STAT_TXIRQ       0x00200000  /* Transmit Interrupt        */#define CREG_STAT_TXDERROR    0x00080000  /* TX Descriptor is bogus    */#define CREG_STAT_TXLERR      0x00040000  /* Late Transmit Error       */#define CREG_STAT_TXPERR      0x00020000  /* Transmit Parity Error     */#define CREG_STAT_TXSERR      0x00010000  /* Transmit SBUS error ack   */#define CREG_STAT_RXIRQ       0x00000020  /* Receive Interrupt         */#define CREG_STAT_RXDROP      0x00000010  /* Dropped a RX'd packet     */#define CREG_STAT_RXSMALL     0x00000008  /* Receive buffer too small  */#define CREG_STAT_RXLERR      0x00000004  /* Receive Late Error        */#define CREG_STAT_RXPERR      0x00000002  /* Receive Parity Error      */#define CREG_STAT_RXSERR      0x00000001  /* Receive SBUS Error ACK    */#define CREG_STAT_ERRORS      (CREG_STAT_BERROR|CREG_STAT_TXDERROR|CREG_STAT_TXLERR|   \                               CREG_STAT_TXPERR|CREG_STAT_TXSERR|CREG_STAT_RXDROP|     \                               CREG_STAT_RXSMALL|CREG_STAT_RXLERR|CREG_STAT_RXPERR|    \                               CREG_STAT_RXSERR)#define CREG_QMASK_TXDERROR   0x00080000  /* TXD error                 */#define CREG_QMASK_TXLERR     0x00040000  /* TX late error             */#define CREG_QMASK_TXPERR     0x00020000  /* TX parity error           */#define CREG_QMASK_TXSERR     0x00010000  /* TX sbus error ack         */#define CREG_QMASK_RXDROP     0x00000010  /* RX drop                   */#define CREG_QMASK_RXBERROR   0x00000008  /* RX buffer error           */#define CREG_QMASK_RXLEERR    0x00000004  /* RX late error             */#define CREG_QMASK_RXPERR     0x00000002  /* RX parity error           */#define CREG_QMASK_RXSERR     0x00000001  /* RX sbus error ack         */struct BIG_MAC_regs {	volatile unsigned int xif_cfg;		/* XIF config register                */	volatile unsigned int _unused[63];	/* Reserved...                        */	volatile unsigned int status;		/* Status register, clear on read     */	volatile unsigned int imask;		/* Interrupt mask register            */	volatile unsigned int _unused2[64];	/* Reserved...                        */	volatile unsigned int tx_swreset;	/* Transmitter software reset         */	volatile unsigned int tx_cfg;           /* Transmitter config register        */	volatile unsigned int ipkt_gap1;	/* Inter-packet gap 1                 */	volatile unsigned int ipkt_gap2;	/* Inter-packet gap 2                 */	volatile unsigned int attempt_limit;	/* Transmit attempt limit             */	volatile unsigned int stime;		/* Transmit slot time                 */	volatile unsigned int preamble_len;	/* Size of transmit preamble          */	volatile unsigned int preamble_pattern;	/* Pattern for transmit preamble      */	volatile unsigned int tx_sframe_delim;	/* Transmit delimiter                 */	volatile unsigned int jsize;		/* Toe jam...                         */	volatile unsigned int tx_pkt_max;	/* Transmit max pkt size              */	volatile unsigned int tx_pkt_min;	/* Transmit min pkt size              */	volatile unsigned int peak_attempt;	/* Count of transmit peak attempts    */	volatile unsigned int dt_ctr;		/* Transmit defer timer               */	volatile unsigned int nc_ctr;           /* Transmit normal-collision counter  */	volatile unsigned int fc_ctr;           /* Transmit first-collision counter   */	volatile unsigned int ex_ctr;           /* Transmit excess-collision counter  */	volatile unsigned int lt_ctr;           /* Transmit late-collision counter    */	volatile unsigned int rand_seed;        /* Transmit random number seed        */	volatile unsigned int tx_smachine;      /* Transmit state machine             */	volatile unsigned int _unused3[44];     /* Reserved                           */	volatile unsigned int rx_swreset;       /* Receiver software reset            */	volatile unsigned int rx_cfg;           /* Receiver config register           */	volatile unsigned int rx_pkt_max;       /* Receive max pkt size               */	volatile unsigned int rx_pkt_min;       /* Receive min pkt size               */	volatile unsigned int mac_addr2;        /* Ether address register 2           */	volatile unsigned int mac_addr1;        /* Ether address register 1           */	volatile unsigned int mac_addr0;        /* Ether address register 0           */	volatile unsigned int fr_ctr;           /* Receive frame receive counter      */	volatile unsigned int gle_ctr;          /* Receive giant-length error counter */	volatile unsigned int unale_ctr;        /* Receive unaligned error counter    */	volatile unsigned int rcrce_ctr;        /* Receive CRC error counter          */	volatile unsigned int rx_smachine;      /* Receiver state machine             */	volatile unsigned int rx_cvalid;        /* Receiver code violation            */	volatile unsigned int _unused4;         /* Reserved...                        */	volatile unsigned int htable3;          /* Hash table 3                       */	volatile unsigned int htable2;          /* Hash table 2                       */	volatile unsigned int htable1;          /* Hash table 1                       */	volatile unsigned int htable0;          /* Hash table 0                       */	volatile unsigned int afilter2;         /* Address filter 2                   */	volatile unsigned int afilter1;         /* Address filter 1                   */	volatile unsigned int afilter0;         /* Address filter 0                   */	volatile unsigned int afilter_mask;     /* Address filter mask                */};/* BigMac XIF config register. */#define BIGMAC_XCFG_ODENABLE   0x00000001 /* Output driver enable                     */#define BIGMAC_XCFG_RESV       0x00000002 /* Reserved, write always as 1              */#define BIGMAC_XCFG_MLBACK     0x00000004 /* Loopback-mode MII enable                 */#define BIGMAC_XCFG_SMODE      0x00000008 /* Enable serial mode                       *//* BigMAC status register. */#define BIGMAC_STAT_GOTFRAME   0x00000001 /* Received a frame                         */#define BIGMAC_STAT_RCNTEXP    0x00000002 /* Receive frame counter expired            */#define BIGMAC_STAT_ACNTEXP    0x00000004 /* Align-error counter expired              */#define BIGMAC_STAT_CCNTEXP    0x00000008 /* CRC-error counter expired                */#define BIGMAC_STAT_LCNTEXP    0x00000010 /* Length-error counter expired             */#define BIGMAC_STAT_RFIFOVF    0x00000020 /* Receive FIFO overflow                    */#define BIGMAC_STAT_CVCNTEXP   0x00000040 /* Code-violation counter expired           */#define BIGMAC_STAT_SENTFRAME  0x00000100 /* Transmitted a frame                      */#define BIGMAC_STAT_TFIFO_UND  0x00000200 /* Transmit FIFO underrun                   */#define BIGMAC_STAT_MAXPKTERR  0x00000400 /* Max-packet size error                    */#define BIGMAC_STAT_NCNTEXP    0x00000800 /* Normal-collision counter expired         */#define BIGMAC_STAT_ECNTEXP    0x00001000 /* Excess-collision counter expired         */#define BIGMAC_STAT_LCCNTEXP   0x00002000 /* Late-collision counter expired           */#define BIGMAC_STAT_FCNTEXP    0x00004000 /* First-collision counter expired          */#define BIGMAC_STAT_DTIMEXP    0x00008000 /* Defer-timer expired                      *//* BigMAC interrupt mask register. */#define BIGMAC_IMASK_GOTFRAME  0x00000001 /* Received a frame                         */#define BIGMAC_IMASK_RCNTEXP   0x00000002 /* Receive frame counter expired            */#define BIGMAC_IMASK_ACNTEXP   0x00000004 /* Align-error counter expired              */#define BIGMAC_IMASK_CCNTEXP   0x00000008 /* CRC-error counter expired                */#define BIGMAC_IMASK_LCNTEXP   0x00000010 /* Length-error counter expired             */#define BIGMAC_IMASK_RFIFOVF   0x00000020 /* Receive FIFO overflow                    */#define BIGMAC_IMASK_CVCNTEXP  0x00000040 /* Code-violation counter expired           */#define BIGMAC_IMASK_SENTFRAME 0x00000100 /* Transmitted a frame                      */#define BIGMAC_IMASK_TFIFO_UND 0x00000200 /* Transmit FIFO underrun                   */#define BIGMAC_IMASK_MAXPKTERR 0x00000400 /* Max-packet size error                    */#define BIGMAC_IMASK_NCNTEXP   0x00000800 /* Normal-collision counter expired         */#define BIGMAC_IMASK_ECNTEXP   0x00001000 /* Excess-collision counter expired         */#define BIGMAC_IMASK_LCCNTEXP  0x00002000 /* Late-collision counter expired           */#define BIGMAC_IMASK_FCNTEXP   0x00004000 /* First-collision counter expired          */#define BIGMAC_IMASK_DTIMEXP   0x00008000 /* Defer-timer expired                      *//* BigMac transmit config register. */#define BIGMAC_TXCFG_ENABLE    0x00000001 /* Enable the transmitter                   */#define BIGMAC_TXCFG_FIFO      0x00000010 /* Default tx fthresh...                    */#define BIGMAC_TXCFG_SMODE     0x00000020 /* Enable slow transmit mode                */#define BIGMAC_TXCFG_CIGN      0x00000040 /* Ignore transmit collisions               */#define BIGMAC_TXCFG_FCSOFF    0x00000080 /* Do not emit FCS                          */#define BIGMAC_TXCFG_DBACKOFF  0x00000100 /* Disable backoff                          */#define BIGMAC_TXCFG_FULLDPLX  0x00000200 /* Enable full-duplex                       *//* BigMac receive config register. */#define BIGMAC_RXCFG_ENABLE    0x00000001 /* Enable the receiver                      */#define BIGMAC_RXCFG_FIFO      0x0000000e /* Default rx fthresh...                    */#define BIGMAC_RXCFG_PSTRIP    0x00000020 /* Pad byte strip enable                    */#define BIGMAC_RXCFG_PMISC     0x00000040 /* Enable promiscous mode                   */#define BIGMAC_RXCFG_DERR      0x00000080 /* Disable error checking                   */#define BIGMAC_RXCFG_DCRCS     0x00000100 /* Disable CRC stripping                    */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -