diff --git a/src/common/libsys/boards/sim/board.h b/src/common/libsys/boards/sim/board.h index 674a752..051be46 100644 --- a/src/common/libsys/boards/sim/board.h +++ b/src/common/libsys/boards/sim/board.h @@ -124,6 +124,56 @@ #define SYS_SPI_DATA (SYS_IO_BASE + 0x2000C) #define SYS_SPI_CTRL (SYS_IO_BASE + 0x20010) +// Ethernet MAC +#define SYS_EMAC_RX_CTRL (SYS_IO_BASE + 0x50000) +#define EMAC_RX_CTRL_RESET (1 << 31) +#define EMAC_RX_CTRL_GIGABIT (1 << 30) +#define EMAC_RX_CTRL_FCS_CHECK (1 << 29) +#define EMAC_RX_CTRL_PROMISCIOUS (1 << 23) +#define EMAC_RX_CTRL_PKT_REQ (1 << 17) +#define EMAC_RX_CTRL_PKT_FREE (1 << 16) +#define EMAC_RX_CTRL_INTEN (1 << 4) + +#define SYS_EMAC_RX_STAT SYS_EMAC_RX_CTRL +#define EMAC_RX_STAT_RESET (1 << 31) +#define EMAC_RX_STAT_GIGABIT (1 << 30) +#define EMAC_RX_STAT_FCS_CHECK (1 << 29) +#define EMAC_RX_STAT_PROMISCIOUS (1 << 23) +#define EMAC_RX_STAT_PKT_BCAST (1 << 19) +#define EMAC_RX_STAT_PKT_MACOK (1 << 18) +#define EMAC_RX_STAT_PKT_VALID (1 << 17) +#define EMAC_RX_STAT_PKT_AVAIL (1 << 16) +#define EMAC_RX_STAT_INTEN (1 << 4) + +#define SYS_EMAC_RX_SIZE (SYS_IO_BASE + 0x50004) + +#define SYS_EMAC_TX_CTRL (SYS_IO_BASE + 0x50008) +#define EMAC_TX_CTRL_RESET (1 << 31) +#define EMAC_TX_CTRL_GIGABIT (1 << 30) +#define EMAC_TX_CTRL_FCS_APPEND (1 << 29) +#define EMAC_TX_CTRL_PKT_ALLOC (1 << 17) +#define EMAC_TX_CTRL_PKT_COMMIT (1 << 16) +#define EMAC_TX_CTRL_INTEN (1 << 4) + +#define SYS_EMAC_TX_STAT SYS_EMAC_TX_CTRL +#define EMAC_TX_STAT_RESET (1 << 31) +#define EMAC_TX_STAT_GIGABIT (1 << 30) +#define EMAC_TX_STAT_FCS_APPEND (1 << 29) +#define EMAC_TX_STAT_PKT_DONE (1 << 24) +#define EMAC_TX_STAT_PKT_ALLOC_BSY (1 << 17) +#define EMAC_TX_STAT_PKT_ARMED (1 << 16) +#define EMAC_TX_STAT_INTEN (1 << 4) + +#define SYS_EMAC_TX_SIZE (SYS_IO_BASE + 0x5000C) +#define SYS_EMAC_MADDR (SYS_IO_BASE + 0x50018) +#define SYS_EMAC_MADDR_0 SYS_EMAC_MADDR_0 +#define SYS_EMAC_MADDR_1 (SYS_IO_BASE + 0x5001C) + +#define SYS_EMAC_DATA (SYS_IO_BASE + 0x58000) +#define SYS_EMAC_RX_DATA SYS_EMAC_DATA +#define SYS_EMAC_TX_DATA SYS_EMAC_DATA +#define SYS_EMAC_DATA_CACHED (0x10008000) + #ifdef __cplusplus extern "C" { #endif diff --git a/src/test_emac_sim.c b/src/test_emac_sim.c index 96447fd..2d56167 100644 --- a/src/test_emac_sim.c +++ b/src/test_emac_sim.c @@ -5,6 +5,8 @@ #include #include #include + +#include #include #include