OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 694 to Rev 695
    Reverse comparison

Rev 694 → Rev 695

/trunk/or1ksim/peripheral/ethernet.h
70,6 → 70,7
#define ETH_MODER_EXDFREN_OFFSET 9
#define ETH_MODER_NOBCKOF_OFFSET 8
#define ETH_MODER_LOOPBCK_OFFSET 7
#define ETH_MODER_IFG_OFFSET 6
#define ETH_MODER_PRO_OFFSET 5
#define ETH_MODER_IAM_OFFSET 4
#define ETH_MODER_BRO_OFFSET 3
97,6 → 98,39
#define ETH_PACKETLEN_MAXFL_OFFSET 0
#define ETH_PACKETLEN_MAXFL_WIDTH 16
 
/* Field definitions for COLLCONF */
#define ETH_COLLCONF_MAXRET_OFFSET 16
#define ETH_COLLCONF_MAXRET_WIDTH 4
#define ETH_COLLCONF_COLLVALID_OFFSET 0
#define ETH_COLLCONF_COLLVALID_WIDTH 6
 
/* Field definitions for CTRLMODER */
#define ETH_CMODER_TXFLOW_OFFSET 2
#define ETH_CMODER_RXFLOW_OFFSET 1
#define ETH_CMODER_PASSALL_OFFSET 0
 
/* Field definitions for MIIMODER */
#define ETH_MIIMODER_MRST_OFFSET 10
#define ETH_MIIMODER_NOPRE_OFFSET 8
#define ETH_MIIMODER_CLKDIV_OFFSET 0
#define ETH_MIIMODER_CLKDIV_WIDTH 8
 
/* Field definitions for MIICOMMAND */
#define ETH_MIICOMM_WCDATA_OFFSET 2
#define ETH_MIICOMM_RSTAT_OFFSET 1
#define ETH_MIICOMM_SCANS_OFFSET 0
 
/* Field definitions for MIIADDRESS */
#define ETH_MIIADDR_RGAD_OFFSET 8
#define ETH_MIIADDR_RGAD_WIDTH 5
#define ETH_MIIADDR_FIAD_OFFSET 0
#define ETH_MIIADDR_FIAD_WIDTH 5
 
/* Field definitions for MIISTATUS */
#define ETH_MIISTAT_NVALID_OFFSET 9
#define ETH_MIISTAT_BUSY_OFFSET 8
#define ETH_MIISTAT_FAIL_OFFSET 0
 
/* Field definitions for TX buffer descriptors */
#define ETH_TX_BD_LENGTH_OFFSET 16
#define ETH_TX_BD_LENGTH_WIDTH 16
107,14 → 141,15
#define ETH_TX_BD_CRC_OFFSET 11
#define ETH_TX_BD_LAST_OFFSET 10
#define ETH_TX_BD_PAUSE_OFFSET 9
#define ETH_TX_BD_DEFER_OFFSET 8
#define ETH_TX_BD_COLLISION_OFFSET 7
#define ETH_TX_BD_RETRANSMIT_OFFSET 6
#define ETH_TX_BD_UNDERRUN_OFFSET 5
#define ETH_TX_BD_NO_CARRIER_OFFSET 4
#define ETH_TX_BD_RETRY_OFFSET 0
#define ETH_TX_BD_UNDERRUN_OFFSET 8
#define ETH_TX_BD_RETRY_OFFSET 4
#define ETH_TX_BD_RETRY_WIDTH 4
#define ETH_TX_BD_RETRANSMIT_OFFSET 3
#define ETH_TX_BD_COLLISION_OFFSET 2
#define ETH_TX_BD_DEFER_OFFSET 1
#define ETH_TX_BD_NO_CARRIER_OFFSET 0
 
 
/* Field definitions for RX buffer descriptors */
#define ETH_RX_BD_LENGTH_OFFSET 16
#define ETH_RX_BD_LENGTH_WIDTH 16
121,17 → 156,13
#define ETH_RX_BD_EMPTY_OFFSET 15
#define ETH_RX_BD_INTERRUPT_OFFSET 14
#define ETH_RX_BD_WRAP_OFFSET 13
#define ETH_RX_BD_LAST_OFFSET 10
#define ETH_RX_BD_PAUSE_OFFSET 9
#define ETH_RX_BD_DEFER_OFFSET 8
#define ETH_RX_BD_COLLISION_OFFSET 7
#define ETH_RX_BD_RETRANSMIT_OFFSET 6
#define ETH_RX_BD_UNDERRUN_OFFSET 5
#define ETH_RX_BD_NO_CARRIER_OFFSET 4
#define ETH_RX_BD_RETRY_OFFSET 0
#define ETH_RX_BD_RETRY_WIDTH 4
#define ETH_RX_BD_MISS_OFFSET 7
#define ETH_RX_BD_UVERRUN_OFFSET 6
#define ETH_RX_BD_INVALID_OFFSET 5
#define ETH_RX_BD_DRIBBLE_OFFSET 4
#define ETH_RX_BD_TOOBIG_OFFSET 3
#define ETH_RX_BD_TOOSHORT_OFFSET 2
#define ETH_RX_BD_CRC_OFFSET 1
#define ETH_RX_BD_LATECOLL_OFFSET 0
 
 
 
 
#endif /* __OR1KSIM_PERIPHERAL_ETHERNET_H */
/trunk/or1ksim/peripheral/ethernet_i.h
81,6 → 81,15
/*
* Implementatino of Ethernet MAC Registers and State
*/
#define ETH_TXSTATE_IDLE 0
#define ETH_TXSTATE_WAIT4BD 10
#define ETH_TXSTATE_READFIFO 20
#define ETH_TXSTATE_TRANSMIT 30
 
#define ETH_RXSTATE_IDLE 0
#define ETH_RXSTATE_WAIT4BD 10
#define ETH_RXSTATE_RECV 20
#define ETH_RXSTATE_WRITEFIFO 30
struct eth_device
{
/* Base address in memory */
106,25 → 115,28
/* Current TX state */
struct
{
unsigned long bd_index;
unsigned long bd;
unsigned working, waiting_for_dma, error;
unsigned packet_length;
unsigned minimum_length, maximum_length;
unsigned add_crc;
unsigned long crc_value;
unsigned bytes_left, bytes_sent;
unsigned long state;
unsigned long bd_index;
unsigned long bd;
unsigned long bd_addr;
unsigned working, waiting_for_dma, error;
unsigned packet_length;
unsigned minimum_length, maximum_length;
unsigned add_crc;
unsigned long crc_value;
unsigned bytes_left, bytes_sent;
} tx;
 
/* Current RX state */
struct
{
unsigned long bd_index;
unsigned long bd;
int fd;
off_t *offset;
unsigned working, error, waiting_for_dma;
unsigned packet_length, bytes_read, bytes_left;
unsigned long state;
unsigned long bd_index;
unsigned long bd;
int fd;
off_t *offset;
unsigned working, error, waiting_for_dma;
unsigned packet_length, bytes_read, bytes_left;
} rx;
 
/* Visible registers */
147,9 → 159,13
unsigned long miirx_data;
unsigned long miistatus;
/* Buffer descriptors */
unsigned long bd_ram[ETH_BD_SPACE / 4];
/* Buffer descriptors */
unsigned long bd_ram[ETH_BD_SPACE / 4];
} regs;
 
unsigned long rx_buff[0x10000];
unsigned long tx_buff[0x10000];
unsigned long lo_buff[0x10000];
};
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.