Rev 2544 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2544 | Rev 2852 | ||
---|---|---|---|
Line 16... | Line 16... | ||
16 | ;; ;; |
16 | ;; ;; |
17 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
17 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 18... | Line 18... | ||
18 | 18 | ||
Line 19... | Line 19... | ||
19 | format MS COFF |
19 | format MS COFF |
20 | 20 | ||
Line 21... | Line 21... | ||
21 | API_VERSION equ 0x01000100 |
21 | API_VERSION = 0x01000100 |
Line 22... | Line 22... | ||
22 | DRIVER_VERSION equ 5 |
22 | DRIVER_VERSION = 5 |
23 | 23 | ||
24 | MAX_DEVICES equ 16 |
24 | MAX_DEVICES = 16 |
Line 25... | Line 25... | ||
25 | 25 | ||
26 | DEBUG equ 1 |
26 | DEBUG = 1 |
27 | __DEBUG__ equ 1 |
27 | __DEBUG__ = 1 |
28 | __DEBUG_LEVEL__ equ 1 |
28 | __DEBUG_LEVEL__ = 1 |
Line 59... | Line 59... | ||
59 | end virtual |
59 | end virtual |
Line 60... | Line 60... | ||
60 | 60 | ||
61 | ;------------------------------------------- |
61 | ;------------------------------------------- |
62 | ; configuration registers |
62 | ; configuration registers |
63 | ;------------------------------------------- |
63 | ;------------------------------------------- |
Line 64... | Line 64... | ||
64 | CFCS equ 4 ; configuration and status register |
64 | CFCS = 4 ; configuration and status register |
65 | 65 | ||
66 | CSR0 equ 0x00 ; Bus mode |
66 | CSR0 = 0x00 ; Bus mode |
67 | CSR1 equ 0x08 ; Transmit Poll Command |
67 | CSR1 = 0x08 ; Transmit Poll Command |
68 | CSR2 equ 0x10 ; Receive Poll Command |
68 | CSR2 = 0x10 ; Receive Poll Command |
69 | CSR3 equ 0x18 ; Receive list base address |
69 | CSR3 = 0x18 ; Receive list base address |
70 | CSR4 equ 0x20 ; Transmit list base address |
70 | CSR4 = 0x20 ; Transmit list base address |
71 | CSR5 equ 0x28 ; Status |
71 | CSR5 = 0x28 ; Status |
72 | CSR6 equ 0x30 ; Operation mode |
72 | CSR6 = 0x30 ; Operation mode |
73 | CSR7 equ 0x38 ; Interrupt enable |
73 | CSR7 = 0x38 ; Interrupt enable |
74 | CSR8 equ 0x40 ; Missed frames and overflow counter |
74 | CSR8 = 0x40 ; Missed frames and overflow counter |
75 | CSR9 equ 0x48 ; Boot ROM, serial ROM, and MII management |
75 | CSR9 = 0x48 ; Boot ROM, serial ROM, and MII management |
76 | CSR10 equ 0x50 ; Boot ROM programming address |
76 | CSR10 = 0x50 ; Boot ROM programming address |
77 | CSR11 equ 0x58 ; General-purpose timer |
77 | CSR11 = 0x58 ; General-purpose timer |
78 | CSR12 equ 0x60 ; General-purpose port |
78 | CSR12 = 0x60 ; General-purpose port |
79 | CSR13 equ 0x68 |
79 | CSR13 = 0x68 |
Line 80... | Line 80... | ||
80 | CSR14 equ 0x70 |
80 | CSR14 = 0x70 |
81 | CSR15 equ 0x78 ; Watchdog timer |
81 | CSR15 = 0x78 ; Watchdog timer |
Line 82... | Line 82... | ||
82 | 82 | ||
83 | ;--------bits/commands of CSR0------------------- |
83 | ;--------bits/commands of CSR0------------------- |
84 | CSR0_RESET equ 1b |
84 | CSR0_RESET = 1b |
85 | 85 | ||
86 | CSR0_WIE equ 1 SHL 24 ; Write and Invalidate Enable |
86 | CSR0_WIE = 1 SHL 24 ; Write and Invalidate Enable |
87 | CSR0_RLE equ 1 SHL 23 ; PCI Read Line Enable |
87 | CSR0_RLE = 1 SHL 23 ; PCI Read Line Enable |
88 | CSR0_RML equ 1 SHL 21 ; PCI Read Multiple |
88 | CSR0_RML = 1 SHL 21 ; PCI Read Multiple |
89 | 89 | ||
Line 90... | Line 90... | ||
90 | CSR0_CACHEALIGN_NONE equ 00b SHL 14 |
90 | CSR0_CACHEALIGN_NONE = 00b SHL 14 |
91 | CSR0_CACHEALIGN_32 equ 01b SHL 14 |
91 | CSR0_CACHEALIGN_32 = 01b SHL 14 |
Line 92... | Line 92... | ||
92 | CSR0_CACHEALIGN_64 equ 10b SHL 14 |
92 | CSR0_CACHEALIGN_64 = 10b SHL 14 |
93 | CSR0_CACHEALIGN_128 equ 11b SHL 14 |
93 | CSR0_CACHEALIGN_128 = 11b SHL 14 |
94 | 94 | ||
95 | ; using values from linux driver.. :P |
95 | ; using values from linux driver.. :P |
96 | CSR0_DEFAULT equ CSR0_WIE+CSR0_RLE+CSR0_RML+CSR0_CACHEALIGN_NONE ;32 |
96 | CSR0_DEFAULT = CSR0_WIE+CSR0_RLE+CSR0_RML+CSR0_CACHEALIGN_NONE ;32 |
97 | 97 | ||
98 | ;------- CSR5 -STATUS- bits -------------------------------- |
98 | ;------- CSR5 -STATUS- bits -------------------------------- |
99 | CSR5_TI equ 1 SHL 0 ; Transmit interupt - frame transmition completed |
99 | CSR5_TI = 1 SHL 0 ; Transmit interupt - frame transmition completed |
100 | CSR5_TPS equ 1 SHL 1 ; Transmit process stopped |
100 | CSR5_TPS = 1 SHL 1 ; Transmit process stopped |
101 | CSR5_TU equ 1 SHL 2 ; Transmit Buffer unavailable |
101 | CSR5_TU = 1 SHL 2 ; Transmit Buffer unavailable |
102 | CSR5_TJT equ 1 SHL 3 ; Transmit Jabber Timeout (transmitter had been excessively active) |
102 | CSR5_TJT = 1 SHL 3 ; Transmit Jabber Timeout (transmitter had been excessively active) |
103 | CSR5_UNF equ 1 SHL 5 ; Transmit underflow - FIFO underflow |
103 | CSR5_UNF = 1 SHL 5 ; Transmit underflow - FIFO underflow |
104 | CSR5_RI equ 1 SHL 6 ; Receive Interrupt |
104 | CSR5_RI = 1 SHL 6 ; Receive Interrupt |
105 | CSR5_RU equ 1 SHL 7 ; Receive Buffer unavailable |
105 | CSR5_RU = 1 SHL 7 ; Receive Buffer unavailable |
106 | CSR5_RPS equ 1 SHL 8 ; Receive Process stopped |
106 | CSR5_RPS = 1 SHL 8 ; Receive Process stopped |
107 | CSR5_RWT equ 1 SHL 9 ; Receive Watchdow Timeout |
107 | CSR5_RWT = 1 SHL 9 ; Receive Watchdow Timeout |
108 | CSR5_ETI equ 1 SHL 10 ; Early transmit Interrupt |
108 | CSR5_ETI = 1 SHL 10 ; Early transmit Interrupt |
109 | CSR5_GTE equ 1 SHL 11 ; General Purpose Timer Expired |
109 | CSR5_GTE = 1 SHL 11 ; General Purpose Timer Expired |
110 | CSR5_FBE equ 1 SHL 13 ; Fatal bus error |
110 | CSR5_FBE = 1 SHL 13 ; Fatal bus error |
111 | CSR5_ERI equ 1 SHL 14 ; Early receive Interrupt |
111 | CSR5_ERI = 1 SHL 14 ; Early receive Interrupt |
112 | CSR5_AIS equ 1 SHL 15 ; Abnormal interrupt summary |
112 | CSR5_AIS = 1 SHL 15 ; Abnormal interrupt summary |
113 | CSR5_NIS equ 1 SHL 16 ; normal interrupt summary |
113 | CSR5_NIS = 1 SHL 16 ; normal interrupt summary |
Line 114... | Line 114... | ||
114 | CSR5_RS_SH equ 1 SHL 17 ; Receive process state -shift |
114 | CSR5_RS_SH = 1 SHL 17 ; Receive process state -shift |
115 | CSR5_RS_MASK equ 111b ; -mask |
115 | CSR5_RS_MASK = 111b ; -mask |
116 | CSR5_TS_SH equ 1 SHL 20 ; Transmit process state -shift |
116 | CSR5_TS_SH = 1 SHL 20 ; Transmit process state -shift |
117 | CSR5_TS_MASK equ 111b ; -mask |
117 | CSR5_TS_MASK = 111b ; -mask |
118 | CSR5_EB_SH equ 1 SHL 23 ; Error bits -shift |
118 | CSR5_EB_SH = 1 SHL 23 ; Error bits -shift |
119 | CSR5_EB_MASK equ 111b ; Error bits -mask |
119 | CSR5_EB_MASK = 111b ; Error bits -mask |
120 | 120 | ||
121 | ;CSR5 TS values |
121 | ;CSR5 TS values |
Line 122... | Line 122... | ||
122 | CSR5_TS_STOPPED equ 000b |
122 | CSR5_TS_STOPPED = 000b |
123 | CSR5_TS_RUNNING_FETCHING_DESC equ 001b |
123 | CSR5_TS_RUNNING_FETCHING_DESC = 001b |
124 | CSR5_TS_RUNNING_WAITING_TX equ 010b |
124 | CSR5_TS_RUNNING_WAITING_TX = 010b |
125 | CSR5_TS_RUNNING_READING_BUFF equ 011b |
125 | CSR5_TS_RUNNING_READING_BUFF = 011b |
126 | CSR5_TS_RUNNING_SETUP_PCKT equ 101b |
126 | CSR5_TS_RUNNING_SETUP_PCKT = 101b |
127 | CSR5_TS_SUSPENDED equ 110b |
127 | CSR5_TS_SUSPENDED = 110b |
128 | CSR5_TS_RUNNING_CLOSING_DESC equ 111b |
128 | CSR5_TS_RUNNING_CLOSING_DESC = 111b |
129 | 129 | ||
130 | ;------- CSR6 -OPERATION MODE- bits -------------------------------- |
130 | ;------- CSR6 -OPERATION MODE- bits -------------------------------- |
131 | CSR6_HP equ 1 SHL 0 ; Hash/Perfect Receive Filtering mode |
131 | CSR6_HP = 1 SHL 0 ; Hash/Perfect Receive Filtering mode |
132 | CSR6_SR equ 1 SHL 1 ; Start/Stop receive |
132 | CSR6_SR = 1 SHL 1 ; Start/Stop receive |
133 | CSR6_HO equ 1 SHL 2 ; Hash only Filtering mode |
133 | CSR6_HO = 1 SHL 2 ; Hash only Filtering mode |
134 | CSR6_PB equ 1 SHL 3 ; Pass bad frames |
134 | CSR6_PB = 1 SHL 3 ; Pass bad frames |
135 | CSR6_IF equ 1 SHL 4 ; Inverse filtering |
135 | CSR6_IF = 1 SHL 4 ; Inverse filtering |
136 | CSR6_SB equ 1 SHL 5 ; Start/Stop backoff counter |
136 | CSR6_SB = 1 SHL 5 ; Start/Stop backoff counter |
137 | CSR6_PR equ 1 SHL 6 ; Promiscuos mode -default after reset |
137 | CSR6_PR = 1 SHL 6 ; Promiscuos mode -default after reset |
138 | CSR6_PM equ 1 SHL 7 ; Pass all multicast |
138 | CSR6_PM = 1 SHL 7 ; Pass all multicast |
139 | CSR6_F equ 1 SHL 9 ; Full Duplex mode |
139 | CSR6_F = 1 SHL 9 ; Full Duplex mode |
140 | CSR6_OM_SH equ 1 SHL 10 ; Operating Mode -shift |
140 | CSR6_OM_SH = 1 SHL 10 ; Operating Mode -shift |
141 | CSR6_OM_MASK equ 11b ; -mask |
141 | CSR6_OM_MASK = 11b ; -mask |
142 | CSR6_FC equ 1 SHL 12 ; Force Collision Mode |
142 | CSR6_FC = 1 SHL 12 ; Force Collision Mode |
143 | CSR6_ST equ 1 SHL 13 ; Start/Stop Transmission Command |
143 | CSR6_ST = 1 SHL 13 ; Start/Stop Transmission Command |
144 | CSR6_TR_SH equ 1 SHL 14 ; Threshold Control -shift |
144 | CSR6_TR_SH = 1 SHL 14 ; Threshold Control -shift |
145 | CSR6_TR_MASK equ 11b ; -mask |
145 | CSR6_TR_MASK = 11b ; -mask |
146 | CSR6_CA equ 1 SHL 17 ; Capture Effect Enable |
146 | CSR6_CA = 1 SHL 17 ; Capture Effect Enable |
147 | CSR6_PS equ 1 SHL 18 ; Port select SRL / MII/SYM |
147 | CSR6_PS = 1 SHL 18 ; Port select SRL / MII/SYM |
Line 148... | Line 148... | ||
148 | CSR6_HBD equ 1 SHL 19 ; Heartbeat Disable |
148 | CSR6_HBD = 1 SHL 19 ; Heartbeat Disable |
149 | CSR6_SF equ 1 SHL 21 ; Store and Forward -transmit full packet only |
149 | CSR6_SF = 1 SHL 21 ; Store and Forward -transmit full packet only |
150 | CSR6_TTM equ 1 SHL 22 ; Transmit Threshold Mode - |
150 | CSR6_TTM = 1 SHL 22 ; Transmit Threshold Mode - |
151 | CSR6_PCS equ 1 SHL 23 ; PCS active and MII/SYM port operates in symbol mode |
151 | CSR6_PCS = 1 SHL 23 ; PCS active and MII/SYM port operates in symbol mode |
152 | CSR6_SCR equ 1 SHL 24 ; Scrambler Mode |
152 | CSR6_SCR = 1 SHL 24 ; Scrambler Mode |
153 | CSR6_MBO equ 1 SHL 25 ; Must Be One |
153 | CSR6_MBO = 1 SHL 25 ; Must Be One |
154 | CSR6_RA equ 1 SHL 30 ; Receive All |
154 | CSR6_RA = 1 SHL 30 ; Receive All |
155 | CSR6_SC equ 1 SHL 31 ; Special Capture Effect Enable |
155 | CSR6_SC = 1 SHL 31 ; Special Capture Effect Enable |
156 | 156 | ||
157 | 157 | ||
158 | ;------- CSR7 -INTERRUPT ENABLE- bits -------------------------------- |
158 | ;------- CSR7 -INTERRUPT ENABLE- bits -------------------------------- |
159 | CSR7_TI equ 1 SHL 0 ; transmit Interrupt Enable (set with CSR7<16> & CSR5<0> ) |
159 | CSR7_TI = 1 SHL 0 ; transmit Interrupt Enable (set with CSR7<16> & CSR5<0> ) |
160 | CSR7_TS equ 1 SHL 1 ; transmit Stopped Enable (set with CSR7<15> & CSR5<1> ) |
160 | CSR7_TS = 1 SHL 1 ; transmit Stopped Enable (set with CSR7<15> & CSR5<1> ) |
161 | CSR7_TU equ 1 SHL 2 ; transmit buffer underrun Enable (set with CSR7<16> & CSR5<2> ) |
161 | CSR7_TU = 1 SHL 2 ; transmit buffer underrun Enable (set with CSR7<16> & CSR5<2> ) |
162 | CSR7_TJ equ 1 SHL 3 ; transmit jabber timeout enable (set with CSR7<15> & CSR5<3> ) |
162 | CSR7_TJ = 1 SHL 3 ; transmit jabber timeout enable (set with CSR7<15> & CSR5<3> ) |
163 | CSR7_UN equ 1 SHL 5 ; underflow Interrupt enable (set with CSR7<15> & CSR5<5> ) |
163 | CSR7_UN = 1 SHL 5 ; underflow Interrupt enable (set with CSR7<15> & CSR5<5> ) |
164 | CSR7_RI equ 1 SHL 6 ; receive Interrupt enable (set with CSR7<16> & CSR5<5> ) |
164 | CSR7_RI = 1 SHL 6 ; receive Interrupt enable (set with CSR7<16> & CSR5<5> ) |
165 | CSR7_RU equ 1 SHL 7 ; receive buffer unavailable enable (set with CSR7<15> & CSR5<7> ) |
165 | CSR7_RU = 1 SHL 7 ; receive buffer unavailable enable (set with CSR7<15> & CSR5<7> ) |
Line 166... | Line 166... | ||
166 | CSR7_RS equ 1 SHL 8 ; Receive stopped enable (set with CSR7<15> & CSR5<8> ) |
166 | CSR7_RS = 1 SHL 8 ; Receive stopped enable (set with CSR7<15> & CSR5<8> ) |
167 | CSR7_RW equ 1 SHL 9 ; receive watchdog timeout enable (set with CSR7<15> & CSR5<9> ) |
167 | CSR7_RW = 1 SHL 9 ; receive watchdog timeout enable (set with CSR7<15> & CSR5<9> ) |
168 | CSR7_ETE equ 1 SHL 10 ; Early transmit Interrupt enable (set with CSR7<15> & CSR5<10> ) |
168 | CSR7_ETE = 1 SHL 10 ; Early transmit Interrupt enable (set with CSR7<15> & CSR5<10> ) |
Line 187... | Line 187... | ||
187 | virtual at 0 |
187 | virtual at 0 |
188 | DES DES |
188 | DES DES |
189 | end virtual |
189 | end virtual |
Line 190... | Line 190... | ||
190 | 190 | ||
191 | ;common to Rx and Tx |
191 | ;common to Rx and Tx |
Line 192... | Line 192... | ||
192 | DES0_OWN equ 1 SHL 31 ; if set, the NIC controls the descriptor, otherwise driver 'owns' the descriptors |
192 | DES0_OWN = 1 SHL 31 ; if set, the NIC controls the descriptor, otherwise driver 'owns' the descriptors |
193 | 193 | ||
194 | ;receive |
194 | ;receive |
195 | RDES0_ZER equ 1 SHL 0 ; must be 0 if legal length :D |
195 | RDES0_ZER = 1 SHL 0 ; must be 0 if legal length :D |
196 | RDES0_CE equ 1 SHL 1 ; CRC error, valid only on last desc (RDES0<8>=1) |
196 | RDES0_CE = 1 SHL 1 ; CRC error, valid only on last desc (RDES0<8>=1) |
197 | RDES0_DB equ 1 SHL 2 ; dribbling bit - not multiple of 8 bits, valid only on last desc (RDES0<8>=1) |
197 | RDES0_DB = 1 SHL 2 ; dribbling bit - not multiple of 8 bits, valid only on last desc (RDES0<8>=1) |
198 | RDES0_RE equ 1 SHL 3 ; Report on MII error.. i dont realy know what this means :P |
198 | RDES0_RE = 1 SHL 3 ; Report on MII error.. i dont realy know what this means :P |
199 | RDES0_RW equ 1 SHL 4 ; received watchdog timer expiration - must set CSR5<9>, valid only on last desc (RDES0<8>=1) |
199 | RDES0_RW = 1 SHL 4 ; received watchdog timer expiration - must set CSR5<9>, valid only on last desc (RDES0<8>=1) |
200 | RDES0_FT equ 1 SHL 5 ; frame type: 0->IEEE802.0 (len<1500) 1-> ETHERNET frame (len>1500), valid only on last desc (RDES0<8>=1) |
200 | RDES0_FT = 1 SHL 5 ; frame type: 0->IEEE802.0 (len<1500) 1-> ETHERNET frame (len>1500), valid only on last desc (RDES0<8>=1) |
201 | RDES0_CS equ 1 SHL 6 ; Collision seen, valid only on last desc (RDES0<8>=1) |
201 | RDES0_CS = 1 SHL 6 ; Collision seen, valid only on last desc (RDES0<8>=1) |
202 | RDES0_TL equ 1 SHL 7 ; Too long(>1518)-NOT AN ERROR, valid only on last desc (RDES0<8>=1) |
202 | RDES0_TL = 1 SHL 7 ; Too long(>1518)-NOT AN ERROR, valid only on last desc (RDES0<8>=1) |
203 | RDES0_LS equ 1 SHL 8 ; Last descriptor of current frame |
203 | RDES0_LS = 1 SHL 8 ; Last descriptor of current frame |
204 | RDES0_FS equ 1 SHL 9 ; First descriptor of current frame |
204 | RDES0_FS = 1 SHL 9 ; First descriptor of current frame |
205 | RDES0_MF equ 1 SHL 10 ; Multicast frame, valid only on last desc (RDES0<8>=1) |
205 | RDES0_MF = 1 SHL 10 ; Multicast frame, valid only on last desc (RDES0<8>=1) |
206 | RDES0_RF equ 1 SHL 11 ; Runt frame, valid only on last desc (RDES0<8>=1) and id overflow |
206 | RDES0_RF = 1 SHL 11 ; Runt frame, valid only on last desc (RDES0<8>=1) and id overflow |
207 | RDES0_DT_SERIAL equ 00b SHL 12 ; Data type-Serial recv frame, valid only on last desc (RDES0<8>=1) |
207 | RDES0_DT_SERIAL = 00b SHL 12 ; Data type-Serial recv frame, valid only on last desc (RDES0<8>=1) |
208 | RDES0_DT_INTERNAL equ 01b SHL 12 ; Data type-Internal loopback recv frame, valid only on last desc (RDES0<8>=1) |
208 | RDES0_DT_INTERNAL = 01b SHL 12 ; Data type-Internal loopback recv frame, valid only on last desc (RDES0<8>=1) |
209 | RDES0_DT_EXTERNAL equ 11b SHL 12 ; Data type-External loopback recv frame, valid only on last desc (RDES0<8>=1) |
209 | RDES0_DT_EXTERNAL = 11b SHL 12 ; Data type-External loopback recv frame, valid only on last desc (RDES0<8>=1) |
210 | RDES0_DE equ 1 SHL 14 ; Descriptor error - cant own a new desc and frame doesnt fit, valid only on last desc (RDES0<8>=1) |
210 | RDES0_DE = 1 SHL 14 ; Descriptor error - cant own a new desc and frame doesnt fit, valid only on last desc (RDES0<8>=1) |
211 | RDES0_ES equ 1 SHL 15 ; Error Summmary - bits 1+6+11+14, valid only on last desc (RDES0<8>=1) |
211 | RDES0_ES = 1 SHL 15 ; Error Summmary - bits 1+6+11+14, valid only on last desc (RDES0<8>=1) |
212 | RDES0_FL_SH equ 16 ; Field length shift, valid only on last desc (RDES0<8>=1) |
212 | RDES0_FL_SH = 16 ; Field length shift, valid only on last desc (RDES0<8>=1) |
213 | RDES0_FL_MASK equ 11111111111111b ; Field length mask (+CRC), valid only on last desc (RDES0<8>=1) |
213 | RDES0_FL_MASK = 11111111111111b ; Field length mask (+CRC), valid only on last desc (RDES0<8>=1) |
214 | RDES0_FF equ 1 SHL 30 ; Filtering fail-frame failed address recognition test(must CSR6<30>=1), valid only on last desc (RDES0<8>=1) |
214 | RDES0_FF = 1 SHL 30 ; Filtering fail-frame failed address recognition test(must CSR6<30>=1), valid only on last desc (RDES0<8>=1) |
215 | 215 | ||
216 | RDES1_RBS1_MASK equ 11111111111b ; firsd buffer size MASK |
216 | RDES1_RBS1_MASK = 11111111111b ; firsd buffer size MASK |
217 | RDES1_RBS2_SH equ 1 SHL 11 ; second buffer size SHIFT |
217 | RDES1_RBS2_SH = 1 SHL 11 ; second buffer size SHIFT |
218 | RDES1_RBS2_MASK equ 11111111111b ; second buffer size MASK |
218 | RDES1_RBS2_MASK = 11111111111b ; second buffer size MASK |
Line 219... | Line 219... | ||
219 | RDES1_RCH equ 1 SHL 24 ; Second address chained - second address (buffer) is next desc address |
219 | RDES1_RCH = 1 SHL 24 ; Second address chained - second address (buffer) is next desc address |
220 | RDES1_RER equ 1 SHL 25 ; Receive End of Ring - final descriptor, NIC must return to first desc |
220 | RDES1_RER = 1 SHL 25 ; Receive End of Ring - final descriptor, NIC must return to first desc |
221 | 221 | ||
222 | ;transmition |
222 | ;transmition |
223 | TDES0_DE equ 1 SHL 0 ; Deffered |
223 | TDES0_DE = 1 SHL 0 ; Deffered |
224 | TDES0_UF equ 1 SHL 1 ; Underflow error |
224 | TDES0_UF = 1 SHL 1 ; Underflow error |
225 | TDES0_LF equ 1 SHL 2 ; Link fail report (only if CSR6<23>=1) |
225 | TDES0_LF = 1 SHL 2 ; Link fail report (only if CSR6<23>=1) |
226 | TDES0_CC_SH equ 3 ; Collision Count shift - no of collision before transmition |
226 | TDES0_CC_SH = 3 ; Collision Count shift - no of collision before transmition |
227 | TDES0_CC_MASK equ 1111b ; Collision Count mask |
227 | TDES0_CC_MASK = 1111b ; Collision Count mask |
228 | TDES0_HF equ 1 SHL 7 ; Heartbeat fail |
228 | TDES0_HF = 1 SHL 7 ; Heartbeat fail |
229 | TDES0_EC equ 1 SHL 8 ; Excessive Collisions - >16 collisions |
229 | TDES0_EC = 1 SHL 8 ; Excessive Collisions - >16 collisions |
230 | TDES0_LC equ 1 SHL 9 ; Late collision |
230 | TDES0_LC = 1 SHL 9 ; Late collision |
231 | TDES0_NC equ 1 SHL 10 ; No carrier |
231 | TDES0_NC = 1 SHL 10 ; No carrier |
232 | TDES0_LO equ 1 SHL 11 ; Loss of carrier |
232 | TDES0_LO = 1 SHL 11 ; Loss of carrier |
233 | TDES0_TO equ 1 SHL 14 ; Transmit Jabber Timeout |
233 | TDES0_TO = 1 SHL 14 ; Transmit Jabber Timeout |
234 | TDES0_ES equ 1 SHL 15 ; Error summary TDES0<1+8+9+10+11+14>=1 |
234 | TDES0_ES = 1 SHL 15 ; Error summary TDES0<1+8+9+10+11+14>=1 |
235 | 235 | ||
236 | TDES1_TBS1_MASK equ 11111111111b ; Buffer 1 size mask |
236 | TDES1_TBS1_MASK = 11111111111b ; Buffer 1 size mask |
237 | TDES1_TBS2_SH equ 11 ; Buffer 2 size shift |
237 | TDES1_TBS2_SH = 11 ; Buffer 2 size shift |
238 | TDES1_TBS2_MASK equ 11111111111b ; Buffer 2 size mask |
238 | TDES1_TBS2_MASK = 11111111111b ; Buffer 2 size mask |
239 | TDES1_FT0 equ 1 SHL 22 ; Filtering type 0 |
239 | TDES1_FT0 = 1 SHL 22 ; Filtering type 0 |
240 | TDES1_DPD equ 1 SHL 23 ; Disabled padding for packets <64bytes, no padding |
240 | TDES1_DPD = 1 SHL 23 ; Disabled padding for packets <64bytes, no padding |
241 | TDES1_TCH equ 1 SHL 24 ; Second address chained - second buffer pointer is to next desc |
241 | TDES1_TCH = 1 SHL 24 ; Second address chained - second buffer pointer is to next desc |
242 | TDES1_TER equ 1 SHL 25 ; Transmit end of ring - final descriptor |
242 | TDES1_TER = 1 SHL 25 ; Transmit end of ring - final descriptor |
243 | TDES1_AC equ 1 SHL 26 ; Add CRC disable -pretty obvious |
243 | TDES1_AC = 1 SHL 26 ; Add CRC disable -pretty obvious |
244 | TDES1_SET equ 1 SHL 27 ; Setup packet |
244 | TDES1_SET = 1 SHL 27 ; Setup packet |
245 | TDES1_FT1 equ 1 SHL 28 ; Filtering type 1 |
245 | TDES1_FT1 = 1 SHL 28 ; Filtering type 1 |
246 | TDES1_FS equ 1 SHL 29 ; First segment - buffer is first segment of frame |
246 | TDES1_FS = 1 SHL 29 ; First segment - buffer is first segment of frame |
247 | TDES1_LS equ 1 SHL 30 ; Last segment |
247 | TDES1_LS = 1 SHL 30 ; Last segment |
248 | TDES1_IC equ 1 SHL 31 ; Interupt on completion (CSR5<0>=1) valid when TDES1<30>=1 |
248 | TDES1_IC = 1 SHL 31 ; Interupt on completion (CSR5<0>=1) valid when TDES1<30>=1 |
249 | 249 | ||
250 | MAX_ETH_FRAME_SIZE equ 1514 |
250 | MAX_ETH_FRAME_SIZE = 1514 |
251 | 251 | ||
252 | RX_DES_COUNT equ 4 ; no of RX descriptors, must be power of 2 |
252 | RX_DES_COUNT = 4 ; no of RX descriptors, must be power of 2 |
Line 253... | Line 253... | ||
253 | RX_BUFF_SIZE equ 2048 ; size of buffer for each descriptor, must be multiple of 4 and <= 2048 TDES1_TBS1_MASK |
253 | RX_BUFF_SIZE = 2048 ; size of buffer for each descriptor, must be multiple of 4 and <= 2048 TDES1_TBS1_MASK |
254 | TX_DES_COUNT equ 4 ; no of TX descriptors, must be power of 2 |
254 | TX_DES_COUNT = 4 ; no of TX descriptors, must be power of 2 |
Line 255... | Line 255... | ||
255 | TX_BUFF_SIZE equ 2048 ; size of buffer for each descriptor, used for memory allocation only |
255 | TX_BUFF_SIZE = 2048 ; size of buffer for each descriptor, used for memory allocation only |
256 | 256 | ||
257 | RX_MEM_TOTAL_SIZE equ RX_DES_COUNT*(DES.size+RX_BUFF_SIZE) |
257 | RX_MEM_TOTAL_SIZE = RX_DES_COUNT*(DES.size+RX_BUFF_SIZE) |
258 | TX_MEM_TOTAL_SIZE equ TX_DES_COUNT*(DES.size+TX_BUFF_SIZE) |
258 | TX_MEM_TOTAL_SIZE = TX_DES_COUNT*(DES.size+TX_BUFF_SIZE) |
259 | 259 | ||
260 | ;============================================================================= |
260 | ;============================================================================= |
261 | ; serial ROM operations |
261 | ; serial ROM operations |
262 | ;============================================================================= |
262 | ;============================================================================= |
263 | CSR9_SR equ 1 SHL 11 ; SROM Select |
263 | CSR9_SR = 1 SHL 11 ; SROM Select |
Line 264... | Line 264... | ||
264 | CSR9_RD equ 1 SHL 14 ; ROM Read Operation |
264 | CSR9_RD = 1 SHL 14 ; ROM Read Operation |
265 | CSR9_SROM_DO equ 1 SHL 3 ; Data Out for SROM |
265 | CSR9_SROM_DO = 1 SHL 3 ; Data Out for SROM |
266 | CSR9_SROM_DI equ 1 SHL 2 ; Data In to SROM |
266 | CSR9_SROM_DI = 1 SHL 2 ; Data In to SROM |
267 | CSR9_SROM_CK equ 1 SHL 1 ; clock for SROM |
267 | CSR9_SROM_CK = 1 SHL 1 ; clock for SROM |
Line 1485... | Line 1485... | ||
1485 | 1485 | ||
1486 | ; Read and write the MII registers using software-generated serial |
1486 | ; Read and write the MII registers using software-generated serial |
1487 | ; MDIO protocol. It is just different enough from the EEPROM protocol |
1487 | ; MDIO protocol. It is just different enough from the EEPROM protocol |
Line 1488... | Line 1488... | ||
1488 | ; to not share code. The maxium data clock rate is 2.5 Mhz. |
1488 | ; to not share code. The maxium data clock rate is 2.5 Mhz. |
1489 | 1489 | ||
1490 | MDIO_SHIFT_CLK equ 0x10000 |
1490 | MDIO_SHIFT_CLK = 0x10000 |
1491 | MDIO_DATA_WRITE0 equ 0x00000 |
1491 | MDIO_DATA_WRITE0 = 0x00000 |
1492 | MDIO_DATA_WRITE1 equ 0x20000 |
1492 | MDIO_DATA_WRITE1 = 0x20000 |
1493 | MDIO_ENB equ 0x00000 ; Ignore the 0x02000 databook setting. |
1493 | MDIO_ENB = 0x00000 ; Ignore the 0x02000 databook setting. |
Line 1494... | Line 1494... | ||
1494 | MDIO_ENB_IN equ 0x40000 |
1494 | MDIO_ENB_IN = 0x40000 |
1495 | MDIO_DATA_READ equ 0x80000 |
1495 | MDIO_DATA_READ = 0x80000 |
1496 | 1496 | ||
1497 | ; MII transceiver control section. |
1497 | ; MII transceiver control section. |