Turnstone Operating System
Loading...
Searching...
No Matches
network_e1000.h File Reference

Network e1000 header. More...

#include <types.h>
#include <pci.h>
#include <network/network_protocols.h>
#include <network/network_ethernet.h>

Classes

struct  network_e1000_mmio_t
 
struct  network_e1000_rx_desc_s
 
struct  network_e1000_tx_desc_s
 
struct  network_e1000_dev_t
 

Macros

#define ___NETWORK_NETWORK_E1000_H   0
 
#define NETWORK_E1000_REG_CTRL   0x0000
 
#define NETWORK_E1000_REG_STATUS   0x0008
 
#define NETWORK_E1000_REG_EECD   0x0010
 
#define NETWORK_E1000_REG_EERD   0x0014
 
#define NETWORK_E1000_REG_MDIC   0x0020
 
#define E100_REG_ISR_STATUS   0x00C0
 
#define NETWORK_E1000_REG_IMS   0x00D0
 
#define NETWORK_E1000_REG_RCTL   0x0100
 
#define NETWORK_E1000_REG_TCTL   0x0400
 
#define NETWORK_E1000_REG_RDBAL   0x2800
 
#define NETWORK_E1000_REG_RDBAH   0x2804
 
#define NETWORK_E1000_REG_RDLEN   0x2808
 
#define NETWORK_E1000_REG_RDH   0x2810
 
#define NETWORK_E1000_REG_RDT   0x2818
 
#define NETWORK_E1000_REG_TDBAL   0x3800
 
#define NETWORK_E1000_REG_TDBAH   0x3804
 
#define NETWORK_E1000_REG_TDLEN   0x3808
 
#define NETWORK_E1000_REG_TDH   0x3810
 
#define NETWORK_E1000_REG_TDT   0x3818
 
#define NETWORK_E1000_REG_MTA   0x5200
 
#define NETWORK_E1000_REG_RAL   0x5400
 
#define NETWORK_E1000_REG_RAH   0x5404
 
#define NETWORK_E1000_PHYREG_PCTRL   0
 
#define NETWORK_E1000_PHYREG_PSTATUS   1
 
#define NETWORK_E1000_PHYREG_PSSTAT   17
 
#define NETWORK_E1000_NUM_RX_DESCRIPTORS   768
 
#define NETWORK_E1000_NUM_TX_DESCRIPTORS   768
 
#define NETWORK_E1000_CTRL_FD   (1 << 0)
 
#define NETWORK_E1000_CTRL_ASDE   (1 << 5)
 
#define NETWORK_E1000_CTRL_SLU   (1 << 6)
 
#define NETWORK_E1000_MDIC_PHYADD   (1 << 21)
 
#define NETWORK_E1000_MDIC_OP_WRITE   (1 << 26)
 
#define NETWORK_E1000_MDIC_OP_READ   (2 << 26)
 
#define NETWORK_E1000_MDIC_R   (1 << 28)
 
#define NETWORK_E1000_MDIC_I   (1 << 29)
 
#define NETWORK_E1000_MDIC_E   (1 << 30)
 
#define NETWORK_E1000_RCTL_EN   (1 << 1)
 
#define NETWORK_E1000_RCTL_SBP   (1 << 2)
 
#define NETWORK_E1000_RCTL_UPE   (1 << 3)
 
#define NETWORK_E1000_RCTL_MPE   (1 << 4)
 
#define NETWORK_E1000_RCTL_LPE   (1 << 5)
 
#define NETWORK_E1000_RDMTS_HALF   (0 << 8)
 
#define NETWORK_E1000_RDMTS_QUARTER   (1 << 8)
 
#define NETWORK_E1000_RDMTS_EIGHTH   (2 << 8)
 
#define NETWORK_E1000_RCTL_BAM   (1 << 15)
 
#define NETWORK_E1000_RCTL_BSIZE_256   (3 << 16)
 
#define NETWORK_E1000_RCTL_BSIZE_512   (2 << 16)
 
#define NETWORK_E1000_RCTL_BSIZE_1024   (1 << 16)
 
#define NETWORK_E1000_RCTL_BSIZE_2048   (0 << 16)
 
#define NETWORK_E1000_RCTL_BSIZE_4096   ((3 << 16) | (1 << 25))
 
#define NETWORK_E1000_RCTL_BSIZE_8192   ((2 << 16) | (1 << 25))
 
#define NETWORK_E1000_RCTL_BSIZE_16384   ((1 << 16) | (1 << 25))
 
#define NETWORK_E1000_RCTL_SECRC   (1 << 26)
 
#define NETWORK_E1000_TCTL_EN   (1 << 1)
 
#define NETWORK_E1000_TCTL_PSP   (1 << 3)
 

Typedefs

typedef struct network_e1000_rx_desc_s network_e1000_rx_desc_t
 
typedef struct network_e1000_tx_desc_s network_e1000_tx_desc_t
 

Functions

int8_t network_e1000_init (const pci_dev_t *pci_netdev)
 

Detailed Description

Network e1000 header.

This work is licensed under TURNSTONE OS Public License. Please read and understand latest version of Licence.