19#ifndef __DC_NET_BROADBAND_ADAPTER_H
20#define __DC_NET_BROADBAND_ADAPTER_H
63#define RT_TXSTATUS0 0x10
64#define RT_TXSTATUS1 0x14
65#define RT_TXSTATUS2 0x18
66#define RT_TXSTATUS3 0x1C
67#define RT_TXADDR0 0x20
68#define RT_TXADDR1 0x24
69#define RT_TXADDR2 0x28
70#define RT_TXADDR3 0x2C
72#define RT_RXEARLYCNT 0x34
73#define RT_RXEARLYSTATUS 0x36
74#define RT_CHIPCMD 0x37
75#define RT_RXBUFTAIL 0x38
76#define RT_RXBUFHEAD 0x3A
77#define RT_INTRMASK 0x3C
78#define RT_INTRSTATUS 0x3E
79#define RT_TXCONFIG 0x40
80#define RT_RXCONFIG 0x44
82#define RT_RXMISSED 0x4C
83#define RT_CFG9346 0x50
84#define RT_CONFIG0 0x51
85#define RT_CONFIG1 0x52
87#define RT_TIMERINT 0x54
88#define RT_MEDIASTATUS 0x58
89#define RT_CONFIG3 0x59
90#define RT_CONFIG4 0x5A
92#define RT_MULTIINTR 0x5C
95#define RT_MII_TSAD 0x60
96#define RT_MII_BMCR 0x62
97#define RT_MII_BMSR 0x64
98#define RT_AS_ADVERT 0x66
99#define RT_AS_LPAR 0x68
100#define RT_AS_EXPANSION 0x6A
102#define RT_CONFIG5 0xD8
114#define RT_MII_RESET 0x8000
115#define RT_MII_RES4000 0x4000
116#define RT_MII_SPD_SET 0x2000
117#define RT_MII_AN_ENABLE 0x1000
118#define RT_MII_RES0800 0x0800
119#define RT_MII_RES0400 0x0400
120#define RT_MII_AN_START 0x0200
121#define RT_MII_DUPLEX 0x0100
128#define RT_MII_LINK 0x0004
129#define RT_MII_AN_CAPABLE 0x0008
130#define RT_MII_AN_COMPLETE 0x0020
131#define RT_MII_10_HALF 0x0800
132#define RT_MII_10_FULL 0x1000
133#define RT_MII_100_HALF 0x2000
134#define RT_MII_100_FULL 0x4000
145#define RT_CMD_RESET 0x10
146#define RT_CMD_RX_ENABLE 0x08
147#define RT_CMD_TX_ENABLE 0x04
148#define RT_CMD_RX_BUF_EMPTY 0x01
155#define RT_INT_PCIERR 0x8000
156#define RT_INT_TIMEOUT 0x4000
157#define RT_INT_RXFIFO_OVERFLOW 0x0040
158#define RT_INT_RXFIFO_UNDERRUN 0x0020
159#define RT_INT_LINK_CHANGE 0x0020
160#define RT_INT_RXBUF_OVERFLOW 0x0010
161#define RT_INT_TX_ERR 0x0008
162#define RT_INT_TX_OK 0x0004
163#define RT_INT_RX_ERR 0x0002
164#define RT_INT_RX_OK 0x0001
167#define RT_INT_RX_ACK (RT_INT_RXFIFO_OVERFLOW | RT_INT_RXBUF_OVERFLOW | RT_INT_RX_OK)
174#define RT_TX_CARRIER_LOST 0x80000000
175#define RT_TX_ABORTED 0x40000000
176#define RT_TX_OUT_OF_WINDOW 0x20000000
177#define RT_TX_STATUS_OK 0x00008000
178#define RT_TX_UNDERRUN 0x00004000
179#define RT_TX_HOST_OWNS 0x00002000
180#define RT_TX_SIZE_MASK 0x00001fff
187#define RT_RX_MULTICAST 0x8000
188#define RT_RX_PAM 0x4000
189#define RT_RX_BROADCAST 0x2000
190#define RT_RX_BAD_SYMBOL 0x0020
191#define RT_RX_RUNT 0x0010
192#define RT_RX_TOO_LONG 0x0008
193#define RT_RX_CRC_ERR 0x0004
194#define RT_RX_FRAME_ALIGN 0x0002
195#define RT_RX_STATUS_OK 0x0001
204#define RT_ERTH(n) ((n) <<24)
206#define RT_RXC_MulERINT 0x00020000
207#define RT_RXC_RER8 0x00010000
208#define RT_RXC_RXFTH(n) ((n) <<13)
209#define RT_RXC_RBLEN(n) ((n) <<11)
210#define RT_RXC_MXDMA(n) ((n) << 8)
212#define RT_RXC_WRAP 0x00000080
213#define RT_RXC_9356SEL 0x00000040
214#define RT_RXC_AER 0x00000020
215#define RT_RXC_AR 0x00000010
216#define RT_RXC_AB 0x00000008
217#define RT_RXC_AM 0x00000004
218#define RT_RXC_APM 0x00000002
219#define RT_RXC_AAP 0x00000001
229#define RT_CONFIG1_LED1 0x80
230#define RT_CONFIG1_LED0 0x40
231#define RT_CONFIG1_DVRLOAD 0x20
232#define RT_CONFIG1_LWACT 0x10
233#define RT_CONFIG1_MEMMAP 0x08
234#define RT_CONFIG1_IOMAP 0x04
235#define RT_CONFIG1_VPD 0x02
236#define RT_CONFIG1_PMEn 0x01
246#define RT_CONFIG4_RxFIFIOAC 0x80
247#define RT_CONFIG4_AnaOff 0x40
248#define RT_CONFIG4_LongWF 0x20
249#define RT_CONFIG4_LWPME 0x10
250#define RT_CONFIG4_RES08 0x08
251#define RT_CONFIG4_LWPTN 0x04
252#define RT_CONFIG4_RES02 0x02
253#define RT_CONFIG4_PBWake 0x01
263#define RT_CONFIG5_RES80 0x80
264#define RT_CONFIG5_BWF 0x40
265#define RT_CONFIG5_MWF 0x20
266#define RT_CONFIG5_UWF 0x10
267#define RT_CONFIG5_FIFOAddr 0x08
268#define RT_CONFIG5_LDPS 0x04
269#define RT_CONFIG5_LANW 0x02
270#define RT_CONFIG5_PME_STS 0x01
322#define BBA_TX_ERROR -1
323#define BBA_TX_AGAIN -2
330#define BBA_TX_NOWAIT 0
358int bba_shutdown(
void);
Various common macros used throughout the codebase.
void bba_set_rx_callback(eth_rx_callback_t cb)
Set the ethernet packet receive callback.
void(* eth_rx_callback_t)(uint8 *pkt, int len)
Receive packet callback function type.
Definition broadband_adapter.h:299
int bba_tx(const uint8 *pkt, int len, int wait)
Transmit a single packet.
void bba_get_mac(uint8 *arr)
Retrieve the MAC Address of the attached BBA.
unsigned char uint8
8-bit unsigned integer
Definition types.h:35