1 /*******************************************************************************
2 Header File to describe the DMA descriptors.
3 Enhanced descriptors have been in case of DWMAC1000 Cores.
5 This program is free software; you can redistribute it and/or modify it
6 under the terms and conditions of the GNU General Public License,
7 version 2, as published by the Free Software Foundation.
9 This program is distributed in the hope it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14 You should have received a copy of the GNU General Public License along with
15 this program; if not, write to the Free Software Foundation, Inc.,
16 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
18 The full GNU General Public License is included in this distribution in
19 the file called "COPYING".
21 Author: Giuseppe Cavallaro <peppe.cavallaro@st.com>
22 *******************************************************************************/
28 /* Receive descriptor */
32 u32 payload_csum_error
:1;
36 u32 receive_watchdog
:1;
40 u32 last_descriptor
:1;
41 u32 first_descriptor
:1;
46 u32 descriptor_error
:1;
55 u32 second_address_chained
:1;
63 u32 payload_csum_error
:1;
67 u32 receive_watchdog
:1;
71 u32 last_descriptor
:1;
72 u32 first_descriptor
:1;
77 u32 descriptor_error
:1;
85 u32 second_address_chained
:1;
90 } erx
; /* -- enhanced -- */
92 /* Transmit descriptor */
96 u32 underflow_error
:1;
97 u32 excessive_deferral
:1;
98 u32 collision_count
:4;
100 u32 excessive_collisions
:1;
101 u32 late_collision
:1;
106 u32 jabber_timeout
:1;
108 u32 ip_header_error
:1;
109 u32 time_stamp_status
:1;
115 u32 time_stamp_enable
:1;
116 u32 disable_padding
:1;
117 u32 second_address_chained
:1;
120 u32 checksum_insertion
:2;
128 u32 underflow_error
:1;
129 u32 excessive_deferral
:1;
130 u32 collision_count
:4;
132 u32 excessive_collisions
:1;
133 u32 late_collision
:1;
138 u32 jabber_timeout
:1;
140 u32 ip_header_error
:1;
141 u32 time_stamp_status
:1;
143 u32 second_address_chained
:1;
145 u32 checksum_insertion
:2;
147 u32 time_stamp_enable
:1;
148 u32 disable_padding
:1;
159 } etx
; /* -- enhanced -- */
165 /* Transmit checksum insertion control */
166 enum tdes_csum_insertion
{
167 cic_disabled
= 0, /* Checksum Insertion Control */
168 cic_only_ip
= 1, /* Only IP header */
169 cic_no_pseudoheader
= 2, /* IP header but pseudoheader
170 * is not calculated */
171 cic_full
= 3, /* IP header and pseudoheader */
174 #endif /* __DESCS_H__ */