}
// Stop RTL8019AS, select page 0 and abort DMA operation.
- etherdev_reg_write(CR, RD2 | STP);
+ etherdev_reg_write(CR, ABORT | STP);
// Initialise data configuration register.
// FIFO threshold 8 bytes, no loopback, don't use auto send packet.
etherdev_reg_write(RCR, MON);
// Initialise transmit configuration register to loopback internally.
- etherdev_reg_write(TCR, LB0);
+ etherdev_reg_write(TCR, MODE1);
// Clear interrupt status register bits by writing 1 to each.
etherdev_reg_write(ISR, 0xFF);
etherdev_reg_write(RBCR1, 0x00);
etherdev_reg_write(RSAR0, 0x00); // En la dirección 0x0000
etherdev_reg_write(RSAR1, 0x00);
- etherdev_reg_write(CR, RD0 | STA); // Comienza lectura
+ etherdev_reg_write(CR, READ | STA); // Comienza lectura
uip_buf[6] = etherdev_reg_read(RDMA);
etherdev_reg_read(RDMA); // Ignoramos porque viene como un word
uip_buf[7] = etherdev_reg_read(RDMA);
while(!(etherdev_reg_read(ISR) & RDC)) continue;
// Abort/ complete DMA operation.
- etherdev_reg_write(CR, RD2 | STP);
+ etherdev_reg_write(CR, ABORT | STP);
// Limpia ISR
etherdev_reg_write(ISR, RDC);
etherdev_reg_write(PSTOP, ETH_RX_PAGE_STOP);
// Select RTL8019AS register page 1.
- etherdev_reg_write(CR, RD2 | PS0 | STP);
+ etherdev_reg_write(CR, ABORT | PAGE1 | STP);
// Initialise current packet receive buffer page pointer
etherdev_reg_write(CURR, ETH_RX_PAGE_START + 1);
etherdev_reg_write(PAR5, uip_buf[11]);
// Select RTL8019AS register page 0 and abort DMA operation.
- etherdev_reg_write(CR, RD2 | STP);
+ etherdev_reg_write(CR, ABORT | STP);
// Restart RTL8019AS.
- etherdev_reg_write(CR, RD2 | STA);
+ etherdev_reg_write(CR, ABORT | STA);
// Initialise transmit configuration register for normal operation.
- etherdev_reg_write(TCR, 0x00);
+ etherdev_reg_write(TCR, MODE0);
// Receive configuration register to accept broadcast packets.
etherdev_reg_write(RCR, AB);
// Setup for DMA transfer from uip_buf & uip_appdata buffers to RTL8019AS.
// Select RTL8019AS register page 0 and abort DMA operation.
- etherdev_reg_write(CR, RD2 | STA);
+ etherdev_reg_write(CR, ABORT | STA);
// Wait until pending transmit operation completes.
while(etherdev_reg_read(CR) & TXP) continue;
etherdev_reg_write(RBCR1, (unsigned char)(uip_len >> 8));
// Initiate DMA transfer of uip_buf & uip_appdata buffers to RTL8019AS.
- etherdev_reg_write(CR, RD1 | STA);
+ etherdev_reg_write(CR, WRITE | STA);
// DMA transfer packet from uip_buf & uip_appdata to RTL8019AS local
// transmit buffer memory.
etherdev_reg_write(ISR, RDC);
// Abort/ complete DMA operation.
- etherdev_reg_write(CR, RD2 | STA);
+ etherdev_reg_write(CR, ABORT | STA);
// Set transmit page start to indicate packet start.
etherdev_reg_write(TPSR, ETH_TX_PAGE_START);
etherdev_reg_write(TBCR1, (unsigned char)(uip_len >> 8));
// Issue command for RTL8019AS to transmit packet from it's local buffer.
- etherdev_reg_write(CR, RD2 | TXP | STA);
+ etherdev_reg_write(CR, ABORT | TXP | STA);
return;
}
// data it contains is uncorrupted, or will cause us grief.
// Stop RTL8019AS and abort DMA operation.
- etherdev_reg_write(CR, RD2 | STP);
+ etherdev_reg_write(CR, ABORT | STP);
// Wait for controller to halt after any current tx completes.
while(!(etherdev_reg_read(ISR) & RST)) continue;
}
// Set transmit configuration register to loopback internally.
- etherdev_reg_write(TCR, LB0);
+ etherdev_reg_write(TCR, MODE1);
// Restart the RTL8019AS.
- etherdev_reg_write(CR, RD2 | STA);
+ etherdev_reg_write(CR, ABORT | STA);
// Re-initialise last receive buffer read pointer.
etherdev_reg_write(BNRY, ETH_RX_PAGE_START);
etherdev_reg_write(ISR, PRX | OVW);
// Re-itialise transmit configuration reg for normal operation.
- etherdev_reg_write(TCR, 0x00);
+ etherdev_reg_write(TCR, MODE0);
if(retransmit)
{
// Retransmit packet in RTL8019AS local tx buffer.
- etherdev_reg_write(CR, RD2 | TXP | STA);
+ etherdev_reg_write(CR, ABORT | TXP | STA);
}
}
etherdev_reg_write(ISR, RDC);
// Initiate DMA transfer of packet header.
- etherdev_reg_write(CR, RD0 | STA);
+ etherdev_reg_write(CR, READ | STA);
// Packet status.
status = etherdev_reg_read(RDMA);
while(!(etherdev_reg_read(ISR) & RDC)) continue;
// Abort/ complete DMA operation.
- etherdev_reg_write(CR, RD2 | STA);
+ etherdev_reg_write(CR, ABORT | STA);
// Limpia ISR
etherdev_reg_write(ISR, RDC);
etherdev_reg_write(RBCR1, (unsigned char)(len >> 8));
// Initiate DMA transfer of packet data.
- etherdev_reg_write(CR, RD0 | STA);
+ etherdev_reg_write(CR, READ | STA);
// Read packet data directly into uip_buf.
uip_len = len;
while(!(etherdev_reg_read(ISR) & RDC)) continue;
// Abort/ complete DMA operation.
- etherdev_reg_write(CR, RD2 | STA);
+ etherdev_reg_write(CR, ABORT | STA);
// Clear remote DMA complete interrupt status register bit.
etherdev_reg_write(ISR, RDC);