18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 28c2ecf20Sopenharmony_ci/**************************************************************************** 38c2ecf20Sopenharmony_ci * Driver for Solarflare network controllers and boards 48c2ecf20Sopenharmony_ci * Copyright 2012-2017 Solarflare Communications Inc. 58c2ecf20Sopenharmony_ci */ 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#ifndef EFX_EF10_REGS_H 88c2ecf20Sopenharmony_ci#define EFX_EF10_REGS_H 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci/* EF10 hardware architecture definitions have a name prefix following 118c2ecf20Sopenharmony_ci * the format: 128c2ecf20Sopenharmony_ci * 138c2ecf20Sopenharmony_ci * E<type>_<min-rev><max-rev>_ 148c2ecf20Sopenharmony_ci * 158c2ecf20Sopenharmony_ci * The following <type> strings are used: 168c2ecf20Sopenharmony_ci * 178c2ecf20Sopenharmony_ci * MMIO register Host memory structure 188c2ecf20Sopenharmony_ci * ------------------------------------------------------------- 198c2ecf20Sopenharmony_ci * Address R 208c2ecf20Sopenharmony_ci * Bitfield RF SF 218c2ecf20Sopenharmony_ci * Enumerator FE SE 228c2ecf20Sopenharmony_ci * 238c2ecf20Sopenharmony_ci * <min-rev> is the first revision to which the definition applies: 248c2ecf20Sopenharmony_ci * 258c2ecf20Sopenharmony_ci * D: Huntington A0 268c2ecf20Sopenharmony_ci * 278c2ecf20Sopenharmony_ci * If the definition has been changed or removed in later revisions 288c2ecf20Sopenharmony_ci * then <max-rev> is the last revision to which the definition applies; 298c2ecf20Sopenharmony_ci * otherwise it is "Z". 308c2ecf20Sopenharmony_ci */ 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci/************************************************************************** 338c2ecf20Sopenharmony_ci * 348c2ecf20Sopenharmony_ci * EF10 registers and descriptors 358c2ecf20Sopenharmony_ci * 368c2ecf20Sopenharmony_ci ************************************************************************** 378c2ecf20Sopenharmony_ci */ 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci/* BIU_HW_REV_ID_REG: */ 408c2ecf20Sopenharmony_ci#define ER_DZ_BIU_HW_REV_ID 0x00000000 418c2ecf20Sopenharmony_ci#define ERF_DZ_HW_REV_ID_LBN 0 428c2ecf20Sopenharmony_ci#define ERF_DZ_HW_REV_ID_WIDTH 32 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci/* BIU_MC_SFT_STATUS_REG: */ 458c2ecf20Sopenharmony_ci#define ER_DZ_BIU_MC_SFT_STATUS 0x00000010 468c2ecf20Sopenharmony_ci#define ER_DZ_BIU_MC_SFT_STATUS_STEP 4 478c2ecf20Sopenharmony_ci#define ER_DZ_BIU_MC_SFT_STATUS_ROWS 8 488c2ecf20Sopenharmony_ci#define ERF_DZ_MC_SFT_STATUS_LBN 0 498c2ecf20Sopenharmony_ci#define ERF_DZ_MC_SFT_STATUS_WIDTH 32 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci/* BIU_INT_ISR_REG: */ 528c2ecf20Sopenharmony_ci#define ER_DZ_BIU_INT_ISR 0x00000090 538c2ecf20Sopenharmony_ci#define ERF_DZ_ISR_REG_LBN 0 548c2ecf20Sopenharmony_ci#define ERF_DZ_ISR_REG_WIDTH 32 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci/* MC_DB_LWRD_REG: */ 578c2ecf20Sopenharmony_ci#define ER_DZ_MC_DB_LWRD 0x00000200 588c2ecf20Sopenharmony_ci#define ERF_DZ_MC_DOORBELL_L_LBN 0 598c2ecf20Sopenharmony_ci#define ERF_DZ_MC_DOORBELL_L_WIDTH 32 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci/* MC_DB_HWRD_REG: */ 628c2ecf20Sopenharmony_ci#define ER_DZ_MC_DB_HWRD 0x00000204 638c2ecf20Sopenharmony_ci#define ERF_DZ_MC_DOORBELL_H_LBN 0 648c2ecf20Sopenharmony_ci#define ERF_DZ_MC_DOORBELL_H_WIDTH 32 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci/* EVQ_RPTR_REG: */ 678c2ecf20Sopenharmony_ci#define ER_DZ_EVQ_RPTR 0x00000400 688c2ecf20Sopenharmony_ci#define ER_DZ_EVQ_RPTR_STEP 8192 698c2ecf20Sopenharmony_ci#define ER_DZ_EVQ_RPTR_ROWS 2048 708c2ecf20Sopenharmony_ci#define ERF_DZ_EVQ_RPTR_VLD_LBN 15 718c2ecf20Sopenharmony_ci#define ERF_DZ_EVQ_RPTR_VLD_WIDTH 1 728c2ecf20Sopenharmony_ci#define ERF_DZ_EVQ_RPTR_LBN 0 738c2ecf20Sopenharmony_ci#define ERF_DZ_EVQ_RPTR_WIDTH 15 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci/* EVQ_TMR_REG: */ 768c2ecf20Sopenharmony_ci#define ER_DZ_EVQ_TMR 0x00000420 778c2ecf20Sopenharmony_ci#define ER_DZ_EVQ_TMR_STEP 8192 788c2ecf20Sopenharmony_ci#define ER_DZ_EVQ_TMR_ROWS 2048 798c2ecf20Sopenharmony_ci#define ERF_FZ_TC_TMR_REL_VAL_LBN 16 808c2ecf20Sopenharmony_ci#define ERF_FZ_TC_TMR_REL_VAL_WIDTH 14 818c2ecf20Sopenharmony_ci#define ERF_DZ_TC_TIMER_MODE_LBN 14 828c2ecf20Sopenharmony_ci#define ERF_DZ_TC_TIMER_MODE_WIDTH 2 838c2ecf20Sopenharmony_ci#define ERF_DZ_TC_TIMER_VAL_LBN 0 848c2ecf20Sopenharmony_ci#define ERF_DZ_TC_TIMER_VAL_WIDTH 14 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci/* RX_DESC_UPD_REG: */ 878c2ecf20Sopenharmony_ci#define ER_DZ_RX_DESC_UPD 0x00000830 888c2ecf20Sopenharmony_ci#define ER_DZ_RX_DESC_UPD_STEP 8192 898c2ecf20Sopenharmony_ci#define ER_DZ_RX_DESC_UPD_ROWS 2048 908c2ecf20Sopenharmony_ci#define ERF_DZ_RX_DESC_WPTR_LBN 0 918c2ecf20Sopenharmony_ci#define ERF_DZ_RX_DESC_WPTR_WIDTH 12 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_ci/* TX_DESC_UPD_REG: */ 948c2ecf20Sopenharmony_ci#define ER_DZ_TX_DESC_UPD 0x00000a10 958c2ecf20Sopenharmony_ci#define ER_DZ_TX_DESC_UPD_STEP 8192 968c2ecf20Sopenharmony_ci#define ER_DZ_TX_DESC_UPD_ROWS 2048 978c2ecf20Sopenharmony_ci#define ERF_DZ_RSVD_LBN 76 988c2ecf20Sopenharmony_ci#define ERF_DZ_RSVD_WIDTH 20 998c2ecf20Sopenharmony_ci#define ERF_DZ_TX_DESC_WPTR_LBN 64 1008c2ecf20Sopenharmony_ci#define ERF_DZ_TX_DESC_WPTR_WIDTH 12 1018c2ecf20Sopenharmony_ci#define ERF_DZ_TX_DESC_HWORD_LBN 32 1028c2ecf20Sopenharmony_ci#define ERF_DZ_TX_DESC_HWORD_WIDTH 32 1038c2ecf20Sopenharmony_ci#define ERF_DZ_TX_DESC_LWORD_LBN 0 1048c2ecf20Sopenharmony_ci#define ERF_DZ_TX_DESC_LWORD_WIDTH 32 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ci/* DRIVER_EV */ 1078c2ecf20Sopenharmony_ci#define ESF_DZ_DRV_CODE_LBN 60 1088c2ecf20Sopenharmony_ci#define ESF_DZ_DRV_CODE_WIDTH 4 1098c2ecf20Sopenharmony_ci#define ESF_DZ_DRV_SUB_CODE_LBN 56 1108c2ecf20Sopenharmony_ci#define ESF_DZ_DRV_SUB_CODE_WIDTH 4 1118c2ecf20Sopenharmony_ci#define ESE_DZ_DRV_TIMER_EV 3 1128c2ecf20Sopenharmony_ci#define ESE_DZ_DRV_START_UP_EV 2 1138c2ecf20Sopenharmony_ci#define ESE_DZ_DRV_WAKE_UP_EV 1 1148c2ecf20Sopenharmony_ci#define ESF_DZ_DRV_SUB_DATA_LBN 0 1158c2ecf20Sopenharmony_ci#define ESF_DZ_DRV_SUB_DATA_WIDTH 56 1168c2ecf20Sopenharmony_ci#define ESF_DZ_DRV_EVQ_ID_LBN 0 1178c2ecf20Sopenharmony_ci#define ESF_DZ_DRV_EVQ_ID_WIDTH 14 1188c2ecf20Sopenharmony_ci#define ESF_DZ_DRV_TMR_ID_LBN 0 1198c2ecf20Sopenharmony_ci#define ESF_DZ_DRV_TMR_ID_WIDTH 14 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ci/* EVENT_ENTRY */ 1228c2ecf20Sopenharmony_ci#define ESF_DZ_EV_CODE_LBN 60 1238c2ecf20Sopenharmony_ci#define ESF_DZ_EV_CODE_WIDTH 4 1248c2ecf20Sopenharmony_ci#define ESE_DZ_EV_CODE_MCDI_EV 12 1258c2ecf20Sopenharmony_ci#define ESE_DZ_EV_CODE_DRIVER_EV 5 1268c2ecf20Sopenharmony_ci#define ESE_DZ_EV_CODE_TX_EV 2 1278c2ecf20Sopenharmony_ci#define ESE_DZ_EV_CODE_RX_EV 0 1288c2ecf20Sopenharmony_ci#define ESE_DZ_OTHER other 1298c2ecf20Sopenharmony_ci#define ESF_DZ_EV_DATA_LBN 0 1308c2ecf20Sopenharmony_ci#define ESF_DZ_EV_DATA_WIDTH 60 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ci/* MC_EVENT */ 1338c2ecf20Sopenharmony_ci#define ESF_DZ_MC_CODE_LBN 60 1348c2ecf20Sopenharmony_ci#define ESF_DZ_MC_CODE_WIDTH 4 1358c2ecf20Sopenharmony_ci#define ESF_DZ_MC_OVERRIDE_HOLDOFF_LBN 59 1368c2ecf20Sopenharmony_ci#define ESF_DZ_MC_OVERRIDE_HOLDOFF_WIDTH 1 1378c2ecf20Sopenharmony_ci#define ESF_DZ_MC_DROP_EVENT_LBN 58 1388c2ecf20Sopenharmony_ci#define ESF_DZ_MC_DROP_EVENT_WIDTH 1 1398c2ecf20Sopenharmony_ci#define ESF_DZ_MC_SOFT_LBN 0 1408c2ecf20Sopenharmony_ci#define ESF_DZ_MC_SOFT_WIDTH 58 1418c2ecf20Sopenharmony_ci 1428c2ecf20Sopenharmony_ci/* RX_EVENT */ 1438c2ecf20Sopenharmony_ci#define ESF_DZ_RX_CODE_LBN 60 1448c2ecf20Sopenharmony_ci#define ESF_DZ_RX_CODE_WIDTH 4 1458c2ecf20Sopenharmony_ci#define ESF_DZ_RX_OVERRIDE_HOLDOFF_LBN 59 1468c2ecf20Sopenharmony_ci#define ESF_DZ_RX_OVERRIDE_HOLDOFF_WIDTH 1 1478c2ecf20Sopenharmony_ci#define ESF_DZ_RX_DROP_EVENT_LBN 58 1488c2ecf20Sopenharmony_ci#define ESF_DZ_RX_DROP_EVENT_WIDTH 1 1498c2ecf20Sopenharmony_ci#define ESF_DD_RX_EV_RSVD2_LBN 54 1508c2ecf20Sopenharmony_ci#define ESF_DD_RX_EV_RSVD2_WIDTH 4 1518c2ecf20Sopenharmony_ci#define ESF_EZ_RX_TCP_UDP_INNER_CHKSUM_ERR_LBN 57 1528c2ecf20Sopenharmony_ci#define ESF_EZ_RX_TCP_UDP_INNER_CHKSUM_ERR_WIDTH 1 1538c2ecf20Sopenharmony_ci#define ESF_EZ_RX_IP_INNER_CHKSUM_ERR_LBN 56 1548c2ecf20Sopenharmony_ci#define ESF_EZ_RX_IP_INNER_CHKSUM_ERR_WIDTH 1 1558c2ecf20Sopenharmony_ci#define ESF_EZ_RX_EV_RSVD2_LBN 54 1568c2ecf20Sopenharmony_ci#define ESF_EZ_RX_EV_RSVD2_WIDTH 2 1578c2ecf20Sopenharmony_ci#define ESF_DZ_RX_EV_SOFT2_LBN 52 1588c2ecf20Sopenharmony_ci#define ESF_DZ_RX_EV_SOFT2_WIDTH 2 1598c2ecf20Sopenharmony_ci#define ESF_DZ_RX_DSC_PTR_LBITS_LBN 48 1608c2ecf20Sopenharmony_ci#define ESF_DZ_RX_DSC_PTR_LBITS_WIDTH 4 1618c2ecf20Sopenharmony_ci#define ESF_DE_RX_L4_CLASS_LBN 45 1628c2ecf20Sopenharmony_ci#define ESF_DE_RX_L4_CLASS_WIDTH 3 1638c2ecf20Sopenharmony_ci#define ESE_DE_L4_CLASS_RSVD7 7 1648c2ecf20Sopenharmony_ci#define ESE_DE_L4_CLASS_RSVD6 6 1658c2ecf20Sopenharmony_ci#define ESE_DE_L4_CLASS_RSVD5 5 1668c2ecf20Sopenharmony_ci#define ESE_DE_L4_CLASS_RSVD4 4 1678c2ecf20Sopenharmony_ci#define ESE_DE_L4_CLASS_RSVD3 3 1688c2ecf20Sopenharmony_ci#define ESE_DE_L4_CLASS_UDP 2 1698c2ecf20Sopenharmony_ci#define ESE_DE_L4_CLASS_TCP 1 1708c2ecf20Sopenharmony_ci#define ESE_DE_L4_CLASS_UNKNOWN 0 1718c2ecf20Sopenharmony_ci#define ESF_FZ_RX_FASTPD_INDCTR_LBN 47 1728c2ecf20Sopenharmony_ci#define ESF_FZ_RX_FASTPD_INDCTR_WIDTH 1 1738c2ecf20Sopenharmony_ci#define ESF_FZ_RX_L4_CLASS_LBN 45 1748c2ecf20Sopenharmony_ci#define ESF_FZ_RX_L4_CLASS_WIDTH 2 1758c2ecf20Sopenharmony_ci#define ESE_FZ_L4_CLASS_RSVD3 3 1768c2ecf20Sopenharmony_ci#define ESE_FZ_L4_CLASS_UDP 2 1778c2ecf20Sopenharmony_ci#define ESE_FZ_L4_CLASS_TCP 1 1788c2ecf20Sopenharmony_ci#define ESE_FZ_L4_CLASS_UNKNOWN 0 1798c2ecf20Sopenharmony_ci#define ESF_DZ_RX_L3_CLASS_LBN 42 1808c2ecf20Sopenharmony_ci#define ESF_DZ_RX_L3_CLASS_WIDTH 3 1818c2ecf20Sopenharmony_ci#define ESE_DZ_L3_CLASS_RSVD7 7 1828c2ecf20Sopenharmony_ci#define ESE_DZ_L3_CLASS_IP6_FRAG 6 1838c2ecf20Sopenharmony_ci#define ESE_DZ_L3_CLASS_ARP 5 1848c2ecf20Sopenharmony_ci#define ESE_DZ_L3_CLASS_IP4_FRAG 4 1858c2ecf20Sopenharmony_ci#define ESE_DZ_L3_CLASS_FCOE 3 1868c2ecf20Sopenharmony_ci#define ESE_DZ_L3_CLASS_IP6 2 1878c2ecf20Sopenharmony_ci#define ESE_DZ_L3_CLASS_IP4 1 1888c2ecf20Sopenharmony_ci#define ESE_DZ_L3_CLASS_UNKNOWN 0 1898c2ecf20Sopenharmony_ci#define ESF_DZ_RX_ETH_TAG_CLASS_LBN 39 1908c2ecf20Sopenharmony_ci#define ESF_DZ_RX_ETH_TAG_CLASS_WIDTH 3 1918c2ecf20Sopenharmony_ci#define ESE_DZ_ETH_TAG_CLASS_RSVD7 7 1928c2ecf20Sopenharmony_ci#define ESE_DZ_ETH_TAG_CLASS_RSVD6 6 1938c2ecf20Sopenharmony_ci#define ESE_DZ_ETH_TAG_CLASS_RSVD5 5 1948c2ecf20Sopenharmony_ci#define ESE_DZ_ETH_TAG_CLASS_RSVD4 4 1958c2ecf20Sopenharmony_ci#define ESE_DZ_ETH_TAG_CLASS_RSVD3 3 1968c2ecf20Sopenharmony_ci#define ESE_DZ_ETH_TAG_CLASS_VLAN2 2 1978c2ecf20Sopenharmony_ci#define ESE_DZ_ETH_TAG_CLASS_VLAN1 1 1988c2ecf20Sopenharmony_ci#define ESE_DZ_ETH_TAG_CLASS_NONE 0 1998c2ecf20Sopenharmony_ci#define ESF_DZ_RX_ETH_BASE_CLASS_LBN 36 2008c2ecf20Sopenharmony_ci#define ESF_DZ_RX_ETH_BASE_CLASS_WIDTH 3 2018c2ecf20Sopenharmony_ci#define ESE_DZ_ETH_BASE_CLASS_LLC_SNAP 2 2028c2ecf20Sopenharmony_ci#define ESE_DZ_ETH_BASE_CLASS_LLC 1 2038c2ecf20Sopenharmony_ci#define ESE_DZ_ETH_BASE_CLASS_ETH2 0 2048c2ecf20Sopenharmony_ci#define ESF_DZ_RX_MAC_CLASS_LBN 35 2058c2ecf20Sopenharmony_ci#define ESF_DZ_RX_MAC_CLASS_WIDTH 1 2068c2ecf20Sopenharmony_ci#define ESE_DZ_MAC_CLASS_MCAST 1 2078c2ecf20Sopenharmony_ci#define ESE_DZ_MAC_CLASS_UCAST 0 2088c2ecf20Sopenharmony_ci#define ESF_DD_RX_EV_SOFT1_LBN 32 2098c2ecf20Sopenharmony_ci#define ESF_DD_RX_EV_SOFT1_WIDTH 3 2108c2ecf20Sopenharmony_ci#define ESF_EZ_RX_EV_SOFT1_LBN 34 2118c2ecf20Sopenharmony_ci#define ESF_EZ_RX_EV_SOFT1_WIDTH 1 2128c2ecf20Sopenharmony_ci#define ESF_EZ_RX_ENCAP_HDR_LBN 32 2138c2ecf20Sopenharmony_ci#define ESF_EZ_RX_ENCAP_HDR_WIDTH 2 2148c2ecf20Sopenharmony_ci#define ESE_EZ_ENCAP_HDR_GRE 2 2158c2ecf20Sopenharmony_ci#define ESE_EZ_ENCAP_HDR_VXLAN 1 2168c2ecf20Sopenharmony_ci#define ESE_EZ_ENCAP_HDR_NONE 0 2178c2ecf20Sopenharmony_ci#define ESF_DD_RX_EV_RSVD1_LBN 30 2188c2ecf20Sopenharmony_ci#define ESF_DD_RX_EV_RSVD1_WIDTH 2 2198c2ecf20Sopenharmony_ci#define ESF_EZ_RX_EV_RSVD1_LBN 31 2208c2ecf20Sopenharmony_ci#define ESF_EZ_RX_EV_RSVD1_WIDTH 1 2218c2ecf20Sopenharmony_ci#define ESF_EZ_RX_ABORT_LBN 30 2228c2ecf20Sopenharmony_ci#define ESF_EZ_RX_ABORT_WIDTH 1 2238c2ecf20Sopenharmony_ci#define ESF_DZ_RX_ECC_ERR_LBN 29 2248c2ecf20Sopenharmony_ci#define ESF_DZ_RX_ECC_ERR_WIDTH 1 2258c2ecf20Sopenharmony_ci#define ESF_DZ_RX_TRUNC_ERR_LBN 29 2268c2ecf20Sopenharmony_ci#define ESF_DZ_RX_TRUNC_ERR_WIDTH 1 2278c2ecf20Sopenharmony_ci#define ESF_DZ_RX_CRC1_ERR_LBN 28 2288c2ecf20Sopenharmony_ci#define ESF_DZ_RX_CRC1_ERR_WIDTH 1 2298c2ecf20Sopenharmony_ci#define ESF_DZ_RX_CRC0_ERR_LBN 27 2308c2ecf20Sopenharmony_ci#define ESF_DZ_RX_CRC0_ERR_WIDTH 1 2318c2ecf20Sopenharmony_ci#define ESF_DZ_RX_TCPUDP_CKSUM_ERR_LBN 26 2328c2ecf20Sopenharmony_ci#define ESF_DZ_RX_TCPUDP_CKSUM_ERR_WIDTH 1 2338c2ecf20Sopenharmony_ci#define ESF_DZ_RX_IPCKSUM_ERR_LBN 25 2348c2ecf20Sopenharmony_ci#define ESF_DZ_RX_IPCKSUM_ERR_WIDTH 1 2358c2ecf20Sopenharmony_ci#define ESF_DZ_RX_ECRC_ERR_LBN 24 2368c2ecf20Sopenharmony_ci#define ESF_DZ_RX_ECRC_ERR_WIDTH 1 2378c2ecf20Sopenharmony_ci#define ESF_DZ_RX_QLABEL_LBN 16 2388c2ecf20Sopenharmony_ci#define ESF_DZ_RX_QLABEL_WIDTH 5 2398c2ecf20Sopenharmony_ci#define ESF_DZ_RX_PARSE_INCOMPLETE_LBN 15 2408c2ecf20Sopenharmony_ci#define ESF_DZ_RX_PARSE_INCOMPLETE_WIDTH 1 2418c2ecf20Sopenharmony_ci#define ESF_DZ_RX_CONT_LBN 14 2428c2ecf20Sopenharmony_ci#define ESF_DZ_RX_CONT_WIDTH 1 2438c2ecf20Sopenharmony_ci#define ESF_DZ_RX_BYTES_LBN 0 2448c2ecf20Sopenharmony_ci#define ESF_DZ_RX_BYTES_WIDTH 14 2458c2ecf20Sopenharmony_ci 2468c2ecf20Sopenharmony_ci/* RX_KER_DESC */ 2478c2ecf20Sopenharmony_ci#define ESF_DZ_RX_KER_RESERVED_LBN 62 2488c2ecf20Sopenharmony_ci#define ESF_DZ_RX_KER_RESERVED_WIDTH 2 2498c2ecf20Sopenharmony_ci#define ESF_DZ_RX_KER_BYTE_CNT_LBN 48 2508c2ecf20Sopenharmony_ci#define ESF_DZ_RX_KER_BYTE_CNT_WIDTH 14 2518c2ecf20Sopenharmony_ci#define ESF_DZ_RX_KER_BUF_ADDR_LBN 0 2528c2ecf20Sopenharmony_ci#define ESF_DZ_RX_KER_BUF_ADDR_WIDTH 48 2538c2ecf20Sopenharmony_ci 2548c2ecf20Sopenharmony_ci/* TX_CSUM_TSTAMP_DESC */ 2558c2ecf20Sopenharmony_ci#define ESF_DZ_TX_DESC_IS_OPT_LBN 63 2568c2ecf20Sopenharmony_ci#define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1 2578c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OPTION_TYPE_LBN 60 2588c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OPTION_TYPE_WIDTH 3 2598c2ecf20Sopenharmony_ci#define ESE_DZ_TX_OPTION_DESC_TSO 7 2608c2ecf20Sopenharmony_ci#define ESE_DZ_TX_OPTION_DESC_VLAN 6 2618c2ecf20Sopenharmony_ci#define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0 2628c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OPTION_TS_AT_TXDP_LBN 8 2638c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OPTION_TS_AT_TXDP_WIDTH 1 2648c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OPTION_INNER_UDP_TCP_CSUM_LBN 7 2658c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OPTION_INNER_UDP_TCP_CSUM_WIDTH 1 2668c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OPTION_INNER_IP_CSUM_LBN 6 2678c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OPTION_INNER_IP_CSUM_WIDTH 1 2688c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TIMESTAMP_LBN 5 2698c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TIMESTAMP_WIDTH 1 2708c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OPTION_CRC_MODE_LBN 2 2718c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OPTION_CRC_MODE_WIDTH 3 2728c2ecf20Sopenharmony_ci#define ESE_DZ_TX_OPTION_CRC_FCOIP_MPA 5 2738c2ecf20Sopenharmony_ci#define ESE_DZ_TX_OPTION_CRC_FCOIP_FCOE 4 2748c2ecf20Sopenharmony_ci#define ESE_DZ_TX_OPTION_CRC_ISCSI_HDR_AND_PYLD 3 2758c2ecf20Sopenharmony_ci#define ESE_DZ_TX_OPTION_CRC_ISCSI_HDR 2 2768c2ecf20Sopenharmony_ci#define ESE_DZ_TX_OPTION_CRC_FCOE 1 2778c2ecf20Sopenharmony_ci#define ESE_DZ_TX_OPTION_CRC_OFF 0 2788c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OPTION_UDP_TCP_CSUM_LBN 1 2798c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OPTION_UDP_TCP_CSUM_WIDTH 1 2808c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OPTION_IP_CSUM_LBN 0 2818c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OPTION_IP_CSUM_WIDTH 1 2828c2ecf20Sopenharmony_ci 2838c2ecf20Sopenharmony_ci/* TX_EVENT */ 2848c2ecf20Sopenharmony_ci#define ESF_DZ_TX_CODE_LBN 60 2858c2ecf20Sopenharmony_ci#define ESF_DZ_TX_CODE_WIDTH 4 2868c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OVERRIDE_HOLDOFF_LBN 59 2878c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OVERRIDE_HOLDOFF_WIDTH 1 2888c2ecf20Sopenharmony_ci#define ESF_DZ_TX_DROP_EVENT_LBN 58 2898c2ecf20Sopenharmony_ci#define ESF_DZ_TX_DROP_EVENT_WIDTH 1 2908c2ecf20Sopenharmony_ci#define ESF_DD_TX_EV_RSVD_LBN 48 2918c2ecf20Sopenharmony_ci#define ESF_DD_TX_EV_RSVD_WIDTH 10 2928c2ecf20Sopenharmony_ci#define ESF_EZ_TCP_UDP_INNER_CHKSUM_ERR_LBN 57 2938c2ecf20Sopenharmony_ci#define ESF_EZ_TCP_UDP_INNER_CHKSUM_ERR_WIDTH 1 2948c2ecf20Sopenharmony_ci#define ESF_EZ_IP_INNER_CHKSUM_ERR_LBN 56 2958c2ecf20Sopenharmony_ci#define ESF_EZ_IP_INNER_CHKSUM_ERR_WIDTH 1 2968c2ecf20Sopenharmony_ci#define ESF_EZ_TX_EV_RSVD_LBN 48 2978c2ecf20Sopenharmony_ci#define ESF_EZ_TX_EV_RSVD_WIDTH 8 2988c2ecf20Sopenharmony_ci#define ESF_DZ_TX_SOFT2_LBN 32 2998c2ecf20Sopenharmony_ci#define ESF_DZ_TX_SOFT2_WIDTH 16 3008c2ecf20Sopenharmony_ci#define ESF_DD_TX_SOFT1_LBN 24 3018c2ecf20Sopenharmony_ci#define ESF_DD_TX_SOFT1_WIDTH 8 3028c2ecf20Sopenharmony_ci#define ESF_EZ_TX_CAN_MERGE_LBN 31 3038c2ecf20Sopenharmony_ci#define ESF_EZ_TX_CAN_MERGE_WIDTH 1 3048c2ecf20Sopenharmony_ci#define ESF_EZ_TX_SOFT1_LBN 24 3058c2ecf20Sopenharmony_ci#define ESF_EZ_TX_SOFT1_WIDTH 7 3068c2ecf20Sopenharmony_ci#define ESF_DZ_TX_QLABEL_LBN 16 3078c2ecf20Sopenharmony_ci#define ESF_DZ_TX_QLABEL_WIDTH 5 3088c2ecf20Sopenharmony_ci#define ESF_DZ_TX_DESCR_INDX_LBN 0 3098c2ecf20Sopenharmony_ci#define ESF_DZ_TX_DESCR_INDX_WIDTH 16 3108c2ecf20Sopenharmony_ci 3118c2ecf20Sopenharmony_ci/* TX_KER_DESC */ 3128c2ecf20Sopenharmony_ci#define ESF_DZ_TX_KER_TYPE_LBN 63 3138c2ecf20Sopenharmony_ci#define ESF_DZ_TX_KER_TYPE_WIDTH 1 3148c2ecf20Sopenharmony_ci#define ESF_DZ_TX_KER_CONT_LBN 62 3158c2ecf20Sopenharmony_ci#define ESF_DZ_TX_KER_CONT_WIDTH 1 3168c2ecf20Sopenharmony_ci#define ESF_DZ_TX_KER_BYTE_CNT_LBN 48 3178c2ecf20Sopenharmony_ci#define ESF_DZ_TX_KER_BYTE_CNT_WIDTH 14 3188c2ecf20Sopenharmony_ci#define ESF_DZ_TX_KER_BUF_ADDR_LBN 0 3198c2ecf20Sopenharmony_ci#define ESF_DZ_TX_KER_BUF_ADDR_WIDTH 48 3208c2ecf20Sopenharmony_ci 3218c2ecf20Sopenharmony_ci/* TX_PIO_DESC */ 3228c2ecf20Sopenharmony_ci#define ESF_DZ_TX_PIO_TYPE_LBN 63 3238c2ecf20Sopenharmony_ci#define ESF_DZ_TX_PIO_TYPE_WIDTH 1 3248c2ecf20Sopenharmony_ci#define ESF_DZ_TX_PIO_OPT_LBN 60 3258c2ecf20Sopenharmony_ci#define ESF_DZ_TX_PIO_OPT_WIDTH 3 3268c2ecf20Sopenharmony_ci#define ESE_DZ_TX_OPTION_DESC_PIO 1 3278c2ecf20Sopenharmony_ci#define ESF_DZ_TX_PIO_CONT_LBN 59 3288c2ecf20Sopenharmony_ci#define ESF_DZ_TX_PIO_CONT_WIDTH 1 3298c2ecf20Sopenharmony_ci#define ESF_DZ_TX_PIO_BYTE_CNT_LBN 32 3308c2ecf20Sopenharmony_ci#define ESF_DZ_TX_PIO_BYTE_CNT_WIDTH 12 3318c2ecf20Sopenharmony_ci#define ESF_DZ_TX_PIO_BUF_ADDR_LBN 0 3328c2ecf20Sopenharmony_ci#define ESF_DZ_TX_PIO_BUF_ADDR_WIDTH 12 3338c2ecf20Sopenharmony_ci 3348c2ecf20Sopenharmony_ci/* TX_TSO_DESC */ 3358c2ecf20Sopenharmony_ci#define ESF_DZ_TX_DESC_IS_OPT_LBN 63 3368c2ecf20Sopenharmony_ci#define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1 3378c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OPTION_TYPE_LBN 60 3388c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OPTION_TYPE_WIDTH 3 3398c2ecf20Sopenharmony_ci#define ESE_DZ_TX_OPTION_DESC_TSO 7 3408c2ecf20Sopenharmony_ci#define ESE_DZ_TX_OPTION_DESC_VLAN 6 3418c2ecf20Sopenharmony_ci#define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0 3428c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56 3438c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4 3448c2ecf20Sopenharmony_ci#define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2B 3 3458c2ecf20Sopenharmony_ci#define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2A 2 3468c2ecf20Sopenharmony_ci#define ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1 3478c2ecf20Sopenharmony_ci#define ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0 3488c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TSO_TCP_FLAGS_LBN 48 3498c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TSO_TCP_FLAGS_WIDTH 8 3508c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TSO_IP_ID_LBN 32 3518c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TSO_IP_ID_WIDTH 16 3528c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TSO_TCP_SEQNO_LBN 0 3538c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TSO_TCP_SEQNO_WIDTH 32 3548c2ecf20Sopenharmony_ci 3558c2ecf20Sopenharmony_ci/* TX_TSO_V2_DESC_A */ 3568c2ecf20Sopenharmony_ci#define ESF_DZ_TX_DESC_IS_OPT_LBN 63 3578c2ecf20Sopenharmony_ci#define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1 3588c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OPTION_TYPE_LBN 60 3598c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OPTION_TYPE_WIDTH 3 3608c2ecf20Sopenharmony_ci#define ESE_DZ_TX_OPTION_DESC_TSO 7 3618c2ecf20Sopenharmony_ci#define ESE_DZ_TX_OPTION_DESC_VLAN 6 3628c2ecf20Sopenharmony_ci#define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0 3638c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56 3648c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4 3658c2ecf20Sopenharmony_ci#define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2B 3 3668c2ecf20Sopenharmony_ci#define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2A 2 3678c2ecf20Sopenharmony_ci#define ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1 3688c2ecf20Sopenharmony_ci#define ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0 3698c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TSO_IP_ID_LBN 32 3708c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TSO_IP_ID_WIDTH 16 3718c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TSO_TCP_SEQNO_LBN 0 3728c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TSO_TCP_SEQNO_WIDTH 32 3738c2ecf20Sopenharmony_ci 3748c2ecf20Sopenharmony_ci/* TX_TSO_V2_DESC_B */ 3758c2ecf20Sopenharmony_ci#define ESF_DZ_TX_DESC_IS_OPT_LBN 63 3768c2ecf20Sopenharmony_ci#define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1 3778c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OPTION_TYPE_LBN 60 3788c2ecf20Sopenharmony_ci#define ESF_DZ_TX_OPTION_TYPE_WIDTH 3 3798c2ecf20Sopenharmony_ci#define ESE_DZ_TX_OPTION_DESC_TSO 7 3808c2ecf20Sopenharmony_ci#define ESE_DZ_TX_OPTION_DESC_VLAN 6 3818c2ecf20Sopenharmony_ci#define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0 3828c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56 3838c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4 3848c2ecf20Sopenharmony_ci#define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2B 3 3858c2ecf20Sopenharmony_ci#define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2A 2 3868c2ecf20Sopenharmony_ci#define ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1 3878c2ecf20Sopenharmony_ci#define ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0 3888c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TSO_TCP_MSS_LBN 32 3898c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TSO_TCP_MSS_WIDTH 16 3908c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TSO_OUTER_IPID_LBN 0 3918c2ecf20Sopenharmony_ci#define ESF_DZ_TX_TSO_OUTER_IPID_WIDTH 16 3928c2ecf20Sopenharmony_ci 3938c2ecf20Sopenharmony_ci/*************************************************************************/ 3948c2ecf20Sopenharmony_ci 3958c2ecf20Sopenharmony_ci/* TX_DESC_UPD_REG: Transmit descriptor update register. 3968c2ecf20Sopenharmony_ci * We may write just one dword of these registers. 3978c2ecf20Sopenharmony_ci */ 3988c2ecf20Sopenharmony_ci#define ER_DZ_TX_DESC_UPD_DWORD (ER_DZ_TX_DESC_UPD + 2 * 4) 3998c2ecf20Sopenharmony_ci#define ERF_DZ_TX_DESC_WPTR_DWORD_LBN (ERF_DZ_TX_DESC_WPTR_LBN - 2 * 32) 4008c2ecf20Sopenharmony_ci#define ERF_DZ_TX_DESC_WPTR_DWORD_WIDTH ERF_DZ_TX_DESC_WPTR_WIDTH 4018c2ecf20Sopenharmony_ci 4028c2ecf20Sopenharmony_ci/* The workaround for bug 35388 requires multiplexing writes through 4038c2ecf20Sopenharmony_ci * the TX_DESC_UPD_DWORD address. 4048c2ecf20Sopenharmony_ci * TX_DESC_UPD: 0ppppppppppp (bit 11 lost) 4058c2ecf20Sopenharmony_ci * EVQ_RPTR: 1000hhhhhhhh, 1001llllllll (split into high and low bits) 4068c2ecf20Sopenharmony_ci * EVQ_TMR: 11mmvvvvvvvv (bits 8:13 of value lost) 4078c2ecf20Sopenharmony_ci */ 4088c2ecf20Sopenharmony_ci#define ER_DD_EVQ_INDIRECT ER_DZ_TX_DESC_UPD_DWORD 4098c2ecf20Sopenharmony_ci#define ERF_DD_EVQ_IND_RPTR_FLAGS_LBN 8 4108c2ecf20Sopenharmony_ci#define ERF_DD_EVQ_IND_RPTR_FLAGS_WIDTH 4 4118c2ecf20Sopenharmony_ci#define EFE_DD_EVQ_IND_RPTR_FLAGS_HIGH 8 4128c2ecf20Sopenharmony_ci#define EFE_DD_EVQ_IND_RPTR_FLAGS_LOW 9 4138c2ecf20Sopenharmony_ci#define ERF_DD_EVQ_IND_RPTR_LBN 0 4148c2ecf20Sopenharmony_ci#define ERF_DD_EVQ_IND_RPTR_WIDTH 8 4158c2ecf20Sopenharmony_ci#define ERF_DD_EVQ_IND_TIMER_FLAGS_LBN 10 4168c2ecf20Sopenharmony_ci#define ERF_DD_EVQ_IND_TIMER_FLAGS_WIDTH 2 4178c2ecf20Sopenharmony_ci#define EFE_DD_EVQ_IND_TIMER_FLAGS 3 4188c2ecf20Sopenharmony_ci#define ERF_DD_EVQ_IND_TIMER_MODE_LBN 8 4198c2ecf20Sopenharmony_ci#define ERF_DD_EVQ_IND_TIMER_MODE_WIDTH 2 4208c2ecf20Sopenharmony_ci#define ERF_DD_EVQ_IND_TIMER_VAL_LBN 0 4218c2ecf20Sopenharmony_ci#define ERF_DD_EVQ_IND_TIMER_VAL_WIDTH 8 4228c2ecf20Sopenharmony_ci 4238c2ecf20Sopenharmony_ci/* TX_PIOBUF 4248c2ecf20Sopenharmony_ci * PIO buffer aperture (paged) 4258c2ecf20Sopenharmony_ci */ 4268c2ecf20Sopenharmony_ci#define ER_DZ_TX_PIOBUF 4096 4278c2ecf20Sopenharmony_ci#define ER_DZ_TX_PIOBUF_SIZE 2048 4288c2ecf20Sopenharmony_ci 4298c2ecf20Sopenharmony_ci/* RX packet prefix */ 4308c2ecf20Sopenharmony_ci#define ES_DZ_RX_PREFIX_HASH_OFST 0 4318c2ecf20Sopenharmony_ci#define ES_DZ_RX_PREFIX_VLAN1_OFST 4 4328c2ecf20Sopenharmony_ci#define ES_DZ_RX_PREFIX_VLAN2_OFST 6 4338c2ecf20Sopenharmony_ci#define ES_DZ_RX_PREFIX_PKTLEN_OFST 8 4348c2ecf20Sopenharmony_ci#define ES_DZ_RX_PREFIX_TSTAMP_OFST 10 4358c2ecf20Sopenharmony_ci#define ES_DZ_RX_PREFIX_SIZE 14 4368c2ecf20Sopenharmony_ci 4378c2ecf20Sopenharmony_ci#endif /* EFX_EF10_REGS_H */ 438