|
Data Structures |
struct | rtl_if_stat_t |
Defines |
#define | nop() __asm__ __volatile__ ("nop" ::) |
|
#define | RTL_ETHER_MIN_SIZE (64-4) |
#define | RTL_ETHER_TRAILER_SIZE 4 |
|
#define | RTL_WR_ON() ADDR_PORT_RLT |= _BV(WRITE_PIN); |
#define | RTL_WR_OFF() ADDR_PORT_RLT &= ~_BV(WRITE_PIN); |
#define | RTL_RD_ON() ADDR_PORT_RLT |= _BV(READ_PIN); |
#define | RTL_RD_OFF() ADDR_PORT_RLT &= ~_BV(READ_PIN); |
#define | RTL_RESET_OFF() ADDR_PORT_RLT &= ~_BV(RESET_PIN); |
|
#define | DATA_CTRL_RLT DDRA |
#define | DATA_ADDR_RLT DDRB |
#define | ADDR_PORT_RLT PORTB |
#define | DATA_PORT_RLT_WRITE PORTA |
| Write Port.
|
#define | DATA_PORT_RLT_READ PINA |
| Read Port.
|
#define | WRITE_PIN 5 |
| gibt den Pin an WriteIO Signal angeschlossen
|
#define | READ_PIN 6 |
| gibt den Pin an ReadIO Signal angeschlossen
|
#define | RESET_PIN 7 |
| gibt den Pin an Reset angeschlossen ist
|
#define | INPUT 0x00 |
| setzt einen Port auf Input
|
#define | OUTPUT 0xff |
| setzt einen Port auf Output
|
|
#define | RTL_INTERRUPT INT0_vect |
| AVR INT0 vector.
|
#define | RTL_GICR_FLAG _BV(INT0) /*1<<INT0*/ |
| AVR INT0 Global Interrupt Control Register Bit.
|
#define | RTL_CLEAR_ISR() WriteRTL ( RTL_ISR, 0xFF ) |
| Clear Interrupt Service Register (1<<PRX|1<<PTX|1<<RXE|1<<TXE|1<<OVW|1<<CNT|1<<RDC|1<<RST).
|
#define | RTL_DISABLE_INT() GICR &= ~RTL_GICR_FLAG |
#define | RTL_ENABLE_INT() GICR |= RTL_GICR_FLAG |
|
#define | RTL_REG_OFFSET 96 |
#define | RTL_CR RTL_REG_OFFSET+0x00 |
| Command Register.
|
#define | RTL_8019ID0 RTL_REG_OFFSET+0x0A |
| 8019 ID Register 0, should be 0x50 after hard- and software reset
|
#define | RTL_8019ID1 RTL_REG_OFFSET+0x0B |
| 8019 ID Register 1, should be 0x70 after hard- and software reset
|
#define | RTL_RCR RTL_REG_OFFSET+0x0C |
| Receive Configuration Register (W-Page0,R-Page2).
|
#define | RTL_TCR RTL_REG_OFFSET+0x0D |
| Transmit Configuration Register(W-Page0,R-Page2).
|
#define | RTL_DCR RTL_REG_OFFSET+0x0E |
| Data Configuration Register (W-Page0,R-Page2).
|
#define | RTL_IMR RTL_REG_OFFSET+0x0F |
| Interrupt Mask Register (W-Page0,R-Page2).
|
#define | RTL_PSTART RTL_REG_OFFSET+0x01 |
| Page Start register (W-Page0,R-Page2).
|
#define | RTL_PSTOP RTL_REG_OFFSET+0x02 |
| Page Stop register (W-Page0,R-Page2).
|
#define | RTL_BNRY RTL_REG_OFFSET+0x03 |
| Boundary Register (R/W-Page0).
|
#define | RTL_TPSR RTL_REG_OFFSET+0x04 |
| Transmit Page Start Register (W-Page0).
|
#define | RTL_TBCR0 RTL_REG_OFFSET+0x05 |
| Transmit Bytes Count Register (LOW) (W-Page0).
|
#define | RTL_TBCR1 RTL_REG_OFFSET+0x06 |
| Transmit Bytes Count Register (HIGH)(W-Page0).
|
#define | RTL_ISR RTL_REG_OFFSET+0x07 |
| Interrupt Status Register (R/W-Page0).
|
#define | RTL_RSAR0 RTL_REG_OFFSET+0x08 |
| Remote Start Address Register (LOW) (W-Page0).
|
#define | RTL_RSAR1 RTL_REG_OFFSET+0x09 |
| Remote Start Address Register (HIGH)(W-Page0).
|
#define | RTL_CRDA0 RTL_REG_OFFSET+0x08 |
| Current Remote DMA Address (LOW) (R-Page0).
|
#define | RTL_CRDA1 RTL_REG_OFFSET+0x09 |
| Current Remote DMA Address (HIGH)(R-Page0).
|
#define | RTL_RBCR0 RTL_REG_OFFSET+0x0A |
| Remote Byte Count Register (LOW) (W-Page0).
|
#define | RTL_RBCR1 RTL_REG_OFFSET+0x0B |
| Remote Byte Count Register (HIGH)(W-Page0).
|
#define | RTL_RSR RTL_REG_OFFSET+0x0C |
| Receive Status Register (R-Page0).
|
#define | RTL_CNTR0 RTL_REG_OFFSET+0x0D |
| Frame Alignment Error Tally Counter Register (R-Page0).
|
#define | RTL_CNTR1 RTL_REG_OFFSET+0x0E |
| CRC Error Tally Counter Register (R-Page0).
|
#define | RTL_CNTR2 RTL_REG_OFFSET+0x0F |
| Missed Packet Tally Counter Register (R-Page0).
|
#define | RTL_PAR0 RTL_REG_OFFSET+0x01 |
| Physical Address Register 0 (R/W-Page1).
|
#define | RTL_PAR1 RTL_REG_OFFSET+0x02 |
| Physical Address Register 1 (R/W-Page1).
|
#define | RTL_PAR2 RTL_REG_OFFSET+0x03 |
| Physical Address Register 2 (R/W-Page1).
|
#define | RTL_PAR3 RTL_REG_OFFSET+0x04 |
| Physical Address Register 3 (R/W-Page1).
|
#define | RTL_PAR4 RTL_REG_OFFSET+0x05 |
| Physical Address Register 4 (R/W-Page1).
|
#define | RTL_PAR5 RTL_REG_OFFSET+0x06 |
| Physical Address Register 5 (R/W-Page1).
|
#define | RTL_CURR RTL_REG_OFFSET+0x07 |
| Current Page Register (R/W-Page1).
|
#define | RTL_MAR0 RTL_REG_OFFSET+0x08 |
| Physical Address Register 0 (R/W-Page1).
|
#define | RTL_MAR1 RTL_REG_OFFSET+0x09 |
| Physical Address Register 1 (R/W-Page1).
|
#define | RTL_MAR2 RTL_REG_OFFSET+0x0A |
| Physical Address Register 2 (R/W-Page1).
|
#define | RTL_MAR3 RTL_REG_OFFSET+0x0B |
| Physical Address Register 3 (R/W-Page1).
|
#define | RTL_MAR4 RTL_REG_OFFSET+0x0C |
| Physical Address Register 4 (R/W-Page1).
|
#define | RTL_MAR5 RTL_REG_OFFSET+0x0D |
| Physical Address Register 5 (R/W-Page1).
|
#define | RTL_RDMAPORT RTL_REG_OFFSET+0x10 |
| Remote DMA Port (0x10-0x17).
|
#define | RTL_RSTPORT RTL_REG_OFFSET+0x18 |
| Reset Port (0x18-0x1F).
|
|
#define | RCRVAL_CHECK_PHY 0x0C |
#define | RCRVAL_IGN_PHY 0x1C |
#define | TCRVAL 0x00 |
#define | DCRVAL 0x58 |
|
#define | RTL_TXSTART 0x40 |
#define | RTL_RXSTART 0x46 |
#define | RTL_RXSTOP 0x60 |
|
#define | RTL_ISR_PRX 0x01 |
| BIT 0 This bit indicates packet received with no error.
|
#define | RTL_ISR_PTX 0x02 |
| BIT 1 This bit indicates packet transmitted with no error.
|
#define | RTL_ISR_RXE 0x04 |
| BIT 2 This bit is set when a packet received contained an error.
|
#define | RTL_ISR_TXE 0x08 |
| BIT 3 Transmit Error Bit is set when packet transmission is aborted due to excessive collitions.
|
#define | RTL_ISR_OVW 0x10 |
| BIT 4 This bit is set when the receive buffer is exhausted.
|
#define | RTL_ISR_CNT 0x20 |
| BIT 5 Set when the MSB of one or more of the tally counters has been set.
|
#define | RTL_ISR_RDC 0x40 |
| BIT 6 Set when remote DMA operation has been completed.
|
#define | RTL_ISR_RST 0x80 |
| BIT 7 This bit is set when NIC enteres reset state and is cleared, when a start command is issued to the CR.
|
|
#define | RTL_CR_STP 0x01 |
| BIT 0 Stop Command.
|
#define | RTL_CR_STA 0x02 |
| BIT 1 Start Command (if STP==0).
|
#define | RTL_CR_TXP 0x04 |
| BIT 2 Must be set to transmit a packet.
|
#define | RTL_CR_RD0 0x08 |
| BIT 3 Needed for Read/Send Commands.
|
#define | RTL_CR_RD1 0x10 |
| BIT 4 Needed for Write/Send Commands.
|
#define | RTL_CR_RD2 0x20 |
| BIT 5 Needed for Abort/Complete Command.
|
#define | RTL_CR_PS0 0x40 |
| BIT 6 Needed to select register page.
|
#define | RTL_CR_PS1 0x80 |
| BIT 7 Needed to select register page.
|
|
#define | RTL_CR_STOP RTL_CR_STP |
| (STA=0, STP=1) Stop command
|
#define | RTL_CR_START RTL_CR_STA |
| (STA=1, STP=0) Start command
|
#define | RTL_CR_TRANSMIT_PACKET RTL_CR_TXP |
| (TXP=1) Transmit Packet
|
#define | RTL_CR_RD_NOT_ALLOWED 0x00 |
| (RD0=0, RD1=0, RD2=0) not allowed
|
#define | RTL_CR_RD_REMOTE_READ RTL_CR_RD0 |
| (RD0=1, RD1=0, RD2=0) remote read
|
#define | RTL_CR_RD_REMOTE_WRITE RTL_CR_RD1 |
| (RD0=0, RD1=1, RD2=0) remote write
|
#define | RTL_CR_RD_SEND_PACKET 0x18 |
| (RD0=1, RD1=1, RD2=0) send packet
|
#define | RTL_CR_RD_ABORT_CMPLTE RTL_CR_RD2 |
| (RD0=0, RD1=0, RD2=1) abort/complete Remote DMA
|
#define | RTL_CR_SELECT_PAGE0 0x00 |
| (PS0=0, PS1=0) Select Register Page 0
|
#define | RTL_CR_SELECT_PAGE1 RTL_CR_PS0 |
| (PS0=1, PS1=0) Select Register Page 1
|
#define | RTL_CR_SELECT_PAGE2 RTL_CR_PS1 |
| (PS0=0, PS1=1) Select Register Page 2
|
|
#define | RTL_START() WriteRTL ( RTL_CR , (RTL_CR_START | RTL_CR_RD_ABORT_CMPLTE) ) |
#define | RTL_STOP() WriteRTL ( RTL_CR , (RTL_CR_STOP | RTL_CR_RD_ABORT_CMPLTE) ) |
Enumerations |
enum | rtl_rx_stat_t { RTL_RX_IDLE = 0,
RTL_RX_NEW,
RTL_RX_READ_INIT,
RTL_RX_READING
} |
enum | rtl_tx_stat_t { RTL_TX_IDLE = 0
} |
Functions |
nip_error_t | nip_rtl_send_init (nip_net_if_id_t net_if_id, void *ll_target_addr, uint16_t type, void *daddr, void *saddr, uint16_t len) |
uint16_t | nip_rtl_send (nip_net_if_id_t net_if_id, uint8_t *buffer, uint16_t count) |
nip_success_t | nip_rtl_read_init (nip_net_if_id_t net_if_id) |
uint16_t | nip_rtl_read (nip_net_if_id_t net_if_id, uint8_t *buffer, uint16_t count) |
nip_success_t | nip_rtl_open (nip_net_if_id_t net_if_id) |
nip_success_t | nip_rtl_close (nip_net_if_id_t net_if_id) |
Variables |
nip_net_if_id_t | rtl_net_if_id |