Home | History | Annotate | Line # | Download | only in pci
      1  1.2  bouyer /*	$NetBSD: if_vtereg.h,v 1.2 2011/04/28 17:32:48 bouyer Exp $	*/
      2  1.1  bouyer 
      3  1.1  bouyer /*-
      4  1.1  bouyer  * Copyright (c) 2010, Pyun YongHyeon <yongari (at) FreeBSD.org>
      5  1.1  bouyer  * All rights reserved.
      6  1.1  bouyer  *
      7  1.1  bouyer  * Redistribution and use in source and binary forms, with or without
      8  1.1  bouyer  * modification, are permitted provided that the following conditions
      9  1.1  bouyer  * are met:
     10  1.1  bouyer  * 1. Redistributions of source code must retain the above copyright
     11  1.1  bouyer  *    notice unmodified, this list of conditions, and the following
     12  1.1  bouyer  *    disclaimer.
     13  1.1  bouyer  * 2. Redistributions in binary form must reproduce the above copyright
     14  1.1  bouyer  *    notice, this list of conditions and the following disclaimer in the
     15  1.1  bouyer  *    documentation and/or other materials provided with the distribution.
     16  1.1  bouyer  *
     17  1.1  bouyer  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
     18  1.1  bouyer  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     19  1.1  bouyer  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     20  1.1  bouyer  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
     21  1.1  bouyer  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     22  1.1  bouyer  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     23  1.1  bouyer  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     24  1.1  bouyer  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     25  1.1  bouyer  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     26  1.1  bouyer  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     27  1.1  bouyer  * SUCH DAMAGE.
     28  1.1  bouyer  *
     29  1.1  bouyer  * FreeBSD: src/sys/dev/vte/if_vtereg.h,v 1.1 2010/12/31 00:21:41 yongari Exp
     30  1.1  bouyer  */
     31  1.1  bouyer 
     32  1.1  bouyer #ifndef	_IF_VTEREG_H
     33  1.1  bouyer #define	_IF_VTEREG_H
     34  1.1  bouyer 
     35  1.1  bouyer /* registers are mapped in i/o or memory space */
     36  1.1  bouyer #define VTE_PCI_BIO	0x10
     37  1.1  bouyer #define VTE_PCI_BMEM	0x14
     38  1.1  bouyer 
     39  1.1  bouyer /* MAC control register 0 */
     40  1.1  bouyer #define	VTE_MCR0			0x00
     41  1.1  bouyer #define	MCR0_ACCPT_ERR			0x0001
     42  1.1  bouyer #define	MCR0_RX_ENB			0x0002
     43  1.1  bouyer #define	MCR0_ACCPT_RUNT			0x0004
     44  1.1  bouyer #define	MCR0_ACCPT_LONG_PKT		0x0008
     45  1.1  bouyer #define	MCR0_ACCPT_DRIBBLE		0x0010
     46  1.1  bouyer #define	MCR0_PROMISC			0x0020
     47  1.2  bouyer #define	MCR0_BROADCAST_DIS		0x0040
     48  1.1  bouyer #define	MCR0_RX_EARLY_INTR		0x0080
     49  1.1  bouyer #define	MCR0_MULTICAST			0x0100
     50  1.1  bouyer #define	MCR0_FC_ENB			0x0200
     51  1.1  bouyer #define	MCR0_TX_ENB			0x1000
     52  1.1  bouyer #define	MCR0_TX_EARLY_INTR		0x4000
     53  1.1  bouyer #define	MCR0_FULL_DUPLEX		0x8000
     54  1.1  bouyer 
     55  1.1  bouyer /* MAC control register 1 */
     56  1.1  bouyer #define	VTE_MCR1			0x04
     57  1.1  bouyer #define	MCR1_MAC_RESET			0x0001
     58  1.1  bouyer #define	MCR1_MAC_LOOPBACK		0x0002
     59  1.1  bouyer #define	MCR1_EXCESS_COL_RETRANS_DIS	0x0004
     60  1.1  bouyer #define	MCR1_AUTO_CHG_DUPLEX		0x0008
     61  1.1  bouyer #define	MCR1_PKT_LENGTH_1518		0x0010
     62  1.1  bouyer #define	MCR1_PKT_LENGTH_1522		0x0020
     63  1.1  bouyer #define	MCR1_PKT_LENGTH_1534		0x0030
     64  1.1  bouyer #define	MCR1_PKT_LENGTH_1537		0x0000
     65  1.1  bouyer #define	MCR1_EARLY_INTR_THRESH_1129	0x0000
     66  1.1  bouyer #define	MCR1_EARLY_INTR_THRESH_1257	0x0040
     67  1.1  bouyer #define	MCR1_EARLY_INTR_THRESH_1385	0x0080
     68  1.1  bouyer #define	MCR1_EARLY_INTR_THRESH_1513	0x00C0
     69  1.1  bouyer #define	MCR1_EXCESS_COL_RETRY_16	0x0000
     70  1.1  bouyer #define	MCR1_EXCESS_COL_RETRY_32	0x0100
     71  1.1  bouyer #define	MCR1_FC_ACTIVE			0x0200
     72  1.1  bouyer #define	MCR1_RX_DESC_HASH_IDX		0x4000
     73  1.1  bouyer #define	MCR1_RX_UNICAST_HASH		0x8000
     74  1.1  bouyer 
     75  1.1  bouyer #define	MCR1_PKT_LENGTH_MASK		0x0030
     76  1.1  bouyer #define	MCR1_EARLY_INTR_THRESH_MASK	0x00C0
     77  1.1  bouyer 
     78  1.1  bouyer /* MAC bus control register */
     79  1.1  bouyer #define	VTE_MBCR			0x08
     80  1.1  bouyer #define	MBCR_FIFO_XFER_LENGTH_4		0x0000
     81  1.1  bouyer #define	MBCR_FIFO_XFER_LENGTH_8		0x0001
     82  1.1  bouyer #define	MBCR_FIFO_XFER_LENGTH_16	0x0002
     83  1.1  bouyer #define	MBCR_FIFO_XFER_LENGTH_32	0x0003
     84  1.1  bouyer #define	MBCR_TX_FIFO_THRESH_16		0x0000
     85  1.1  bouyer #define	MBCR_TX_FIFO_THRESH_32		0x0004
     86  1.1  bouyer #define	MBCR_TX_FIFO_THRESH_64		0x0008
     87  1.1  bouyer #define	MBCR_TX_FIFO_THRESH_96		0x000C
     88  1.1  bouyer #define	MBCR_RX_FIFO_THRESH_8		0x0000
     89  1.1  bouyer #define	MBCR_RX_FIFO_THRESH_16		0x0010
     90  1.1  bouyer #define	MBCR_RX_FIFO_THRESH_32		0x0020
     91  1.1  bouyer #define	MBCR_RX_FIFO_THRESH_64		0x0030
     92  1.1  bouyer #define	MBCR_SDRAM_BUS_REQ_TIMER_MASK	0x1F00
     93  1.1  bouyer #define	MBCR_SDRAM_BUS_REQ_TIMER_SHIFT	8
     94  1.1  bouyer #define	MBCR_SDRAM_BUS_REQ_TIMER_DEFAULT	0x1F00
     95  1.1  bouyer 
     96  1.1  bouyer /* MAC TX interrupt control register */
     97  1.1  bouyer #define	VTE_MTICR			0x0C
     98  1.1  bouyer #define	MTICR_TX_TIMER_MASK		0x001F
     99  1.1  bouyer #define	MTICR_TX_BUNDLE_MASK		0x0F00
    100  1.1  bouyer #define	VTE_IM_TX_TIMER_DEFAULT		0x7F
    101  1.1  bouyer #define	VTE_IM_TX_BUNDLE_DEFAULT	15
    102  1.1  bouyer 
    103  1.1  bouyer #define	VTE_IM_TIMER_MIN		0
    104  1.1  bouyer #define	VTE_IM_TIMER_MAX		82
    105  1.1  bouyer #define	VTE_IM_TIMER_MASK		0x001F
    106  1.1  bouyer #define	VTE_IM_TIMER_SHIFT		0
    107  1.1  bouyer #define	VTE_IM_BUNDLE_MIN		0
    108  1.1  bouyer #define	VTE_IM_BUNDLE_MAX		15
    109  1.1  bouyer #define	VTE_IM_BUNDLE_SHIFT		8
    110  1.1  bouyer 
    111  1.1  bouyer /* MAC RX interrupt control register */
    112  1.1  bouyer #define	VTE_MRICR			0x10
    113  1.1  bouyer #define	MRICR_RX_TIMER_MASK		0x001F
    114  1.1  bouyer #define	MRICR_RX_BUNDLE_MASK		0x0F00
    115  1.1  bouyer #define	VTE_IM_RX_TIMER_DEFAULT		0x7F
    116  1.1  bouyer #define	VTE_IM_RX_BUNDLE_DEFAULT	15
    117  1.1  bouyer 
    118  1.1  bouyer /* MAC TX poll command register */
    119  1.1  bouyer #define	VTE_TX_POLL			0x14
    120  1.1  bouyer #define	TX_POLL_START			0x0001
    121  1.1  bouyer 
    122  1.1  bouyer /* MAC RX buffer size register */
    123  1.1  bouyer #define	VTE_MRBSR			0x18
    124  1.1  bouyer #define	VTE_MRBSR_SIZE_MASK		0x03FF
    125  1.1  bouyer 
    126  1.1  bouyer /* MAC RX descriptor control register */
    127  1.1  bouyer #define	VTE_MRDCR			0x1A
    128  1.1  bouyer #define	VTE_MRDCR_RESIDUE_MASK		0x00FF
    129  1.1  bouyer #define	VTE_MRDCR_RX_PAUSE_THRESH_MASK	0xFF00
    130  1.1  bouyer #define	VTE_MRDCR_RX_PAUSE_THRESH_SHIFT	8
    131  1.1  bouyer 
    132  1.1  bouyer /* MAC Last status register */
    133  1.1  bouyer #define	VTE_MLSR			0x1C
    134  1.1  bouyer #define	MLSR_MULTICAST			0x0001
    135  1.1  bouyer #define	MLSR_BROADCAST			0x0002
    136  1.1  bouyer #define	MLSR_CRC_ERR			0x0004
    137  1.1  bouyer #define	MLSR_RUNT			0x0008
    138  1.1  bouyer #define	MLSR_LONG_PKT			0x0010
    139  1.1  bouyer #define	MLSR_TRUNC			0x0020
    140  1.1  bouyer #define	MLSR_DRIBBLE			0x0040
    141  1.1  bouyer #define	MLSR_PHY_ERR			0x0080
    142  1.1  bouyer #define	MLSR_TX_FIFO_UNDERRUN		0x0200
    143  1.1  bouyer #define	MLSR_RX_DESC_UNAVAIL		0x0400
    144  1.1  bouyer #define	MLSR_TX_EXCESS_COL		0x2000
    145  1.1  bouyer #define	MLSR_TX_LATE_COL		0x4000
    146  1.1  bouyer #define	MLSR_RX_FIFO_OVERRUN		0x8000
    147  1.1  bouyer 
    148  1.1  bouyer /* MAC MDIO control register */
    149  1.1  bouyer #define	VTE_MMDIO			0x20
    150  1.1  bouyer #define	MMDIO_REG_ADDR_MASK		0x001F
    151  1.1  bouyer #define	MMDIO_PHY_ADDR_MASK		0x1F00
    152  1.1  bouyer #define	MMDIO_READ			0x2000
    153  1.1  bouyer #define	MMDIO_WRITE			0x4000
    154  1.1  bouyer #define	MMDIO_REG_ADDR_SHIFT		0
    155  1.1  bouyer #define	MMDIO_PHY_ADDR_SHIFT		8
    156  1.1  bouyer 
    157  1.1  bouyer /* MAC MDIO read data register */
    158  1.1  bouyer #define	VTE_MMRD			0x24
    159  1.1  bouyer #define	MMRD_DATA_MASK			0xFFFF
    160  1.1  bouyer 
    161  1.1  bouyer /* MAC MDIO write data register */
    162  1.1  bouyer #define	VTE_MMWD			0x28
    163  1.1  bouyer #define	MMWD_DATA_MASK			0xFFFF
    164  1.1  bouyer 
    165  1.1  bouyer /* MAC TX descriptor start address 0 */
    166  1.1  bouyer #define	VTE_MTDSA0			0x2C
    167  1.1  bouyer 
    168  1.1  bouyer /* MAC TX descriptor start address 1 */
    169  1.1  bouyer #define	VTE_MTDSA1			0x30
    170  1.1  bouyer 
    171  1.1  bouyer /* MAC RX descriptor start address 0 */
    172  1.1  bouyer #define	VTE_MRDSA0			0x34
    173  1.1  bouyer 
    174  1.1  bouyer /* MAC RX descriptor start address 1 */
    175  1.1  bouyer #define	VTE_MRDSA1			0x38
    176  1.1  bouyer 
    177  1.1  bouyer /* MAC Interrupt status register */
    178  1.1  bouyer #define	VTE_MISR			0x3C
    179  1.1  bouyer #define	MISR_RX_DONE			0x0001
    180  1.1  bouyer #define	MISR_RX_DESC_UNAVAIL		0x0002
    181  1.1  bouyer #define	MISR_RX_FIFO_FULL		0x0004
    182  1.1  bouyer #define	MISR_RX_EARLY_INTR		0x0008
    183  1.1  bouyer #define	MISR_TX_DONE			0x0010
    184  1.1  bouyer #define	MISR_TX_EARLY_INTR		0x0080
    185  1.1  bouyer #define	MISR_EVENT_CNT_OFLOW		0x0100
    186  1.1  bouyer #define	MISR_PHY_MEDIA_CHG		0x0200
    187  1.1  bouyer 
    188  1.1  bouyer /* MAC Interrupt enable register */
    189  1.1  bouyer #define	VTE_MIER			0x40
    190  1.1  bouyer 
    191  1.1  bouyer #define	VTE_INTRS							\
    192  1.1  bouyer 	(MISR_RX_DONE | MISR_RX_DESC_UNAVAIL | MISR_RX_FIFO_FULL |	\
    193  1.1  bouyer 	MISR_TX_DONE | MISR_EVENT_CNT_OFLOW)
    194  1.1  bouyer 
    195  1.1  bouyer /* MAC Event counter interrupt status register */
    196  1.1  bouyer #define	VTE_MECISR			0x44
    197  1.1  bouyer #define	MECISR_EC_RX_DONE		0x0001
    198  1.1  bouyer #define	MECISR_EC_MULTICAST		0x0002
    199  1.1  bouyer #define	MECISR_EC_BROADCAST		0x0004
    200  1.1  bouyer #define	MECISR_EC_CRC_ERR		0x0008
    201  1.1  bouyer #define	MECISR_EC_RUNT			0x0010
    202  1.1  bouyer #define	MESCIR_EC_LONG_PKT		0x0020
    203  1.1  bouyer #define	MESCIR_EC_RX_DESC_UNAVAIL	0x0080
    204  1.1  bouyer #define	MESCIR_EC_RX_FIFO_FULL		0x0100
    205  1.1  bouyer #define	MESCIR_EC_TX_DONE		0x0200
    206  1.1  bouyer #define	MESCIR_EC_LATE_COL		0x0400
    207  1.1  bouyer #define	MESCIR_EC_TX_UNDERRUN		0x0800
    208  1.1  bouyer 
    209  1.1  bouyer /* MAC Event counter interrupt enable register */
    210  1.1  bouyer #define	VTE_MECIER			0x48
    211  1.1  bouyer #define	VTE_MECIER_INTRS						 \
    212  1.1  bouyer 	(MECISR_EC_RX_DONE | MECISR_EC_MULTICAST | MECISR_EC_BROADCAST | \
    213  1.1  bouyer 	MECISR_EC_CRC_ERR | MECISR_EC_RUNT | MESCIR_EC_LONG_PKT |	 \
    214  1.1  bouyer 	MESCIR_EC_RX_DESC_UNAVAIL | MESCIR_EC_RX_FIFO_FULL |		 \
    215  1.1  bouyer 	MESCIR_EC_TX_DONE | MESCIR_EC_LATE_COL | MESCIR_EC_TX_UNDERRUN)
    216  1.1  bouyer 
    217  1.1  bouyer #define	VTE_CNT_RX_DONE			0x50
    218  1.1  bouyer 
    219  1.1  bouyer #define	VTE_CNT_MECNT0			0x52
    220  1.1  bouyer 
    221  1.1  bouyer #define	VTE_CNT_MECNT1			0x54
    222  1.1  bouyer 
    223  1.1  bouyer #define	VTE_CNT_MECNT2			0x56
    224  1.1  bouyer 
    225  1.1  bouyer #define	VTE_CNT_MECNT3			0x58
    226  1.1  bouyer 
    227  1.1  bouyer #define	VTE_CNT_TX_DONE			0x5A
    228  1.1  bouyer 
    229  1.1  bouyer #define	VTE_CNT_MECNT4			0x5C
    230  1.1  bouyer 
    231  1.1  bouyer #define	VTE_CNT_PAUSE			0x5E
    232  1.1  bouyer 
    233  1.1  bouyer /* MAC Hash table register */
    234  1.1  bouyer #define	VTE_MAR0			0x60
    235  1.1  bouyer #define	VTE_MAR1			0x62
    236  1.1  bouyer #define	VTE_MAR2			0x64
    237  1.1  bouyer #define	VTE_MAR3			0x66
    238  1.1  bouyer 
    239  1.1  bouyer /* MAC station address and multicast address register */
    240  1.1  bouyer #define	VTE_MID0L			0x68
    241  1.1  bouyer #define	VTE_MID0M			0x6A
    242  1.1  bouyer #define	VTE_MID0H			0x6C
    243  1.1  bouyer #define	VTE_MID1L			0x70
    244  1.1  bouyer #define	VTE_MID1M			0x72
    245  1.1  bouyer #define	VTE_MID1H			0x74
    246  1.1  bouyer #define	VTE_MID2L			0x78
    247  1.1  bouyer #define	VTE_MID2M			0x7A
    248  1.1  bouyer #define	VTE_MID2H			0x7C
    249  1.1  bouyer #define	VTE_MID3L			0x80
    250  1.1  bouyer #define	VTE_MID3M			0x82
    251  1.1  bouyer #define	VTE_MID3H			0x84
    252  1.1  bouyer 
    253  1.1  bouyer #define	VTE_RXFILTER_PEEFECT_BASE	VTE_MID1L
    254  1.1  bouyer #define	VTE_RXFILT_PERFECT_CNT		3
    255  1.1  bouyer 
    256  1.1  bouyer /* MAC PHY status change configuration register */
    257  1.1  bouyer #define	VTE_MPSCCR			0x88
    258  1.1  bouyer #define	MPSCCR_TIMER_DIVIDER_MASK	0x0007
    259  1.1  bouyer #define	MPSCCR_PHY_ADDR_MASK		0x1F00
    260  1.1  bouyer #define	MPSCCR_PHY_STS_CHG_ENB		0x8000
    261  1.1  bouyer #define	MPSCCR_PHY_ADDR_SHIFT		8
    262  1.1  bouyer 
    263  1.1  bouyer /* MAC PHY status register2 */
    264  1.1  bouyer #define	VTE_MPSR			0x8A
    265  1.1  bouyer #define	MPSR_LINK_UP			0x0001
    266  1.1  bouyer #define	MPSR_SPEED_100			0x0002
    267  1.1  bouyer #define	MPSR_FULL_DUPLEX		0x0004
    268  1.1  bouyer 
    269  1.1  bouyer /* MAC Status machine(undocumented). */
    270  1.1  bouyer #define	VTE_MACSM			0xAC
    271  1.1  bouyer 
    272  1.1  bouyer /* MDC Speed control register */
    273  1.1  bouyer #define	VTE_MDCSC			0xB6
    274  1.1  bouyer #define	MDCSC_DEFAULT			0x0030
    275  1.1  bouyer 
    276  1.1  bouyer /* MAC Identifier and revision register */
    277  1.1  bouyer #define	VTE_MACID_REV			0xBC
    278  1.1  bouyer #define	VTE_MACID_REV_MASK		0x00FF
    279  1.1  bouyer #define	VTE_MACID_MASK			0xFF00
    280  1.1  bouyer #define	VTE_MACID_REV_SHIFT		0
    281  1.1  bouyer #define	VTE_MACID_SHIFT			8
    282  1.1  bouyer 
    283  1.1  bouyer /* MAC Identifier register */
    284  1.1  bouyer #define	VTE_MACID			0xBE
    285  1.1  bouyer 
    286  1.1  bouyer /*
    287  1.1  bouyer  * RX descriptor
    288  1.1  bouyer  * - Added one more uint16_t member to align it 4 on bytes boundary.
    289  1.1  bouyer  *   This does not affect operation of controller since it includes
    290  1.1  bouyer  *   next pointer address.
    291  1.1  bouyer  */
    292  1.1  bouyer struct vte_rx_desc {
    293  1.1  bouyer 	uint16_t drst;
    294  1.1  bouyer 	uint16_t drlen;
    295  1.1  bouyer 	uint32_t drbp;
    296  1.1  bouyer 	uint32_t drnp;
    297  1.1  bouyer 	uint16_t hidx;
    298  1.1  bouyer 	uint16_t rsvd2;
    299  1.1  bouyer 	uint16_t rsvd3;
    300  1.1  bouyer 	uint16_t __pad;	/* Not actual descriptor member. */
    301  1.1  bouyer };
    302  1.1  bouyer 
    303  1.1  bouyer #define	VTE_DRST_MID_MASK	0x0003
    304  1.1  bouyer #define	VTE_DRST_MID_HIT	0x0004
    305  1.1  bouyer #define	VTE_DRST_MULTICAST_HIT	0x0008
    306  1.1  bouyer #define	VTE_DRST_MULTICAST	0x0010
    307  1.1  bouyer #define	VTE_DRST_BROADCAST	0x0020
    308  1.1  bouyer #define	VTE_DRST_CRC_ERR	0x0040
    309  1.1  bouyer #define	VTE_DRST_RUNT		0x0080
    310  1.1  bouyer #define	VTE_DRST_LONG		0x0100
    311  1.1  bouyer #define	VTE_DRST_TRUNC		0x0200
    312  1.1  bouyer #define	VTE_DRST_DRIBBLE	0x0400
    313  1.1  bouyer #define	VTE_DRST_PHY_ERR	0x0800
    314  1.1  bouyer #define	VTE_DRST_RX_OK		0x4000
    315  1.1  bouyer #define	VTE_DRST_RX_OWN		0x8000
    316  1.1  bouyer 
    317  1.1  bouyer #define	VTE_RX_LEN(x)		((x) & 0x7FF)
    318  1.1  bouyer 
    319  1.1  bouyer #define	VTE_RX_HIDX(x)		((x) & 0x3F)
    320  1.1  bouyer 
    321  1.1  bouyer /*
    322  1.1  bouyer  * TX descriptor
    323  1.1  bouyer  * - Added one more uint32_t member to align it on 16 bytes boundary.
    324  1.1  bouyer  */
    325  1.1  bouyer struct vte_tx_desc {
    326  1.1  bouyer 	uint16_t dtst;
    327  1.1  bouyer 	uint16_t dtlen;
    328  1.1  bouyer 	uint32_t dtbp;
    329  1.1  bouyer 	uint32_t dtnp;
    330  1.1  bouyer 	uint32_t __pad;	/* Not actual descriptor member. */
    331  1.1  bouyer };
    332  1.1  bouyer 
    333  1.1  bouyer #define	VTE_DTST_EXCESS_COL	0x0010
    334  1.1  bouyer #define	VTE_DTST_LATE_COL	0x0020
    335  1.1  bouyer #define	VTE_DTST_UNDERRUN	0x0040
    336  1.1  bouyer #define	VTE_DTST_NO_CRC		0x2000
    337  1.1  bouyer #define	VTE_DTST_TX_OK		0x4000
    338  1.1  bouyer #define	VTE_DTST_TX_OWN		0x8000
    339  1.1  bouyer 
    340  1.1  bouyer #define	VTE_TX_LEN(x)		((x) & 0x7FF)
    341  1.1  bouyer 
    342  1.1  bouyer #endif	/* _IF_VTEREG_H */
    343