/* $OpenBSD: ogxreg.h,v 1.3 2021/01/01 14:11:10 visa Exp $ */ /* * Copyright (c) 2019 Visa Hankala * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #ifndef _OGXREG_H_ #define _OGXREG_H_ #define BGX_CMR_CONFIG 0x00000 #define BGX_CMR_CONFIG_ENABLE 0x0000000000008000ULL #define BGX_CMR_CONFIG_DATA_PKT_RX_EN 0x0000000000004000ULL #define BGX_CMR_CONFIG_DATA_PKT_TX_EN 0x0000000000002000ULL #define BGX_CMR_CONFIG_INT_BEAT_GEN 0x0000000000001000ULL #define BGX_CMR_CONFIG_MIX_EN 0x0000000000000800ULL #define BGX_CMR_CONFIG_LMAC_TYPE_M 0x0000000000000700ULL #define BGX_CMR_CONFIG_LMAC_TYPE_S 8 #define BGX_CMR_CONFIG_LANE_TO_SDS 0x00000000000000ffULL #define BGX_CMR_RX_ID_MAP 0x00028 #define BGX_CMR_RX_ID_MAP_RID_M 0x0000000000007f00ULL #define BGX_CMR_RX_ID_MAP_RID_S 8 #define BGX_CMR_RX_ID_MAP_PKND_M 0x00000000000000ffULL #define BGX_CMR_RX_ID_MAP_PKND_S 0 #define BGX_CMR_RX_STAT0 0x00038 #define BGX_CMR_RX_STAT1 0x00040 #define BGX_CMR_RX_STAT2 0x00048 #define BGX_CMR_RX_STAT3 0x00050 #define BGX_CMR_RX_STAT4 0x00058 #define BGX_CMR_RX_STAT5 0x00060 #define BGX_CMR_RX_STAT6 0x00068 #define BGX_CMR_RX_STAT7 0x00070 #define BGX_CMR_RX_STAT8 0x00078 #define BGX_CMR_STAT_MASK 0x0000ffffffffffffULL #define BGX_CMR_RX_ADR_CTL 0x000a0 #define BGX_CMR_RX_ADR_CTL_CAM_ACCEPT 0x0000000000000008ULL #define BGX_CMR_RX_ADR_CTL_MCST_MODE 0x0000000000000006ULL #define BGX_CMR_RX_ADR_CTL_MCST_MODE_ALL 0x0000000000000002ULL #define BGX_CMR_RX_ADR_CTL_MCST_MODE_CAM 0x0000000000000004ULL #define BGX_CMR_RX_ADR_CTL_BCST_ACCEPT 0x0000000000000001ULL #define BGX_CMR_RX_FIFO_LEN 0x000c0 #define BGX_CMR_RX_ADR_CAM(i) (0x00100 + (i) * 8) #define BGX_CMR_RX_ADR_CAM_ID 0x0030000000000000ULL #define BGX_CMR_RX_ADR_CAM_ID_S 52 #define BGX_CMR_RX_ADR_CAM_EN 0x0001000000000000ULL #define BGX_CMR_RX_ADR_CAM_ADR 0x0000ffffffffffffULL #define BGX_CMR_CHAN_MSK_AND 0x00200 #define BGX_CMR_CHAN_MSK_OR 0x00208 #define BGX_CMR_RX_LMACS 0x00308 #define BGX_CMR_TX_FIFO_LEN 0x00418 #define BGX_CMR_TX_STAT0 0x00508 #define BGX_CMR_TX_STAT1 0x00510 #define BGX_CMR_TX_STAT2 0x00518 #define BGX_CMR_TX_STAT3 0x00520 #define BGX_CMR_TX_STAT4 0x00528 #define BGX_CMR_TX_STAT5 0x00530 #define BGX_CMR_TX_STAT6 0x00538 #define BGX_CMR_TX_STAT7 0x00540 #define BGX_CMR_TX_STAT8 0x00548 #define BGX_CMR_TX_STAT9 0x00550 #define BGX_CMR_TX_STAT10 0x00558 #define BGX_CMR_TX_STAT11 0x00560 #define BGX_CMR_TX_STAT12 0x00568 #define BGX_CMR_TX_STAT13 0x00570 #define BGX_CMR_TX_STAT14 0x00578 #define BGX_CMR_TX_STAT15 0x00580 #define BGX_CMR_TX_STAT16 0x00588 #define BGX_CMR_TX_STAT17 0x00590 #define BGX_CMR_TX_LMACS 0x01000 #define BGX_CMR_TX_LMACS_NUM_M 0x0000000000000007ULL #define BGX_CMR_TX_LMACS_NUM_S 0 #define BGX_GMP_PCS_MR_CONTROL 0x30000 #define BGX_GMP_PCS_MR_CONTROL_RESET 0x0000000000008000ULL #define BGX_GMP_PCS_MR_CONTROL_LOOPBCK1 0x0000000000004000ULL #define BGX_GMP_PCS_MR_CONTROL_SPDLSB 0x0000000000002000ULL #define BGX_GMP_PCS_MR_CONTROL_AN_EN 0x0000000000001000ULL #define BGX_GMP_PCS_MR_CONTROL_PWR_DN 0x0000000000000800ULL #define BGX_GMP_PCS_MR_CONTROL_RST_AN 0x0000000000000200ULL #define BGX_GMP_PCS_MR_CONTROL_DUP 0x0000000000000100ULL #define BGX_GMP_PCS_MR_CONTROL_COLTST 0x0000000000000080ULL #define BGX_GMP_PCS_MR_CONTROL_SPDMSB 0x0000000000000040ULL #define BGX_GMP_PCS_MR_CONTROL_UNI 0x0000000000000020ULL #define BGX_GMP_PCS_MR_STATUS 0x30008 #define BGX_GMP_PCS_MR_STATUS_AN_CPT 0x0000000000000020ULL #define BGX_GMP_PCS_LINK_TIMER 0x30040 #define BGX_GMP_PCS_LINK_TIMER_COUNT_M 0x000000000000ffffULL #define BGX_GMP_PCS_RX_SYNC 0x30050 #define BGX_GMP_SGM_LP_ADV 0x30070 #define BGX_GMP_PCS_MISC_CTL 0x30078 #define BGX_GMP_PCS_MISC_CTL_SGMII 0x0000000000001000ULL #define BGX_GMP_PCS_MISC_CTL_GMXENO 0x0000000000000800ULL #define BGX_GMP_PCS_MISC_CTL_LOOPBCK2 0x0000000000000400ULL #define BGX_GMP_PCS_MISC_CTL_MAC_PHY 0x0000000000000200ULL #define BGX_GMP_PCS_MISC_CTL_MODE 0x0000000000000100ULL #define BGX_GMP_PCS_MISC_CTL_AN_OVRD 0x0000000000000080ULL #define BGX_GMP_PCS_MISC_CTL_SAMP_PT_M 0x000000000000007fULL #define BGX_GMP_PCS_MISC_CTL_SAMP_PT_S 0 #define BGX_GMP_PCS_INT 0x30080 #define BGX_GMP_GMI_PRT_CFG 0x38010 #define BGX_GMP_GMI_PRT_CFG_TX_IDLE 0x0000000000002000ULL #define BGX_GMP_GMI_PRT_CFG_RX_IDLE 0x0000000000001000ULL #define BGX_GMP_GMI_PRT_CFG_SPEED_MSB 0x0000000000000100ULL #define BGX_GMP_GMI_PRT_CFG_SLOTTIME 0x0000000000000008ULL #define BGX_GMP_GMI_PRT_CFG_DUPLEX 0x0000000000000004ULL #define BGX_GMP_GMI_PRT_CFG_SPEED 0x0000000000000002ULL #define BGX_GMP_GMI_TX_THRESH 0x38210 #define BGX_GMP_GMI_TX_THRESH_M 0x00000000000007ffULL #define BGX_GMP_GMI_TX_APPEND 0x38218 #define BGX_GMP_GMI_TX_APPEND_FORCE_FCS 0x0000000000000008ULL #define BGX_GMP_GMI_TX_APPEND_FCS 0x0000000000000004ULL #define BGX_GMP_GMI_TX_APPEND_PAD 0x0000000000000002ULL #define BGX_GMP_GMI_TX_APPEND_PREAMBLE 0x0000000000000001ULL #define BGX_GMP_GMI_TX_SLOT 0x38220 #define BGX_GMP_GMI_TX_SLOT_M 0x000000000000ffffULL #define BGX_GMP_GMI_TX_BURST 0x38228 #define BGX_GMP_GMI_TX_BURST_M 0x000000000000ffffULL #define BGX_GMP_GMI_TX_MIN_PKT 0x38240 #define BGX_GMP_GMI_TX_MIN_PKT_M 0x00000000000000ffULL #define BGX_GMP_GMI_TX_SGMII_CTL 0x38300 #define BGX_GMP_GMI_TX_SGMII_CTL_ALIGN 0x0000000000000001ULL #define FPA3_BASE 0x0001280000000000ULL #define FPA3_SIZE 0x0000000100000000ULL #define FPA3_LD_IO 0x0001000000000000ULL #define FPA3_LD_DID 0x0000290000000000ULL #define FPA3_LD_NODE_M 0x000000f000000000ULL #define FPA3_LD_NODE_S 36 #define FPA3_LD_RED 0x0000000800000000ULL #define FPA3_LD_AURA_M 0x0000000003ff0000ULL #define FPA3_LD_AURA_S 16 #define FPA3_ST_IO 0x0001000000000000ULL #define FPA3_ST_DID_FPA 0x0000290000000000ULL #define FPA3_ST_DID_M 0x0000ff0000000000ULL #define FPA3_ST_NODE_M 0x000000f000000000ULL #define FPA3_ST_NODE_S 36 #define FPA3_ST_AURA_M 0x0000000003ff0000ULL #define FPA3_ST_AURA_S 16 #define FPA3_ST_FABS 0x0000000000008000ULL #define FPA3_ST_DWB_COUNT_M 0x0000000000000ff8ULL #define FPA3_ST_DWB_COUNT_S 3 #define FPA3_POOL_CFG(i) (0x10000000ULL + (i) * 8) #define FPA3_POOL_CFG_ENA 0x0000000000000001ULL #define FPA3_POOL_START_ADDR(i) (0x10500000ULL + (i) * 8) #define FPA3_POOL_END_ADDR(i) (0x10600000ULL + (i) * 8) #define FPA3_POOL_STACK_BASE(i) (0x10700000ULL + (i) * 8) #define FPA3_POOL_STACK_END(i) (0x10800000ULL + (i) * 8) #define FPA3_POOL_STACK_ADDR(i) (0x10900000ULL + (i) * 8) #define FPA3_AURA_POOL(i) (0x20000000ULL + (i) * 8) #define FPA3_AURA_CFG(i) (0x20100000ULL + (i) * 8) #define FPA3_AURA_CNT(i) (0x20200000ULL + (i) * 8) #define FPA3_AURA_CNT_LIMIT(i) (0x20400000ULL + (i) * 8) #define FPA3_AURA_CNT_THRESHOLD(i) (0x20500000ULL + (i) * 8) #define FPA3_AURA_CNT_INT(i) (0x20600000ULL + (i) * 8) #define FPA3_AURA_POOL_LEVELS(i) (0x20700000ULL + (i) * 8) #define FPA3_AURA_CNT_LEVELS(i) (0x20800000ULL + (i) * 8) /* * PKO3 registers */ #define PKO3_BASE 0x0001540000000000ULL #define PKO3_SIZE 0x0000000001000000ULL #define PKO3_LD_IO 0x0001000000000000ULL #define PKO3_LD_DID 0x0000510000000000ULL #define PKO3_LD_NODE_M 0x000000f000000000ULL #define PKO3_LD_NODE_S 36 #define PKO3_LD_OP_M 0x0000000300000000ULL #define PKO3_LD_OP_S 32 #define PKO3_LD_DQ_M 0x0000000003ff0000ULL #define PKO3_LD_DQ_S 16 #define PKO3_CHANNEL_LEVEL (0x000800f0ULL) #define PKO3_L1_SQ_SHAPE(i) (0x00000010ULL + (i) * 512) #define PKO3_L1_SQ_SHAPE_LINK_M 0x000000000003e000ULL #define PKO3_L1_SQ_SHAPE_LINK_S 13 #define PKO3_L2_SQ_SHAPE(i) (0x00080010ULL + (i) * 512) #define PKO3_L3_SQ_SHAPE(i) (0x00100010ULL + (i) * 512) #define PKO3_L1_SQ_LINK(i) (0x00000038ULL + (i) * 512) #define PKO3_L1_SQ_LINK_LINK_M 0x0001f00000000000ULL #define PKO3_L1_SQ_LINK_LINK_S 44 #define PKO3_L1_SQ_LINK_CC_WORD_CNT_M 0x00000000fffff000ULL #define PKO3_L1_SQ_LINK_CC_WORD_CNT_S 12 #define PKO3_L1_SQ_LINK_CC_PACKET_CNT_M 0x0000000000000ffcULL #define PKO3_L1_SQ_LINK_CC_PACKET_CNT_S 2 #define PKO3_L1_SQ_LINK_CC_ENABLE 0x0000000000000002ULL #define PKO3_DQ_WM_CTL(i) (0x00000040ULL + (i) * 512) #define PKO3_DQ_WM_CTL_KIND 0x0002000000000000ULL #define PKO3_L1_SQ_SW_XOFF(i) (0x000000e0ULL + (i) * 512) #define PKO3_DQ_SW_XOFF(i) (0x002800e0ULL + (i) * 512) #define PKO3_LX_SQ_SW_XOFF_DRAIN_NULL_LINK 0x0000000000000004ULL #define PKO3_LX_SQ_SW_XOFF_DRAIN 0x0000000000000002ULL #define PKO3_L1_SQ_SCHEDULE(i) (0x00000008ULL + (i) * 512) #define PKO3_L2_SQ_SCHEDULE(i) (0x00080008ULL + (i) * 512) #define PKO3_L3_SQ_SCHEDULE(i) (0x00100008ULL + (i) * 512) #define PKO3_L4_SQ_SCHEDULE(i) (0x00180008ULL + (i) * 512) #define PKO3_L5_SQ_SCHEDULE(i) (0x00200008ULL + (i) * 512) #define PKO3_DQ_SCHEDULE(i) (0x00280008ULL + (i) * 512) #define PKO3_LX_SQ_SCHEDULE_PRIO_M 0x000000000f000000ULL #define PKO3_LX_SQ_SCHEDULE_PRIO_S 24 #define PKO3_LX_SQ_SCHEDULE_RR_QUANTUM_M 0x0000000000ffffffULL #define PKO3_LX_SQ_SCHEDULE_RR_QUANTUM_S 0 #define PKO3_L1_SQ_TOPOLOGY(i) (0x00080000ULL + (i) * 512) #define PKO3_L1_SQ_TOPOLOGY_PRIO_ANCHOR_M 0x000001ff00000000ULL #define PKO3_L1_SQ_TOPOLOGY_PRIO_ANCHOR_S 32 #define PKO3_L1_SQ_TOPOLOGY_LINK_M 0x00000000001f0000ULL #define PKO3_L1_SQ_TOPOLOGY_LINK_S 16 #define PKO3_L1_SQ_TOPOLOGY_RR_PRIO_M 0x000000000000001eULL #define PKO3_L1_SQ_TOPOLOGY_RR_PRIO_S 1 #define PKO3_L3_L2_SQ_CHANNEL(i) (0x00080038ULL + (i) * 512) #define PKO3_L3_L2_SQ_CHANNEL_M 0x00000fff00000000ULL #define PKO3_L3_L2_SQ_CHANNEL_S 32 #define PKO3_L3_L2_SQ_CHANNEL_CC_ENABLE 0x0000000000000002ULL #define PKO3_L2_SQ_TOPOLOGY(i) (0x00100000ULL + (i) * 512) #define PKO3_L2_SQ_TOPOLOGY_PRIO_ANCHOR_M 0x000001ff00000000ULL #define PKO3_L2_SQ_TOPOLOGY_PRIO_ANCHOR_S 32 #define PKO3_L2_SQ_TOPOLOGY_PARENT_M 0x00000000001f0000ULL #define PKO3_L2_SQ_TOPOLOGY_PARENT_S 16 #define PKO3_L2_SQ_TOPOLOGY_RR_PRIO_M 0x000000000000001eULL #define PKO3_L2_SQ_TOPOLOGY_RR_PRIO_S 1 #define PKO3_L3_SQ_TOPOLOGY(i) (0x00180000ULL + (i) * 512) #define PKO3_L3_SQ_TOPOLOGY_PRIO_ANCHOR_M 0x000003ff00000000ULL #define PKO3_L3_SQ_TOPOLOGY_PRIO_ANCHOR_S 32 #define PKO3_L3_SQ_TOPOLOGY_PARENT_M 0x0000000001ff0000ULL #define PKO3_L3_SQ_TOPOLOGY_PARENT_S 16 #define PKO3_L3_SQ_TOPOLOGY_RR_PRIO_M 0x000000000000001eULL #define PKO3_L3_SQ_TOPOLOGY_RR_PRIO_S 1 #define PKO3_L4_SQ_TOPOLOGY(i) (0x00200000ULL + (i) * 512) #define PKO3_L4_SQ_TOPOLOGY_PRIO_ANCHOR_M 0x000003ff00000000ULL #define PKO3_L4_SQ_TOPOLOGY_PRIO_ANCHOR_S 32 #define PKO3_L4_SQ_TOPOLOGY_PARENT_M 0x0000000001ff0000ULL #define PKO3_L4_SQ_TOPOLOGY_PARENT_S 16 #define PKO3_L4_SQ_TOPOLOGY_RR_PRIO_M 0x000000000000001eULL #define PKO3_L4_SQ_TOPOLOGY_RR_PRIO_S 1 #define PKO3_L5_SQ_TOPOLOGY(i) (0x00280000ULL + (i) * 512) #define PKO3_L5_SQ_TOPOLOGY_PRIO_ANCHOR_M 0x000003ff00000000ULL #define PKO3_L5_SQ_TOPOLOGY_PRIO_ANCHOR_S 32 #define PKO3_L5_SQ_TOPOLOGY_PARENT_M 0x0000000003ff0000ULL #define PKO3_L5_SQ_TOPOLOGY_PARENT_S 16 #define PKO3_L5_SQ_TOPOLOGY_RR_PRIO_M 0x000000000000001eULL #define PKO3_L5_SQ_TOPOLOGY_RR_PRIO_S 1 #define PKO3_DQ_TOPOLOGY(i) (0x00300000ULL + (i) * 512) #define PKO3_DQ_TOPOLOGY_PARENT_M 0x0000000003ff0000ULL #define PKO3_DQ_TOPOLOGY_PARENT_S 16 #define PKO3_PDM_CFG 0x00800000ULL #define PKO3_PDM_CFG_DIS_LPD_W2R_FILL 0x0000000000001000ULL #define PKO3_PDM_CFG_EN_FR_W2R_PTR_SWP 0x0000000000000800ULL #define PKO3_PDM_CFG_DIS_FLSH_CACHE 0x0000000000000400ULL #define PKO3_PDM_CFG_MIN_PAD_LEN_M 0x00000000000002f8ULL #define PKO3_PDM_CFG_MIN_PAD_LEN_S 3 #define PKO3_PDM_CFG_DIAG_MODE 0x0000000000000004ULL #define PKO3_PDM_CFG_ALLOC_LDS 0x0000000000000002ULL #define PKO3_PDM_CFG_ALLOC_STS 0x0000000000000001ULL #define PKO3_PDM_DQ_MINPAD(dq) (0x008f0000ULL + (dq) * 8) #define PKO3_PDM_DQ_MINPAD_MINPAD 0x0000000000000001ULL #define PKO3_MAC_CFG(mac) (0x00900000ULL + (mac) * 8) #define PKO3_MAC_CFG_MIN_PAD_ENA 0x0000000000010000ULL #define PKO3_MAC_CFG_FCS_ENA 0x0000000000008000ULL #define PKO3_MAC_CFG_FCS_SOP_OFF_M 0x0000000000007f80ULL #define PKO3_MAC_CFG_FCS_SOP_OFF_S 7 #define PKO3_MAC_CFG_SKID_MAX_CNT_M 0x0000000000000060ULL #define PKO3_MAC_CFG_SKID_MAX_CNT_S 5 #define PKO3_MAC_CFG_FIFO_NUM_M 0x000000000000001fULL #define PKO3_MAC_CFG_FIFO_NUM_S 0 #define PKO3_PTGF_CFG(i) (0x00900200ULL + (i) * 8) #define PKO3_PTGF_CFG_RESET 0x0000000000000040ULL #define PKO3_PTGF_CFG_RATE_M 0x0000000000000038ULL #define PKO3_PTGF_CFG_RATE_S 3 #define PKO3_PTGF_CFG_SIZE_M 0x0000000000000007ULL #define PKO3_PTGF_CFG_SIZE_S 0 #define PKO3_PTF_IOBP_CFG 0x00900300ULL #define PKO3_PTF_IOBP_CFG_MAX_RD_SZ_M 0x000000000000007fULL #define PKO3_PTF_IOBP_CFG_MAX_RD_SZ_S 0 #define PKO3_MCI0_MAX_CRED(mac) (0x00a00000ULL + (mac) * 8) #define PKO3_MCI0_MAC_CRED_LIMIT 0x0000000000000fffULL #define PKO3_MCI1_MAX_CRED(mac) (0x00a80000ULL + (mac) * 8) #define PKO3_MCI1_CRED_CNT(mac) (0x00a80100ULL + (mac) * 8) #define PKO3_LUT(i) (0x00b00000ULL + (i) * 8) #define PKO3_LUT_VALID 0x0000000000008000ULL #define PKO3_LUT_PQ_IDX_M 0x0000000000003e00ULL #define PKO3_LUT_PQ_IDX_S 9 #define PKO3_LUT_QUEUE_NUM_M 0x00000000000001ffULL #define PKO3_LUT_QUEUE_NUM_S 0 #define PKO3_DPFI_FLUSH 0x00c00008ULL #define PKO3_DPFI_FPA_AURA 0x00c00010ULL #define PKO3_DPFI_FPA_AURA_NODE_S 10 #define PKO3_DPFI_FPA_AURA_AURA_S 0 #define PKO3_DPFI_FPA_ENA 0x00c00018ULL #define PKO3_DPFI_FPA_ENA_ENABLE 0x0000000000000001ULL #define PKO3_STATUS 0x00d00000ULL #define PKO3_STATUS_PKO_RDY 0x8000000000000000ULL #define PKO3_ENABLE 0x00d00008ULL #define PKO3_ENABLE_ENABLE 0x0000000000000001ULL /* * PKO commands */ #define PKO3_SEND_HDR_AURA 0x0fff000000000000ULL #define PKO3_SEND_HDR_CKL4_M 0x0000c00000000000ULL #define PKO3_SEND_HDR_CKL4_TCP 0x0000800000000000ULL #define PKO3_SEND_HDR_CKL4_UDP 0x0000400000000000ULL #define PKO3_SEND_HDR_CKL3 0x0000200000000000ULL #define PKO3_SEND_HDR_DS 0x0000100000000000ULL #define PKO3_SEND_HDR_LE 0x0000080000000000ULL #define PKO3_SEND_HDR_N2 0x0000040000000000ULL #define PKO3_SEND_HDR_II 0x0000020000000000ULL #define PKO3_SEND_HDR_DF 0x0000010000000000ULL #define PKO3_SEND_HDR_FORMAT 0x0000007f00000000ULL #define PKO3_SEND_HDR_L4PTR_M 0x00000000ff000000ULL #define PKO3_SEND_HDR_L4PTR_S 24 #define PKO3_SEND_HDR_L3PTR_M 0x0000000000ff0000ULL #define PKO3_SEND_HDR_L3PTR_S 16 #define PKO3_SEND_HDR_TOTAL_M 0x000000000000ffffULL #define PKO3_SEND_HDR_TOTAL_S 0 #define PKO3_LMTDMA_SCRADDR_M 0xff00000000000000ULL #define PKO3_LMTDMA_SCRADDR_S 56 #define PKO3_LMTDMA_RTNLEN_M 0x00ff000000000000ULL #define PKO3_LMTDMA_RTNLEN_S 48 #define PKO3_LMTDMA_DID 0x0000510000000000ULL #define PKO3_LMTDMA_DID_M 0x0000ff0000000000ULL #define PKO3_LMTDMA_NODE 0x000000f000000000ULL #define PKO3_LMTDMA_DQOP 0x0000000300000000ULL #define PKO3_LMTDMA_DQ_M 0x0000000003ff0000ULL #define PKO3_LMTDMA_DQ_S 16 #define PKO3_DQOP_SEND 0x0ULL #define PKO3_DQOP_OPEN 0x1ULL #define PKO3_DQOP_CLOSE 0x2ULL #define PKO3_SUBDC3_SEND_GATHER 0x1ULL #define PKO3_SEND_SUBDC4_CODE_S 44 #define PKO3_SEND_SUBDC4_WORK 0xaULL #define PKO3_SEND_WORK_CODE 0xaULL #define PKO3_SEND_WORK_GRP_S 52 #define PKO3_SEND_WORK_TT_S 50 #define PKO3_SEND_WORK_ADDR_S 0 #define PKO3_SEND_ADDR_M 0x000003ffffffffffULL #define PKO3_SEND_ADDR_S 0 #define PKO3_SUBC_BUF_PTR_SIZE_M 0xffff000000000000ULL #define PKO3_SUBC_BUF_PTR_SIZE_S 48 #define PKO3_SUBC_BUF_PTR_SUBDC3_M 0x0000e00000000000ULL #define PKO3_SUBC_BUF_PTR_SUBDC3_S 45 #define PKO3_SUBC_BUF_PTR_ADDR_M 0x000003ffffffffffULL #define PKO3_SUBC_BUF_PTR_ADDR_S 0 /* * PKI registers */ #define PKI_BASE 0x0001180044000000ULL #define PKI_SIZE 0x0000000001000000ULL #define PKI_ICG_CFG(i) (0x0000a000ULL + (i) * 8) #define PKI_ICG_CFG_PENA 0x0000000001000000ULL #define PKI_SFT_RST 0x00000010ULL #define PKI_SFT_RST_BUSY 0x8000000000000000ULL #define PKI_BUF_CTL 0x00000100ULL #define PKI_BUF_CTL_PBP_EN 0x0000000000000001ULL #define PKI_BUF_CTL_PKI_EN 0x0000000000000001ULL #define PKI_STAT_CTL 0x00000110ULL #define PKI_GBL_PEN 0x00000200ULL #define PKI_GBL_PEN_M 0x00000000000003ffULL #define PKI_GBL_PEN_VIRT 0x0000000000000200ULL #define PKI_GBL_PEN_CLG 0x0000000000000100ULL #define PKI_GBL_PEN_CL2 0x0000000000000080ULL #define PKI_GBL_PEN_L4 0x0000000000000040ULL #define PKI_GBL_PEN_IL3 0x0000000000000020ULL #define PKI_GBL_PEN_L3 0x0000000000000010ULL #define PKI_GBL_PEN_MPLS 0x0000000000000008ULL #define PKI_GBL_PEN_FULC 0x0000000000000004ULL #define PKI_GBL_PEN_DSA 0x0000000000000002ULL #define PKI_GBL_PEN_HG 0x0000000000000001ULL #define PKI_FRM_LEN_CHK(i) (0x00004000ULL + (i) * 8) #define PKI_FRM_LEN_CHK_MAXLEN_M 0x00000000ffff0000ULL #define PKI_FRM_LEN_CHK_MAXLEN_S 16 #define PKI_FRM_LEN_CHK_MINLEN_M 0x000000000000ffffULL #define PKI_FRM_LEN_CHK_MINLEN_S 0 #define PKI_LTYPE_MAP(i) (0x00005000ULL + (i) * 8) #define PKI_IMEM(i) (0x00100000ULL + (i) * 8) #define PKI_QPG_TBL(i) (0x00800000ULL + (i) * 8) #define PKI_QPG_TBL_PADD 0x0fff000000000000ULL #define PKI_QPG_TBL_GRPTAG_OK 0x0000c00000000000ULL #define PKI_QPG_TBL_GRP_OK_M 0x000003ff00000000ULL #define PKI_QPG_TBL_GRP_OK_S 32 #define PKI_QPG_TBL_GRPTAG_BAD 0x00000000c0000000ULL #define PKI_QPG_TBL_GRP_BAD_M 0x0000000003ff0000ULL #define PKI_QPG_TBL_GRP_BAD_S 16 #define PKI_QPG_TBL_AURA_NODE_M 0x0000000000000c00ULL #define PKI_QPG_TBL_AURA_NODE_S 10 #define PKI_QPG_TBL_LAURA_M 0x00000000000003ffULL #define PKI_QPG_TBL_LAURA_S 0 #define PKI_STAT_BASE(i) (0x00e00000ULL + (i) * PKI_STAT_SIZE) #define PKI_STAT_SIZE 0x100 #define PKI_STAT_HIST0 0x00 #define PKI_STAT_HIST1 0x08 #define PKI_STAT_HIST2 0x10 #define PKI_STAT_HIST3 0x18 #define PKI_STAT_HIST4 0x20 #define PKI_STAT_HIST5 0x28 #define PKI_STAT_HIST6 0x30 #define PKI_STAT_STAT0 0x38 #define PKI_STAT_STAT1 0x40 #define PKI_STAT_STAT2 0x48 #define PKI_STAT_STAT3 0x50 #define PKI_STAT_STAT4 0x58 #define PKI_STAT_STAT5 0x60 #define PKI_STAT_STAT6 0x68 #define PKI_STAT_STAT7 0x70 #define PKI_STAT_STAT8 0x78 #define PKI_STAT_STAT9 0x80 #define PKI_STAT_STAT10 0x88 #define PKI_STAT_STAT11 0x90 #define PKI_STAT_STAT12 0x98 #define PKI_STAT_STAT13 0xa0 #define PKI_STAT_STAT14 0xa8 #define PKI_STAT_STAT15 0xb0 #define PKI_STAT_STAT16 0xb8 #define PKI_STAT_STAT17 0xc0 #define PKI_STAT_STAT18 0xc8 #define PKI_STAT_MASK 0x0000ffffffffffffULL #define PKI_STYLE_BUF(style) (0x0024000ULL + (style) * 8) #define PKI_STYLE_BUF_PKT_LEND 0x0000000100000000ULL #define PKI_STYLE_BUF_WQE_HSZ_M 0x00000000c0000000ULL #define PKI_STYLE_BUF_WQE_HSZ_S 30 #define PKI_STYLE_BUF_WQE_SKIP_M 0x0000000030000000ULL #define PKI_STYLE_BUF_WQE_SKIP_S 28 #define PKI_STYLE_BUF_FIRST_SKIP_M 0x000000000fc00000ULL #define PKI_STYLE_BUF_FIRST_SKIP_S 22 #define PKI_STYLE_BUF_LATER_SKIP_M 0x00000000003f0000ULL #define PKI_STYLE_BUF_LATER_SKIP_S 16 #define PKI_STYLE_BUF_OPC_MODE_M 0x000000000000c000ULL #define PKI_STYLE_BUF_OPC_MODE_S 14 #define PKI_STYLE_BUF_DIS_WQ_DAT 0x0000000000002000ULL #define PKI_STYLE_BUF_MB_SIZE_M 0x0000000000001fffULL #define PKI_STYLE_BUF_MB_SIZE_S 0 #define PKI_CL_STYLE_CFG(cl, style) (0x00500000ULL + (cl) * 0x10000 + \ (style) * 8) #define PKI_CL_STYLE_CFG_IP6_UDP_OPT 0x0000000100000000ULL #define PKI_CL_STYLE_CFG_LENERR_EN 0x0000000080000000ULL #define PKI_CL_STYLE_CFG_LENERR_EQPAD 0x0000000040000000ULL #define PKI_CL_STYLE_CFG_MINMAX_SEL 0x0000000020000000ULL #define PKI_CL_STYLE_CFG_MAXERR_EN 0x0000000010000000ULL #define PKI_CL_STYLE_CFG_MINERR_EN 0x0000000008000000ULL #define PKI_CL_STYLE_CFG_QPG_DIS_GRPTAG 0x0000000004000000ULL #define PKI_CL_STYLE_CFG_FCS_STRIP 0x0000000002000000ULL #define PKI_CL_STYLE_CFG_FCS_CHK 0x0000000001000000ULL #define PKI_CL_STYLE_CFG_RAWDRP 0x0000000000800000ULL #define PKI_CL_STYLE_CFG_DROP 0x0000000000400000ULL #define PKI_CL_STYLE_CFG_NODROP 0x0000000000200000ULL #define PKI_CL_STYLE_CFG_QPG_DIS_PADD 0x0000000000100000ULL #define PKI_CL_STYLE_CFG_QPG_DIS_GRP 0x0000000000080000ULL #define PKI_CL_STYLE_CFG_QPG_DIS_AURA 0x0000000000040000ULL #define PKI_CL_STYLE_CFG_QPG_BASE_M 0x00000000000007ffULL #define PKI_CL_STYLE_CFG_QPG_BASE_S 0 #define PKI_CL_PKIND_STYLE(cl, pkind) (0x00300048ULL + (cl) * 0x10000 + \ (pkind) * 0x100) #define PKI_CL_PKIND_STYLE_PM_M 0x0000000000007f00ULL #define PKI_CL_PKIND_STYLE_PM_S 8 #define PKI_CL_PKIND_STYLE_STYLE_M 0x00000000000000ffULL #define PKI_CL_PKIND_STYLE_STYLE_S 0 #define PKI_CL_STYLE_CFG2(cl, style) (0x00500800ULL + (cl) * 0x10000 + \ (style) * 8) #define PKI_CL_STYLE_ALG(cl, style) (0x00501000ULL + (cl) * 0x10000 + \ (style) * 8) #define PKI_CL_PCAM_TERM(cl, bank, i) (0x00700000ULL + (cl) * 0x10000 + \ (bank) * 0x100 + (i) * 8) /* * SSO registers */ #define SSO_BASE 0x0001670000000000ULL #define SSO_SIZE 0x0000000100000000ULL #define SSO_LD_IO 0x0001000000000000ULL #define SSO_LD_DID 0x0000600000000000ULL #define SSO_LD_NODE_M 0x000000f000000000ULL #define SSO_LD_NODE_S 36 #define SSO_LD_INDEXED 0x0000000080000000ULL #define SSO_LD_GROUPED 0x0000000040000000ULL #define SSO_LD_RTNGRP 0x0000000020000000ULL #define SSO_LD_INDEX_M 0x000000000000fff0ULL #define SSO_LD_INDEX_S 4 #define SSO_LD_WAIT 0x0000000000000008ULL /* SSO LD response */ #define SSO_LD_RTN_NO_WORK 0x8000000000000000ULL #define SSO_LD_RTN_ADDR_M 0x000003ffffffffffULL #define SSO_WQ_INT 0x00001000ULL #define SSO_ERR0 0x00001240ULL #define SSO_ERR1 0x00001248ULL #define SSO_AW_CFG 0x000010f0ULL #define SSO_AW_CFG_STT 0x0000000000000008ULL #define SSO_AW_CFG_LDT 0x0000000000000004ULL #define SSO_AW_CFG_LDWB 0x0000000000000002ULL #define SSO_AW_CFG_RWEN 0x0000000000000001ULL #define SSO_XAQ_AURA 0x00002100ULL #define SSO_XAQ_AURA_NODE_M 0x0000000000000c00ULL #define SSO_XAQ_AURA_NODE_S 10 #define SSO_XAQ_AURA_LAURA_M 0x00000000000003ffULL #define SSO_XAQ_AURA_LAURA_S 0 #define SSO_XAQ_HEAD_PTR(i) (0x00080000ULL + (i) * 8) #define SSO_XAQ_TAIL_PTR(i) (0x00090000ULL + (i) * 8) #define SSO_XAQ_HEAD_NEXT(i) (0x000a0000ULL + (i) * 8) #define SSO_XAQ_TAIL_NEXT(i) (0x000b0000ULL + (i) * 8) #define SSO_GRP_PRI(group) (0x20000200ULL + (group) * 0x10000) #define SSO_GRP_PRI_WEIGHT_M 0x00000000003f0000ULL #define SSO_GRP_PRI_WEIGHT_S 16 #define SSO_GRP_INT(group) (0x20000400ULL + (group) * 0x10000) #define SSO_GRP_INT_EXE_DIS 0x8000000000000000ULL #define SSO_GRP_INT_EXE_INT 0x0000000000000002ULL #define SSO_GRP_INT_THR(group) (0x20000500ULL + (group) * 0x10000) #define SSO_GRP_INT_THR_IAQ_THR_M 0x0000000000001fffULL #define SSO_GRP_AQ_CNT(group) (0x20000700ULL + (group) * 0x10000) #define SSO_PP_GRPMSK(core, set, i) (0x40001000ULL + (core) * 0x10000 + \ (set) * 0x20 + (i) * 8) #define PKI_WORD0_BUFS_M 0x00000000ff000000ULL #define PKI_WORD0_BUFS_S 24 #define PKI_WORD0_PKIND_M 0x000000000000003fULL #define PKI_WORD0_PKIND_S 0 #define PKI_WORD1_LEN_M 0xffff000000000000ULL #define PKI_WORD1_LEN_S 48 #define PKI_WORD1_TAG_M 0x00000000ffffffffULL #define PKI_WORD1_TAG_S 0 #define PKI_WORD2_SW_FLAG 0x8000000000000000ULL #define PKI_WORD2_LG_HDR_TYPE 0x7c00000000000000ULL #define PKI_WORD2_LF_HDR_TYPE 0x03e0000000000000ULL #define PKI_WORD2_LE_HDR_TYPE 0x001f000000000000ULL #define PKI_WORD2_LD_HDR_TYPE 0x0000f80000000000ULL #define PKI_WORD2_LC_HDR_TYPE 0x000007c000000000ULL #define PKI_WORD2_LB_HDR_TYPE 0x0000003e00000000ULL #define PKI_WORD2_IS_LA_ETHER 0x0000000100000000ULL #define PKI_WORD2_VLAN_VALID 0x0000000000800000ULL #define PKI_WORD2_VLAN_STACKED 0x0000000000400000ULL #define PKI_WORD2_STAT_INC 0x0000000000200000ULL #define PKI_WORD2_PCAM_FLAG_M 0x00000000001e0000ULL #define PKI_WORD2_IS_FRAG 0x0000000000010000ULL #define PKI_WORD2_IS_L3_BCAST 0x0000000000008000ULL #define PKI_WORD2_IS_L3_MCAST 0x0000000000004000ULL #define PKI_WORD2_IS_L2_BCAST 0x0000000000002000ULL #define PKI_WORD2_IS_L2_MCAST 0x0000000000001000ULL #define PKI_WORD2_IS_RAW 0x0000000000000800ULL #define PKI_WORD2_ERR_LEVEL_M 0x0000000000000700ULL #define PKI_WORD2_ERR_LEVEL_S 8 #define PKI_WORD2_ERR_CODE_M 0x00000000000000ffULL #define PKI_WORD2_ERR_CODE_S 0 #define PKI_WORD3_SIZE_M 0xffff000000000000ULL #define PKI_WORD3_SIZE_S 48 #define PKI_WORD3_ADDR_M 0x000003ffffffffffULL #define PKI_WORD3_ADDR_S 0 #define PKO3_L1_SQ_SHAPE_STATE(i) (0x00000030ULL + (i) * 512) #define PKO3_L2_SQ_SHAPE_STATE(i) (0x00080030ULL + (i) * 512) #define PKO3_L3_SQ_SHAPE_STATE(i) (0x00100030ULL + (i) * 512) #define PKO3_DQ_SHAPE_STATE(i) (0x00280030ULL + (i) * 512) #define PKO3_PTF_STATUS(i) (0x00900100ULL + (i) * 8) #endif /* !_OGXREG_H_ */