pub(crate) const E1000_CTL: usize = 0x00000 / 4;
pub(crate) const E1000_STAT: usize = 0x00008 / 4;
pub(crate) const E1000_ICR: usize = 0x000C0 / 4;
pub(crate) const E1000_ITR: usize = 0x000C4 / 4;
pub(crate) const E1000_ICS: usize = 0x000C8 / 4;
pub(crate) const E1000_IMS: usize = 0x000D0 / 4;
pub(crate) const E1000_IMC: usize = 0x000D8 / 4;
pub(crate) const E1000_RCTL: usize = 0x00100 / 4;
pub(crate) const E1000_TCTL: usize = 0x00400 / 4;
pub(crate) const E1000_TIPG: usize = 0x00410 / 4;
pub(crate) const E1000_RDBAL: usize = 0x02800 / 4;
pub(crate) const E1000_RDBAH: usize = 0x02804 / 4;
pub(crate) const E1000_RDTR: usize = 0x02820 / 4;
pub(crate) const E1000_RADV: usize = 0x0282C / 4;
pub(crate) const E1000_RDH: usize = 0x02810 / 4;
pub(crate) const E1000_RDT: usize = 0x02818 / 4;
pub(crate) const E1000_RDLEN: usize = 0x02808 / 4;
pub(crate) const E1000_RSRPD: usize = 0x02C00 / 4;
pub(crate) const E1000_TDBAL: usize = 0x03800 / 4;
pub(crate) const E1000_TDBAH: usize = 0x03804 / 4;
pub(crate) const E1000_TDLEN: usize = 0x03808 / 4;
pub(crate) const E1000_TDH: usize = 0x03810 / 4;
pub(crate) const E1000_TDT: usize = 0x03818 / 4;
pub(crate) const E1000_TIDV: usize = 0x03820 / 4;
pub(crate) const E1000_TADV: usize = 0x0382C / 4;
pub(crate) const E1000_MTA: usize = 0x05200 / 4;
pub(crate) const E1000_RA: usize = 0x05400 / 4;
pub(crate) const IMS_ENABLE_MASK: u32 = E1000_IMS_RXT0 | E1000_IMS_RXDMT0 | E1000_IMS_RXSEQ
| E1000_IMS_LSC ;
pub(crate) const E1000_IMS_TXDW: u32 = 0x00000001;
pub(crate) const E1000_IMS_TXQE: u32 = 0x00000002;
pub(crate) const E1000_IMS_LSC: u32 = 0x00000004;
pub(crate) const E1000_IMS_RXSEQ: u32 = 0x00000008;
pub(crate) const E1000_IMS_RXDMT0: u32 = 0x00000010;
pub(crate) const E1000_IMS_RXT0: u32 = 0x00000080;
pub(crate) const E1000_ICR_LSC: u32 = 0x00000004;
pub(crate) const E1000_CTL_SLU: u32 = 0x00000040;
pub(crate) const E1000_CTL_FRCSPD: u32 = 0x00000800;
pub(crate) const E1000_CTL_FRCDPLX: u32 = 0x00001000;
pub(crate) const E1000_CTL_RST: u32 = 0x00400000;
pub(crate) const E1000_TCTL_RST: u32 = 0x00000001;
pub(crate) const E1000_TCTL_EN: u32 = 0x00000002;
pub(crate) const E1000_TCTL_BCE: u32 = 0x00000004;
pub(crate) const E1000_TCTL_PSP: u32 = 0x00000008;
pub(crate) const E1000_TCTL_CT: u32 = 0x00000ff0;
pub(crate) const E1000_TCTL_CT_SHIFT: u32 = 4;
pub(crate) const E1000_TCTL_COLD: u32 = 0x003ff000;
pub(crate) const E1000_TCTL_COLD_SHIFT: u32 = 12;
pub(crate) const E1000_TCTL_SWXOFF: u32 = 0x00400000;
pub(crate) const E1000_TCTL_PBE: u32 = 0x00800000;
pub(crate) const E1000_TCTL_RTLC: u32 = 0x01000000;
pub(crate) const E1000_TCTL_NRTU: u32 = 0x02000000;
pub(crate) const E1000_TCTL_MULR: u32 = 0x10000000;
pub(crate) const E1000_RCTL_RST: u32 = 0x00000001;
pub(crate) const E1000_RCTL_EN: u32 = 0x00000002;
pub(crate) const E1000_RCTL_SBP: u32 = 0x00000004;
pub(crate) const E1000_RCTL_UPE: u32 = 0x00000008;
pub(crate) const E1000_RCTL_MPE: u32 = 0x00000010;
pub(crate) const E1000_RCTL_LPE: u32 = 0x00000020;
pub(crate) const E1000_RCTL_LBM_NO: u32 = 0x00000000;
pub(crate) const E1000_RCTL_LBM_MAC: u32 = 0x00000040;
pub(crate) const E1000_RCTL_LBM_SLP: u32 = 0x00000080;
pub(crate) const E1000_RCTL_LBM_TCVR: u32 = 0x000000C0;
pub(crate) const E1000_RCTL_DTYP_MASK: u32 = 0x00000C00;
pub(crate) const E1000_RCTL_DTYP_PS: u32 = 0x00000400;
pub(crate) const E1000_RCTL_RDMTS_HALF: u32 = 0x00000000;
pub(crate) const E1000_RCTL_RDMTS_QUAT: u32 = 0x00000100;
pub(crate) const E1000_RCTL_RDMTS_EIGTH: u32 = 0x00000200;
pub(crate) const E1000_RCTL_MO_SHIFT: u32 = 12;
pub(crate) const E1000_RCTL_MO_0: u32 = 0x00000000;
pub(crate) const E1000_RCTL_MO_1: u32 = 0x00001000;
pub(crate) const E1000_RCTL_MO_2: u32 = 0x00002000;
pub(crate) const E1000_RCTL_MO_3: u32 = 0x00003000;
pub(crate) const E1000_RCTL_MDR: u32 = 0x00004000;
pub(crate) const E1000_RCTL_BAM: u32 = 0x00008000;
pub(crate) const E1000_RCTL_SZ_2048: u32 = 0x00000000;
pub(crate) const E1000_RCTL_SZ_1024: u32 = 0x00010000;
pub(crate) const E1000_RCTL_SZ_512: u32 = 0x00020000;
pub(crate) const E1000_RCTL_SZ_256: u32 = 0x00030000;
pub(crate) const E1000_RCTL_SZ_16384: u32 = 0x00010000;
pub(crate) const E1000_RCTL_SZ_8192: u32 = 0x00020000;
pub(crate) const E1000_RCTL_SZ_4096: u32 = 0x00030000;
pub(crate) const E1000_RCTL_VFE: u32 = 0x00040000;
pub(crate) const E1000_RCTL_CFIEN: u32 = 0x00080000;
pub(crate) const E1000_RCTL_CFI: u32 = 0x00100000;
pub(crate) const E1000_RCTL_DPF: u32 = 0x00400000;
pub(crate) const E1000_RCTL_PMCF: u32 = 0x00800000;
pub(crate) const E1000_RCTL_BSEX: u32 = 0x02000000;
pub(crate) const E1000_RCTL_SECRC: u32 = 0x04000000;
pub(crate) const E1000_RCTL_FLXBUF_MASK: u32 = 0x78000000;
pub(crate) const E1000_RCTL_FLXBUF_SHIFT: u32 = 27;
pub(crate) const DATA_MAX: u32 = 1518;
pub(crate) const E1000_TXD_CMD_EOP: u32 = 0x01;
pub(crate) const E1000_TXD_CMD_RS: u32 = 0x08;
pub(crate) const E1000_TXD_STAT_DD: u32 = 0x00000001;
pub(crate) const E1000_RXD_STAT_DD: u32 = 0x01;
pub(crate) const E1000_RXD_STAT_EOP: u32 = 0x02;