|
KallistiOS git master
Independent SDK for the Sega Dreamcast
|
Broadband Adapter support. More...
#include <sys/cdefs.h>Go to the source code of this file.
Macros | |
| #define | RT_IDR0 0x00 |
| MAC address 0 (RW 32bit, RO 16/8) | |
| #define | RT_IDR1 0x01 |
| MAC address 1 (Read-only) | |
| #define | RT_IDR2 0x02 |
| MAC address 2 (Read-only) | |
| #define | RT_IDR3 0x03 |
| MAC address 3 (Read-only) | |
| #define | RT_IDR4 0x04 |
| MAC address 4 (RW 32bit, RO 16/8) | |
| #define | RT_IDR5 0x05 |
| MAC address 5 (Read-only) | |
| #define | RT_RES06 0x06 |
| Reserved. | |
| #define | RT_RES07 0x07 |
| Reserved. | |
| #define | RT_MAR0 0x08 |
| Multicast filter 0 (RW 32bit, RO 16/8) | |
| #define | RT_MAR1 0x09 |
| Multicast filter 1 (Read-only) | |
| #define | RT_MAR2 0x0A |
| Multicast filter 2 (Read-only) | |
| #define | RT_MAR3 0x0B |
| Multicast filter 3 (Read-only) | |
| #define | RT_MAR4 0x0C |
| Multicast filter 4 (RW 32bit, RO 16/8) | |
| #define | RT_MAR5 0x0D |
| Multicast filter 5 (Read-only) | |
| #define | RT_MAR6 0x0E |
| Multicast filter 6 (Read-only) | |
| #define | RT_MAR7 0x0F |
| Multicast filter 7 (Read-only) | |
| #define | RT_TXSTATUS0 0x10 |
| Transmit status 0 (32bit only) | |
| #define | RT_TXSTATUS1 0x14 |
| Transmit status 1 (32bit only) | |
| #define | RT_TXSTATUS2 0x18 |
| Transmit status 2 (32bit only) | |
| #define | RT_TXSTATUS3 0x1C |
| Transmit status 3 (32bit only) | |
| #define | RT_TXADDR0 0x20 |
| Tx descriptor 0 (32bit only) | |
| #define | RT_TXADDR1 0x24 |
| Tx descriptor 1 (32bit only) | |
| #define | RT_TXADDR2 0x28 |
| Tx descriptor 2 (32bit only) | |
| #define | RT_TXADDR3 0x2C |
| Tx descriptor 3 (32bit only) | |
| #define | RT_RXBUF 0x30 |
| Receive buffer start address (32bit only) | |
| #define | RT_RXEARLYCNT 0x34 |
| Early Rx byte count (RO 16bit) | |
| #define | RT_RXEARLYSTATUS 0x36 |
| Early Rx status (RO) | |
| #define | RT_CHIPCMD 0x37 |
| Command register. | |
| #define | RT_RXBUFTAIL 0x38 |
| Current address of packet read (queue tail) (16bit only) | |
| #define | RT_RXBUFHEAD 0x3A |
| Current buffer address (queue head) (RO 16bit) | |
| #define | RT_INTRMASK 0x3C |
| Interrupt mask (16bit only) | |
| #define | RT_INTRSTATUS 0x3E |
| Interrupt status (16bit only) | |
| #define | RT_TXCONFIG 0x40 |
| Tx config (32bit only) | |
| #define | RT_RXCONFIG 0x44 |
| Rx config (32bit only) | |
| #define | RT_TIMER 0x48 |
| A general purpose counter, any write clears (32bit only) | |
| #define | RT_RXMISSED 0x4C |
| 24 bits valid, write clears (32bit only) | |
| #define | RT_CFG9346 0x50 |
| 93C46 command register | |
| #define | RT_CONFIG0 0x51 |
| Configuration reg 0. | |
| #define | RT_CONFIG1 0x52 |
| Configuration reg 1. | |
| #define | RT_RES53 0x53 |
| Reserved. | |
| #define | RT_TIMERINT 0x54 |
| Timer interrupt register (32bit only) | |
| #define | RT_MEDIASTATUS 0x58 |
| Media status register. | |
| #define | RT_CONFIG3 0x59 |
| Config register 3. | |
| #define | RT_CONFIG4 0x5A |
| Config register 4. | |
| #define | RT_RES5B 0x5B |
| Reserved. | |
| #define | RT_MULTIINTR 0x5C |
| Multiple interrupt select (32bit only) | |
| #define | RT_RERID 0x5E |
| PCI Revision ID (10h) (Read-only) | |
| #define | RT_RES5F 0x5F |
| Reserved. | |
| #define | RT_MII_TSAD 0x60 |
| Transmit status of all descriptors (RO 16bit) | |
| #define | RT_MII_BMCR 0x62 |
| Basic Mode Control Register (16bit only) | |
| #define | RT_MII_BMSR 0x64 |
| Basic Mode Status Register (RO 16bit) | |
| #define | RT_AS_ADVERT 0x66 |
| Auto-negotiation advertisement reg (16bit only) | |
| #define | RT_AS_LPAR 0x68 |
| Auto-negotiation link partner reg (RO 16bit) | |
| #define | RT_AS_EXPANSION 0x6A |
| Auto-negotiation expansion reg (RO 16bit) | |
| #define | RT_CONFIG5 0xD8 |
| Config register 5. | |
| #define | RT_MII_RESET 0x8000 |
| Reset the MII chip. | |
| #define | RT_MII_RES4000 0x4000 |
| Reserved. | |
| #define | RT_MII_SPD_SET 0x2000 |
| 1 for 100 0 for 10. | |
| #define | RT_MII_AN_ENABLE 0x1000 |
| Enable auto-negotiation. | |
| #define | RT_MII_RES0800 0x0800 |
| Reserved. | |
| #define | RT_MII_RES0400 0x0400 |
| Reserved. | |
| #define | RT_MII_AN_START 0x0200 |
| Start auto-negotiation. | |
| #define | RT_MII_DUPLEX 0x0100 |
| 1 for full 0 for half. | |
| #define | RT_MII_LINK 0x0004 |
| Link is present. | |
| #define | RT_MII_AN_CAPABLE 0x0008 |
| Can do auto negotiation. | |
| #define | RT_MII_AN_COMPLETE 0x0020 |
| Auto-negotiation complete. | |
| #define | RT_MII_10_HALF 0x0800 |
| Can do 10Mbit half duplex. | |
| #define | RT_MII_10_FULL 0x1000 |
| Can do 10Mbit full. | |
| #define | RT_MII_100_HALF 0x2000 |
| Can do 100Mbit half. | |
| #define | RT_MII_100_FULL 0x4000 |
| Can do 100Mbit full. | |
| #define | RT_CMD_RESET 0x10 |
| Reset the RTL8139C. | |
| #define | RT_CMD_RX_ENABLE 0x08 |
| Enable Rx. | |
| #define | RT_CMD_TX_ENABLE 0x04 |
| Enable Tx. | |
| #define | RT_CMD_RX_BUF_EMPTY 0x01 |
| Empty the Rx buffer. | |
| #define | RT_INT_PCIERR 0x8000 |
| PCI Bus error. | |
| #define | RT_INT_TIMEOUT 0x4000 |
| Set when TCTR reaches TimerInt value. | |
| #define | RT_INT_RXFIFO_OVERFLOW 0x0040 |
| Rx FIFO overflow. | |
| #define | RT_INT_RXFIFO_UNDERRUN 0x0020 |
| Packet underrun / link change. | |
| #define | RT_INT_LINK_CHANGE 0x0020 |
| Packet underrun / link change. | |
| #define | RT_INT_RXBUF_OVERFLOW 0x0010 |
| Rx BUFFER overflow. | |
| #define | RT_INT_TX_ERR 0x0008 |
| Tx error. | |
| #define | RT_INT_TX_OK 0x0004 |
| Tx OK. | |
| #define | RT_INT_RX_ERR 0x0002 |
| Rx error. | |
| #define | RT_INT_RX_OK 0x0001 |
| Rx OK. | |
| #define | RT_INT_RX_ACK (RT_INT_RXFIFO_OVERFLOW | RT_INT_RXBUF_OVERFLOW | RT_INT_RX_OK) |
| Composite RX bits we check for while doing an RX interrupt. | |
| #define | RT_TX_CARRIER_LOST 0x80000000 |
| Carrier sense lost. | |
| #define | RT_TX_ABORTED 0x40000000 |
| Transmission aborted. | |
| #define | RT_TX_OUT_OF_WINDOW 0x20000000 |
| Out of window collision. | |
| #define | RT_TX_STATUS_OK 0x00008000 |
| Status ok: a good packet was transmitted. | |
| #define | RT_TX_UNDERRUN 0x00004000 |
| Transmit FIFO underrun. | |
| #define | RT_TX_HOST_OWNS 0x00002000 |
| Set to 1 when DMA operation is completed. | |
| #define | RT_TX_SIZE_MASK 0x00001fff |
| Descriptor size mask. | |
| #define | RT_RX_MULTICAST 0x8000 |
| Multicast packet. | |
| #define | RT_RX_PAM 0x4000 |
| Physical address matched. | |
| #define | RT_RX_BROADCAST 0x2000 |
| Broadcast address matched. | |
| #define | RT_RX_BAD_SYMBOL 0x0020 |
| Invalid symbol in 100TX packet. | |
| #define | RT_RX_RUNT 0x0010 |
| Packet size is <64 bytes. | |
| #define | RT_RX_TOO_LONG 0x0008 |
| Packet size is >4K bytes. | |
| #define | RT_RX_CRC_ERR 0x0004 |
| CRC error. | |
| #define | RT_RX_FRAME_ALIGN 0x0002 |
| Frame alignment error. | |
| #define | RT_RX_STATUS_OK 0x0001 |
| Status ok: a good packet was received. | |
| #define | RT_ERTH(n) ((n) <<24) |
| Early RX Threshold multiplier n/16 or 0 for none. | |
| #define | RT_RXC_MulERINT 0x00020000 |
| 0 for Early Receive Interrupt only on familiar protocols 1 for any | |
| #define | RT_RXC_RER8 0x00010000 |
| 1 sets the acceptance of runt error packets | |
| #define | RT_RXC_RXFTH(n) ((n) <<13) |
| 2^(4+n) bytes from 0-6 (16b - 1Kb) or 7 for none | |
| #define | RT_RXC_RBLEN(n) ((n) <<11) |
| Set Rx ring buffer len to 16b + 2^(3+n) kb. | |
| #define | RT_RXC_MXDMA(n) ((n) << 8) |
| 2^(4+n) bytes from 0-6 (16b - 1Kb) or 7 for unlimited | |
| #define | RT_RXC_WRAP 0x00000080 |
| 0 to use wrapping mode or 1 to not (Ignored for 64Kb buffer length) | |
| #define | RT_RXC_9356SEL 0x00000040 |
| 0 if EEPROM is 9346, 1 if 9356. | |
| #define | RT_RXC_AER 0x00000020 |
| Accept Error Packets. | |
| #define | RT_RXC_AR 0x00000010 |
| Accept Runt (8-64 byte) Packets. | |
| #define | RT_RXC_AB 0x00000008 |
| Accept Broadcast Packets. | |
| #define | RT_RXC_AM 0x00000004 |
| Accept Multicast Packets. | |
| #define | RT_RXC_APM 0x00000002 |
| Accept Physical Match Packets. | |
| #define | RT_RXC_AAP 0x00000001 |
| Accept Physical Address Packets. | |
| #define | RT_CONFIG1_LED1 0x80 |
| XXX DC bba has no LED, maybe repurposed. | |
| #define | RT_CONFIG1_LED0 0x40 |
| XXX DC bba has no LED, maybe repurposed. | |
| #define | RT_CONFIG1_DVRLOAD 0x20 |
| Sets the Driver as loaded. | |
| #define | RT_CONFIG1_LWACT 0x10 |
| LWAKE active mode. | |
| #define | RT_CONFIG1_MEMMAP 0x08 |
| Registers mapped to PCI mem space. | |
| #define | RT_CONFIG1_IOMAP 0x04 |
| Registers mapped to PCI I/O space. | |
| #define | RT_CONFIG1_VPD 0x02 |
| Enable Vital Product Data. | |
| #define | RT_CONFIG1_PMEn 0x01 |
| Power Management Enable. | |
| #define | RT_CONFIG4_RxFIFIOAC 0x80 |
| Auto-clear the Rx FIFO overflow. | |
| #define | RT_CONFIG4_AnaOff 0x40 |
| Turn off analog power. | |
| #define | RT_CONFIG4_LongWF 0x20 |
| Long Wake-up Frames. | |
| #define | RT_CONFIG4_LWPME 0x10 |
| LWake vs PMEB. | |
| #define | RT_CONFIG4_RES08 0x08 |
| Reserved. | |
| #define | RT_CONFIG4_LWPTN 0x04 |
| LWAKE Pattern. | |
| #define | RT_CONFIG4_RES02 0x02 |
| Reserved. | |
| #define | RT_CONFIG4_PBWake 0x01 |
| Disable pre-Boot Wakeup. | |
| #define | RT_CONFIG5_RES80 0x80 |
| Reserved. | |
| #define | RT_CONFIG5_BWF 0x40 |
| Enable Broadcast Wakeup Frame. | |
| #define | RT_CONFIG5_MWF 0x20 |
| Enable Multicast Wakeup Frame. | |
| #define | RT_CONFIG5_UWF 0x10 |
| Enable Unicast Wakeup Frame. | |
| #define | RT_CONFIG5_FIFOAddr 0x08 |
| Set FIFO address pointer. | |
| #define | RT_CONFIG5_LDPS 0x04 |
| Disable Link Down Power Saving mode. | |
| #define | RT_CONFIG5_LANW 0x02 |
| Enable LANWake signal. | |
| #define | RT_CONFIG5_PME_STS 0x01 |
| Allow PCI reset to set PME_Status bit. | |
| #define | BBA_TX_OK 0 |
| Transmit success. | |
| #define | BBA_TX_ERROR -1 |
| Transmit error. | |
| #define | BBA_TX_AGAIN -2 |
| Retry transmit again. | |
| #define | BBA_TX_NOWAIT 0 |
| Don't block waiting for the transfer. | |
| #define | BBA_TX_WAIT 1 |
| Wait, if needed on transfer. | |
Typedefs | |
| typedef void(* | eth_rx_callback_t) (uint8 *pkt, int len) |
| Receive packet callback function type. | |
Functions | |
| void | bba_get_mac (uint8 *arr) |
| Retrieve the MAC Address of the attached BBA. | |
| void | bba_set_rx_callback (eth_rx_callback_t cb) |
| Set the ethernet packet receive callback. | |
| int | bba_tx (const uint8 *pkt, int len, int wait) |
| Transmit a single packet. | |
Broadband Adapter support.
This file contains declarations related to support for the HIT-0400 "Broadband Adapter". There's not really anything that users will generally have to deal with in here.