The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/ic/lan9118reg.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*      $NetBSD: lan9118reg.h,v 1.3 2010/09/27 12:29:03 kiyohara Exp $  */
    2 /*
    3  * Copyright (c) 2008 KIYOHARA Takashi
    4  * All rights reserved.
    5  *
    6  * Redistribution and use in source and binary forms, with or without
    7  * modification, are permitted provided that the following conditions
    8  * are met:
    9  * 1. Redistributions of source code must retain the above copyright
   10  *    notice, this list of conditions and the following disclaimer.
   11  * 2. Redistributions in binary form must reproduce the above copyright
   12  *    notice, this list of conditions and the following disclaimer in the
   13  *    documentation and/or other materials provided with the distribution.
   14  *
   15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
   16  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   17  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   18  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
   19  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   20  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   21  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   22  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   23  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
   24  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   25  * POSSIBILITY OF SUCH DAMAGE.
   26  */
   27 
   28 #ifndef _LAN9118REG_H_
   29 #define _LAN9118REG_H_
   30 
   31 #define LAN9118_IOSIZE  0x100
   32 
   33 #define LAN9118_ID_9115 0x0115
   34 #define LAN9118_ID_9116 0x0116
   35 #define LAN9118_ID_9117 0x0117
   36 #define LAN9118_ID_9118 0x0118
   37 #define LAN9218_ID_9215 0x115a
   38 #define LAN9218_ID_9217 0x117a
   39 #define LAN9218_ID_9218 0x118a
   40 
   41 #define LAN9210_ID_9210 0x9210
   42 #define LAN9210_ID_9211 0x9211
   43 #define LAN9220_ID_9220 0x9220
   44 #define LAN9220_ID_9221 0x9221
   45 
   46 #define IS_LAN9118(id)  ((id) >= LAN9118_ID_9115 && (id) <= LAN9118_ID_9118)
   47 #define IS_LAN9218(id)  ((id) >= LAN9218_ID_9215 && (id) <= LAN9218_ID_9218)
   48 
   49 #define LAN9118_IPHY_ADDR       0x01    /* Internal PHY Address */
   50 
   51 
   52 #define LAN9118_RXDFIFOP        0x00    /* RX Data FIFO Port */
   53 #define LAN9118_RXDFIFOAP       0x04    /* RX Data FIFO Alias Ports */
   54 #define LAN9118_TXDFIFOP        0x20    /* TX Data FIFO Port */
   55 #define LAN9118_TXDFIFOAP       0x24    /* TX Data FIFO Alias Ports */
   56 #define LAN9118_RXSFIFOP        0x40    /* RX Status FIFO Port */
   57 #define LAN9118_RXSFIFOPEEK     0x44    /* RX Status FIFO PEEK */
   58 #define LAN9118_TXSFIFOP        0x48    /* TX Status FIFO Port */
   59 #define LAN9118_TXSFIFOPEEK     0x4c    /* TX Status FIFO PEEK */
   60 
   61 /* System Control and Status Registers */
   62 #define LAN9118_ID_REV          0x50    /* Chip ID and Revision */
   63 #define LAN9118_ID_REV_ID(x)            (((x) >> 16) & 0xffff)
   64 #define LAN9118_ID_REV_REV(x)           ((x) & 0xffff)
   65 #define LAN9118_IRQ_CFG         0x54    /* Main Interrupt Configuration */
   66 #define LAN9118_IRQ_CFG_INT_DEAS(t)     ((t) << 24) /* Intr Deassert Interval */
   67 #define LAN9118_IRQ_CFG_INT_DEAS_CLR    (1 << 14)   /* Intr Deass Intrval clr */
   68 #define LAN9118_IRQ_CFG_INT_DEAS_STS    (1 << 13)   /* Intr Deassert Status */
   69 #define LAN9118_IRQ_CFG_IRQ_INT         (1 << 12)   /* Master Interrupt */
   70 #define LAN9118_IRQ_CFG_IRQ_EN          (1 << 8)    /* IRQ Enable */
   71 #define LAN9118_IRQ_CFG_IRQ_POL         (1 << 4)    /* IRQ Polarity */
   72 #define LAN9118_IRQ_CFG_IRQ_TYPE        (1 << 0)    /* IRQ Buffer Type */
   73 #define LAN9118_INT_STS         0x58    /* Interrupt Status */
   74 #define LAN9118_INT_EN          0x5c    /* Interrupt Enable Register */
   75 #define LAN9118_INT_SW_INT              (1 << 31) /* Software Interrupt */
   76 #define LAN9118_INT_TXSTOP_INT          (1 << 25) /* TX Stopped */
   77 #define LAN9118_INT_RXSTOP_INT          (1 << 24) /* RX Stopped */
   78 #define LAN9118_INT_RXDFH_INT           (1 << 23) /* RX Drppd Frm Cnt Halfway */
   79 #define LAN9118_INT_TX_IOC              (1 << 21) /* TX IOC Interrupt */
   80 #define LAN9118_INT_RXD_INT             (1 << 20) /* RX DMA Interrupt */
   81 #define LAN9118_INT_GPT_INT             (1 << 19) /* GP Timer */
   82 #define LAN9118_INT_PHY_INT             (1 << 18) /* PHY */
   83 #define LAN9118_INT_PME_INT             (1 << 17) /* Power Management Event */
   84 #define LAN9118_INT_TXSO                (1 << 16) /* TX Status FIFO Overflow */
   85 #define LAN9118_INT_RWT                 (1 << 15) /* Rcv Watchdog Time-out */
   86 #define LAN9118_INT_RXE                 (1 << 14) /* Receive Error */
   87 #define LAN9118_INT_TXE                 (1 << 13) /* Transmitter Error */
   88 #define LAN9118_INT_TDFO                (1 << 10) /* TX Data FIFO Overrun */
   89 #define LAN9118_INT_TDFA                (1 << 9)  /* TX Data FIFO Available */
   90 #define LAN9118_INT_TSFF                (1 << 8)  /* TX Status FIFO Full */
   91 #define LAN9118_INT_TSFL                (1 << 7)  /* TX Status FIFO Level */
   92 #define LAN9118_INT_RXDF_INT            (1 << 6)  /* RX Dropped Frame Intr */
   93 #define LAN9118_INT_RSFF                (1 << 4)  /* RX Status FIFO Full */
   94 #define LAN9118_INT_RSFL                (1 << 3)  /* RX Status FIFO Level */
   95 #define LAN9118_INT_GPIOX_INT(x)        (1 << (x)) /* GPIO[2:0] */
   96 /*                              0x60       Reserved for future use */
   97 #define LAN9118_BYTE_TEST       0x64    /* Read-only byte order testing reg */
   98 #define LAN9118_BYTE_TEST_VALUE         0x87654321
   99 #define LAN9118_FIFO_INT        0x68    /* FIFO Level Interrupt */
  100 #define LAN9118_FIFO_INT_TXDAL(x)       ((x) << 24) /* TX Data Available Lvl */
  101 #define LAN9118_FIFO_INT_TXSL(x)        ((x) << 16) /* TX Status Level */
  102 #define LAN9118_FIFO_INT_RXSL(x)        ((x) << 0)  /* RX Status Level */
  103 #define LAN9118_RX_CFG          0x6c    /* Receive Configuration */
  104 #define LAN9118_RX_CFG_RXEA_4B          (0 << 30) /* RX End Alignment: 4 Byte */
  105 #define LAN9118_RX_CFG_RXEA_16B         (1 << 30) /*                  16 Byte */
  106 #define LAN9118_RX_CFG_RXEA_32B         (2 << 30) /*                  32 Byte */
  107 #define LAN9118_RX_CFG_RX_DMA_CNT(x)    ((x) << 16) /* RX DMA Count */
  108 #define LAN9118_RX_CFG_RX_DUMP          (1 << 15)   /* Force RX Discard */
  109 #define LAN9118_RX_CFG_RXDOFF(x)        ((x) << 8)  /* RX Data Offset */
  110 #define LAN9118_TX_CFG          0x70    /* Transmit Configuration */
  111 #define LAN9118_TX_CFG_TXS_DUMP         (1 << 15) /* Force TX Status Discard */
  112 #define LAN9118_TX_CFG_TXD_DUMP         (1 << 14) /* Force TX Data Discard */
  113 #define LAN9118_TX_CFG_TXSAO            (1 << 2)  /* TX Status Allow Overrun */
  114 #define LAN9118_TX_CFG_TX_ON            (1 << 1)  /* Transmitter Enable */
  115 #define LAN9118_TX_CFG_STOP_TX          (1 << 0)  /* Stop Transmitter */
  116 #define LAN9118_HW_CFG          0x74    /* Hardware Configuration */
  117 #define LAN9118_HW_CFG_MBO              (1 << 20)/* Must Be One */
  118 #define LAN9118_HW_CFG_TX_FIF_MASK      (0xf << 16)     /* TX FIFO Size */
  119 #define LAN9118_HW_CFG_TX_FIF_SZ(sz)    ((sz) << 16)
  120 #define LAN9118_HW_CFG_PHY_CLK_SEL_MASK (3 << 5) /* PHY Clock Select */
  121 #define LAN9118_HW_CFG_PHY_CLK_SEL_IPHY (0 << 5) /*   Internal PHY */
  122 #define LAN9118_HW_CFG_PHY_CLK_SEL_EMII (1 << 5) /*   External MII Port */
  123 #define LAN9118_HW_CFG_PHY_CLK_SEL_CD   (2 << 5) /*   Clock Disabled */
  124 #define LAN9118_HW_CFG_SMI_SEL          (1 << 4) /* Serial Mgmt Interface Sel */
  125 #define LAN9118_HW_CFG_EXT_PHY_DET      (1 << 3) /* External PHY Detect */
  126 #define LAN9118_HW_CFG_EXT_PHY_EN       (1 << 2) /* External PHY Enable */
  127 #define LAN9118_HW_CFG_SRST_TO          (1 << 1) /* Soft Reset Timeout */
  128 #define LAN9118_HW_CFG_SRST             (1 << 0) /* Soft Reset */
  129 #define LAN9118_RX_DP_CTL       0x78    /* RX Datapath Control */
  130 #define LAN9118_RX_DP_CTL_RX_FFWD       (1 << 31)/* RX Data FIFO Fast Forward */
  131 #define LAN9118_RX_FIFO_INF     0x7c    /* Receive FIFO Information */
  132 #define LAN9118_RX_FIFO_INF_RXSUSED(x)  (((x) >> 16) & 0xff) /*Sts Used Space*/
  133 #define LAN9118_RX_FIFO_INF_RXDUSED(x)  ((x) & 0xffff)  /*Data FIFO Used Space*/
  134 #define LAN9118_TX_FIFO_INF     0x80    /* Transmit FIFO Information */
  135 #define LAN9118_TX_FIFO_INF_TXSUSED(x)  (((x) >> 16) & 0xff) /*Sts Used Space*/
  136 #define LAN9118_TX_FIFO_INF_TDFREE(x)   ((x) & 0xffff) /*Data FIFO Free Space*/
  137 #define LAN9118_PMT_CTRL        0x84    /* Power Management Control */
  138 #define LAN9118_PMT_CTRL_PM_MODE_MASK   (3 << 12)
  139 #define LAN9118_PMT_CTRL_PM_MODE_D0     (0 << 12)
  140 #define LAN9118_PMT_CTRL_PM_MODE_D1     (1 << 12)
  141 #define LAN9118_PMT_CTRL_PM_MODE_D2     (2 << 12)
  142 #define LAN9118_PMT_CTRL_PHY_RST        (1 << 10) /* PHY Reset */
  143 #define LAN9118_PMT_CTRL_WOL_EN         (1 << 9)  /* Wake-On-LAN Enable */
  144 #define LAN9118_PMT_CTRL_ED_EN          (1 << 8)  /* Energy-Detect Enable */
  145 #define LAN9118_PMT_CTRL_PME_TYPE       (1 << 6)  /* PME Buffer Type */
  146 #define LAN9118_PMT_CTRL_WUPS_NWUED     (0 << 4) /* WAKE-UP Status: No Event */
  147 #define LAN9118_PMT_CTRL_WUPS_ED        (1 << 4) /* WAKE-UP Status: Energy */
  148 #define LAN9118_PMT_CTRL_WUPS_WUD       (2 << 4) /* WAKE-UP Status: Wake-up */
  149 #define LAN9118_PMT_CTRL_PME_IND        (1 << 3)  /* PME indication */
  150 #define LAN9118_PMT_CTRL_PME_POL        (1 << 2)  /* PME Polarity */
  151 #define LAN9118_PMT_CTRL_PME_EN         (1 << 1)  /* PME Enable */
  152 #define LAN9118_PMT_CTRL_READY          (1 << 0)  /* Device Ready */
  153 #define LAN9118_GPIO_CFG        0x88    /* General Purpose IO Configuration */
  154 #define LAN9118_GPIO_CFG_LEDX_EN(x)     (1 << ((x) + 28))  /* LED[3:1] enable */
  155 #define LAN9118_GPIO_CFG_GPIO_INT_POL(p) (1 << ((p) + 24)) /* Intr Polarity */
  156 #define LAN9118_GPIO_CFG_EEPR_EN        (7 << 20)          /* EEPROM Enable */
  157 #define LAN9118_GPIO_CFG_GPIOBUFN(n)    (1 << ((n) + 16))  /* Buffer Type */
  158 #define LAN9118_GPIO_CFG_GPDIRN(n)      (1 << ((n) + 8))   /* Direction */
  159 #define LAN9118_GPIO_CFG_GPODN(n)       (1 << (n)) /* GPIO Data (3,4 is WO) */
  160 #define LAN9118_GPT_CFG         0x8c    /* General Purpose Timer Config */
  161 #define LAN9118_GPT_CNT         0x90    /* General Purpose Timer Count */
  162 /*                              0x94       Reserved for future use */
  163 #define LAN9118_WORD_SWAP       0x98    /* WORD SWAP Register */
  164 #define LAN9118_FREE_RUN        0x9c    /* Free Run Counter */
  165 #define LAN9118_RX_DROP         0xa0    /* RX Drop Frame Counter */
  166 #define LAN9118_MAC_CSR_CMD     0xa4    /* MAC CSR Synchronizer Command */
  167 #define LAN9118_MAC_CSR_CMD_BUSY        (1 << 31)
  168 #define LAN9118_MAC_CSR_CMD_W           (0 << 30)
  169 #define LAN9118_MAC_CSR_CMD_R           (1 << 30)
  170 #define LAN9118_MAC_CSR_CMD_ADDRESS(a)  ((a) & 0xff)
  171 #define LAN9118_MAC_CSR_DATA    0xa8    /* MAC CSR Synchronizer Data */
  172 #define LAN9118_AFC_CFG         0xac    /* Automatic Flow Control Config */
  173 #define LAN9118_AFC_CFG_AFC_HI(x)       ((x) << 16)
  174 #define LAN9118_AFC_CFG_AFC_LO(x)       ((x) << 8)
  175 #define LAN9118_AFC_CFG_BACK_DUR(x)     ((x) << 4)
  176 #define LAN9118_AFC_CFG_FCMULT          (1 << 3) /* Flow Control on Multicast */
  177 #define LAN9118_AFC_CFG_FCBRD           (1 << 2) /* Flow Control on Broadcast */
  178 #define LAN9118_AFC_CFG_FCADD           (1 << 1) /* Flow Control on Addr Dec */
  179 #define LAN9118_AFC_CFG_FCANY           (1 << 0) /* Flow Control on Any Frame */
  180 #define LAN9118_E2P_CMD         0xb0    /* EEPROM command */
  181 #define LAN9118_E2P_CMD_EPCB            (1 << 31) /* EPC Busy */
  182 #define LAN9118_E2P_CMD_EPCC_READ       (0 << 28) /* EPC Command: READ */
  183 #define LAN9118_E2P_CMD_EPCC_EWDS       (1 << 28) /*              EWDS */
  184 #define LAN9118_E2P_CMD_EPCC_EWEN       (2 << 28) /*              EWEN */
  185 #define LAN9118_E2P_CMD_EPCC_WRITE      (3 << 28) /*              WRITE */
  186 #define LAN9118_E2P_CMD_EPCC_WRAL       (4 << 28) /*              WRAL */
  187 #define LAN9118_E2P_CMD_EPCC_ERASE      (5 << 28) /*              ERASE */
  188 #define LAN9118_E2P_CMD_EPCC_ERAL       (6 << 28) /*              ERAL */
  189 #define LAN9118_E2P_CMD_EPCC_RELOAD     (7 << 28) /*              Reload */
  190 #define LAN9118_E2P_CMD_EPCTO           (1 << 9)  /* EPC Time-out */
  191 #define LAN9118_E2P_CMD_MACAL           (1 << 8)  /* MAC Address Loaded */
  192 #define LAN9118_E2P_CMD_EPCA(a)         ((a) & 0xff) /* EPC Address */
  193 #define LAN9118_E2P_DATA        0xb4    /* EEPROM Data */
  194 /*                              0xb8 - 0xfc Reserved for future use */
  195 
  196 /* MAC Control and Status Registers */
  197 #define LAN9118_MAC_CR          0x1     /* MAC Control Register */
  198 #define LAN9118_MAC_CR_RXALL            (1 << 31) /* Receive All Mode */
  199 #define LAN9118_MAC_CR_RCVOWN           (1 << 23) /* Disable Receive Own */
  200 #define LAN9118_MAC_CR_LOOPBK           (1 << 21) /* Loopback operation Mode */
  201 #define LAN9118_MAC_CR_FDPX             (1 << 20) /* Full Duplex Mode */
  202 #define LAN9118_MAC_CR_MCPAS            (1 << 19) /* Pass All Multicast */
  203 #define LAN9118_MAC_CR_PRMS             (1 << 18) /* Promiscuous Mode */
  204 #define LAN9118_MAC_CR_INVFILT          (1 << 17) /* Inverse filtering */
  205 #define LAN9118_MAC_CR_PASSBAD          (1 << 16) /* Pass Bad Frames */
  206 #define LAN9118_MAC_CR_HO               (1 << 15) /* Hash Only Filtering mode */
  207 #define LAN9118_MAC_CR_HPFILT           (1 << 13) /* Hash/Perfect Flt Mode */
  208 #define LAN9118_MAC_CR_LCOLL            (1 << 12) /* Late Collision Control */
  209 #define LAN9118_MAC_CR_BCAST            (1 << 11) /* Disable Broardcast Frms */
  210 #define LAN9118_MAC_CR_DISRTY           (1 << 10) /* Disable Retry */
  211 #define LAN9118_MAC_CR_PADSTR           (1 << 8)  /* Automatic Pad String */
  212 #define LAN9118_MAC_CR_BOLMT            (1 << 7)  /* BackOff Limit */
  213 #define LAN9118_MAC_CR_DFCHK            (1 << 5)  /* Deferral Check */
  214 #define LAN9118_MAC_CR_TXEN             (1 << 3)  /* Transmitter enable */
  215 #define LAN9118_MAC_CR_RXEN             (1 << 2)  /* Receiver enable */
  216 #define LAN9118_ADDRH           0x2     /* MAC Address High */
  217 #define LAN9118_ADDRL           0x3     /* MAC Address Low */
  218 #define LAN9118_HASHH           0x4     /* Multicast Hash Table High */
  219 #define LAN9118_HASHL           0x5     /* Multicast Hash Table Low */
  220 #define LAN9118_MII_ACC         0x6     /* MII Access */
  221 #define LAN9118_MII_ACC_PHYA(a)         ((a) << 11)     /* PHY Address */
  222 #define LAN9118_MII_ACC_MIIRINDA(i)     ((i) << 6)      /* MII Register Index */
  223 #define LAN9118_MII_ACC_MIIWNR          (1 << 1)        /* MII Write */
  224 #define LAN9118_MII_ACC_MIIBZY          (1 << 0)        /* MII Busy */
  225 #define LAN9118_MII_DATA        0x7     /* MII Data */
  226 #define LAN9118_FLOW            0x8     /* Flow Control */
  227 #define LAN9118_FLOW_FCPT(t)            ((t) << 16) /* Pause Time */
  228 #define LAN9118_FLOW_FCPASS             (1 << 2)    /* Pass Control Frame */
  229 #define LAN9118_FLOW_FCEN               (1 << 1)    /* Flow Control Enable */
  230 #define LAN9118_FLOW_FCBUSY             (1 << 0)    /* Flow Control Busy */
  231 #define LAN9118_VLAN1           0x9     /* VLAN1 Tag */
  232 #define LAN9118_VLAN2           0xa     /* VLAN2 Tag */
  233 #define LAN9118_WUFF            0xb     /* Wake-up Frame Filter */
  234 #define LAN9118_WUCSR           0xc     /* Wake-up Control and Status */
  235 
  236 /* PHY Registers */
  237 #define LAN9118_MCSR            0x11    /* Mode Control/Status Register */
  238 #define LAN9118_MCSR_EDPWRDOWN          (1 << 13) /* Energy Detect Power Down */
  239 #define LAN9118_MCSR_ENERGYON           (1 << 1)
  240 #define LAN9118_SMR             0x12    /* Special Modes Register */
  241 #define LAN9118_SMR_PHYAD               (0x01)
  242 #define LAN9118_SCSI            0x1b    /* Special Control/Status Indications */
  243 #define LAN9118_SCSI_VCOOFF_LP          (1 << 10)
  244 #define LAN9118_SCSI_XPOL               (1 << 4)  /* Polarity state */
  245 #define LAN9118_ISR             0x1d    /* Interrupt Source Register */
  246 #define LAN9118_IMR             0x1e    /* Interrupt Mask Register */
  247 #define LAN9118_I_ENERGYON              (1 << 7)
  248 #define LAN9118_I_AUTONEGOCOMPL         (1 << 6)
  249 #define LAN9118_I_REMOTEFAULT           (1 << 5)
  250 #define LAN9118_I_LINKDOWN              (1 << 4)
  251 #define LAN9118_I_AUTONEGOLPACK         (1 << 3) /* AutoNego LP Acknowledge */
  252 #define LAN9118_I_PDF                   (1 << 2) /* Parallel Detection Fault */
  253 #define LAN9118_I_AUTONEGOPR            (1 << 1) /* AutoNego Page Received */
  254 #define LAN9118_PHYSCSR         0x1f    /* PHY Special Control/Status Reg */
  255 #define LAN9118_PHYSCSR_AUTODONE        (1 << 12) /* AutoNego done indication */
  256 #define LAN9118_PHYSCSR_SI_10           (1 << 2)  /* Speed Indication */
  257 #define LAN9118_PHYSCSR_SI_100          (2 << 2)
  258 #define LAN9118_PHYSCSR_SI_FDX          (4 << 2)
  259 
  260 
  261 /* TX Command 'A' Format */
  262 #define LAN9118_TXC_A_IC                (1 << 31) /* Interrupt on Completion */
  263 #define LAN9118_TXC_A_BEA_4B            (0 << 24) /* Buffer End Alignment: 4B */
  264 #define LAN9118_TXC_A_BEA_16B           (1 << 24) /*                      16B */
  265 #define LAN9118_TXC_A_BEA_32B           (2 << 24) /*                      32B */
  266 #define LAN9118_TXC_A_DSO(x)            ((x) << 16) /*Data Start Offset: bytes*/
  267 #define LAN9118_TXC_A_FS                (1 << 13) /* First Segment */
  268 #define LAN9118_TXC_A_LS                (1 << 12) /* Last Segment */
  269 #define LAN9118_TXC_A_BS(x)             ((x) << 0) /* Buffer Size */
  270 
  271 /* TX Command 'B' Format */
  272 #define LAN9118_TXC_B_PT(x)             ((x) << 16) /* Packet Tag */
  273 #define LAN9118_TXC_B_ACRCD             (1 << 13)  /* Add CRC Disable */
  274 #define LAN9118_TXC_B_DEFP              (1 << 12)  /* Dis Ether Frame Padding */
  275 #define LAN9118_TXC_B_PL(x)             ((x) << 0) /* Packet Length */
  276 
  277 /* TX Status Format */
  278 #define LAN9118_TXS_PKTTAG(x)           (((x) >> 16) & 0xff) /* Packet Tag */
  279 #define LAN9118_TXS_ES                  (1 << 15)       /* Error Status */
  280 #define LAN9118_TXS_LOC                 (1 << 11)       /* Loss Of Carrier */
  281 #define LAN9118_TXS_NC                  (1 << 10)       /* No Carrier */
  282 #define LAN9118_TXS_LCOL                (1 << 9)        /* Late Collision */
  283 #define LAN9118_TXS_ECOL                (1 << 8)        /* Excessive Collision*/
  284 #define LAN9118_TXS_COLCNT(x)           (((x) >> 3) & 0xf) /* Collision Count */
  285 #define LAN9118_TXS_ED                  (1 << 2)        /* Excessive Deferral */
  286 #define LAN9118_TXS_DEFERRED            (1 << 0)        /* Deferred */
  287 
  288 /* RX Status Format */
  289 #define LAN9118_RXS_FILTFAIL            (1 << 30) /* Filtering Fail */
  290 #define LAN9118_RXS_PKTLEN(x)           (((x) >> 16) & 0x3fff) /* Packet Len */
  291 #define LAN9118_RXS_ES                  (1 << 15) /* Error Status */
  292 #define LAN9118_RXS_BCF                 (1 << 13) /* Broadcast Frame */
  293 #define LAN9118_RXS_LENERR              (1 << 12) /* Length Error */
  294 #define LAN9118_RXS_RUNTF               (1 << 11) /* Runt Frame */
  295 #define LAN9118_RXS_MCF                 (1 << 10) /* Multicast Frame */
  296 #define LAN9118_RXS_FTL                 (1 << 7)  /* Frame Too Long */
  297 #define LAN9118_RXS_COLS                (1 << 6)  /* Collision Seen */
  298 #define LAN9118_RXS_FT                  (1 << 5)  /* Frame Type */
  299 #define LAN9118_RXS_RWTO                (1 << 4)  /* Rcv Watchdog time-out */
  300 #define LAN9118_RXS_MIIERR              (1 << 3)  /* MII Error */
  301 #define LAN9118_RXS_DBIT                (1 << 2)  /* Drabbling Bit */
  302 #define LAN9118_RXS_CRCERR              (1 << 1)  /* CRC Error */
  303 
  304 #endif  /* _LAN9118REG_H_ */

Cache object: 3642649d7c9d2376a9df7a0aa4c1bc8d


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.