Go to the documentation of this file.
133 #define OBOE_IO_EXTENT 0x1f
136 #define OBOE_REG(i) (i+(self->base))
137 #define OBOE_RXSLOT OBOE_REG(0x0)
138 #define OBOE_TXSLOT OBOE_REG(0x1)
139 #define OBOE_SLOT_MASK 0x3f
141 #define OBOE_TXRING_OFFSET 0x200
142 #define OBOE_TXRING_OFFSET_IN_SLOTS 0x40
145 #define OBOE_RING_BASE0 OBOE_REG(0x4)
146 #define OBOE_RING_BASE1 OBOE_REG(0x5)
147 #define OBOE_RING_BASE2 OBOE_REG(0x2)
148 #define OBOE_RING_BASE3 OBOE_REG(0x3)
151 #define OBOE_RING_SIZE OBOE_REG(0x7)
152 #define OBOE_RING_SIZE_RX4 0x00
153 #define OBOE_RING_SIZE_RX8 0x01
154 #define OBOE_RING_SIZE_RX16 0x03
155 #define OBOE_RING_SIZE_RX32 0x07
156 #define OBOE_RING_SIZE_RX64 0x0f
157 #define OBOE_RING_SIZE_TX4 0x00
158 #define OBOE_RING_SIZE_TX8 0x10
159 #define OBOE_RING_SIZE_TX16 0x30
160 #define OBOE_RING_SIZE_TX32 0x70
161 #define OBOE_RING_SIZE_TX64 0xf0
163 #define OBOE_RING_MAX_SIZE 64
166 #define OBOE_PROMPT OBOE_REG(0x9)
167 #define OBOE_PROMPT_BIT 0x1
170 #define OBOE_ISR OBOE_REG(0xc)
172 #define OBOE_IER OBOE_REG(0xd)
174 #define OBOE_INT_TXDONE 0x80
175 #define OBOE_INT_RXDONE 0x40
176 #define OBOE_INT_TXUNDER 0x20
177 #define OBOE_INT_RXOVER 0x10
178 #define OBOE_INT_SIP 0x08
179 #define OBOE_INT_MASK 0xf8
182 #define OBOE_CONFIG1 OBOE_REG(0xe)
183 #define OBOE_CONFIG1_RST 0x01
184 #define OBOE_CONFIG1_DISABLE 0x02
185 #define OBOE_CONFIG1_4 0x08
186 #define OBOE_CONFIG1_8 0x08
188 #define OBOE_CONFIG1_ON 0x8
189 #define OBOE_CONFIG1_RESET 0xf
190 #define OBOE_CONFIG1_OFF 0xe
192 #define OBOE_STATUS OBOE_REG(0xf)
193 #define OBOE_STATUS_RXBUSY 0x10
194 #define OBOE_STATUS_FIRRX 0x04
195 #define OBOE_STATUS_MIRRX 0x02
196 #define OBOE_STATUS_SIRRX 0x01
200 #define OBOE_CONFIG0L OBOE_REG(0x10)
201 #define OBOE_CONFIG0H OBOE_REG(0x11)
203 #define OBOE_CONFIG0H_TXONLOOP 0x80
204 #define OBOE_CONFIG0H_LOOP 0x40
205 #define OBOE_CONFIG0H_ENTX 0x10
206 #define OBOE_CONFIG0H_ENRX 0x08
207 #define OBOE_CONFIG0H_ENDMAC 0x04
208 #define OBOE_CONFIG0H_RCVANY 0x02
210 #define OBOE_CONFIG0L_CRC16 0x80
211 #define OBOE_CONFIG0L_ENFIR 0x40
212 #define OBOE_CONFIG0L_ENMIR 0x20
213 #define OBOE_CONFIG0L_ENSIR 0x10
214 #define OBOE_CONFIG0L_ENSIRF 0x08
215 #define OBOE_CONFIG0L_SIRTEST 0x04
216 #define OBOE_CONFIG0L_INVERTTX 0x02
217 #define OBOE_CONFIG0L_INVERTRX 0x01
219 #define OBOE_BOF OBOE_REG(0x12)
220 #define OBOE_EOF OBOE_REG(0x13)
222 #define OBOE_ENABLEL OBOE_REG(0x14)
223 #define OBOE_ENABLEH OBOE_REG(0x15)
225 #define OBOE_ENABLEH_PHYANDCLOCK 0x80
226 #define OBOE_ENABLEH_CONFIGERR 0x40
227 #define OBOE_ENABLEH_FIRON 0x20
228 #define OBOE_ENABLEH_MIRON 0x10
229 #define OBOE_ENABLEH_SIRON 0x08
230 #define OBOE_ENABLEH_ENTX 0x04
231 #define OBOE_ENABLEH_ENRX 0x02
232 #define OBOE_ENABLEH_CRC16 0x01
234 #define OBOE_ENABLEL_BROADCAST 0x01
236 #define OBOE_CURR_PCONFIGL OBOE_REG(0x16)
237 #define OBOE_CURR_PCONFIGH OBOE_REG(0x17)
239 #define OBOE_NEW_PCONFIGL OBOE_REG(0x18)
240 #define OBOE_NEW_PCONFIGH OBOE_REG(0x19)
242 #define OBOE_PCONFIGH_BAUDMASK 0xfc
243 #define OBOE_PCONFIGH_WIDTHMASK 0x04
244 #define OBOE_PCONFIGL_WIDTHMASK 0xe0
245 #define OBOE_PCONFIGL_PREAMBLEMASK 0x1f
247 #define OBOE_PCONFIG_BAUDMASK 0xfc00
248 #define OBOE_PCONFIG_BAUDSHIFT 10
249 #define OBOE_PCONFIG_WIDTHMASK 0x04e0
250 #define OBOE_PCONFIG_WIDTHSHIFT 5
251 #define OBOE_PCONFIG_PREAMBLEMASK 0x001f
252 #define OBOE_PCONFIG_PREAMBLESHIFT 0
254 #define OBOE_MAXLENL OBOE_REG(0x1a)
255 #define OBOE_MAXLENH OBOE_REG(0x1b)
257 #define OBOE_RXCOUNTH OBOE_REG(0x1c)
258 #define OBOE_RXCOUNTL OBOE_REG(0x1d)
261 #ifndef PCI_DEVICE_ID_FIR701
262 #define PCI_DEVICE_ID_FIR701 0x0701
265 #ifndef PCI_DEVICE_ID_FIRD01
266 #define PCI_DEVICE_ID_FIRD01 0x0d01
278 #define OBOE_NTASKS OBOE_TXRING_OFFSET_IN_SLOTS
286 #define OBOE_RING_LEN (sizeof(struct OboeRing))
289 #define OBOE_CTL_TX_HW_OWNS 0x80
290 #define OBOE_CTL_TX_DISTX_CRC 0x40
291 #define OBOE_CTL_TX_BAD_CRC 0x20
292 #define OBOE_CTL_TX_SIP 0x10
293 #define OBOE_CTL_TX_MKUNDER 0x08
294 #define OBOE_CTL_TX_RTCENTX 0x04
296 #define OBOE_CTL_TX_UNDER 0x01
299 #define OBOE_CTL_RX_HW_OWNS 0x80
300 #define OBOE_CTL_RX_PHYERR 0x40
301 #define OBOE_CTL_RX_CRCERR 0x20
302 #define OBOE_CTL_RX_LENGTH 0x10
303 #define OBOE_CTL_RX_OVER 0x08
304 #define OBOE_CTL_RX_SIRBAD 0x04
305 #define OBOE_CTL_RX_RXEOF 0x02