pub(crate) const FXMAC_RX_BUF_UNIT: u32 = 64;
pub(crate) const FXMAC_MAX_RXBD: u32 = 128;
pub(crate) const FXMAC_MAX_TXBD: u32 = 128;
pub(crate) const FXMAC_MAX_HASH_BITS: u32 = 64;
pub(crate) const FXMAC_MAX_MAC_ADDR: u32 = 4;
pub(crate) const FXMAC_MAX_TYPE_ID: u32 = 4;
pub(crate) const FXMAC_BD_ALIGNMENT: u32 = 64;
pub(crate) const FXMAC_RX_BUF_ALIGNMENT: u32 = 4;
pub(crate) const FXMAC_NWCTRL_OFFSET: u64 = 0x00000000;
pub(crate) const FXMAC_NWCFG_OFFSET: u64 = 0x00000004;
pub(crate) const FXMAC_NWSR_OFFSET: u64 = 0x00000008;
pub(crate) const FXMAC_DMACR_OFFSET: u64 = 0x00000010;
pub(crate) const FXMAC_TXSR_OFFSET: u64 = 0x00000014;
pub(crate) const FXMAC_RXQBASE_OFFSET: u64 = 0x00000018;
pub(crate) const FXMAC_TXQBASE_OFFSET: u64 = 0x0000001C;
pub(crate) const FXMAC_RXSR_OFFSET: u64 = 0x00000020;
pub(crate) const FXMAC_ISR_OFFSET: u64 = 0x00000024;
pub(crate) const FXMAC_IER_OFFSET: u64 = 0x00000028;
pub(crate) const FXMAC_IDR_OFFSET: u64 = 0x0000002C;
pub(crate) const FXMAC_IMR_OFFSET: u64 = 0x00000030;
pub(crate) const FXMAC_PHYMNTNC_OFFSET: u64 = 0x00000034;
pub(crate) const FXMAC_RXPAUSE_OFFSET: u64 = 0x00000038;
pub(crate) const FXMAC_TXPAUSE_OFFSET: u64 = 0x0000003C;
pub(crate) const FXMAC_JUMBOMAXLEN_OFFSET: u64 = 0x00000048;
pub(crate) const FXMAC_GEM_HSMAC: u32 = 0x0050;
pub(crate) const FXMAC_RXWATERMARK_OFFSET: u64 = 0x0000007C;
pub(crate) const FXMAC_HASHL_OFFSET: u64 = 0x00000080;
pub(crate) const FXMAC_HASHH_OFFSET: u64 = 0x00000084;
pub(crate) const FXMAC_GEM_SA1B: u32 = 0x0088;
pub(crate) const FXMAC_GEM_SA1T: u32 = 0x008C;
pub(crate) const FXMAC_GEM_SA2B: u32 = 0x0090;
pub(crate) const FXMAC_GEM_SA2T: u32 = 0x0094;
pub(crate) const FXMAC_GEM_SA3B: u32 = 0x0098;
pub(crate) const FXMAC_GEM_SA3T: u32 = 0x009C;
pub(crate) const FXMAC_GEM_SA4B: u32 = 0x00A0;
pub(crate) const FXMAC_GEM_SA4T: u32 = 0x00A4;
pub(crate) const FXMAC_MATCH1_OFFSET: u64 = 0x000000A8;
pub(crate) const FXMAC_MATCH2_OFFSET: u64 = 0x000000AC;
pub(crate) const FXMAC_MATCH3_OFFSET: u64 = 0x000000B0;
pub(crate) const FXMAC_MATCH4_OFFSET: u64 = 0x000000B4;
pub(crate) const FXMAC_STRETCH_OFFSET: u64 = 0x000000BC;
pub(crate) const FXMAC_REVISION_REG_OFFSET: u64 = 0x000000FC;
pub(crate) const FXMAC_OCTTXL_OFFSET: u64 = 0x00000100;
pub(crate) const FXMAC_OCTTXH_OFFSET: u64 = 0x00000104;
pub(crate) const FXMAC_TXCNT_OFFSET: u64 = 0x00000108;
pub(crate) const FXMAC_TXBCCNT_OFFSET: u64 = 0x0000010C;
pub(crate) const FXMAC_TXMCCNT_OFFSET: u64 = 0x00000110;
pub(crate) const FXMAC_TXPAUSECNT_OFFSET: u64 = 0x00000114;
pub(crate) const FXMAC_TX64CNT_OFFSET: u64 = 0x00000118;
pub(crate) const FXMAC_TX65CNT_OFFSET: u64 = 0x0000011C;
pub(crate) const FXMAC_TX128CNT_OFFSET: u64 = 0x00000120;
pub(crate) const FXMAC_TX256CNT_OFFSET: u64 = 0x00000124;
pub(crate) const FXMAC_TX512CNT_OFFSET: u64 = 0x00000128;
pub(crate) const FXMAC_TX1024CNT_OFFSET: u64 = 0x0000012C;
pub(crate) const FXMAC_TX1519CNT_OFFSET: u64 = 0x00000130;
pub(crate) const FXMAC_TXURUNCNT_OFFSET: u64 = 0x00000134;
pub(crate) const FXMAC_SNGLCOLLCNT_OFFSET: u64 = 0x00000138;
pub(crate) const FXMAC_MULTICOLLCNT_OFFSET: u64 = 0x0000013C;
pub(crate) const FXMAC_EXCESSCOLLCNT_OFFSET: u64 = 0x00000140;
pub(crate) const FXMAC_LATECOLLCNT_OFFSET: u64 = 0x00000144;
pub(crate) const FXMAC_TXDEFERCNT_OFFSET: u64 = 0x00000148;
pub(crate) const FXMAC_TXCSENSECNT_OFFSET: u64 = 0x0000014C;
pub(crate) const FXMAC_OCTRXL_OFFSET: u64 = 0x00000150;
pub(crate) const FXMAC_OCTRXH_OFFSET: u64 = 0x00000154;
pub(crate) const FXMAC_RXCNT_OFFSET: u64 = 0x00000158;
pub(crate) const FXMAC_RXBROADCNT_OFFSET: u64 = 0x0000015C;
pub(crate) const FXMAC_RXMULTICNT_OFFSET: u64 = 0x00000160;
pub(crate) const FXMAC_RXPAUSECNT_OFFSET: u64 = 0x00000164;
pub(crate) const FXMAC_RX64CNT_OFFSET: u64 = 0x00000168;
pub(crate) const FXMAC_RX65CNT_OFFSET: u64 = 0x0000016C;
pub(crate) const FXMAC_RX128CNT_OFFSET: u64 = 0x00000170;
pub(crate) const FXMAC_RX256CNT_OFFSET: u64 = 0x00000174;
pub(crate) const FXMAC_RX512CNT_OFFSET: u64 = 0x00000178;
pub(crate) const FXMAC_RX1024CNT_OFFSET: u64 = 0x0000017C;
pub(crate) const FXMAC_RX1519CNT_OFFSET: u64 = 0x00000180;
pub(crate) const FXMAC_RXUNDRCNT_OFFSET: u64 = 0x00000184;
pub(crate) const FXMAC_RXOVRCNT_OFFSET: u64 = 0x00000188;
pub(crate) const FXMAC_RXJABCNT_OFFSET: u64 = 0x0000018C;
pub(crate) const FXMAC_RXFCSCNT_OFFSET: u64 = 0x00000190;
pub(crate) const FXMAC_RXLENGTHCNT_OFFSET: u64 = 0x00000194;
pub(crate) const FXMAC_RXSYMBCNT_OFFSET: u64 = 0x00000198;
pub(crate) const FXMAC_RXALIGNCNT_OFFSET: u64 = 0x0000019C;
pub(crate) const FXMAC_RXRESERRCNT_OFFSET: u64 = 0x000001A0;
pub(crate) const FXMAC_RXORCNT_OFFSET: u64 = 0x000001A4;
pub(crate) const FXMAC_RXIPCCNT_OFFSET: u64 = 0x000001A8;
pub(crate) const FXMAC_RXTCPCCNT_OFFSET: u64 = 0x000001AC;
pub(crate) const FXMAC_RXUDPCCNT_OFFSET: u64 = 0x000001B0;
pub(crate) const FXMAC_LAST_OFFSET: u64 = 0x000001B4;
pub(crate) const FXMAC_1588_SEC_OFFSET: u64 = 0x000001D0;
pub(crate) const FXMAC_1588_NANOSEC_OFFSET: u64 = 0x000001D4;
pub(crate) const FXMAC_1588_ADJ_OFFSET: u64 = 0x000001D8;
pub(crate) const FXMAC_1588_INC_OFFSET: u64 = 0x000001DC;
pub(crate) const FXMAC_PTP_TXSEC_OFFSET: u64 = 0x000001E0;
pub(crate) const FXMAC_PTP_TXNANOSEC_OFFSET: u64 = 0x000001E4;
pub(crate) const FXMAC_PTP_RXSEC_OFFSET: u64 = 0x000001E8;
pub(crate) const FXMAC_PTP_RXNANOSEC_OFFSET: u64 = 0x000001EC;
pub(crate) const FXMAC_PTPP_TXSEC_OFFSET: u64 = 0x000001F0;
pub(crate) const FXMAC_PTPP_TXNANOSEC_OFFSET: u64 = 0x000001F4;
pub(crate) const FXMAC_PTPP_RXSEC_OFFSET: u64 = 0x000001F8;
pub(crate) const FXMAC_PTPP_RXNANOSEC_OFFSET: u64 = 0x000001FC;
pub(crate) const FXMAC_PCS_CONTROL_OFFSET: u64 = 0x00000200;
pub(crate) const FXMAC_PCS_STATUS_OFFSET: u64 = 0x00000204;
pub(crate) const FXMAC_PCS_AN_LP_OFFSET: u64 = 0x00000214;
pub(crate) const FXMAC_DESIGNCFG_DEBUG1_OFFSET: u64 = 0x00000280;
pub(crate) const FXMAC_DESIGNCFG_DEBUG2_OFFSET: u64 = 0x00000284;
pub(crate) const FXMAC_INTQ1_STS_OFFSET: u64 = 0x00000400;
pub(crate) const FXMAC_TXQ1BASE_OFFSET: u64 = 0x00000440;
pub(crate) const FXMAC_RXQ1BASE_OFFSET: u64 = 0x00000480;
pub(crate) const FXMAC_RXBUFQ1_SIZE_OFFSET: u64 = 0x000004a0;
pub const fn FXMAC_RXBUFQX_SIZE_OFFSET(value: u64) -> u64 {
FXMAC_RXBUFQ1_SIZE_OFFSET + (value << 2)
}
pub(crate) const FXMAC_RXBUFQX_SIZE_MASK: u32 = GENMASK(7, 0);
pub(crate) const FXMAC_MSBBUF_TXQBASE_OFFSET: u64 = 0x000004C8;
pub(crate) const FXMAC_MSBBUF_RXQBASE_OFFSET: u64 = 0x000004D4;
pub(crate) const FXMAC_TXQSEGALLOC_QLOWER_OFFSET: u64 = 0x000005A0;
pub(crate) const FXMAC_INTQ1_IER_OFFSET: u64 = 0x00000600;
pub const fn FXMAC_INTQX_IER_SIZE_OFFSET(x: u64) -> u64 {
FXMAC_INTQ1_IER_OFFSET + (x << 2)
}
pub(crate) const FXMAC_INTQ1_IDR_OFFSET: u64 = 0x00000620;
pub const fn FXMAC_INTQX_IDR_SIZE_OFFSET(x: u64) -> u64 {
FXMAC_INTQ1_IDR_OFFSET + (x << 2)
}
pub(crate) const FXMAC_INTQ1_IMR_OFFSET: u64 = 0x00000640;
pub(crate) const FXMAC_GEM_USX_CONTROL_OFFSET: u64 = 0x0A80;
pub(crate) const FXMAC_TEST_CONTROL_OFFSET: u64 = 0x0A84;
pub(crate) const FXMAC_GEM_USX_STATUS_OFFSET: u64 = 0x0A88;
pub(crate) const FXMAC_GEM_SRC_SEL_LN: u32 = 0x1C04;
pub(crate) const FXMAC_GEM_DIV_SEL0_LN: u32 = 0x1C08;
pub(crate) const FXMAC_GEM_DIV_SEL1_LN: u32 = 0x1C0C;
pub(crate) const FXMAC_GEM_PMA_XCVR_POWER_STATE: u32 = 0x1C10;
pub(crate) const FXMAC_GEM_SPEED_MODE: u32 = 0x1C14;
pub(crate) const FXMAC_GEM_MII_SELECT: u32 = 0x1C18;
pub(crate) const FXMAC_GEM_SEL_MII_ON_RGMII: u32 = 0x1C1C;
pub(crate) const FXMAC_GEM_TX_CLK_SEL0: u32 = 0x1C20;
pub(crate) const FXMAC_GEM_TX_CLK_SEL1: u32 = 0x1C24;
pub(crate) const FXMAC_GEM_TX_CLK_SEL2: u32 = 0x1C28;
pub(crate) const FXMAC_GEM_TX_CLK_SEL3: u32 = 0x1C2C;
pub(crate) const FXMAC_GEM_RX_CLK_SEL0: u32 = 0x1C30;
pub(crate) const FXMAC_GEM_RX_CLK_SEL1: u32 = 0x1C34;
pub(crate) const FXMAC_GEM_CLK_250M_DIV10_DIV100_SEL: u32 = 0x1C38;
pub(crate) const FXMAC_GEM_TX_CLK_SEL5: u32 = 0x1C3C;
pub(crate) const FXMAC_GEM_TX_CLK_SEL6: u32 = 0x1C40;
pub(crate) const FXMAC_GEM_RX_CLK_SEL4: u32 = 0x1C44;
pub(crate) const FXMAC_GEM_RX_CLK_SEL5: u32 = 0x1C48;
pub(crate) const FXMAC_GEM_TX_CLK_SEL3_0: u32 = 0x1C70;
pub(crate) const FXMAC_GEM_TX_CLK_SEL4_0: u32 = 0x1C74;
pub(crate) const FXMAC_GEM_RX_CLK_SEL3_0: u32 = 0x1C78;
pub(crate) const FXMAC_GEM_RX_CLK_SEL4_0: u32 = 0x1C7C;
pub(crate) const FXMAC_GEM_RGMII_TX_CLK_SEL0: u32 = 0x1C80;
pub(crate) const FXMAC_GEM_RGMII_TX_CLK_SEL1: u32 = 0x1C84;
pub(crate) const FXMAC_GEM_MODE_SEL_OFFSET: u64 = 0xDC00;
pub(crate) const FXMAC_LOOPBACK_SEL_OFFSET: u64 = 0xDC04;
pub(crate) const FXMAC_TAIL_ENABLE: u64 = 0xe7c;
pub(crate) const FXMAC_IXR_PTPPSTX_MASK: u32 = BIT(25);
pub(crate) const FXMAC_IXR_PTPPDRTX_MASK: u32 = BIT(24);
pub(crate) const FXMAC_IXR_PTPPSRX_MASK: u32 = BIT(23);
pub(crate) const FXMAC_IXR_PTPPDRRX_MASK: u32 = BIT(22);
pub(crate) const FXMAC_IXR_PTPSTX_MASK: u32 = BIT(21);
pub(crate) const FXMAC_IXR_PTPDRTX_MASK: u32 = BIT(20);
pub(crate) const FXMAC_IXR_PTPSRX_MASK: u32 = BIT(19);
pub(crate) const FXMAC_IXR_PTPDRRX_MASK: u32 = BIT(18);
pub(crate) const FXMAC_IXR_PAUSETX_MASK: u32 = BIT(14);
pub(crate) const FXMAC_IXR_PAUSEZERO_MASK: u32 = BIT(13);
pub(crate) const FXMAC_IXR_PAUSENZERO_MASK: u32 = BIT(12);
pub(crate) const FXMAC_IXR_HRESPNOK_MASK: u32 = BIT(11);
pub(crate) const FXMAC_IXR_RXOVR_MASK: u32 = BIT(10);
pub(crate) const FXMAC_IXR_LINKCHANGE_MASK: u32 = BIT(9);
pub(crate) const FXMAC_IXR_TXCOMPL_MASK: u32 = BIT(7);
pub(crate) const FXMAC_IXR_TXEXH_MASK: u32 = BIT(6);
pub(crate) const FXMAC_IXR_RETRY_MASK: u32 = BIT(5);
pub(crate) const FXMAC_IXR_URUN_MASK: u32 = BIT(4);
pub(crate) const FXMAC_IXR_TXUSED_MASK: u32 = BIT(3);
pub(crate) const FXMAC_IXR_RXUSED_MASK: u32 = BIT(2);
pub(crate) const FXMAC_IXR_RXCOMPL_MASK: u32 = BIT(1);
pub(crate) const FXMAC_IXR_MGMNT_MASK: u32 = BIT(0);
pub(crate) const FXMAC_IXR_ALL_MASK: u32 = GENMASK(31, 0);
pub(crate) const FXMAC_IXR_TX_ERR_MASK: u32 =
(FXMAC_IXR_TXEXH_MASK | FXMAC_IXR_RETRY_MASK | FXMAC_IXR_URUN_MASK);
pub(crate) const FXMAC_IXR_RX_ERR_MASK: u32 =
(FXMAC_IXR_HRESPNOK_MASK | FXMAC_IXR_RXUSED_MASK | FXMAC_IXR_RXOVR_MASK);
pub(crate) const FXMAC_INTR_MASK: u32 = (FXMAC_IXR_LINKCHANGE_MASK
| FXMAC_IXR_TX_ERR_MASK
| FXMAC_IXR_RX_ERR_MASK
| FXMAC_IXR_RXCOMPL_MASK
| FXMAC_IXR_TXCOMPL_MASK);
pub(crate) const FXMAC_NWCTRL_ENABLE_HS_MAC_MASK: u32 = BIT(31);
pub(crate) const FXMAC_NWCTRL_TWO_PT_FIVE_GIG_MASK: u32 = BIT(29);
pub(crate) const FXMAC_NWCTRL_FLUSH_DPRAM_MASK: u32 = BIT(18);
pub(crate) const FXMAC_NWCTRL_ZEROPAUSETX_MASK: u32 = BIT(11);
pub(crate) const FXMAC_NWCTRL_PAUSETX_MASK: u32 = BIT(11);
pub(crate) const FXMAC_NWCTRL_HALTTX_MASK: u32 = BIT(10);
pub(crate) const FXMAC_NWCTRL_STARTTX_MASK: u32 = BIT(9);
pub(crate) const FXMAC_NWCTRL_STATWEN_MASK: u32 = BIT(7);
pub(crate) const FXMAC_NWCTRL_STATINC_MASK: u32 = BIT(6);
pub(crate) const FXMAC_NWCTRL_STATCLR_MASK: u32 = BIT(5);
pub(crate) const FXMAC_NWCTRL_MDEN_MASK: u32 = BIT(4);
pub(crate) const FXMAC_NWCTRL_TXEN_MASK: u32 = BIT(3);
pub(crate) const FXMAC_NWCTRL_RXEN_MASK: u32 = BIT(2);
pub(crate) const FXMAC_NWCTRL_LOOPBACK_LOCAL_MASK: u32 = BIT(1);
pub(crate) const FXMAC_NWCFG_BADPREAMBEN_MASK: u32 = BIT(29);
pub(crate) const FXMAC_NWCFG_IPDSTRETCH_MASK: u32 = BIT(28);
pub(crate) const FXMAC_NWCFG_SGMII_MODE_ENABLE_MASK: u32 = BIT(27);
pub(crate) const FXMAC_NWCFG_FCSIGNORE_MASK: u32 = BIT(26);
pub(crate) const FXMAC_NWCFG_HDRXEN_MASK: u32 = BIT(25);
pub(crate) const FXMAC_NWCFG_RXCHKSUMEN_MASK: u32 = BIT(24);
pub(crate) const FXMAC_NWCFG_PAUSECOPYDI_MASK: u32 = BIT(23);
pub(crate) const FXMAC_NWCFG_DWIDTH_64_MASK: u32 = BIT(21);
pub(crate) const FXMAC_NWCFG_BUS_WIDTH_32_MASK: u32 = (0 << 21);
pub(crate) const FXMAC_NWCFG_BUS_WIDTH_64_MASK: u32 = (1 << 21);
pub(crate) const FXMAC_NWCFG_BUS_WIDTH_128_MASK: u32 = (2 << 21);
pub(crate) const FXMAC_NWCFG_CLOCK_DIV224_MASK: u32 = (7 << 18);
pub(crate) const FXMAC_NWCFG_CLOCK_DIV128_MASK: u32 = (6 << 18);
pub(crate) const FXMAC_NWCFG_CLOCK_DIV96_MASK: u32 = (5 << 18);
pub(crate) const FXMAC_NWCFG_CLOCK_DIV64_MASK: u32 = (4 << 18);
pub(crate) const FXMAC_NWCFG_CLOCK_DIV48_MASK: u32 = (3 << 18);
pub(crate) const FXMAC_NWCFG_CLOCK_DIV32_MASK: u32 = (2 << 18);
pub(crate) const FXMAC_NWCFG_CLOCK_DIV16_MASK: u32 = (1 << 18);
pub(crate) const FXMAC_NWCFG_CLOCK_DIV8_MASK: u32 = (0 << 18);
pub(crate) const FXMAC_NWCFG_RESET_MASK: u32 = BIT(19);
pub(crate) const FXMAC_NWCFG_MDC_SHIFT_MASK: u32 = 18;
pub(crate) const FXMAC_NWCFG_MDCCLKDIV_MASK: u32 = GENMASK(20, 18);
pub(crate) const FXMAC_NWCFG_FCS_REMOVE_MASK: u32 = BIT(17);
pub(crate) const FXMAC_NWCFG_LENGTH_FIELD_ERROR_FRAME_DISCARD_MASK: u32 = BIT(16);
pub(crate) const FXMAC_NWCFG_PAUSE_ENABLE_MASK: u32 = BIT(13);
pub(crate) const FXMAC_NWCFG_RETRYTESTEN_MASK: u32 = BIT(12);
pub(crate) const FXMAC_NWCFG_PCSSEL_MASK: u32 = BIT(11);
pub(crate) const FXMAC_NWCFG_1000_MASK: u32 = BIT(10);
pub(crate) const FXMAC_NWCFG_XTADDMACHEN_MASK: u32 = BIT(9);
pub(crate) const FXMAC_NWCFG_1536RXEN_MASK: u32 = BIT(8);
pub(crate) const FXMAC_NWCFG_UCASTHASHEN_MASK: u32 = BIT(7);
pub(crate) const FXMAC_NWCFG_MCASTHASHEN_MASK: u32 = BIT(6);
pub(crate) const FXMAC_NWCFG_BCASTDI_MASK: u32 = BIT(5);
pub(crate) const FXMAC_NWCFG_COPYALLEN_MASK: u32 = BIT(4);
pub(crate) const FXMAC_NWCFG_JUMBO_MASK: u32 = BIT(3);
pub(crate) const FXMAC_NWCFG_NVLANDISC_MASK: u32 = BIT(2);
pub(crate) const FXMAC_NWCFG_FDEN_MASK: u32 = BIT(1);
pub(crate) const FXMAC_NWCFG_100_MASK: u32 = BIT(0);
pub(crate) const FXMAC_RXBUF_BCAST_MASK: u32 = BIT(31);
pub(crate) const FXMAC_RXBUF_HASH_MASK: u32 = GENMASK(30, 29);
pub(crate) const FXMAC_RXBUF_MULTIHASH_MASK: u32 = BIT(30);
pub(crate) const FXMAC_RXBUF_UNIHASH_MASK: u32 = BIT(29);
pub(crate) const FXMAC_RXBUF_EXH_MASK: u32 = BIT(27);
pub(crate) const FXMAC_RXBUF_AMATCH_MASK: u32 = GENMASK(26, 25);
pub(crate) const FXMAC_RXBUF_IDFOUND_MASK: u32 = BIT(24);
pub(crate) const FXMAC_RXBUF_IDMATCH_MASK: u32 = GENMASK(23, 22);
pub(crate) const FXMAC_RXBUF_VLAN_MASK: u32 = BIT(21);
pub(crate) const FXMAC_RXBUF_PRI_MASK: u32 = BIT(20);
pub(crate) const FXMAC_RXBUF_VPRI_MASK: u32 = GENMASK(19, 17);
pub(crate) const FXMAC_RXBUF_CFI_MASK: u32 = BIT(16);
pub(crate) const FXMAC_RXBUF_EOF_MASK: u32 = BIT(15);
pub(crate) const FXMAC_RXBUF_SOF_MASK: u32 = BIT(14);
pub(crate) const FXMAC_RXBUF_FCS_STATUS_MASK: u32 = BIT(13);
pub(crate) const FXMAC_RXBUF_LEN_MASK: u32 = GENMASK(12, 0);
pub(crate) const FXMAC_RXBUF_LEN_JUMBO_MASK: u32 = GENMASK(13, 0);
pub(crate) const FXMAC_RXBUF_WRAP_MASK: u32 = BIT(1);
pub(crate) const FXMAC_RXBUF_NEW_MASK: u32 = BIT(0);
pub(crate) const FXMAC_RXBUF_ADD_MASK: u32 = GENMASK(31, 2);
pub(crate) const FXMAC_TXBUF_USED_MASK: u32 = BIT(31);
pub(crate) const FXMAC_TXBUF_WRAP_MASK: u32 = BIT(30);
pub(crate) const FXMAC_TXBUF_RETRY_MASK: u32 = BIT(29);
pub(crate) const FXMAC_TXBUF_URUN_MASK: u32 = BIT(28);
pub(crate) const FXMAC_TXBUF_EXH_MASK: u32 = BIT(27);
pub(crate) const FXMAC_TXBUF_TCP_MASK: u32 = BIT(26);
pub(crate) const FXMAC_TXBUF_NOCRC_MASK: u32 = BIT(16);
pub(crate) const FXMAC_TXBUF_LAST_MASK: u32 = BIT(15);
pub(crate) const FXMAC_TXBUF_LEN_MASK: u32 = GENMASK(13, 0);
pub(crate) const FXMAC_RXSR_HRESPNOK_MASK: u32 = BIT(3);
pub(crate) const FXMAC_RXSR_RXOVR_MASK: u32 = BIT(2);
pub(crate) const FXMAC_RXSR_FRAMERX_MASK: u32 = BIT(1);
pub(crate) const FXMAC_RXSR_BUFFNA_MASK: u32 = BIT(0);
pub(crate) const FXMAC_RXSR_ERROR_MASK: u32 =
(FXMAC_RXSR_HRESPNOK_MASK | FXMAC_RXSR_RXOVR_MASK | FXMAC_RXSR_BUFFNA_MASK);
pub(crate) const FXMAC_SR_ALL_MASK: u32 = GENMASK(31, 0);
pub(crate) const FXMAC_DMACR_ADDR_WIDTH_64: u32 = BIT(30);
pub(crate) const FXMAC_DMACR_TXEXTEND_MASK: u32 = BIT(29);
pub(crate) const FXMAC_DMACR_RXEXTEND_MASK: u32 = BIT(28);
pub(crate) const FXMAC_DMACR_ORCE_DISCARD_ON_ERR_MASK: u32 = BIT(24);
pub(crate) const FXMAC_DMACR_RXBUF_MASK: u32 = GENMASK(23, 16);
pub(crate) const FXMAC_DMACR_RXBUF_SHIFT: u32 = 16;
pub(crate) const FXMAC_DMACR_TCPCKSUM_MASK: u32 = BIT(11);
pub(crate) const FXMAC_DMACR_TXSIZE_MASK: u32 = BIT(10);
pub(crate) const FXMAC_DMACR_RXSIZE_MASK: u32 = GENMASK(9, 8);
pub(crate) const FXMAC_DMACR_ENDIAN_MASK: u32 = BIT(7);
pub(crate) const FXMAC_DMACR_SWAP_MANAGEMENT_MASK: u32 = BIT(6);
pub(crate) const FXMAC_DMACR_BLENGTH_MASK: u32 = GENMASK(4, 0);
pub(crate) const FXMAC_DMACR_SINGLE_AHB_AXI_BURST: u32 = BIT(0);
pub(crate) const FXMAC_DMACR_INCR4_AHB_AXI_BURST: u32 = BIT(2);
pub(crate) const FXMAC_DMACR_INCR8_AHB_AXI_BURST: u32 = BIT(3);
pub(crate) const FXMAC_DMACR_INCR16_AHB_AXI_BURST: u32 = BIT(4);
pub(crate) const FXMAC_REVISION_MODULE_MASK: u32 = GENMASK(15, 0);
pub(crate) const FXMAC_IDENTIFICATION_MASK: u32 = GENMASK(27, 16);
pub(crate) const FXMAC_FIX_NUM_MASK: u32 = GENMASK(31, 28);
pub(crate) const FXMAC_NWSR_MDIOIDLE_MASK: u32 = BIT(2);
pub(crate) const FXMAC_NWSR_MDIO_MASK: u32 = BIT(1);
pub(crate) const FXMAC_NWSR_PCS_LINK_STATE_MASK: u32 = BIT(0);
pub(crate) const FXMAC_PHYMNTNC_OP_MASK: u32 = (BIT(17) | BIT(30));
pub(crate) const FXMAC_PHYMNTNC_OP_R_MASK: u32 = BIT(29);
pub(crate) const FXMAC_PHYMNTNC_OP_W_MASK: u32 = BIT(28);
pub(crate) const FXMAC_PHYMNTNC_ADDR_MASK: u32 = GENMASK(27, 23);
pub(crate) const FXMAC_PHYMNTNC_REG_MASK: u32 = GENMASK(22, 18);
pub(crate) const FXMAC_PHYMNTNC_DATA_MASK: u32 = GENMASK(11, 0);
pub(crate) const FXMAC_PHYMNTNC_PHAD_SHFT_MSK: u32 = 23;
pub(crate) const FXMAC_PHYMNTNC_PREG_SHFT_MSK: u32 = 18;
pub(crate) const FXMAC_TXSR_HRESPNOK_MASK: u32 = BIT(8);
pub(crate) const FXMAC_TXSR_URUN_MASK: u32 = BIT(6);
pub(crate) const FXMAC_TXSR_TXCOMPL_MASK: u32 = BIT(5);
pub(crate) const FXMAC_TXSR_BUFEXH_MASK: u32 = BIT(4);
pub(crate) const FXMAC_TXSR_TXGO_MASK: u32 = BIT(3);
pub(crate) const FXMAC_TXSR_RXOVR_MASK: u32 = BIT(2);
pub(crate) const FXMAC_TXSR_FRAMERX_MASK: u32 = BIT(1);
pub(crate) const FXMAC_TXSR_USEDREAD_MASK: u32 = BIT(0);
pub(crate) const FXMAC_TXSR_ERROR_MASK: u32 = (FXMAC_TXSR_HRESPNOK_MASK
| FXMAC_TXSR_URUN_MASK
| FXMAC_TXSR_BUFEXH_MASK
| FXMAC_TXSR_RXOVR_MASK
| FXMAC_TXSR_FRAMERX_MASK
| FXMAC_TXSR_USEDREAD_MASK);
pub(crate) const FXMAC_TXQSEGALLOC_QLOWER_JUMBO_MASK: u32 = BIT(2);
pub(crate) const FXMAC_INTQ1SR_TXCOMPL_MASK: u32 = BIT(7);
pub(crate) const FXMAC_INTQ1SR_TXERR_MASK: u32 = BIT(6);
pub(crate) const FXMAC_INTQ1_IXR_ALL_MASK: u32 =
(FXMAC_INTQ1SR_TXCOMPL_MASK | FXMAC_INTQ1SR_TXERR_MASK);
pub(crate) const FXMAC_INTQUESR_TXCOMPL_MASK: u32 = BIT(7);
pub(crate) const FXMAC_INTQUESR_TXERR_MASK: u32 = BIT(6);
pub(crate) const FXMAC_INTQUESR_RCOMP_MASK: u32 = BIT(1);
pub(crate) const FXMAC_INTQUESR_RXUBR_MASK: u32 = BIT(2);
pub(crate) const FXMAC_INTQUE_IXR_ALL_MASK: u32 =
(FXMAC_INTQUESR_TXCOMPL_MASK | FXMAC_INTQUESR_TXERR_MASK);
pub const fn FXMAC_QUEUE_REGISTER_OFFSET(base_addr: u64, queue_id: u32) -> u64 {
base_addr + (queue_id as u64 - 1) * 4
}
pub(crate) const FXMAC_DESIGNCFG_DEBUG1_BUS_WIDTH_MASK: u32 = GENMASK(27, 25);
pub(crate) const FXMAC_DESIGNCFG_DEBUG1_BUS_IRQCOR_MASK: u32 = BIT(23);
pub(crate) const FXMAC_GEM_HSMACSPEED_OFFSET: u64 = 0;
pub(crate) const FXMAC_GEM_HSMACSPEED_SIZE: u32 = 3;
pub(crate) const FXMAC_GEM_HSMACSPEED_MASK: u32 = 0x7;
pub(crate) const FXMAC_BD_ADDR_OFFSET: u64 = 0x00000000;
pub(crate) const FXMAC_BD_STAT_OFFSET: u64 = 4;
pub(crate) const FXMAC_BD_ADDR_HI_OFFSET: u32 = BIT(3);
pub(crate) const FXMAC_GEM_SAB_MASK: u32 = GENMASK(15, 0);
pub(crate) const FXMAC_GEM_USX_HS_MAC_SPEED_100M: u32 = (0x0 << 14);
pub(crate) const FXMAC_GEM_USX_HS_MAC_SPEED_1G: u32 = (0x1 << 14);
pub(crate) const FXMAC_GEM_USX_HS_MAC_SPEED_2_5G: u32 = (0x2 << 14);
pub(crate) const FXMAC_GEM_USX_HS_MAC_SPEED_5G: u32 = (0x3 << 14);
pub(crate) const FXMAC_GEM_USX_HS_MAC_SPEED_10G: u32 = (0x4 << 14);
pub(crate) const FXMAC_GEM_USX_SERDES_RATE_5G: u32 = (0x0 << 12);
pub(crate) const FXMAC_GEM_USX_SERDES_RATE_10G: u32 = (0x1 << 12);
pub(crate) const FXMAC_GEM_USX_TX_SCR_BYPASS: u32 = BIT(8);
pub(crate) const FXMAC_GEM_USX_RX_SCR_BYPASS: u32 = BIT(9);
pub(crate) const FXMAC_GEM_USX_RX_SYNC_RESET: u32 = BIT(2);
pub(crate) const FXMAC_GEM_USX_TX_DATAPATH_EN: u32 = BIT(1);
pub(crate) const FXMAC_GEM_USX_SIGNAL_OK: u32 = BIT(0);
pub(crate) const FXMAC_PCS_CONTROL_ENABLE_AUTO_NEG: u32 = BIT(12);
pub(crate) const FXMAC_PCS_STATUS_LINK_STATUS_OFFSET: u32 = 2;
pub(crate) const FXMAC_PCS_STATUS_LINK_STATUS: u32 = BIT(FXMAC_PCS_STATUS_LINK_STATUS_OFFSET);
pub(crate) const FXMAC_PCS_AN_LP_SPEED_OFFSET: u64 = 10;
pub(crate) const FXMAC_PCS_AN_LP_SPEED: u32 = (0x3 << FXMAC_PCS_AN_LP_SPEED_OFFSET);
pub(crate) const FXMAC_PCS_AN_LP_DUPLEX_OFFSET: u64 = 12;
pub(crate) const FXMAC_PCS_AN_LP_DUPLEX: u32 = (0x3 << FXMAC_PCS_AN_LP_DUPLEX_OFFSET);
pub(crate) const FXMAC_PCS_LINK_PARTNER_NEXT_PAGE_STATUS: u32 = (1 << 15);
pub(crate) const FXMAC_PCS_LINK_PARTNER_NEXT_PAGE_OFFSET: u64 = 15;
pub(crate) const FXMAC_GEM_USX_STATUS_BLOCK_LOCK: u32 = BIT(0);
pub(crate) const BITS_PER_LONG: u32 = 64;
pub const fn BIT(n: u32) -> u32 {
1 << n
}
pub const fn GENMASK(h: u32, l: u32) -> u32 {
((!0_u64 - (1 << l) + 1) & (!0_u64 >> (BITS_PER_LONG - 1 - h))) as u32
}
pub(crate) const FXMAC_PROMISC_OPTION: u32 = 0x00000001;
pub(crate) const FXMAC_FRAME1536_OPTION: u32 = 0x00000002;
pub(crate) const FXMAC_VLAN_OPTION: u32 = 0x00000004;
pub(crate) const FXMAC_FLOW_CONTROL_OPTION: u32 = 0x00000010;
pub(crate) const FXMAC_FCS_STRIP_OPTION: u32 = 0x00000020;
pub(crate) const FXMAC_FCS_INSERT_OPTION: u32 = 0x00000040;
pub(crate) const FXMAC_LENTYPE_ERR_OPTION: u32 = 0x00000080;
pub(crate) const FXMAC_TRANSMITTER_ENABLE_OPTION: u32 = 0x00000100;
pub(crate) const FXMAC_RECEIVER_ENABLE_OPTION: u32 = 0x00000200;
pub(crate) const FXMAC_BROADCAST_OPTION: u32 = 0x00000400;
pub(crate) const FXMAC_MULTICAST_OPTION: u32 = 0x00000800;
pub(crate) const FXMAC_RX_CHKSUM_ENABLE_OPTION: u32 = 0x00001000;
pub(crate) const FXMAC_TX_CHKSUM_ENABLE_OPTION: u32 = 0x00002000;
pub(crate) const FXMAC_JUMBO_ENABLE_OPTION: u32 = 0x00004000;
pub(crate) const FXMAC_SGMII_ENABLE_OPTION: u32 = 0x00008000;
pub(crate) const FXMAC_LOOPBACK_NO_MII_OPTION: u32 = 0x00010000;
pub(crate) const FXMAC_LOOPBACK_USXGMII_OPTION: u32 = 0x00020000;
pub(crate) const FXMAC_UNICAST_OPTION: u32 = 0x00040000;
pub(crate) const FXMAC_TAIL_PTR_OPTION: u32 = 0x00080000;
pub(crate) const FXMAC_DEFAULT_OPTIONS: u32 = (FXMAC_FLOW_CONTROL_OPTION
| FXMAC_FCS_INSERT_OPTION
| FXMAC_FCS_STRIP_OPTION
| FXMAC_BROADCAST_OPTION
| FXMAC_LENTYPE_ERR_OPTION
| FXMAC_TRANSMITTER_ENABLE_OPTION
| FXMAC_RECEIVER_ENABLE_OPTION
| FXMAC_RX_CHKSUM_ENABLE_OPTION
| FXMAC_TX_CHKSUM_ENABLE_OPTION);
pub(crate) const FXMAC_MAC_ADDR_SIZE: u32 = 6;
pub(crate) const FXMAC_MTU: u32 = 1500;
pub(crate) const FXMAC_MTU_JUMBO: u32 = 10240;
pub(crate) const FXMAC_HDR_SIZE: u32 = 14;
pub(crate) const FXMAC_HDR_VLAN_SIZE: u32 = 18;
pub(crate) const FXMAC_TRL_SIZE: u32 = 4;
pub(crate) const FXMAC_MAX_FRAME_SIZE: u32 = (FXMAC_MTU + FXMAC_HDR_SIZE + FXMAC_TRL_SIZE);
pub(crate) const FXMAC_MAX_FRAME_SIZE_JUMBO: u32 =
(FXMAC_MTU_JUMBO + FXMAC_HDR_SIZE + FXMAC_TRL_SIZE);
pub(crate) const FXMAC_MAX_VLAN_FRAME_SIZE: u32 =
(FXMAC_MTU + FXMAC_HDR_SIZE + FXMAC_HDR_VLAN_SIZE + FXMAC_TRL_SIZE);
pub(crate) const FXMAC_MAX_VLAN_FRAME_SIZE_JUMBO: u32 =
(FXMAC_MTU_JUMBO + FXMAC_HDR_SIZE + FXMAC_HDR_VLAN_SIZE + FXMAC_TRL_SIZE);
pub(crate) const FXMAC_HANDLER_DMASEND: u32 = 1;
pub(crate) const FXMAC_HANDLER_DMARECV: u32 = 2;
pub(crate) const FXMAC_HANDLER_ERROR: u32 = 3;
pub(crate) const FXMAC_HANDLER_LINKCHANGE: u32 = 4;
pub(crate) const FXMAC_HANDLER_RESTART: u32 = 5;
pub(crate) const FXMAC_DMA_SG_IS_STARTED: u32 = 0;
pub(crate) const FXMAC_DMA_SG_IS_STOPED: u32 = 1;
pub(crate) const FXMAC_SPEED_10: u32 = 10;
pub(crate) const FXMAC_SPEED_100: u32 = 100;
pub(crate) const FXMAC_SPEED_1000: u32 = 1000;
pub(crate) const FXMAC_SPEED_2500: u32 = 2500;
pub(crate) const FXMAC_SPEED_5000: u32 = 5000;
pub(crate) const FXMAC_SPEED_10000: u32 = 10000;
pub(crate) const FXMAC_SPEED_25000: u32 = 25000;
pub(crate) const FXMAC_CAPS_ISR_CLEAR_ON_WRITE: u32 = 0x00000001;
pub(crate) const FXMAC_CAPS_TAILPTR: u32 = 0x00000002;