root/drivers/net/ethernet/marvell/octeontx2/af/rvu_reg.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /*  Marvell OcteonTx2 RVU Admin Function driver
   3  *
   4  * Copyright (C) 2018 Marvell International Ltd.
   5  *
   6  * This program is free software; you can redistribute it and/or modify
   7  * it under the terms of the GNU General Public License version 2 as
   8  * published by the Free Software Foundation.
   9  */
  10 
  11 #ifndef RVU_REG_H
  12 #define RVU_REG_H
  13 
  14 /* Admin function registers */
  15 #define RVU_AF_MSIXTR_BASE                  (0x10)
  16 #define RVU_AF_ECO                          (0x20)
  17 #define RVU_AF_BLK_RST                      (0x30)
  18 #define RVU_AF_PF_BAR4_ADDR                 (0x40)
  19 #define RVU_AF_RAS                          (0x100)
  20 #define RVU_AF_RAS_W1S                      (0x108)
  21 #define RVU_AF_RAS_ENA_W1S                  (0x110)
  22 #define RVU_AF_RAS_ENA_W1C                  (0x118)
  23 #define RVU_AF_GEN_INT                      (0x120)
  24 #define RVU_AF_GEN_INT_W1S                  (0x128)
  25 #define RVU_AF_GEN_INT_ENA_W1S              (0x130)
  26 #define RVU_AF_GEN_INT_ENA_W1C              (0x138)
  27 #define RVU_AF_AFPF_MBOX0                   (0x02000)
  28 #define RVU_AF_AFPF_MBOX1                   (0x02008)
  29 #define RVU_AF_AFPFX_MBOXX(a, b)            (0x2000 | (a) << 4 | (b) << 3)
  30 #define RVU_AF_PFME_STATUS                  (0x2800)
  31 #define RVU_AF_PFTRPEND                     (0x2810)
  32 #define RVU_AF_PFTRPEND_W1S                 (0x2820)
  33 #define RVU_AF_PF_RST                       (0x2840)
  34 #define RVU_AF_HWVF_RST                     (0x2850)
  35 #define RVU_AF_PFAF_MBOX_INT                (0x2880)
  36 #define RVU_AF_PFAF_MBOX_INT_W1S            (0x2888)
  37 #define RVU_AF_PFAF_MBOX_INT_ENA_W1S        (0x2890)
  38 #define RVU_AF_PFAF_MBOX_INT_ENA_W1C        (0x2898)
  39 #define RVU_AF_PFFLR_INT                    (0x28a0)
  40 #define RVU_AF_PFFLR_INT_W1S                (0x28a8)
  41 #define RVU_AF_PFFLR_INT_ENA_W1S            (0x28b0)
  42 #define RVU_AF_PFFLR_INT_ENA_W1C            (0x28b8)
  43 #define RVU_AF_PFME_INT                     (0x28c0)
  44 #define RVU_AF_PFME_INT_W1S                 (0x28c8)
  45 #define RVU_AF_PFME_INT_ENA_W1S             (0x28d0)
  46 #define RVU_AF_PFME_INT_ENA_W1C             (0x28d8)
  47 
  48 /* Admin function's privileged PF/VF registers */
  49 #define RVU_PRIV_CONST                      (0x8000000)
  50 #define RVU_PRIV_GEN_CFG                    (0x8000010)
  51 #define RVU_PRIV_CLK_CFG                    (0x8000020)
  52 #define RVU_PRIV_ACTIVE_PC                  (0x8000030)
  53 #define RVU_PRIV_PFX_CFG(a)                 (0x8000100 | (a) << 16)
  54 #define RVU_PRIV_PFX_MSIX_CFG(a)            (0x8000110 | (a) << 16)
  55 #define RVU_PRIV_PFX_ID_CFG(a)              (0x8000120 | (a) << 16)
  56 #define RVU_PRIV_PFX_INT_CFG(a)             (0x8000200 | (a) << 16)
  57 #define RVU_PRIV_PFX_NIX0_CFG               (0x8000300)
  58 #define RVU_PRIV_PFX_NPA_CFG                (0x8000310)
  59 #define RVU_PRIV_PFX_SSO_CFG                (0x8000320)
  60 #define RVU_PRIV_PFX_SSOW_CFG               (0x8000330)
  61 #define RVU_PRIV_PFX_TIM_CFG                (0x8000340)
  62 #define RVU_PRIV_PFX_CPT0_CFG               (0x8000350)
  63 #define RVU_PRIV_BLOCK_TYPEX_REV(a)         (0x8000400 | (a) << 3)
  64 #define RVU_PRIV_HWVFX_INT_CFG(a)           (0x8001280 | (a) << 16)
  65 #define RVU_PRIV_HWVFX_NIX0_CFG             (0x8001300)
  66 #define RVU_PRIV_HWVFX_NPA_CFG              (0x8001310)
  67 #define RVU_PRIV_HWVFX_SSO_CFG              (0x8001320)
  68 #define RVU_PRIV_HWVFX_SSOW_CFG             (0x8001330)
  69 #define RVU_PRIV_HWVFX_TIM_CFG              (0x8001340)
  70 #define RVU_PRIV_HWVFX_CPT0_CFG             (0x8001350)
  71 
  72 /* RVU PF registers */
  73 #define RVU_PF_VFX_PFVF_MBOX0               (0x00000)
  74 #define RVU_PF_VFX_PFVF_MBOX1               (0x00008)
  75 #define RVU_PF_VFX_PFVF_MBOXX(a, b)         (0x0 | (a) << 12 | (b) << 3)
  76 #define RVU_PF_VF_BAR4_ADDR                 (0x10)
  77 #define RVU_PF_BLOCK_ADDRX_DISC(a)          (0x200 | (a) << 3)
  78 #define RVU_PF_VFME_STATUSX(a)              (0x800 | (a) << 3)
  79 #define RVU_PF_VFTRPENDX(a)                 (0x820 | (a) << 3)
  80 #define RVU_PF_VFTRPEND_W1SX(a)             (0x840 | (a) << 3)
  81 #define RVU_PF_VFPF_MBOX_INTX(a)            (0x880 | (a) << 3)
  82 #define RVU_PF_VFPF_MBOX_INT_W1SX(a)        (0x8A0 | (a) << 3)
  83 #define RVU_PF_VFPF_MBOX_INT_ENA_W1SX(a)    (0x8C0 | (a) << 3)
  84 #define RVU_PF_VFPF_MBOX_INT_ENA_W1CX(a)    (0x8E0 | (a) << 3)
  85 #define RVU_PF_VFFLR_INTX(a)                (0x900 | (a) << 3)
  86 #define RVU_PF_VFFLR_INT_W1SX(a)            (0x920 | (a) << 3)
  87 #define RVU_PF_VFFLR_INT_ENA_W1SX(a)        (0x940 | (a) << 3)
  88 #define RVU_PF_VFFLR_INT_ENA_W1CX(a)        (0x960 | (a) << 3)
  89 #define RVU_PF_VFME_INTX(a)                 (0x980 | (a) << 3)
  90 #define RVU_PF_VFME_INT_W1SX(a)             (0x9A0 | (a) << 3)
  91 #define RVU_PF_VFME_INT_ENA_W1SX(a)         (0x9C0 | (a) << 3)
  92 #define RVU_PF_VFME_INT_ENA_W1CX(a)         (0x9E0 | (a) << 3)
  93 #define RVU_PF_PFAF_MBOX0                   (0xC00)
  94 #define RVU_PF_PFAF_MBOX1                   (0xC08)
  95 #define RVU_PF_PFAF_MBOXX(a)                (0xC00 | (a) << 3)
  96 #define RVU_PF_INT                          (0xc20)
  97 #define RVU_PF_INT_W1S                      (0xc28)
  98 #define RVU_PF_INT_ENA_W1S                  (0xc30)
  99 #define RVU_PF_INT_ENA_W1C                  (0xc38)
 100 #define RVU_PF_MSIX_VECX_ADDR(a)            (0x000 | (a) << 4)
 101 #define RVU_PF_MSIX_VECX_CTL(a)             (0x008 | (a) << 4)
 102 #define RVU_PF_MSIX_PBAX(a)                 (0xF0000 | (a) << 3)
 103 
 104 /* RVU VF registers */
 105 #define RVU_VF_VFPF_MBOX0                   (0x00000)
 106 #define RVU_VF_VFPF_MBOX1                   (0x00008)
 107 
 108 /* NPA block's admin function registers */
 109 #define NPA_AF_BLK_RST                  (0x0000)
 110 #define NPA_AF_CONST                    (0x0010)
 111 #define NPA_AF_CONST1                   (0x0018)
 112 #define NPA_AF_LF_RST                   (0x0020)
 113 #define NPA_AF_GEN_CFG                  (0x0030)
 114 #define NPA_AF_NDC_CFG                  (0x0040)
 115 #define NPA_AF_INP_CTL                  (0x00D0)
 116 #define NPA_AF_ACTIVE_CYCLES_PC         (0x00F0)
 117 #define NPA_AF_AVG_DELAY                (0x0100)
 118 #define NPA_AF_GEN_INT                  (0x0140)
 119 #define NPA_AF_GEN_INT_W1S              (0x0148)
 120 #define NPA_AF_GEN_INT_ENA_W1S          (0x0150)
 121 #define NPA_AF_GEN_INT_ENA_W1C          (0x0158)
 122 #define NPA_AF_RVU_INT                  (0x0160)
 123 #define NPA_AF_RVU_INT_W1S              (0x0168)
 124 #define NPA_AF_RVU_INT_ENA_W1S          (0x0170)
 125 #define NPA_AF_RVU_INT_ENA_W1C          (0x0178)
 126 #define NPA_AF_ERR_INT                  (0x0180)
 127 #define NPA_AF_ERR_INT_W1S              (0x0188)
 128 #define NPA_AF_ERR_INT_ENA_W1S          (0x0190)
 129 #define NPA_AF_ERR_INT_ENA_W1C          (0x0198)
 130 #define NPA_AF_RAS                      (0x01A0)
 131 #define NPA_AF_RAS_W1S                  (0x01A8)
 132 #define NPA_AF_RAS_ENA_W1S              (0x01B0)
 133 #define NPA_AF_RAS_ENA_W1C              (0x01B8)
 134 #define NPA_AF_BP_TEST                  (0x0200)
 135 #define NPA_AF_ECO                      (0x0300)
 136 #define NPA_AF_AQ_CFG                   (0x0600)
 137 #define NPA_AF_AQ_BASE                  (0x0610)
 138 #define NPA_AF_AQ_STATUS                (0x0620)
 139 #define NPA_AF_AQ_DOOR                  (0x0630)
 140 #define NPA_AF_AQ_DONE_WAIT             (0x0640)
 141 #define NPA_AF_AQ_DONE                  (0x0650)
 142 #define NPA_AF_AQ_DONE_ACK              (0x0660)
 143 #define NPA_AF_AQ_DONE_INT              (0x0680)
 144 #define NPA_AF_AQ_DONE_INT_W1S          (0x0688)
 145 #define NPA_AF_AQ_DONE_ENA_W1S          (0x0690)
 146 #define NPA_AF_AQ_DONE_ENA_W1C          (0x0698)
 147 #define NPA_AF_LFX_AURAS_CFG(a)         (0x4000 | (a) << 18)
 148 #define NPA_AF_LFX_LOC_AURAS_BASE(a)    (0x4010 | (a) << 18)
 149 #define NPA_AF_LFX_QINTS_CFG(a)         (0x4100 | (a) << 18)
 150 #define NPA_AF_LFX_QINTS_BASE(a)        (0x4110 | (a) << 18)
 151 #define NPA_PRIV_AF_INT_CFG             (0x10000)
 152 #define NPA_PRIV_LFX_CFG                (0x10010)
 153 #define NPA_PRIV_LFX_INT_CFG            (0x10020)
 154 #define NPA_AF_RVU_LF_CFG_DEBUG         (0x10030)
 155 
 156 /* NIX block's admin function registers */
 157 #define NIX_AF_CFG                      (0x0000)
 158 #define NIX_AF_STATUS                   (0x0010)
 159 #define NIX_AF_NDC_CFG                  (0x0018)
 160 #define NIX_AF_CONST                    (0x0020)
 161 #define NIX_AF_CONST1                   (0x0028)
 162 #define NIX_AF_CONST2                   (0x0030)
 163 #define NIX_AF_CONST3                   (0x0038)
 164 #define NIX_AF_SQ_CONST                 (0x0040)
 165 #define NIX_AF_CQ_CONST                 (0x0048)
 166 #define NIX_AF_RQ_CONST                 (0x0050)
 167 #define NIX_AF_PSE_CONST                (0x0060)
 168 #define NIX_AF_TL1_CONST                (0x0070)
 169 #define NIX_AF_TL2_CONST                (0x0078)
 170 #define NIX_AF_TL3_CONST                (0x0080)
 171 #define NIX_AF_TL4_CONST                (0x0088)
 172 #define NIX_AF_MDQ_CONST                (0x0090)
 173 #define NIX_AF_MC_MIRROR_CONST          (0x0098)
 174 #define NIX_AF_LSO_CFG                  (0x00A8)
 175 #define NIX_AF_BLK_RST                  (0x00B0)
 176 #define NIX_AF_TX_TSTMP_CFG             (0x00C0)
 177 #define NIX_AF_RX_CFG                   (0x00D0)
 178 #define NIX_AF_AVG_DELAY                (0x00E0)
 179 #define NIX_AF_CINT_DELAY               (0x00F0)
 180 #define NIX_AF_RX_MCAST_BASE            (0x0100)
 181 #define NIX_AF_RX_MCAST_CFG             (0x0110)
 182 #define NIX_AF_RX_MCAST_BUF_BASE        (0x0120)
 183 #define NIX_AF_RX_MCAST_BUF_CFG         (0x0130)
 184 #define NIX_AF_RX_MIRROR_BUF_BASE       (0x0140)
 185 #define NIX_AF_RX_MIRROR_BUF_CFG        (0x0148)
 186 #define NIX_AF_LF_RST                   (0x0150)
 187 #define NIX_AF_GEN_INT                  (0x0160)
 188 #define NIX_AF_GEN_INT_W1S              (0x0168)
 189 #define NIX_AF_GEN_INT_ENA_W1S          (0x0170)
 190 #define NIX_AF_GEN_INT_ENA_W1C          (0x0178)
 191 #define NIX_AF_ERR_INT                  (0x0180)
 192 #define NIX_AF_ERR_INT_W1S              (0x0188)
 193 #define NIX_AF_ERR_INT_ENA_W1S          (0x0190)
 194 #define NIX_AF_ERR_INT_ENA_W1C          (0x0198)
 195 #define NIX_AF_RAS                      (0x01A0)
 196 #define NIX_AF_RAS_W1S                  (0x01A8)
 197 #define NIX_AF_RAS_ENA_W1S              (0x01B0)
 198 #define NIX_AF_RAS_ENA_W1C              (0x01B8)
 199 #define NIX_AF_RVU_INT                  (0x01C0)
 200 #define NIX_AF_RVU_INT_W1S              (0x01C8)
 201 #define NIX_AF_RVU_INT_ENA_W1S          (0x01D0)
 202 #define NIX_AF_RVU_INT_ENA_W1C          (0x01D8)
 203 #define NIX_AF_TCP_TIMER                (0x01E0)
 204 #define NIX_AF_RX_WQE_TAG_CTL           (0x01F0)
 205 #define NIX_AF_RX_DEF_OL2               (0x0200)
 206 #define NIX_AF_RX_DEF_OIP4              (0x0210)
 207 #define NIX_AF_RX_DEF_IIP4              (0x0220)
 208 #define NIX_AF_RX_DEF_OIP6              (0x0230)
 209 #define NIX_AF_RX_DEF_IIP6              (0x0240)
 210 #define NIX_AF_RX_DEF_OTCP              (0x0250)
 211 #define NIX_AF_RX_DEF_ITCP              (0x0260)
 212 #define NIX_AF_RX_DEF_OUDP              (0x0270)
 213 #define NIX_AF_RX_DEF_IUDP              (0x0280)
 214 #define NIX_AF_RX_DEF_OSCTP             (0x0290)
 215 #define NIX_AF_RX_DEF_ISCTP             (0x02A0)
 216 #define NIX_AF_RX_DEF_IPSECX            (0x02B0)
 217 #define NIX_AF_RX_IPSEC_GEN_CFG         (0x0300)
 218 #define NIX_AF_RX_CPTX_INST_ADDR        (0x0310)
 219 #define NIX_AF_NDC_TX_SYNC              (0x03F0)
 220 #define NIX_AF_AQ_CFG                   (0x0400)
 221 #define NIX_AF_AQ_BASE                  (0x0410)
 222 #define NIX_AF_AQ_STATUS                (0x0420)
 223 #define NIX_AF_AQ_DOOR                  (0x0430)
 224 #define NIX_AF_AQ_DONE_WAIT             (0x0440)
 225 #define NIX_AF_AQ_DONE                  (0x0450)
 226 #define NIX_AF_AQ_DONE_ACK              (0x0460)
 227 #define NIX_AF_AQ_DONE_TIMER            (0x0470)
 228 #define NIX_AF_AQ_DONE_INT              (0x0480)
 229 #define NIX_AF_AQ_DONE_INT_W1S          (0x0488)
 230 #define NIX_AF_AQ_DONE_ENA_W1S          (0x0490)
 231 #define NIX_AF_AQ_DONE_ENA_W1C          (0x0498)
 232 #define NIX_AF_RX_LINKX_SLX_SPKT_CNT    (0x0500)
 233 #define NIX_AF_RX_LINKX_SLX_SXQE_CNT    (0x0510)
 234 #define NIX_AF_RX_MCAST_JOBSX_SW_CNT    (0x0520)
 235 #define NIX_AF_RX_MIRROR_JOBSX_SW_CNT   (0x0530)
 236 #define NIX_AF_RX_LINKX_CFG(a)          (0x0540 | (a) << 16)
 237 #define NIX_AF_RX_SW_SYNC               (0x0550)
 238 #define NIX_AF_RX_SW_SYNC_DONE          (0x0560)
 239 #define NIX_AF_SEB_ECO                  (0x0600)
 240 #define NIX_AF_SEB_TEST_BP              (0x0610)
 241 #define NIX_AF_NORM_TX_FIFO_STATUS      (0x0620)
 242 #define NIX_AF_EXPR_TX_FIFO_STATUS      (0x0630)
 243 #define NIX_AF_SDP_TX_FIFO_STATUS       (0x0640)
 244 #define NIX_AF_TX_NPC_CAPTURE_CONFIG    (0x0660)
 245 #define NIX_AF_TX_NPC_CAPTURE_INFO      (0x0670)
 246 
 247 #define NIX_AF_DEBUG_NPC_RESP_DATAX(a)          (0x680 | (a) << 3)
 248 #define NIX_AF_SMQX_CFG(a)                      (0x700 | (a) << 16)
 249 #define NIX_AF_PSE_CHANNEL_LEVEL                (0x800)
 250 #define NIX_AF_PSE_SHAPER_CFG                   (0x810)
 251 #define NIX_AF_TX_EXPR_CREDIT                   (0x830)
 252 #define NIX_AF_MARK_FORMATX_CTL(a)              (0x900 | (a) << 18)
 253 #define NIX_AF_TX_LINKX_NORM_CREDIT(a)          (0xA00 | (a) << 16)
 254 #define NIX_AF_TX_LINKX_EXPR_CREDIT(a)          (0xA10 | (a) << 16)
 255 #define NIX_AF_TX_LINKX_SW_XOFF(a)              (0xA20 | (a) << 16)
 256 #define NIX_AF_TX_LINKX_HW_XOFF(a)              (0xA30 | (a) << 16)
 257 #define NIX_AF_SDP_LINK_CREDIT                  (0xa40)
 258 #define NIX_AF_SDP_SW_XOFFX(a)                  (0xA60 | (a) << 3)
 259 #define NIX_AF_SDP_HW_XOFFX(a)                  (0xAC0 | (a) << 3)
 260 #define NIX_AF_TL4X_BP_STATUS(a)                (0xB00 | (a) << 16)
 261 #define NIX_AF_TL4X_SDP_LINK_CFG(a)             (0xB10 | (a) << 16)
 262 #define NIX_AF_TL1X_SCHEDULE(a)                 (0xC00 | (a) << 16)
 263 #define NIX_AF_TL1X_SHAPE(a)                    (0xC10 | (a) << 16)
 264 #define NIX_AF_TL1X_CIR(a)                      (0xC20 | (a) << 16)
 265 #define NIX_AF_TL1X_SHAPE_STATE(a)              (0xC50 | (a) << 16)
 266 #define NIX_AF_TL1X_SW_XOFF(a)                  (0xC70 | (a) << 16)
 267 #define NIX_AF_TL1X_TOPOLOGY(a)                 (0xC80 | (a) << 16)
 268 #define NIX_AF_TL1X_GREEN(a)                    (0xC90 | (a) << 16)
 269 #define NIX_AF_TL1X_YELLOW(a)                   (0xCA0 | (a) << 16)
 270 #define NIX_AF_TL1X_RED(a)                      (0xCB0 | (a) << 16)
 271 #define NIX_AF_TL1X_MD_DEBUG0(a)                (0xCC0 | (a) << 16)
 272 #define NIX_AF_TL1X_MD_DEBUG1(a)                (0xCC8 | (a) << 16)
 273 #define NIX_AF_TL1X_MD_DEBUG2(a)                (0xCD0 | (a) << 16)
 274 #define NIX_AF_TL1X_MD_DEBUG3(a)                (0xCD8 | (a) << 16)
 275 #define NIX_AF_TL1A_DEBUG                       (0xce0)
 276 #define NIX_AF_TL1B_DEBUG                       (0xcf0)
 277 #define NIX_AF_TL1_DEBUG_GREEN                  (0xd00)
 278 #define NIX_AF_TL1_DEBUG_NODE                   (0xd10)
 279 #define NIX_AF_TL1X_DROPPED_PACKETS(a)          (0xD20 | (a) << 16)
 280 #define NIX_AF_TL1X_DROPPED_BYTES(a)            (0xD30 | (a) << 16)
 281 #define NIX_AF_TL1X_RED_PACKETS(a)              (0xD40 | (a) << 16)
 282 #define NIX_AF_TL1X_RED_BYTES(a)                (0xD50 | (a) << 16)
 283 #define NIX_AF_TL1X_YELLOW_PACKETS(a)           (0xD60 | (a) << 16)
 284 #define NIX_AF_TL1X_YELLOW_BYTES(a)             (0xD70 | (a) << 16)
 285 #define NIX_AF_TL1X_GREEN_PACKETS(a)            (0xD80 | (a) << 16)
 286 #define NIX_AF_TL1X_GREEN_BYTES(a)              (0xD90 | (a) << 16)
 287 #define NIX_AF_TL2X_SCHEDULE(a)                 (0xE00 | (a) << 16)
 288 #define NIX_AF_TL2X_SHAPE(a)                    (0xE10 | (a) << 16)
 289 #define NIX_AF_TL2X_CIR(a)                      (0xE20 | (a) << 16)
 290 #define NIX_AF_TL2X_PIR(a)                      (0xE30 | (a) << 16)
 291 #define NIX_AF_TL2X_SCHED_STATE(a)              (0xE40 | (a) << 16)
 292 #define NIX_AF_TL2X_SHAPE_STATE(a)              (0xE50 | (a) << 16)
 293 #define NIX_AF_TL2X_POINTERS(a)                 (0xE60 | (a) << 16)
 294 #define NIX_AF_TL2X_SW_XOFF(a)                  (0xE70 | (a) << 16)
 295 #define NIX_AF_TL2X_TOPOLOGY(a)                 (0xE80 | (a) << 16)
 296 #define NIX_AF_TL2X_PARENT(a)                   (0xE88 | (a) << 16)
 297 #define NIX_AF_TL2X_GREEN(a)                    (0xE90 | (a) << 16)
 298 #define NIX_AF_TL2X_YELLOW(a)                   (0xEA0 | (a) << 16)
 299 #define NIX_AF_TL2X_RED(a)                      (0xEB0 | (a) << 16)
 300 #define NIX_AF_TL2X_MD_DEBUG0(a)                (0xEC0 | (a) << 16)
 301 #define NIX_AF_TL2X_MD_DEBUG1(a)                (0xEC8 | (a) << 16)
 302 #define NIX_AF_TL2X_MD_DEBUG2(a)                (0xED0 | (a) << 16)
 303 #define NIX_AF_TL2X_MD_DEBUG3(a)                (0xED8 | (a) << 16)
 304 #define NIX_AF_TL2A_DEBUG                       (0xee0)
 305 #define NIX_AF_TL2B_DEBUG                       (0xef0)
 306 #define NIX_AF_TL3X_SCHEDULE(a)                 (0x1000 | (a) << 16)
 307 #define NIX_AF_TL3X_SHAPE(a)                    (0x1010 | (a) << 16)
 308 #define NIX_AF_TL3X_CIR(a)                      (0x1020 | (a) << 16)
 309 #define NIX_AF_TL3X_PIR(a)                      (0x1030 | (a) << 16)
 310 #define NIX_AF_TL3X_SCHED_STATE(a)              (0x1040 | (a) << 16)
 311 #define NIX_AF_TL3X_SHAPE_STATE(a)              (0x1050 | (a) << 16)
 312 #define NIX_AF_TL3X_POINTERS(a)                 (0x1060 | (a) << 16)
 313 #define NIX_AF_TL3X_SW_XOFF(a)                  (0x1070 | (a) << 16)
 314 #define NIX_AF_TL3X_TOPOLOGY(a)                 (0x1080 | (a) << 16)
 315 #define NIX_AF_TL3X_PARENT(a)                   (0x1088 | (a) << 16)
 316 #define NIX_AF_TL3X_GREEN(a)                    (0x1090 | (a) << 16)
 317 #define NIX_AF_TL3X_YELLOW(a)                   (0x10A0 | (a) << 16)
 318 #define NIX_AF_TL3X_RED(a)                      (0x10B0 | (a) << 16)
 319 #define NIX_AF_TL3X_MD_DEBUG0(a)                (0x10C0 | (a) << 16)
 320 #define NIX_AF_TL3X_MD_DEBUG1(a)                (0x10C8 | (a) << 16)
 321 #define NIX_AF_TL3X_MD_DEBUG2(a)                (0x10D0 | (a) << 16)
 322 #define NIX_AF_TL3X_MD_DEBUG3(a)                (0x10D8 | (a) << 16)
 323 #define NIX_AF_TL3A_DEBUG                       (0x10e0)
 324 #define NIX_AF_TL3B_DEBUG                       (0x10f0)
 325 #define NIX_AF_TL4X_SCHEDULE(a)                 (0x1200 | (a) << 16)
 326 #define NIX_AF_TL4X_SHAPE(a)                    (0x1210 | (a) << 16)
 327 #define NIX_AF_TL4X_CIR(a)                      (0x1220 | (a) << 16)
 328 #define NIX_AF_TL4X_PIR(a)                      (0x1230 | (a) << 16)
 329 #define NIX_AF_TL4X_SCHED_STATE(a)              (0x1240 | (a) << 16)
 330 #define NIX_AF_TL4X_SHAPE_STATE(a)              (0x1250 | (a) << 16)
 331 #define NIX_AF_TL4X_POINTERS(a)                 (0x1260 | (a) << 16)
 332 #define NIX_AF_TL4X_SW_XOFF(a)                  (0x1270 | (a) << 16)
 333 #define NIX_AF_TL4X_TOPOLOGY(a)                 (0x1280 | (a) << 16)
 334 #define NIX_AF_TL4X_PARENT(a)                   (0x1288 | (a) << 16)
 335 #define NIX_AF_TL4X_GREEN(a)                    (0x1290 | (a) << 16)
 336 #define NIX_AF_TL4X_YELLOW(a)                   (0x12A0 | (a) << 16)
 337 #define NIX_AF_TL4X_RED(a)                      (0x12B0 | (a) << 16)
 338 #define NIX_AF_TL4X_MD_DEBUG0(a)                (0x12C0 | (a) << 16)
 339 #define NIX_AF_TL4X_MD_DEBUG1(a)                (0x12C8 | (a) << 16)
 340 #define NIX_AF_TL4X_MD_DEBUG2(a)                (0x12D0 | (a) << 16)
 341 #define NIX_AF_TL4X_MD_DEBUG3(a)                (0x12D8 | (a) << 16)
 342 #define NIX_AF_TL4A_DEBUG                       (0x12e0)
 343 #define NIX_AF_TL4B_DEBUG                       (0x12f0)
 344 #define NIX_AF_MDQX_SCHEDULE(a)                 (0x1400 | (a) << 16)
 345 #define NIX_AF_MDQX_SHAPE(a)                    (0x1410 | (a) << 16)
 346 #define NIX_AF_MDQX_CIR(a)                      (0x1420 | (a) << 16)
 347 #define NIX_AF_MDQX_PIR(a)                      (0x1430 | (a) << 16)
 348 #define NIX_AF_MDQX_SCHED_STATE(a)              (0x1440 | (a) << 16)
 349 #define NIX_AF_MDQX_SHAPE_STATE(a)              (0x1450 | (a) << 16)
 350 #define NIX_AF_MDQX_POINTERS(a)                 (0x1460 | (a) << 16)
 351 #define NIX_AF_MDQX_SW_XOFF(a)                  (0x1470 | (a) << 16)
 352 #define NIX_AF_MDQX_PARENT(a)                   (0x1480 | (a) << 16)
 353 #define NIX_AF_MDQX_MD_DEBUG(a)                 (0x14C0 | (a) << 16)
 354 #define NIX_AF_MDQX_PTR_FIFO(a)                 (0x14D0 | (a) << 16)
 355 #define NIX_AF_MDQA_DEBUG                       (0x14e0)
 356 #define NIX_AF_MDQB_DEBUG                       (0x14f0)
 357 #define NIX_AF_TL3_TL2X_CFG(a)                  (0x1600 | (a) << 18)
 358 #define NIX_AF_TL3_TL2X_BP_STATUS(a)            (0x1610 | (a) << 16)
 359 #define NIX_AF_TL3_TL2X_LINKX_CFG(a, b)         (0x1700 | (a) << 16 | (b) << 3)
 360 #define NIX_AF_RX_FLOW_KEY_ALGX_FIELDX(a, b)    (0x1800 | (a) << 18 | (b) << 3)
 361 #define NIX_AF_TX_MCASTX(a)                     (0x1900 | (a) << 15)
 362 #define NIX_AF_TX_VTAG_DEFX_CTL(a)              (0x1A00 | (a) << 16)
 363 #define NIX_AF_TX_VTAG_DEFX_DATA(a)             (0x1A10 | (a) << 16)
 364 #define NIX_AF_RX_BPIDX_STATUS(a)               (0x1A20 | (a) << 17)
 365 #define NIX_AF_RX_CHANX_CFG(a)                  (0x1A30 | (a) << 15)
 366 #define NIX_AF_CINT_TIMERX(a)                   (0x1A40 | (a) << 18)
 367 #define NIX_AF_LSO_FORMATX_FIELDX(a, b)         (0x1B00 | (a) << 16 | (b) << 3)
 368 #define NIX_AF_LFX_CFG(a)               (0x4000 | (a) << 17)
 369 #define NIX_AF_LFX_SQS_CFG(a)           (0x4020 | (a) << 17)
 370 #define NIX_AF_LFX_TX_CFG2(a)           (0x4028 | (a) << 17)
 371 #define NIX_AF_LFX_SQS_BASE(a)          (0x4030 | (a) << 17)
 372 #define NIX_AF_LFX_RQS_CFG(a)           (0x4040 | (a) << 17)
 373 #define NIX_AF_LFX_RQS_BASE(a)          (0x4050 | (a) << 17)
 374 #define NIX_AF_LFX_CQS_CFG(a)           (0x4060 | (a) << 17)
 375 #define NIX_AF_LFX_CQS_BASE(a)          (0x4070 | (a) << 17)
 376 #define NIX_AF_LFX_TX_CFG(a)            (0x4080 | (a) << 17)
 377 #define NIX_AF_LFX_TX_PARSE_CFG(a)      (0x4090 | (a) << 17)
 378 #define NIX_AF_LFX_RX_CFG(a)            (0x40A0 | (a) << 17)
 379 #define NIX_AF_LFX_RSS_CFG(a)           (0x40C0 | (a) << 17)
 380 #define NIX_AF_LFX_RSS_BASE(a)          (0x40D0 | (a) << 17)
 381 #define NIX_AF_LFX_QINTS_CFG(a)         (0x4100 | (a) << 17)
 382 #define NIX_AF_LFX_QINTS_BASE(a)        (0x4110 | (a) << 17)
 383 #define NIX_AF_LFX_CINTS_CFG(a)         (0x4120 | (a) << 17)
 384 #define NIX_AF_LFX_CINTS_BASE(a)        (0x4130 | (a) << 17)
 385 #define NIX_AF_LFX_RX_IPSEC_CFG0(a)     (0x4140 | (a) << 17)
 386 #define NIX_AF_LFX_RX_IPSEC_CFG1(a)     (0x4148 | (a) << 17)
 387 #define NIX_AF_LFX_RX_IPSEC_DYNO_CFG(a) (0x4150 | (a) << 17)
 388 #define NIX_AF_LFX_RX_IPSEC_DYNO_BASE(a)        (0x4158 | (a) << 17)
 389 #define NIX_AF_LFX_RX_IPSEC_SA_BASE(a)  (0x4170 | (a) << 17)
 390 #define NIX_AF_LFX_TX_STATUS(a)         (0x4180 | (a) << 17)
 391 #define NIX_AF_LFX_RX_VTAG_TYPEX(a, b)  (0x4200 | (a) << 17 | (b) << 3)
 392 #define NIX_AF_LFX_LOCKX(a, b)          (0x4300 | (a) << 17 | (b) << 3)
 393 #define NIX_AF_LFX_TX_STATX(a, b)       (0x4400 | (a) << 17 | (b) << 3)
 394 #define NIX_AF_LFX_RX_STATX(a, b)       (0x4500 | (a) << 17 | (b) << 3)
 395 #define NIX_AF_LFX_RSS_GRPX(a, b)       (0x4600 | (a) << 17 | (b) << 3)
 396 #define NIX_AF_RX_NPC_MC_RCV            (0x4700)
 397 #define NIX_AF_RX_NPC_MC_DROP           (0x4710)
 398 #define NIX_AF_RX_NPC_MIRROR_RCV        (0x4720)
 399 #define NIX_AF_RX_NPC_MIRROR_DROP       (0x4730)
 400 #define NIX_AF_RX_ACTIVE_CYCLES_PCX(a)  (0x4800 | (a) << 16)
 401 
 402 #define NIX_PRIV_AF_INT_CFG             (0x8000000)
 403 #define NIX_PRIV_LFX_CFG                (0x8000010)
 404 #define NIX_PRIV_LFX_INT_CFG            (0x8000020)
 405 #define NIX_AF_RVU_LF_CFG_DEBUG         (0x8000030)
 406 
 407 /* SSO */
 408 #define SSO_AF_CONST                    (0x1000)
 409 #define SSO_AF_CONST1                   (0x1008)
 410 #define SSO_AF_BLK_RST                  (0x10f8)
 411 #define SSO_AF_LF_HWGRP_RST             (0x10e0)
 412 #define SSO_AF_RVU_LF_CFG_DEBUG         (0x3800)
 413 #define SSO_PRIV_LFX_HWGRP_CFG          (0x10000)
 414 #define SSO_PRIV_LFX_HWGRP_INT_CFG      (0x20000)
 415 
 416 /* SSOW */
 417 #define SSOW_AF_RVU_LF_HWS_CFG_DEBUG    (0x0010)
 418 #define SSOW_AF_LF_HWS_RST              (0x0030)
 419 #define SSOW_PRIV_LFX_HWS_CFG           (0x1000)
 420 #define SSOW_PRIV_LFX_HWS_INT_CFG       (0x2000)
 421 
 422 /* TIM */
 423 #define TIM_AF_CONST                    (0x90)
 424 #define TIM_PRIV_LFX_CFG                (0x20000)
 425 #define TIM_PRIV_LFX_INT_CFG            (0x24000)
 426 #define TIM_AF_RVU_LF_CFG_DEBUG         (0x30000)
 427 #define TIM_AF_BLK_RST                  (0x10)
 428 #define TIM_AF_LF_RST                   (0x20)
 429 
 430 /* CPT */
 431 #define CPT_AF_CONSTANTS0               (0x0000)
 432 #define CPT_PRIV_LFX_CFG                (0x41000)
 433 #define CPT_PRIV_LFX_INT_CFG            (0x43000)
 434 #define CPT_AF_RVU_LF_CFG_DEBUG         (0x45000)
 435 #define CPT_AF_LF_RST                   (0x44000)
 436 #define CPT_AF_BLK_RST                  (0x46000)
 437 
 438 #define NDC_AF_BLK_RST                  (0x002F0)
 439 #define NPC_AF_BLK_RST                  (0x00040)
 440 
 441 /* NPC */
 442 #define NPC_AF_CFG                      (0x00000)
 443 #define NPC_AF_ACTIVE_PC                (0x00010)
 444 #define NPC_AF_CONST                    (0x00020)
 445 #define NPC_AF_CONST1                   (0x00030)
 446 #define NPC_AF_BLK_RST                  (0x00040)
 447 #define NPC_AF_MCAM_SCRUB_CTL           (0x000a0)
 448 #define NPC_AF_KCAM_SCRUB_CTL           (0x000b0)
 449 #define NPC_AF_KPUX_CFG(a)              (0x00500 | (a) << 3)
 450 #define NPC_AF_PCK_CFG                  (0x00600)
 451 #define NPC_AF_PCK_DEF_OL2              (0x00610)
 452 #define NPC_AF_PCK_DEF_OIP4             (0x00620)
 453 #define NPC_AF_PCK_DEF_OIP6             (0x00630)
 454 #define NPC_AF_PCK_DEF_IIP4             (0x00640)
 455 #define NPC_AF_KEX_LDATAX_FLAGS_CFG(a)  (0x00800 | (a) << 3)
 456 #define NPC_AF_INTFX_KEX_CFG(a)         (0x01010 | (a) << 8)
 457 #define NPC_AF_PKINDX_ACTION0(a)        (0x80000ull | (a) << 6)
 458 #define NPC_AF_PKINDX_ACTION1(a)        (0x80008ull | (a) << 6)
 459 #define NPC_AF_PKINDX_CPI_DEFX(a, b)    (0x80020ull | (a) << 6 | (b) << 3)
 460 #define NPC_AF_KPUX_ENTRYX_CAMX(a, b, c) \
 461                 (0x100000 | (a) << 14 | (b) << 6 | (c) << 3)
 462 #define NPC_AF_KPUX_ENTRYX_ACTION0(a, b) \
 463                 (0x100020 | (a) << 14 | (b) << 6)
 464 #define NPC_AF_KPUX_ENTRYX_ACTION1(a, b) \
 465                 (0x100028 | (a) << 14 | (b) << 6)
 466 #define NPC_AF_KPUX_ENTRY_DISX(a, b)    (0x180000 | (a) << 6 | (b) << 3)
 467 #define NPC_AF_CPIX_CFG(a)              (0x200000 | (a) << 3)
 468 #define NPC_AF_INTFX_LIDX_LTX_LDX_CFG(a, b, c, d) \
 469                 (0x900000 | (a) << 16 | (b) << 12 | (c) << 5 | (d) << 3)
 470 #define NPC_AF_INTFX_LDATAX_FLAGSX_CFG(a, b, c) \
 471                 (0x980000 | (a) << 16 | (b) << 12 | (c) << 3)
 472 #define NPC_AF_MCAMEX_BANKX_CAMX_INTF(a, b, c)       \
 473                 (0x1000000ull | (a) << 10 | (b) << 6 | (c) << 3)
 474 #define NPC_AF_MCAMEX_BANKX_CAMX_W0(a, b, c)         \
 475                 (0x1000010ull | (a) << 10 | (b) << 6 | (c) << 3)
 476 #define NPC_AF_MCAMEX_BANKX_CAMX_W1(a, b, c)         \
 477                 (0x1000020ull | (a) << 10 | (b) << 6 | (c) << 3)
 478 #define NPC_AF_MCAMEX_BANKX_CFG(a, b)    (0x1800000ull | (a) << 8 | (b) << 4)
 479 #define NPC_AF_MCAMEX_BANKX_STAT_ACT(a, b) \
 480                 (0x1880000 | (a) << 8 | (b) << 4)
 481 #define NPC_AF_MATCH_STATX(a)           (0x1880008 | (a) << 8)
 482 #define NPC_AF_INTFX_MISS_STAT_ACT(a)   (0x1880040 + (a) * 0x8)
 483 #define NPC_AF_MCAMEX_BANKX_ACTION(a, b) (0x1900000ull | (a) << 8 | (b) << 4)
 484 #define NPC_AF_MCAMEX_BANKX_TAG_ACT(a, b) \
 485                 (0x1900008 | (a) << 8 | (b) << 4)
 486 #define NPC_AF_INTFX_MISS_ACT(a)        (0x1a00000 | (a) << 4)
 487 #define NPC_AF_INTFX_MISS_TAG_ACT(a)    (0x1b00008 | (a) << 4)
 488 #define NPC_AF_MCAM_BANKX_HITX(a, b)    (0x1c80000 | (a) << 8 | (b) << 4)
 489 #define NPC_AF_LKUP_CTL                 (0x2000000)
 490 #define NPC_AF_LKUP_DATAX(a)            (0x2000200 | (a) << 4)
 491 #define NPC_AF_LKUP_RESULTX(a)          (0x2000400 | (a) << 4)
 492 #define NPC_AF_INTFX_STAT(a)            (0x2000800 | (a) << 4)
 493 #define NPC_AF_DBG_CTL                  (0x3000000)
 494 #define NPC_AF_DBG_STATUS               (0x3000010)
 495 #define NPC_AF_KPUX_DBG(a)              (0x3000020 | (a) << 8)
 496 #define NPC_AF_IKPU_ERR_CTL             (0x3000080)
 497 #define NPC_AF_KPUX_ERR_CTL(a)          (0x30000a0 | (a) << 8)
 498 #define NPC_AF_MCAM_DBG                 (0x3001000)
 499 #define NPC_AF_DBG_DATAX(a)             (0x3001400 | (a) << 4)
 500 #define NPC_AF_DBG_RESULTX(a)           (0x3001800 | (a) << 4)
 501 
 502 #endif /* RVU_REG_H */

/* [<][>][^][v][top][bottom][index][help] */