Home | History | Annotate | Line # | Download | only in cadence
      1  1.8    skrll /*      $NetBSD: cemacreg.h,v 1.8 2024/11/29 17:37:58 skrll Exp $	*/
      2  1.1  hkenken 
      3  1.1  hkenken /*-
      4  1.1  hkenken  * Copyright (c) 2015  Genetec Corporation.  All rights reserved.
      5  1.1  hkenken  * Written by Hashimoto Kenichi for Genetec Corporation.
      6  1.1  hkenken  *
      7  1.1  hkenken  * Copyright (c) 2007 Embedtronics Oy
      8  1.1  hkenken  * All rights reserved
      9  1.1  hkenken  *
     10  1.1  hkenken  * Redistribution and use in source and binary forms, with or without
     11  1.1  hkenken  * modification, are permitted provided that the following conditions
     12  1.1  hkenken  * are met:
     13  1.1  hkenken  * 1. Redistributions of source code must retain the above copyright
     14  1.1  hkenken  *    notice, this list of conditions and the following disclaimer.
     15  1.1  hkenken  * 2. Redistributions in binary form must reproduce the above copyright
     16  1.1  hkenken  *    notice, this list of conditions and the following disclaimer in the
     17  1.1  hkenken  *    documentation and/or other materials provided with the distribution.
     18  1.1  hkenken  *
     19  1.1  hkenken  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
     20  1.1  hkenken  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     21  1.1  hkenken  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     22  1.1  hkenken  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
     23  1.1  hkenken  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     24  1.1  hkenken  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     25  1.1  hkenken  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     26  1.1  hkenken  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     27  1.1  hkenken  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     28  1.1  hkenken  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     29  1.1  hkenken  * SUCH DAMAGE.
     30  1.1  hkenken  *
     31  1.1  hkenken  */
     32  1.1  hkenken 
     33  1.1  hkenken #ifndef	_IF_CEMACREG_H_
     34  1.1  hkenken #define	_IF_CEMACREG_H_
     35  1.1  hkenken 
     36  1.1  hkenken /* Ethernet MAC (EMAC),
     37  1.1  hkenken  * at91rm9200.pdf, page 573 */
     38  1.1  hkenken 
     39  1.4    skrll #define	ETH_CTL		0x00U	/* Control Register			*/
     40  1.4    skrll #define	ETH_CFG		0x04U	/* Configuration Register		*/
     41  1.4    skrll #define	ETH_SR		0x08U	/* Status Register			*/
     42  1.4    skrll #define	ETH_TAR		0x0CU	/* Transmit Address Register (at91rm9200 only)	*/
     43  1.4    skrll #define	ETH_TCR		0x10U	/* Transmit Control Register (at91rm9200 only)	*/
     44  1.4    skrll #define	ETH_TSR		0x14U	/* Transmit Status Register		*/
     45  1.4    skrll #define	ETH_RBQP	0x18U	/* Receive Buffer Queue Pointer		*/
     46  1.4    skrll #define	ETH_TBQP	0x1CU	/* Transmit Buffer Queue Pointer	*/
     47  1.4    skrll #define	ETH_RSR		0x20U	/* Receive Status Register		*/
     48  1.4    skrll #define	ETH_ISR		0x24U	/* Interrupt Status Register		*/
     49  1.4    skrll #define	ETH_IER		0x28U	/* Interrupt Enable Register		*/
     50  1.4    skrll #define	ETH_IDR		0x2CU	/* Interrupt Disable Register		*/
     51  1.4    skrll #define	ETH_IMR		0x30U	/* Interrupt Mask Register		*/
     52  1.4    skrll #define	ETH_MAN		0x34U	/* PHY Maintenance Register		*/
     53  1.4    skrll 
     54  1.4    skrll #define	ETH_FRA		0x40U	/* Frames Transmitted OK		*/
     55  1.4    skrll #define	ETH_SCOL	0x44U	/* Single Collision Frames		*/
     56  1.4    skrll #define	ETH_MCOL	0x48U	/* Multiple Collision Frames		*/
     57  1.4    skrll #define	ETH_OK		0x4CU	/* Frames Received OK			*/
     58  1.4    skrll #define	ETH_SEQE	0x50U	/* Frame Check Sequence Errors		*/
     59  1.4    skrll #define	ETH_ALE		0x54U	/* Alignment Errors			*/
     60  1.4    skrll #define	ETH_DTE		0x58U	/* Deferred Transmission Frame		*/
     61  1.4    skrll #define	ETH_LCOL	0x5CU	/* Late Collisions			*/
     62  1.4    skrll #define	ETH_ECOL	0x60U	/* Excessive Collisions			*/
     63  1.4    skrll #define	ETH_CSE		0x64U	/* Carrier Sense Errors			*/
     64  1.4    skrll #define	ETH_TUE		0x68U	/* Transmit Underrun Errors		*/
     65  1.4    skrll #define	ETH_CDE		0x6CU	/* Code Errors				*/
     66  1.4    skrll #define	ETH_ELR		0x70U	/* Excessive Length Errors		*/
     67  1.4    skrll #define	ETH_RJB		0x74U	/* Receive Jabbers			*/
     68  1.4    skrll #define	ETH_USF		0x78U	/* Undersize Frames			*/
     69  1.4    skrll #define	ETH_SQEE	0x7CU	/* SQE Test Errors			*/
     70  1.4    skrll #define	ETH_DRFC	0x80U	/* Discarded RX Frames			*/
     71  1.4    skrll 
     72  1.4    skrll #define	ETH_HSH		0x90U	/* Hash Address High			*/
     73  1.4    skrll #define	ETH_HSL		0x94U	/* Hash Address Low			*/
     74  1.4    skrll 
     75  1.4    skrll #define	ETH_SA1L	0x98U	/* Specific Address 1 Low		*/
     76  1.4    skrll #define	ETH_SA1H	0x9CU	/* Specific Address 1 High		*/
     77  1.1  hkenken 
     78  1.4    skrll #define	ETH_SA2L	0xA0U	/* Specific Address 2 Low		*/
     79  1.4    skrll #define	ETH_SA2H	0xA4U	/* Specific Address 2 High		*/
     80  1.1  hkenken 
     81  1.4    skrll #define	ETH_SA3L	0xA8U	/* Specific Address 3 Low		*/
     82  1.4    skrll #define	ETH_SA3H	0xACU	/* Specific Address 3 High		*/
     83  1.1  hkenken 
     84  1.4    skrll #define	ETH_SA4L	0xB0U	/* Specific Address 4 Low		*/
     85  1.4    skrll #define	ETH_SA4H	0xB4U	/* Specific Address 4 High		*/
     86  1.1  hkenken 
     87  1.1  hkenken /*
     88  1.1  hkenken  * Gigabit Ethernet Controller (GEM)
     89  1.1  hkenken  * ug585-Zynq-7000-TRM.pdf
     90  1.1  hkenken  */
     91  1.1  hkenken 
     92  1.1  hkenken #define GEM_USER_IO	0x000C
     93  1.1  hkenken #define GEM_DMA_CFG	0x0010	/* DMA Configuration */
     94  1.1  hkenken #define  GEM_DMA_CFG_DISC_WHEN_NO_AHB		__BIT(24)
     95  1.1  hkenken #define  GEM_DMA_CFG_RX_BUF_SIZE		__BITS(23, 16)
     96  1.1  hkenken #define  GEM_DMA_CFG_CHKSUM_GEN_OFFLOAD_EN	__BIT(11)
     97  1.1  hkenken #define  GEM_DMA_CFG_TX_PKTBUF_MEMSZ_SEL	__BIT(10)
     98  1.1  hkenken #define  GEM_DMA_CFG_RX_PKTBUF_MEMSZ_SEL	__BITS(9, 8)
     99  1.1  hkenken #define  GEM_DMA_CFG_AHB_ENDIAN_SWAP_PKT_EN	__BIT(7)
    100  1.1  hkenken #define  GEM_DMA_CFG_AHB_ENDIAN_SWAP_MGMT_EN	__BIT(6)
    101  1.1  hkenken #define  GEM_DMA_CFG_AHB_FIXED_BURST_LEN	__BITS(4, 0)
    102  1.1  hkenken #define GEM_HSH		0x0080
    103  1.1  hkenken #define GEM_HSL		0x0084
    104  1.1  hkenken #define	GEM_SA1L	0x0088
    105  1.1  hkenken #define	GEM_SA1H	0x008C
    106  1.1  hkenken #define	GEM_SA2L	0x0090
    107  1.1  hkenken #define	GEM_SA2H	0x0094
    108  1.1  hkenken #define	GEM_SA3L	0x0098
    109  1.1  hkenken #define	GEM_SA3H	0x009C
    110  1.1  hkenken #define	GEM_SA4L	0x0090
    111  1.1  hkenken #define	GEM_SA4H	0x0094
    112  1.2      rjs #define	GEM_SCOL	0x0138
    113  1.2      rjs #define	GEM_MCOL	0x013C
    114  1.1  hkenken #define	GEM_DCFG2	0x0284
    115  1.1  hkenken #define	GEM_DCFG3	0x0288
    116  1.1  hkenken #define	GEM_DCFG4	0x028C
    117  1.1  hkenken #define	GEM_DCFG5	0x0290
    118  1.1  hkenken 
    119  1.1  hkenken #define ETH_SIZE	0x1000
    120  1.1  hkenken 
    121  1.1  hkenken /* Control Register bits: */
    122  1.1  hkenken #define GEM_CTL_ZEROPAUSETX	__BIT(12)
    123  1.1  hkenken #define GEM_CTL_PAUSETX		__BIT(11)
    124  1.1  hkenken #define GEM_CTL_HALTTX		__BIT(10)
    125  1.1  hkenken #define GEM_CTL_STARTTX		__BIT(9)
    126  1.1  hkenken 
    127  1.5    skrll #define	ETH_CTL_BP	__BIT(8)  /* 1 = back pressure enabled		      */
    128  1.5    skrll #define	ETH_CTL_WES	__BIT(7)  /* 1 = statistics registers writeable	      */
    129  1.5    skrll #define	ETH_CTL_ISR	__BIT(6)  /* 1 = increment statistics registers	      */
    130  1.5    skrll #define	ETH_CTL_CSR	__BIT(5)  /* 1 = clear statistics registers	      */
    131  1.5    skrll #define	ETH_CTL_MPE	__BIT(4)  /* 1 = management port enabled	      */
    132  1.5    skrll #define	ETH_CTL_TE	__BIT(3)  /* 1 = transmit enable		      */
    133  1.5    skrll #define	ETH_CTL_RE	__BIT(2)  /* 1 = receive enable			      */
    134  1.5    skrll #define	ETH_CTL_LBL	__BIT(1)  /* 1 = local loopback enabled		      */
    135  1.5    skrll #define	ETH_CTL_LB	__BIT(0)  /* 1 = loopback signal is at high level     */
    136  1.1  hkenken 
    137  1.1  hkenken 
    138  1.1  hkenken /* Configuration Register bits: */
    139  1.5    skrll #define	ETH_CFG_RMII	__BIT(13)  /* 1 = enable RMII (Reduce MII) (AT91RM9200 only) */
    140  1.7    skrll #define	ETH_CFG_RTY	__BIT(12)  /* 1 = retry test enabled		*/
    141  1.7    skrll #define	ETH_CFG_CLK	__BITS(11, 10)	/* clock				*/
    142  1.7    skrll #define	 ETH_CFG_CLK_8	__SHIFTIN(0, ETH_CFG_CLK)
    143  1.7    skrll #define	 ETH_CFG_CLK_16	__SHIFTIN(1, ETH_CFG_CLK)
    144  1.7    skrll #define	 ETH_CFG_CLK_32	__SHIFTIN(2, ETH_CFG_CLK)
    145  1.7    skrll #define	 ETH_CFG_CLK_64	__SHIFTIN(3, ETH_CFG_CLK)
    146  1.7    skrll #define	ETH_CFG_EAE	__BIT(9)  /* 1 = external address match enable	*/
    147  1.7    skrll #define	ETH_CFG_BIG	__BIT(8)  /* 1 = receive up to 1522 bytes	(VLAN)	*/
    148  1.7    skrll #define	ETH_CFG_UNI	__BIT(7)  /* 1 = enable unicast hash		*/
    149  1.7    skrll #define	ETH_CFG_MTI	__BIT(6)  /* 1 = enable multicast hash		*/
    150  1.7    skrll #define	ETH_CFG_NBC	__BIT(5)  /* 1 = ignore received broadcasts	*/
    151  1.7    skrll #define	ETH_CFG_CAF	__BIT(4)  /* 1 = receive all valid frames		*/
    152  1.5    skrll #define	ETH_CFG_BR	__BIT(2)
    153  1.7    skrll #define	ETH_CFG_FD	__BIT(1)  /* 1 = force full duplex		*/
    154  1.7    skrll #define	ETH_CFG_SPD	__BIT(0)  /* 1 = 100 Mbps				*/
    155  1.1  hkenken 
    156  1.1  hkenken #define GEM_CFG_GEN	__BIT(10)
    157  1.1  hkenken #define GEM_CFG_CLK	__BITS(20, 18)
    158  1.8    skrll #define  GEM_CFG_CLK_8		__SHIFTIN(0, GEM_CFG_CLK)
    159  1.8    skrll #define  GEM_CFG_CLK_16		__SHIFTIN(1, GEM_CFG_CLK)
    160  1.8    skrll #define  GEM_CFG_CLK_32		__SHIFTIN(2, GEM_CFG_CLK)
    161  1.8    skrll #define  GEM_CFG_CLK_48		__SHIFTIN(3, GEM_CFG_CLK)
    162  1.8    skrll #define  GEM_CFG_CLK_64		__SHIFTIN(4, GEM_CFG_CLK)
    163  1.8    skrll #define  GEM_CFG_CLK_96		__SHIFTIN(5, GEM_CFG_CLK)
    164  1.8    skrll #define  GEM_CFG_CLK_128	__SHIFTIN(6, GEM_CFG_CLK)
    165  1.8    skrll #define  GEM_CFG_CLK_224	__SHIFTIN(7, GEM_CFG_CLK)
    166  1.1  hkenken #define GEM_CFG_DBW	__BITS(22, 21)
    167  1.8    skrll #define  GEM_CFG_DBW_32		__SHIFTIN(0, GEM_CFG_DBW)
    168  1.8    skrll #define  GEM_CFG_DBW_64		__SHIFTIN(1, GEM_CFG_DBW)
    169  1.8    skrll #define  GEM_CFG_DBW_128	__SHIFTIN(2, GEM_CFG_DBW)
    170  1.6    skrll #define	GEM_CFG_RXCOEN	__BIT(24)
    171  1.1  hkenken 
    172  1.1  hkenken /* Status Register bits: */
    173  1.5    skrll #define	ETH_SR_IDLE	__BIT(2)	/* 1 = PHY logic is running		*/
    174  1.5    skrll #define	ETH_SR_MDIO	__BIT(1)	/* 1 = MDIO pin set			*/
    175  1.5    skrll #define	ETH_SR_LINK	__BIT(0)
    176  1.1  hkenken 
    177  1.1  hkenken 
    178  1.1  hkenken /* Transmit Control Register bits: */
    179  1.1  hkenken #define	ETH_TCR_NCRC	0x8000U	/* 1 = don't append CRC			*/
    180  1.1  hkenken #define	ETH_TCR_LEN	0x07FFU	/* transmit frame length		*/
    181  1.1  hkenken 
    182  1.1  hkenken 
    183  1.1  hkenken /* Transmit Status Register bits: */
    184  1.7    skrll #define	ETH_TSR_UND	__BIT(6)  /* 1 = transmit underrun detected	*/
    185  1.7    skrll #define	ETH_TSR_COMP	__BIT(5)  /* 1 = transmit complete		*/
    186  1.7    skrll #define	ETH_TSR_BNQ	__BIT(4)  /* 1 = transmit buffer not queued (at91rm9200 only)	*/
    187  1.7    skrll #define	ETH_TSR_IDLE	__BIT(3)  /* 1 = transmitter idle			*/
    188  1.7    skrll #define	ETH_TSR_RLE	__BIT(2)  /* 1 = retry limit exceeded		*/
    189  1.7    skrll #define	ETH_TSR_COL	__BIT(1)  /* 1 = collision occurred		*/
    190  1.7    skrll #define	ETH_TSR_OVR	__BIT(0)  /* 1 = transmit buffer overrun		*/
    191  1.1  hkenken 
    192  1.1  hkenken #define	GEM_TSR_TXGO	__BIT(3)
    193  1.1  hkenken 
    194  1.1  hkenken /* Receive Status Register bits: */
    195  1.7    skrll #define	ETH_RSR_OVR	__BIT(2)  /* 1 = RX overrun			*/
    196  1.7    skrll #define	ETH_RSR_REC	__BIT(1)  /* 1 = frame received			*/
    197  1.7    skrll #define	ETH_RSR_BNA	__BIT(0)  /* 1 = buffer not available		*/
    198  1.1  hkenken 
    199  1.1  hkenken 
    200  1.1  hkenken /* Interrupt bits: */
    201  1.7    skrll #define	ETH_ISR_ABT	__BIT(11) /* 1 = abort during DMA transfer	*/
    202  1.7    skrll #define	ETH_ISR_ROVR	__BIT(10) /* 1 = RX overrun			*/
    203  1.7    skrll #define	ETH_ISR_LINK	__BIT(9)  /* 1 = link pin changed			*/
    204  1.7    skrll #define	ETH_ISR_TIDLE	__BIT(8)  /* 1 = transmitter idle			*/
    205  1.7    skrll #define	ETH_ISR_TCOM	__BIT(7)  /* 1 = transmit complete		*/
    206  1.7    skrll #define	ETH_ISR_TBRE	__BIT(6)  /* 1 = transmit buffer register empty	*/
    207  1.7    skrll #define	ETH_ISR_RTRY	__BIT(5)  /* 1 = retry limit exceeded		*/
    208  1.7    skrll #define	ETH_ISR_TUND	__BIT(4)  /* 1 = transmit buffer underrun		*/
    209  1.7    skrll #define	ETH_ISR_TOVR	__BIT(3)  /* 1 = transmit buffer overrun		*/
    210  1.7    skrll #define	ETH_ISR_RBNA	__BIT(2)  /* 1 = receive buffer not available	*/
    211  1.7    skrll #define	ETH_ISR_RCOM	__BIT(1)  /* 1 = receive complete			*/
    212  1.7    skrll #define	ETH_ISR_DONE	__BIT(0)  /* 1 = management done			*/
    213  1.1  hkenken 
    214  1.1  hkenken 
    215  1.1  hkenken /* PHY Maintenance Register bits: */
    216  1.5    skrll #define	ETH_MAN_LOW	__BIT(31) /* must not be set			*/
    217  1.8    skrll #define	ETH_MAN_HIGH	__BIT(30) /* must be set for clause 22		*/
    218  1.1  hkenken 
    219  1.5    skrll #define	ETH_MAN_RW	__BITS(29, 28)
    220  1.8    skrll #define	ETH_MAN_RW_RD	__SHIFTIN(2, ETH_MAN_RW)
    221  1.8    skrll #define	ETH_MAN_RW_WR	__SHIFTIN(1, ETH_MAN_RW)
    222  1.1  hkenken 
    223  1.8    skrll #define	ETH_MAN_PHYA	__BITS(27, 23) /* PHY address (normally 0)	*/
    224  1.1  hkenken #define	ETH_MAN_PHYA_SHIFT 23U
    225  1.8    skrll #define	ETH_MAN_REGA	__BITS(22, 18)
    226  1.1  hkenken #define	ETH_MAN_REGA_SHIFT 18U
    227  1.8    skrll #define	ETH_MAN_CODE	__BITS(17, 16) /* must be 0b10			*/
    228  1.1  hkenken #define	ETH_MAN_CODE_IEEE802_3 \
    229  1.8    skrll 			__SHIFTIN(2, ETH_MAN_CODE)
    230  1.8    skrll #define	ETH_MAN_DATA	__BITS(15, 0) /* data to be written to the PHY	*/
    231  1.7    skrll #define	ETH_MAN_VAL	(ETH_MAN_HIGH | ETH_MAN_CODE_IEEE802_3)
    232  1.1  hkenken 
    233  1.1  hkenken 
    234  1.1  hkenken /* received buffer descriptor: */
    235  1.1  hkenken #define	ETH_DSC_ADDR		0x00U
    236  1.1  hkenken #define	ETH_DSC_FLAGS		0x00U
    237  1.1  hkenken #define	ETH_DSC_INFO		0x04U
    238  1.1  hkenken #define	ETH_DSC_SIZE		0x08U
    239  1.1  hkenken 
    240  1.1  hkenken typedef struct eth_dsc {
    241  1.1  hkenken 	volatile uint32_t	Addr;
    242  1.1  hkenken 	volatile uint32_t	Info;
    243  1.1  hkenken } __attribute__ ((aligned(4))) eth_dsc_t;
    244  1.1  hkenken 
    245  1.1  hkenken /* flags: */
    246  1.5    skrll #define	ETH_RDSC_F_WRAP		__BIT(1)
    247  1.5    skrll #define	ETH_RDSC_F_USED		__BIT(0)
    248  1.1  hkenken 
    249  1.1  hkenken /* frame info bits: */
    250  1.3      rjs #define	ETH_RDSC_I_BCAST	__BIT(31)
    251  1.3      rjs #define	ETH_RDSC_I_MULTICAST	__BIT(30)
    252  1.3      rjs #define	ETH_RDSC_I_UNICAST	__BIT(29)
    253  1.5    skrll #define	ETH_RDSC_I_VLAN		__BIT(28)
    254  1.5    skrll #define	ETH_RDSC_I_UNKNOWN_SRC	__BIT(27)
    255  1.5    skrll #define	ETH_RDSC_I_MATCH1	__BIT(26)
    256  1.5    skrll #define	ETH_RDSC_I_MATCH2	__BIT(25)
    257  1.5    skrll #define	ETH_RDSC_I_MATCH3	__BIT(24)
    258  1.5    skrll #define	ETH_RDSC_I_MATCH4	__BIT(23)
    259  1.3      rjs #define	ETH_RDSC_I_CHKSUM	__BITS(23, 22)
    260  1.7    skrll #define	 ETH_RDSC_I_CHKSUM_NONE	__SHIFTIN(0, ETH_RDSC_I_CHKSUM)
    261  1.7    skrll #define	 ETH_RDSC_I_CHKSUM_IP	__SHIFTIN(1, ETH_RDSC_I_CHKSUM)
    262  1.7    skrll #define	 ETH_RDSC_I_CHKSUM_TCP	__SHIFTIN(2, ETH_RDSC_I_CHKSUM)
    263  1.7    skrll #define	 ETH_RDSC_I_CHKSUM_UDP	__SHIFTIN(3, ETH_RDSC_I_CHKSUM)
    264  1.3      rjs #define	ETH_RDSC_I_LEN		__BITS(13, 0)
    265  1.1  hkenken 
    266  1.1  hkenken #define ETH_TDSC_I_USED				__BIT(31)	/* done transmitting */
    267  1.1  hkenken #define ETH_TDSC_I_WRAP				__BIT(30)	/* end of descr ring */
    268  1.1  hkenken #define ETH_TDSC_I_RETRY_ERR			__BIT(29)
    269  1.1  hkenken #define ETH_TDSC_I_AHB_ERR			__BIT(27)
    270  1.1  hkenken #define ETH_TDSC_I_LATE_COLL			__BIT(26)
    271  1.3      rjs #define	ETH_TDSC_I_CHKSUM			__BITS(22, 20)
    272  1.7    skrll #define  ETH_TDSC_I_CHKSUM_GEN_STAT_NO_ERR	__SHIFTIN(0, ETH_TDSC_I_CHKSUM)
    273  1.7    skrll #define  ETH_TDSC_I_CHKSUM_GEN_STAT_VLAN_HDR_ERR	__SHIFTIN(1, ETH_TDSC_I_CHKSUM)
    274  1.7    skrll #define  ETH_TDSC_I_CHKSUM_GEN_STAT_SNAP_HDR_ERR	__SHIFTIN(2, ETH_TDSC_I_CHKSUM)
    275  1.7    skrll #define  ETH_TDSC_I_CHKSUM_GEN_STAT_IP_HDR_ERR	__SHIFTIN(3, ETH_TDSC_I_CHKSUM)
    276  1.7    skrll #define  ETH_TDSC_I_CHKSUM_GEN_STAT_UNKNOWN_TYPE	__SHIFTIN(4, ETH_TDSC_I_CHKSUM)
    277  1.7    skrll #define  ETH_TDSC_I_CHKSUM_GEN_STAT_UNSUPP_FRAG	__SHIFTIN(5, ETH_TDSC_I_CHKSUM)
    278  1.7    skrll #define  ETH_TDSC_I_CHKSUM_GEN_STAT_NOT_TCPUDP	__SHIFTIN(6, ETH_TDSC_I_CHKSUM)
    279  1.7    skrll #define  ETH_TDSC_I_CHKSUM_GEN_STAT_SHORT_PKT	__SHIFTIN(7, ETH_TDSC_I_CHKSUM)
    280  1.1  hkenken #define ETH_TDSC_I_NO_CRC_APPENDED		__BIT(16)
    281  1.1  hkenken #define ETH_TDSC_I_LAST_BUF			__BIT(15)	/* last buf in frame */
    282  1.1  hkenken #define ETH_TDSC_I_LEN				__BITS(13, 0)
    283  1.1  hkenken 
    284  1.1  hkenken #endif /* !_IF_CEMACREG_H_ */
    285