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 as u64) - (1 << l) + 1) &
(!(0 as 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;