diff options
-rw-r--r-- | drivers/net/mv643xx_eth.h | 152 |
1 files changed, 49 insertions, 103 deletions
diff --git a/drivers/net/mv643xx_eth.h b/drivers/net/mv643xx_eth.h index f8742e1edea2..7754d1974b9e 100644 --- a/drivers/net/mv643xx_eth.h +++ b/drivers/net/mv643xx_eth.h | |||
@@ -9,43 +9,6 @@ | |||
9 | 9 | ||
10 | #include <linux/mv643xx.h> | 10 | #include <linux/mv643xx.h> |
11 | 11 | ||
12 | #define BIT0 0x00000001 | ||
13 | #define BIT1 0x00000002 | ||
14 | #define BIT2 0x00000004 | ||
15 | #define BIT3 0x00000008 | ||
16 | #define BIT4 0x00000010 | ||
17 | #define BIT5 0x00000020 | ||
18 | #define BIT6 0x00000040 | ||
19 | #define BIT7 0x00000080 | ||
20 | #define BIT8 0x00000100 | ||
21 | #define BIT9 0x00000200 | ||
22 | #define BIT10 0x00000400 | ||
23 | #define BIT11 0x00000800 | ||
24 | #define BIT12 0x00001000 | ||
25 | #define BIT13 0x00002000 | ||
26 | #define BIT14 0x00004000 | ||
27 | #define BIT15 0x00008000 | ||
28 | #define BIT16 0x00010000 | ||
29 | #define BIT17 0x00020000 | ||
30 | #define BIT18 0x00040000 | ||
31 | #define BIT19 0x00080000 | ||
32 | #define BIT20 0x00100000 | ||
33 | #define BIT21 0x00200000 | ||
34 | #define BIT22 0x00400000 | ||
35 | #define BIT23 0x00800000 | ||
36 | #define BIT24 0x01000000 | ||
37 | #define BIT25 0x02000000 | ||
38 | #define BIT26 0x04000000 | ||
39 | #define BIT27 0x08000000 | ||
40 | #define BIT28 0x10000000 | ||
41 | #define BIT29 0x20000000 | ||
42 | #define BIT30 0x40000000 | ||
43 | #define BIT31 0x80000000 | ||
44 | |||
45 | /* | ||
46 | * The first part is the high level driver of the gigE ethernet ports. | ||
47 | */ | ||
48 | |||
49 | /* Checksum offload for Tx works for most packets, but | 12 | /* Checksum offload for Tx works for most packets, but |
50 | * fails if previous packet sent did not use hw csum | 13 | * fails if previous packet sent did not use hw csum |
51 | */ | 14 | */ |
@@ -148,88 +111,71 @@ | |||
148 | #define ETH_MIB_LATE_COLLISION 0x7c | 111 | #define ETH_MIB_LATE_COLLISION 0x7c |
149 | 112 | ||
150 | /* Port serial status reg (PSR) */ | 113 | /* Port serial status reg (PSR) */ |
151 | #define ETH_INTERFACE_GMII_MII 0 | 114 | #define ETH_INTERFACE_PCM 0x00000001 |
152 | #define ETH_INTERFACE_PCM BIT0 | 115 | #define ETH_LINK_IS_UP 0x00000002 |
153 | #define ETH_LINK_IS_DOWN 0 | 116 | #define ETH_PORT_AT_FULL_DUPLEX 0x00000004 |
154 | #define ETH_LINK_IS_UP BIT1 | 117 | #define ETH_RX_FLOW_CTRL_ENABLED 0x00000008 |
155 | #define ETH_PORT_AT_HALF_DUPLEX 0 | 118 | #define ETH_GMII_SPEED_1000 0x00000010 |
156 | #define ETH_PORT_AT_FULL_DUPLEX BIT2 | 119 | #define ETH_MII_SPEED_100 0x00000020 |
157 | #define ETH_RX_FLOW_CTRL_DISABLED 0 | 120 | #define ETH_TX_IN_PROGRESS 0x00000080 |
158 | #define ETH_RX_FLOW_CTRL_ENBALED BIT3 | 121 | #define ETH_BYPASS_ACTIVE 0x00000100 |
159 | #define ETH_GMII_SPEED_100_10 0 | 122 | #define ETH_PORT_AT_PARTITION_STATE 0x00000200 |
160 | #define ETH_GMII_SPEED_1000 BIT4 | 123 | #define ETH_PORT_TX_FIFO_EMPTY 0x00000400 |
161 | #define ETH_MII_SPEED_10 0 | ||
162 | #define ETH_MII_SPEED_100 BIT5 | ||
163 | #define ETH_NO_TX 0 | ||
164 | #define ETH_TX_IN_PROGRESS BIT7 | ||
165 | #define ETH_BYPASS_NO_ACTIVE 0 | ||
166 | #define ETH_BYPASS_ACTIVE BIT8 | ||
167 | #define ETH_PORT_NOT_AT_PARTITION_STATE 0 | ||
168 | #define ETH_PORT_AT_PARTITION_STATE BIT9 | ||
169 | #define ETH_PORT_TX_FIFO_NOT_EMPTY 0 | ||
170 | #define ETH_PORT_TX_FIFO_EMPTY BIT10 | ||
171 | |||
172 | #define ETH_DEFAULT_RX_BPDU_QUEUE_3 (BIT23 | BIT22) | ||
173 | #define ETH_DEFAULT_RX_BPDU_QUEUE_4 BIT24 | ||
174 | #define ETH_DEFAULT_RX_BPDU_QUEUE_5 (BIT24 | BIT22) | ||
175 | #define ETH_DEFAULT_RX_BPDU_QUEUE_6 (BIT24 | BIT23) | ||
176 | #define ETH_DEFAULT_RX_BPDU_QUEUE_7 (BIT24 | BIT23 | BIT22) | ||
177 | 124 | ||
178 | /* SMI reg */ | 125 | /* SMI reg */ |
179 | #define ETH_SMI_BUSY BIT28 /* 0 - Write, 1 - Read */ | 126 | #define ETH_SMI_BUSY 0x10000000 /* 0 - Write, 1 - Read */ |
180 | #define ETH_SMI_READ_VALID BIT27 /* 0 - Write, 1 - Read */ | 127 | #define ETH_SMI_READ_VALID 0x08000000 /* 0 - Write, 1 - Read */ |
181 | #define ETH_SMI_OPCODE_WRITE 0 /* Completion of Read operation */ | 128 | #define ETH_SMI_OPCODE_WRITE 0 /* Completion of Read */ |
182 | #define ETH_SMI_OPCODE_READ BIT26 /* Operation is in progress */ | 129 | #define ETH_SMI_OPCODE_READ 0x04000000 /* Operation is in progress */ |
130 | |||
131 | /* Interrupt Cause Register Bit Definitions */ | ||
183 | 132 | ||
184 | /* SDMA command status fields macros */ | 133 | /* SDMA command status fields macros */ |
185 | 134 | ||
186 | /* Tx & Rx descriptors status */ | 135 | /* Tx & Rx descriptors status */ |
187 | #define ETH_ERROR_SUMMARY (BIT0) | 136 | #define ETH_ERROR_SUMMARY 0x00000001 |
188 | 137 | ||
189 | /* Tx & Rx descriptors command */ | 138 | /* Tx & Rx descriptors command */ |
190 | #define ETH_BUFFER_OWNED_BY_DMA (BIT31) | 139 | #define ETH_BUFFER_OWNED_BY_DMA 0x80000000 |
191 | 140 | ||
192 | /* Tx descriptors status */ | 141 | /* Tx descriptors status */ |
193 | #define ETH_LC_ERROR (0 ) | 142 | #define ETH_LC_ERROR 0 |
194 | #define ETH_UR_ERROR (BIT1 ) | 143 | #define ETH_UR_ERROR 0x00000002 |
195 | #define ETH_RL_ERROR (BIT2 ) | 144 | #define ETH_RL_ERROR 0x00000004 |
196 | #define ETH_LLC_SNAP_FORMAT (BIT9 ) | 145 | #define ETH_LLC_SNAP_FORMAT 0x00000200 |
197 | 146 | ||
198 | /* Rx descriptors status */ | 147 | /* Rx descriptors status */ |
199 | #define ETH_CRC_ERROR (0 ) | 148 | #define ETH_OVERRUN_ERROR 0x00000002 |
200 | #define ETH_OVERRUN_ERROR (BIT1 ) | 149 | #define ETH_MAX_FRAME_LENGTH_ERROR 0x00000004 |
201 | #define ETH_MAX_FRAME_LENGTH_ERROR (BIT2 ) | 150 | #define ETH_RESOURCE_ERROR 0x00000006 |
202 | #define ETH_RESOURCE_ERROR ((BIT2 | BIT1)) | 151 | #define ETH_VLAN_TAGGED 0x00080000 |
203 | #define ETH_VLAN_TAGGED (BIT19) | 152 | #define ETH_BPDU_FRAME 0x00100000 |
204 | #define ETH_BPDU_FRAME (BIT20) | 153 | #define ETH_UDP_FRAME_OVER_IP_V_4 0x00200000 |
205 | #define ETH_TCP_FRAME_OVER_IP_V_4 (0 ) | 154 | #define ETH_OTHER_FRAME_TYPE 0x00400000 |
206 | #define ETH_UDP_FRAME_OVER_IP_V_4 (BIT21) | 155 | #define ETH_LAYER_2_IS_ETH_V_2 0x00800000 |
207 | #define ETH_OTHER_FRAME_TYPE (BIT22) | 156 | #define ETH_FRAME_TYPE_IP_V_4 0x01000000 |
208 | #define ETH_LAYER_2_IS_ETH_V_2 (BIT23) | 157 | #define ETH_FRAME_HEADER_OK 0x02000000 |
209 | #define ETH_FRAME_TYPE_IP_V_4 (BIT24) | 158 | #define ETH_RX_LAST_DESC 0x04000000 |
210 | #define ETH_FRAME_HEADER_OK (BIT25) | 159 | #define ETH_RX_FIRST_DESC 0x08000000 |
211 | #define ETH_RX_LAST_DESC (BIT26) | 160 | #define ETH_UNKNOWN_DESTINATION_ADDR 0x10000000 |
212 | #define ETH_RX_FIRST_DESC (BIT27) | 161 | #define ETH_RX_ENABLE_INTERRUPT 0x20000000 |
213 | #define ETH_UNKNOWN_DESTINATION_ADDR (BIT28) | 162 | #define ETH_LAYER_4_CHECKSUM_OK 0x40000000 |
214 | #define ETH_RX_ENABLE_INTERRUPT (BIT29) | ||
215 | #define ETH_LAYER_4_CHECKSUM_OK (BIT30) | ||
216 | 163 | ||
217 | /* Rx descriptors byte count */ | 164 | /* Rx descriptors byte count */ |
218 | #define ETH_FRAME_FRAGMENTED (BIT2) | 165 | #define ETH_FRAME_FRAGMENTED 0x00000004 |
219 | 166 | ||
220 | /* Tx descriptors command */ | 167 | /* Tx descriptors command */ |
221 | #define ETH_LAYER_4_CHECKSUM_FIRST_DESC (BIT10) | 168 | #define ETH_LAYER_4_CHECKSUM_FIRST_DESC 0x00000400 |
222 | #define ETH_FRAME_SET_TO_VLAN (BIT15) | 169 | #define ETH_FRAME_SET_TO_VLAN 0x00008000 |
223 | #define ETH_TCP_FRAME (0 ) | 170 | #define ETH_UDP_FRAME 0x00010000 |
224 | #define ETH_UDP_FRAME (BIT16) | 171 | #define ETH_GEN_TCP_UDP_CHECKSUM 0x00020000 |
225 | #define ETH_GEN_TCP_UDP_CHECKSUM (BIT17) | 172 | #define ETH_GEN_IP_V_4_CHECKSUM 0x00040000 |
226 | #define ETH_GEN_IP_V_4_CHECKSUM (BIT18) | 173 | #define ETH_ZERO_PADDING 0x00080000 |
227 | #define ETH_ZERO_PADDING (BIT19) | 174 | #define ETH_TX_LAST_DESC 0x00100000 |
228 | #define ETH_TX_LAST_DESC (BIT20) | 175 | #define ETH_TX_FIRST_DESC 0x00200000 |
229 | #define ETH_TX_FIRST_DESC (BIT21) | 176 | #define ETH_GEN_CRC 0x00400000 |
230 | #define ETH_GEN_CRC (BIT22) | 177 | #define ETH_TX_ENABLE_INTERRUPT 0x00800000 |
231 | #define ETH_TX_ENABLE_INTERRUPT (BIT23) | 178 | #define ETH_AUTO_MODE 0x40000000 |
232 | #define ETH_AUTO_MODE (BIT30) | ||
233 | 179 | ||
234 | #define ETH_TX_IHL_SHIFT 11 | 180 | #define ETH_TX_IHL_SHIFT 11 |
235 | 181 | ||