/drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h
http://github.com/mirrors/linux · C Header · 7702 lines · 3878 code · 127 blank · 3697 comment · 3 complexity · c7e25dd77d3bdda700158c038a9ca6ee MD5 · raw file
Large files are truncated click here to view the full file
- /* bnx2x_reg.h: Qlogic Everest network driver.
- *
- * Copyright (c) 2007-2013 Broadcom Corporation
- * Copyright (c) 2014 QLogic Corporation
- * All rights reserved
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation.
- *
- * The registers description starts with the register Access type followed
- * by size in bits. For example [RW 32]. The access types are:
- * R - Read only
- * RC - Clear on read
- * RW - Read/Write
- * ST - Statistics register (clear on read)
- * W - Write only
- * WB - Wide bus register - the size is over 32 bits and it should be
- * read/write in consecutive 32 bits accesses
- * WR - Write Clear (write 1 to clear the bit)
- *
- */
- #ifndef BNX2X_REG_H
- #define BNX2X_REG_H
- #define ATC_ATC_INT_STS_REG_ADDRESS_ERROR (0x1<<0)
- #define ATC_ATC_INT_STS_REG_ATC_GPA_MULTIPLE_HITS (0x1<<2)
- #define ATC_ATC_INT_STS_REG_ATC_IREQ_LESS_THAN_STU (0x1<<5)
- #define ATC_ATC_INT_STS_REG_ATC_RCPL_TO_EMPTY_CNT (0x1<<3)
- #define ATC_ATC_INT_STS_REG_ATC_TCPL_ERROR (0x1<<4)
- #define ATC_ATC_INT_STS_REG_ATC_TCPL_TO_NOT_PEND (0x1<<1)
- /* [RW 1] Initiate the ATC array - reset all the valid bits */
- #define ATC_REG_ATC_INIT_ARRAY 0x1100b8
- /* [R 1] ATC initialization done */
- #define ATC_REG_ATC_INIT_DONE 0x1100bc
- /* [RC 6] Interrupt register #0 read clear */
- #define ATC_REG_ATC_INT_STS_CLR 0x1101c0
- /* [RW 5] Parity mask register #0 read/write */
- #define ATC_REG_ATC_PRTY_MASK 0x1101d8
- /* [R 5] Parity register #0 read */
- #define ATC_REG_ATC_PRTY_STS 0x1101cc
- /* [RC 5] Parity register #0 read clear */
- #define ATC_REG_ATC_PRTY_STS_CLR 0x1101d0
- /* [RW 19] Interrupt mask register #0 read/write */
- #define BRB1_REG_BRB1_INT_MASK 0x60128
- /* [R 19] Interrupt register #0 read */
- #define BRB1_REG_BRB1_INT_STS 0x6011c
- /* [RW 4] Parity mask register #0 read/write */
- #define BRB1_REG_BRB1_PRTY_MASK 0x60138
- /* [R 4] Parity register #0 read */
- #define BRB1_REG_BRB1_PRTY_STS 0x6012c
- /* [RC 4] Parity register #0 read clear */
- #define BRB1_REG_BRB1_PRTY_STS_CLR 0x60130
- /* [RW 10] At address BRB1_IND_FREE_LIST_PRS_CRDT initialize free head. At
- * address BRB1_IND_FREE_LIST_PRS_CRDT+1 initialize free tail. At address
- * BRB1_IND_FREE_LIST_PRS_CRDT+2 initialize parser initial credit. Warning -
- * following reset the first rbc access to this reg must be write; there can
- * be no more rbc writes after the first one; there can be any number of rbc
- * read following the first write; rbc access not following these rules will
- * result in hang condition. */
- #define BRB1_REG_FREE_LIST_PRS_CRDT 0x60200
- /* [RW 10] The number of free blocks below which the full signal to class 0
- * is asserted */
- #define BRB1_REG_FULL_0_XOFF_THRESHOLD_0 0x601d0
- #define BRB1_REG_FULL_0_XOFF_THRESHOLD_1 0x60230
- /* [RW 11] The number of free blocks above which the full signal to class 0
- * is de-asserted */
- #define BRB1_REG_FULL_0_XON_THRESHOLD_0 0x601d4
- #define BRB1_REG_FULL_0_XON_THRESHOLD_1 0x60234
- /* [RW 11] The number of free blocks below which the full signal to class 1
- * is asserted */
- #define BRB1_REG_FULL_1_XOFF_THRESHOLD_0 0x601d8
- #define BRB1_REG_FULL_1_XOFF_THRESHOLD_1 0x60238
- /* [RW 11] The number of free blocks above which the full signal to class 1
- * is de-asserted */
- #define BRB1_REG_FULL_1_XON_THRESHOLD_0 0x601dc
- #define BRB1_REG_FULL_1_XON_THRESHOLD_1 0x6023c
- /* [RW 11] The number of free blocks below which the full signal to the LB
- * port is asserted */
- #define BRB1_REG_FULL_LB_XOFF_THRESHOLD 0x601e0
- /* [RW 10] The number of free blocks above which the full signal to the LB
- * port is de-asserted */
- #define BRB1_REG_FULL_LB_XON_THRESHOLD 0x601e4
- /* [RW 10] The number of free blocks above which the High_llfc signal to
- interface #n is de-asserted. */
- #define BRB1_REG_HIGH_LLFC_HIGH_THRESHOLD_0 0x6014c
- /* [RW 10] The number of free blocks below which the High_llfc signal to
- interface #n is asserted. */
- #define BRB1_REG_HIGH_LLFC_LOW_THRESHOLD_0 0x6013c
- /* [RW 11] The number of blocks guarantied for the LB port */
- #define BRB1_REG_LB_GUARANTIED 0x601ec
- /* [RW 11] The hysteresis on the guarantied buffer space for the Lb port
- * before signaling XON. */
- #define BRB1_REG_LB_GUARANTIED_HYST 0x60264
- /* [RW 24] LL RAM data. */
- #define BRB1_REG_LL_RAM 0x61000
- /* [RW 10] The number of free blocks above which the Low_llfc signal to
- interface #n is de-asserted. */
- #define BRB1_REG_LOW_LLFC_HIGH_THRESHOLD_0 0x6016c
- /* [RW 10] The number of free blocks below which the Low_llfc signal to
- interface #n is asserted. */
- #define BRB1_REG_LOW_LLFC_LOW_THRESHOLD_0 0x6015c
- /* [RW 11] The number of blocks guarantied for class 0 in MAC 0. The
- * register is applicable only when per_class_guaranty_mode is set. */
- #define BRB1_REG_MAC_0_CLASS_0_GUARANTIED 0x60244
- /* [RW 11] The hysteresis on the guarantied buffer space for class 0 in MAC
- * 1 before signaling XON. The register is applicable only when
- * per_class_guaranty_mode is set. */
- #define BRB1_REG_MAC_0_CLASS_0_GUARANTIED_HYST 0x60254
- /* [RW 11] The number of blocks guarantied for class 1 in MAC 0. The
- * register is applicable only when per_class_guaranty_mode is set. */
- #define BRB1_REG_MAC_0_CLASS_1_GUARANTIED 0x60248
- /* [RW 11] The hysteresis on the guarantied buffer space for class 1in MAC 0
- * before signaling XON. The register is applicable only when
- * per_class_guaranty_mode is set. */
- #define BRB1_REG_MAC_0_CLASS_1_GUARANTIED_HYST 0x60258
- /* [RW 11] The number of blocks guarantied for class 0in MAC1.The register
- * is applicable only when per_class_guaranty_mode is set. */
- #define BRB1_REG_MAC_1_CLASS_0_GUARANTIED 0x6024c
- /* [RW 11] The hysteresis on the guarantied buffer space for class 0 in MAC
- * 1 before signaling XON. The register is applicable only when
- * per_class_guaranty_mode is set. */
- #define BRB1_REG_MAC_1_CLASS_0_GUARANTIED_HYST 0x6025c
- /* [RW 11] The number of blocks guarantied for class 1 in MAC 1. The
- * register is applicable only when per_class_guaranty_mode is set. */
- #define BRB1_REG_MAC_1_CLASS_1_GUARANTIED 0x60250
- /* [RW 11] The hysteresis on the guarantied buffer space for class 1 in MAC
- * 1 before signaling XON. The register is applicable only when
- * per_class_guaranty_mode is set. */
- #define BRB1_REG_MAC_1_CLASS_1_GUARANTIED_HYST 0x60260
- /* [RW 11] The number of blocks guarantied for the MAC port. The register is
- * applicable only when per_class_guaranty_mode is reset. */
- #define BRB1_REG_MAC_GUARANTIED_0 0x601e8
- #define BRB1_REG_MAC_GUARANTIED_1 0x60240
- /* [R 24] The number of full blocks. */
- #define BRB1_REG_NUM_OF_FULL_BLOCKS 0x60090
- /* [ST 32] The number of cycles that the write_full signal towards MAC #0
- was asserted. */
- #define BRB1_REG_NUM_OF_FULL_CYCLES_0 0x600c8
- #define BRB1_REG_NUM_OF_FULL_CYCLES_1 0x600cc
- #define BRB1_REG_NUM_OF_FULL_CYCLES_4 0x600d8
- /* [ST 32] The number of cycles that the pause signal towards MAC #0 was
- asserted. */
- #define BRB1_REG_NUM_OF_PAUSE_CYCLES_0 0x600b8
- #define BRB1_REG_NUM_OF_PAUSE_CYCLES_1 0x600bc
- /* [RW 10] The number of free blocks below which the pause signal to class 0
- * is asserted */
- #define BRB1_REG_PAUSE_0_XOFF_THRESHOLD_0 0x601c0
- #define BRB1_REG_PAUSE_0_XOFF_THRESHOLD_1 0x60220
- /* [RW 11] The number of free blocks above which the pause signal to class 0
- * is de-asserted */
- #define BRB1_REG_PAUSE_0_XON_THRESHOLD_0 0x601c4
- #define BRB1_REG_PAUSE_0_XON_THRESHOLD_1 0x60224
- /* [RW 11] The number of free blocks below which the pause signal to class 1
- * is asserted */
- #define BRB1_REG_PAUSE_1_XOFF_THRESHOLD_0 0x601c8
- #define BRB1_REG_PAUSE_1_XOFF_THRESHOLD_1 0x60228
- /* [RW 11] The number of free blocks above which the pause signal to class 1
- * is de-asserted */
- #define BRB1_REG_PAUSE_1_XON_THRESHOLD_0 0x601cc
- #define BRB1_REG_PAUSE_1_XON_THRESHOLD_1 0x6022c
- /* [RW 10] Write client 0: De-assert pause threshold. Not Functional */
- #define BRB1_REG_PAUSE_HIGH_THRESHOLD_0 0x60078
- #define BRB1_REG_PAUSE_HIGH_THRESHOLD_1 0x6007c
- /* [RW 10] Write client 0: Assert pause threshold. */
- #define BRB1_REG_PAUSE_LOW_THRESHOLD_0 0x60068
- /* [RW 1] Indicates if to use per-class guaranty mode (new mode) or per-MAC
- * guaranty mode (backwards-compatible mode). 0=per-MAC guaranty mode (BC
- * mode). 1=per-class guaranty mode (new mode). */
- #define BRB1_REG_PER_CLASS_GUARANTY_MODE 0x60268
- /* [R 24] The number of full blocks occpied by port. */
- #define BRB1_REG_PORT_NUM_OCC_BLOCKS_0 0x60094
- /* [RW 1] Reset the design by software. */
- #define BRB1_REG_SOFT_RESET 0x600dc
- /* [R 5] Used to read the value of the XX protection CAM occupancy counter. */
- #define CCM_REG_CAM_OCCUP 0xd0188
- /* [RW 1] CM - CFC Interface enable. If 0 - the valid input is disregarded;
- acknowledge output is deasserted; all other signals are treated as usual;
- if 1 - normal activity. */
- #define CCM_REG_CCM_CFC_IFEN 0xd003c
- /* [RW 1] CM - QM Interface enable. If 0 - the acknowledge input is
- disregarded; valid is deasserted; all other signals are treated as usual;
- if 1 - normal activity. */
- #define CCM_REG_CCM_CQM_IFEN 0xd000c
- /* [RW 1] If set the Q index; received from the QM is inserted to event ID.
- Otherwise 0 is inserted. */
- #define CCM_REG_CCM_CQM_USE_Q 0xd00c0
- /* [RW 11] Interrupt mask register #0 read/write */
- #define CCM_REG_CCM_INT_MASK 0xd01e4
- /* [R 11] Interrupt register #0 read */
- #define CCM_REG_CCM_INT_STS 0xd01d8
- /* [RW 27] Parity mask register #0 read/write */
- #define CCM_REG_CCM_PRTY_MASK 0xd01f4
- /* [R 27] Parity register #0 read */
- #define CCM_REG_CCM_PRTY_STS 0xd01e8
- /* [RC 27] Parity register #0 read clear */
- #define CCM_REG_CCM_PRTY_STS_CLR 0xd01ec
- /* [RW 3] The size of AG context region 0 in REG-pairs. Designates the MS
- REG-pair number (e.g. if region 0 is 6 REG-pairs; the value should be 5).
- Is used to determine the number of the AG context REG-pairs written back;
- when the input message Reg1WbFlg isn't set. */
- #define CCM_REG_CCM_REG0_SZ 0xd00c4
- /* [RW 1] CM - STORM 0 Interface enable. If 0 - the acknowledge input is
- disregarded; valid is deasserted; all other signals are treated as usual;
- if 1 - normal activity. */
- #define CCM_REG_CCM_STORM0_IFEN 0xd0004
- /* [RW 1] CM - STORM 1 Interface enable. If 0 - the acknowledge input is
- disregarded; valid is deasserted; all other signals are treated as usual;
- if 1 - normal activity. */
- #define CCM_REG_CCM_STORM1_IFEN 0xd0008
- /* [RW 1] CDU AG read Interface enable. If 0 - the request input is
- disregarded; valid output is deasserted; all other signals are treated as
- usual; if 1 - normal activity. */
- #define CCM_REG_CDU_AG_RD_IFEN 0xd0030
- /* [RW 1] CDU AG write Interface enable. If 0 - the request and valid input
- are disregarded; all other signals are treated as usual; if 1 - normal
- activity. */
- #define CCM_REG_CDU_AG_WR_IFEN 0xd002c
- /* [RW 1] CDU STORM read Interface enable. If 0 - the request input is
- disregarded; valid output is deasserted; all other signals are treated as
- usual; if 1 - normal activity. */
- #define CCM_REG_CDU_SM_RD_IFEN 0xd0038
- /* [RW 1] CDU STORM write Interface enable. If 0 - the request and valid
- input is disregarded; all other signals are treated as usual; if 1 -
- normal activity. */
- #define CCM_REG_CDU_SM_WR_IFEN 0xd0034
- /* [RW 4] CFC output initial credit. Max credit available - 15.Write writes
- the initial credit value; read returns the current value of the credit
- counter. Must be initialized to 1 at start-up. */
- #define CCM_REG_CFC_INIT_CRD 0xd0204
- /* [RW 2] Auxiliary counter flag Q number 1. */
- #define CCM_REG_CNT_AUX1_Q 0xd00c8
- /* [RW 2] Auxiliary counter flag Q number 2. */
- #define CCM_REG_CNT_AUX2_Q 0xd00cc
- /* [RW 28] The CM header value for QM request (primary). */
- #define CCM_REG_CQM_CCM_HDR_P 0xd008c
- /* [RW 28] The CM header value for QM request (secondary). */
- #define CCM_REG_CQM_CCM_HDR_S 0xd0090
- /* [RW 1] QM - CM Interface enable. If 0 - the valid input is disregarded;
- acknowledge output is deasserted; all other signals are treated as usual;
- if 1 - normal activity. */
- #define CCM_REG_CQM_CCM_IFEN 0xd0014
- /* [RW 6] QM output initial credit. Max credit available - 32. Write writes
- the initial credit value; read returns the current value of the credit
- counter. Must be initialized to 32 at start-up. */
- #define CCM_REG_CQM_INIT_CRD 0xd020c
- /* [RW 3] The weight of the QM (primary) input in the WRR mechanism. 0
- stands for weight 8 (the most prioritised); 1 stands for weight 1(least
- prioritised); 2 stands for weight 2; tc. */
- #define CCM_REG_CQM_P_WEIGHT 0xd00b8
- /* [RW 3] The weight of the QM (secondary) input in the WRR mechanism. 0
- stands for weight 8 (the most prioritised); 1 stands for weight 1(least
- prioritised); 2 stands for weight 2; tc. */
- #define CCM_REG_CQM_S_WEIGHT 0xd00bc
- /* [RW 1] Input SDM Interface enable. If 0 - the valid input is disregarded;
- acknowledge output is deasserted; all other signals are treated as usual;
- if 1 - normal activity. */
- #define CCM_REG_CSDM_IFEN 0xd0018
- /* [RC 1] Set when the message length mismatch (relative to last indication)
- at the SDM interface is detected. */
- #define CCM_REG_CSDM_LENGTH_MIS 0xd0170
- /* [RW 3] The weight of the SDM input in the WRR mechanism. 0 stands for
- weight 8 (the most prioritised); 1 stands for weight 1(least
- prioritised); 2 stands for weight 2; tc. */
- #define CCM_REG_CSDM_WEIGHT 0xd00b4
- /* [RW 28] The CM header for QM formatting in case of an error in the QM
- inputs. */
- #define CCM_REG_ERR_CCM_HDR 0xd0094
- /* [RW 8] The Event ID in case the input message ErrorFlg is set. */
- #define CCM_REG_ERR_EVNT_ID 0xd0098
- /* [RW 8] FIC0 output initial credit. Max credit available - 255. Write
- writes the initial credit value; read returns the current value of the
- credit counter. Must be initialized to 64 at start-up. */
- #define CCM_REG_FIC0_INIT_CRD 0xd0210
- /* [RW 8] FIC1 output initial credit. Max credit available - 255.Write
- writes the initial credit value; read returns the current value of the
- credit counter. Must be initialized to 64 at start-up. */
- #define CCM_REG_FIC1_INIT_CRD 0xd0214
- /* [RW 1] Arbitration between Input Arbiter groups: 0 - fair Round-Robin; 1
- - strict priority defined by ~ccm_registers_gr_ag_pr.gr_ag_pr;
- ~ccm_registers_gr_ld0_pr.gr_ld0_pr and
- ~ccm_registers_gr_ld1_pr.gr_ld1_pr. Groups are according to channels and
- outputs to STORM: aggregation; load FIC0; load FIC1 and store. */
- #define CCM_REG_GR_ARB_TYPE 0xd015c
- /* [RW 2] Load (FIC0) channel group priority. The lowest priority is 0; the
- highest priority is 3. It is supposed; that the Store channel priority is
- the compliment to 4 of the rest priorities - Aggregation channel; Load
- (FIC0) channel and Load (FIC1). */
- #define CCM_REG_GR_LD0_PR 0xd0164
- /* [RW 2] Load (FIC1) channel group priority. The lowest priority is 0; the
- highest priority is 3. It is supposed; that the Store channel priority is
- the compliment to 4 of the rest priorities - Aggregation channel; Load
- (FIC0) channel and Load (FIC1). */
- #define CCM_REG_GR_LD1_PR 0xd0168
- /* [RW 2] General flags index. */
- #define CCM_REG_INV_DONE_Q 0xd0108
- /* [RW 4] The number of double REG-pairs(128 bits); loaded from the STORM
- context and sent to STORM; for a specific connection type. The double
- REG-pairs are used in order to align to STORM context row size of 128
- bits. The offset of these data in the STORM context is always 0. Index
- _(0..15) stands for the connection type (one of 16). */
- #define CCM_REG_N_SM_CTX_LD_0 0xd004c
- #define CCM_REG_N_SM_CTX_LD_1 0xd0050
- #define CCM_REG_N_SM_CTX_LD_2 0xd0054
- #define CCM_REG_N_SM_CTX_LD_3 0xd0058
- #define CCM_REG_N_SM_CTX_LD_4 0xd005c
- /* [RW 1] Input pbf Interface enable. If 0 - the valid input is disregarded;
- acknowledge output is deasserted; all other signals are treated as usual;
- if 1 - normal activity. */
- #define CCM_REG_PBF_IFEN 0xd0028
- /* [RC 1] Set when the message length mismatch (relative to last indication)
- at the pbf interface is detected. */
- #define CCM_REG_PBF_LENGTH_MIS 0xd0180
- /* [RW 3] The weight of the input pbf in the WRR mechanism. 0 stands for
- weight 8 (the most prioritised); 1 stands for weight 1(least
- prioritised); 2 stands for weight 2; tc. */
- #define CCM_REG_PBF_WEIGHT 0xd00ac
- #define CCM_REG_PHYS_QNUM1_0 0xd0134
- #define CCM_REG_PHYS_QNUM1_1 0xd0138
- #define CCM_REG_PHYS_QNUM2_0 0xd013c
- #define CCM_REG_PHYS_QNUM2_1 0xd0140
- #define CCM_REG_PHYS_QNUM3_0 0xd0144
- #define CCM_REG_PHYS_QNUM3_1 0xd0148
- #define CCM_REG_QOS_PHYS_QNUM0_0 0xd0114
- #define CCM_REG_QOS_PHYS_QNUM0_1 0xd0118
- #define CCM_REG_QOS_PHYS_QNUM1_0 0xd011c
- #define CCM_REG_QOS_PHYS_QNUM1_1 0xd0120
- #define CCM_REG_QOS_PHYS_QNUM2_0 0xd0124
- #define CCM_REG_QOS_PHYS_QNUM2_1 0xd0128
- #define CCM_REG_QOS_PHYS_QNUM3_0 0xd012c
- #define CCM_REG_QOS_PHYS_QNUM3_1 0xd0130
- /* [RW 1] STORM - CM Interface enable. If 0 - the valid input is
- disregarded; acknowledge output is deasserted; all other signals are
- treated as usual; if 1 - normal activity. */
- #define CCM_REG_STORM_CCM_IFEN 0xd0010
- /* [RC 1] Set when the message length mismatch (relative to last indication)
- at the STORM interface is detected. */
- #define CCM_REG_STORM_LENGTH_MIS 0xd016c
- /* [RW 3] The weight of the STORM input in the WRR (Weighted Round robin)
- mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for
- weight 1(least prioritised); 2 stands for weight 2 (more prioritised);
- tc. */
- #define CCM_REG_STORM_WEIGHT 0xd009c
- /* [RW 1] Input tsem Interface enable. If 0 - the valid input is
- disregarded; acknowledge output is deasserted; all other signals are
- treated as usual; if 1 - normal activity. */
- #define CCM_REG_TSEM_IFEN 0xd001c
- /* [RC 1] Set when the message length mismatch (relative to last indication)
- at the tsem interface is detected. */
- #define CCM_REG_TSEM_LENGTH_MIS 0xd0174
- /* [RW 3] The weight of the input tsem in the WRR mechanism. 0 stands for
- weight 8 (the most prioritised); 1 stands for weight 1(least
- prioritised); 2 stands for weight 2; tc. */
- #define CCM_REG_TSEM_WEIGHT 0xd00a0
- /* [RW 1] Input usem Interface enable. If 0 - the valid input is
- disregarded; acknowledge output is deasserted; all other signals are
- treated as usual; if 1 - normal activity. */
- #define CCM_REG_USEM_IFEN 0xd0024
- /* [RC 1] Set when message length mismatch (relative to last indication) at
- the usem interface is detected. */
- #define CCM_REG_USEM_LENGTH_MIS 0xd017c
- /* [RW 3] The weight of the input usem in the WRR mechanism. 0 stands for
- weight 8 (the most prioritised); 1 stands for weight 1(least
- prioritised); 2 stands for weight 2; tc. */
- #define CCM_REG_USEM_WEIGHT 0xd00a8
- /* [RW 1] Input xsem Interface enable. If 0 - the valid input is
- disregarded; acknowledge output is deasserted; all other signals are
- treated as usual; if 1 - normal activity. */
- #define CCM_REG_XSEM_IFEN 0xd0020
- /* [RC 1] Set when the message length mismatch (relative to last indication)
- at the xsem interface is detected. */
- #define CCM_REG_XSEM_LENGTH_MIS 0xd0178
- /* [RW 3] The weight of the input xsem in the WRR mechanism. 0 stands for
- weight 8 (the most prioritised); 1 stands for weight 1(least
- prioritised); 2 stands for weight 2; tc. */
- #define CCM_REG_XSEM_WEIGHT 0xd00a4
- /* [RW 19] Indirect access to the descriptor table of the XX protection
- mechanism. The fields are: [5:0] - message length; [12:6] - message
- pointer; 18:13] - next pointer. */
- #define CCM_REG_XX_DESCR_TABLE 0xd0300
- #define CCM_REG_XX_DESCR_TABLE_SIZE 24
- /* [R 7] Used to read the value of XX protection Free counter. */
- #define CCM_REG_XX_FREE 0xd0184
- /* [RW 6] Initial value for the credit counter; responsible for fulfilling
- of the Input Stage XX protection buffer by the XX protection pending
- messages. Max credit available - 127. Write writes the initial credit
- value; read returns the current value of the credit counter. Must be
- initialized to maximum XX protected message size - 2 at start-up. */
- #define CCM_REG_XX_INIT_CRD 0xd0220
- /* [RW 7] The maximum number of pending messages; which may be stored in XX
- protection. At read the ~ccm_registers_xx_free.xx_free counter is read.
- At write comprises the start value of the ~ccm_registers_xx_free.xx_free
- counter. */
- #define CCM_REG_XX_MSG_NUM 0xd0224
- /* [RW 8] The Event ID; sent to the STORM in case of XX overflow. */
- #define CCM_REG_XX_OVFL_EVNT_ID 0xd0044
- /* [RW 18] Indirect access to the XX table of the XX protection mechanism.
- The fields are: [5:0] - tail pointer; 11:6] - Link List size; 17:12] -
- header pointer. */
- #define CCM_REG_XX_TABLE 0xd0280
- #define CDU_REG_CDU_CHK_MASK0 0x101000
- #define CDU_REG_CDU_CHK_MASK1 0x101004
- #define CDU_REG_CDU_CONTROL0 0x101008
- #define CDU_REG_CDU_DEBUG 0x101010
- #define CDU_REG_CDU_GLOBAL_PARAMS 0x101020
- /* [RW 7] Interrupt mask register #0 read/write */
- #define CDU_REG_CDU_INT_MASK 0x10103c
- /* [R 7] Interrupt register #0 read */
- #define CDU_REG_CDU_INT_STS 0x101030
- /* [RW 5] Parity mask register #0 read/write */
- #define CDU_REG_CDU_PRTY_MASK 0x10104c
- /* [R 5] Parity register #0 read */
- #define CDU_REG_CDU_PRTY_STS 0x101040
- /* [RC 5] Parity register #0 read clear */
- #define CDU_REG_CDU_PRTY_STS_CLR 0x101044
- /* [RC 32] logging of error data in case of a CDU load error:
- {expected_cid[15:0]; xpected_type[2:0]; xpected_region[2:0]; ctive_error;
- ype_error; ctual_active; ctual_compressed_context}; */
- #define CDU_REG_ERROR_DATA 0x101014
- /* [WB 216] L1TT ram access. each entry has the following format :
- {mrege_regions[7:0]; ffset12[5:0]...offset0[5:0];
- ength12[5:0]...length0[5:0]; d12[3:0]...id0[3:0]} */
- #define CDU_REG_L1TT 0x101800
- /* [WB 24] MATT ram access. each entry has the following
- format:{RegionLength[11:0]; egionOffset[11:0]} */
- #define CDU_REG_MATT 0x101100
- /* [RW 1] when this bit is set the CDU operates in e1hmf mode */
- #define CDU_REG_MF_MODE 0x101050
- /* [R 1] indication the initializing the activity counter by the hardware
- was done. */
- #define CFC_REG_AC_INIT_DONE 0x104078
- /* [RW 13] activity counter ram access */
- #define CFC_REG_ACTIVITY_COUNTER 0x104400
- #define CFC_REG_ACTIVITY_COUNTER_SIZE 256
- /* [R 1] indication the initializing the cams by the hardware was done. */
- #define CFC_REG_CAM_INIT_DONE 0x10407c
- /* [RW 2] Interrupt mask register #0 read/write */
- #define CFC_REG_CFC_INT_MASK 0x104108
- /* [R 2] Interrupt register #0 read */
- #define CFC_REG_CFC_INT_STS 0x1040fc
- /* [RC 2] Interrupt register #0 read clear */
- #define CFC_REG_CFC_INT_STS_CLR 0x104100
- /* [RW 4] Parity mask register #0 read/write */
- #define CFC_REG_CFC_PRTY_MASK 0x104118
- /* [R 4] Parity register #0 read */
- #define CFC_REG_CFC_PRTY_STS 0x10410c
- /* [RC 4] Parity register #0 read clear */
- #define CFC_REG_CFC_PRTY_STS_CLR 0x104110
- /* [RW 21] CID cam access (21:1 - Data; alid - 0) */
- #define CFC_REG_CID_CAM 0x104800
- #define CFC_REG_CONTROL0 0x104028
- #define CFC_REG_DEBUG0 0x104050
- /* [RW 14] indicates per error (in #cfc_registers_cfc_error_vector.cfc_error
- vector) whether the cfc should be disabled upon it */
- #define CFC_REG_DISABLE_ON_ERROR 0x104044
- /* [RC 14] CFC error vector. when the CFC detects an internal error it will
- set one of these bits. the bit description can be found in CFC
- specifications */
- #define CFC_REG_ERROR_VECTOR 0x10403c
- /* [WB 93] LCID info ram access */
- #define CFC_REG_INFO_RAM 0x105000
- #define CFC_REG_INFO_RAM_SIZE 1024
- #define CFC_REG_INIT_REG 0x10404c
- #define CFC_REG_INTERFACES 0x104058
- /* [RW 24] {weight_load_client7[2:0] to weight_load_client0[2:0]}. this
- field allows changing the priorities of the weighted-round-robin arbiter
- which selects which CFC load client should be served next */
- #define CFC_REG_LCREQ_WEIGHTS 0x104084
- /* [RW 16] Link List ram access; data = {prev_lcid; ext_lcid} */
- #define CFC_REG_LINK_LIST 0x104c00
- #define CFC_REG_LINK_LIST_SIZE 256
- /* [R 1] indication the initializing the link list by the hardware was done. */
- #define CFC_REG_LL_INIT_DONE 0x104074
- /* [R 9] Number of allocated LCIDs which are at empty state */
- #define CFC_REG_NUM_LCIDS_ALLOC 0x104020
- /* [R 9] Number of Arriving LCIDs in Link List Block */
- #define CFC_REG_NUM_LCIDS_ARRIVING 0x104004
- #define CFC_REG_NUM_LCIDS_INSIDE_PF 0x104120
- /* [R 9] Number of Leaving LCIDs in Link List Block */
- #define CFC_REG_NUM_LCIDS_LEAVING 0x104018
- #define CFC_REG_WEAK_ENABLE_PF 0x104124
- /* [RW 8] The event id for aggregated interrupt 0 */
- #define CSDM_REG_AGG_INT_EVENT_0 0xc2038
- #define CSDM_REG_AGG_INT_EVENT_10 0xc2060
- #define CSDM_REG_AGG_INT_EVENT_11 0xc2064
- #define CSDM_REG_AGG_INT_EVENT_12 0xc2068
- #define CSDM_REG_AGG_INT_EVENT_13 0xc206c
- #define CSDM_REG_AGG_INT_EVENT_14 0xc2070
- #define CSDM_REG_AGG_INT_EVENT_15 0xc2074
- #define CSDM_REG_AGG_INT_EVENT_16 0xc2078
- #define CSDM_REG_AGG_INT_EVENT_2 0xc2040
- #define CSDM_REG_AGG_INT_EVENT_3 0xc2044
- #define CSDM_REG_AGG_INT_EVENT_4 0xc2048
- #define CSDM_REG_AGG_INT_EVENT_5 0xc204c
- #define CSDM_REG_AGG_INT_EVENT_6 0xc2050
- #define CSDM_REG_AGG_INT_EVENT_7 0xc2054
- #define CSDM_REG_AGG_INT_EVENT_8 0xc2058
- #define CSDM_REG_AGG_INT_EVENT_9 0xc205c
- /* [RW 1] For each aggregated interrupt index whether the mode is normal (0)
- or auto-mask-mode (1) */
- #define CSDM_REG_AGG_INT_MODE_10 0xc21e0
- #define CSDM_REG_AGG_INT_MODE_11 0xc21e4
- #define CSDM_REG_AGG_INT_MODE_12 0xc21e8
- #define CSDM_REG_AGG_INT_MODE_13 0xc21ec
- #define CSDM_REG_AGG_INT_MODE_14 0xc21f0
- #define CSDM_REG_AGG_INT_MODE_15 0xc21f4
- #define CSDM_REG_AGG_INT_MODE_16 0xc21f8
- #define CSDM_REG_AGG_INT_MODE_6 0xc21d0
- #define CSDM_REG_AGG_INT_MODE_7 0xc21d4
- #define CSDM_REG_AGG_INT_MODE_8 0xc21d8
- #define CSDM_REG_AGG_INT_MODE_9 0xc21dc
- /* [RW 13] The start address in the internal RAM for the cfc_rsp lcid */
- #define CSDM_REG_CFC_RSP_START_ADDR 0xc2008
- /* [RW 16] The maximum value of the completion counter #0 */
- #define CSDM_REG_CMP_COUNTER_MAX0 0xc201c
- /* [RW 16] The maximum value of the completion counter #1 */
- #define CSDM_REG_CMP_COUNTER_MAX1 0xc2020
- /* [RW 16] The maximum value of the completion counter #2 */
- #define CSDM_REG_CMP_COUNTER_MAX2 0xc2024
- /* [RW 16] The maximum value of the completion counter #3 */
- #define CSDM_REG_CMP_COUNTER_MAX3 0xc2028
- /* [RW 13] The start address in the internal RAM for the completion
- counters. */
- #define CSDM_REG_CMP_COUNTER_START_ADDR 0xc200c
- /* [RW 32] Interrupt mask register #0 read/write */
- #define CSDM_REG_CSDM_INT_MASK_0 0xc229c
- #define CSDM_REG_CSDM_INT_MASK_1 0xc22ac
- /* [R 32] Interrupt register #0 read */
- #define CSDM_REG_CSDM_INT_STS_0 0xc2290
- #define CSDM_REG_CSDM_INT_STS_1 0xc22a0
- /* [RW 11] Parity mask register #0 read/write */
- #define CSDM_REG_CSDM_PRTY_MASK 0xc22bc
- /* [R 11] Parity register #0 read */
- #define CSDM_REG_CSDM_PRTY_STS 0xc22b0
- /* [RC 11] Parity register #0 read clear */
- #define CSDM_REG_CSDM_PRTY_STS_CLR 0xc22b4
- #define CSDM_REG_ENABLE_IN1 0xc2238
- #define CSDM_REG_ENABLE_IN2 0xc223c
- #define CSDM_REG_ENABLE_OUT1 0xc2240
- #define CSDM_REG_ENABLE_OUT2 0xc2244
- /* [RW 4] The initial number of messages that can be sent to the pxp control
- interface without receiving any ACK. */
- #define CSDM_REG_INIT_CREDIT_PXP_CTRL 0xc24bc
- /* [ST 32] The number of ACK after placement messages received */
- #define CSDM_REG_NUM_OF_ACK_AFTER_PLACE 0xc227c
- /* [ST 32] The number of packet end messages received from the parser */
- #define CSDM_REG_NUM_OF_PKT_END_MSG 0xc2274
- /* [ST 32] The number of requests received from the pxp async if */
- #define CSDM_REG_NUM_OF_PXP_ASYNC_REQ 0xc2278
- /* [ST 32] The number of commands received in queue 0 */
- #define CSDM_REG_NUM_OF_Q0_CMD 0xc2248
- /* [ST 32] The number of commands received in queue 10 */
- #define CSDM_REG_NUM_OF_Q10_CMD 0xc226c
- /* [ST 32] The number of commands received in queue 11 */
- #define CSDM_REG_NUM_OF_Q11_CMD 0xc2270
- /* [ST 32] The number of commands received in queue 1 */
- #define CSDM_REG_NUM_OF_Q1_CMD 0xc224c
- /* [ST 32] The number of commands received in queue 3 */
- #define CSDM_REG_NUM_OF_Q3_CMD 0xc2250
- /* [ST 32] The number of commands received in queue 4 */
- #define CSDM_REG_NUM_OF_Q4_CMD 0xc2254
- /* [ST 32] The number of commands received in queue 5 */
- #define CSDM_REG_NUM_OF_Q5_CMD 0xc2258
- /* [ST 32] The number of commands received in queue 6 */
- #define CSDM_REG_NUM_OF_Q6_CMD 0xc225c
- /* [ST 32] The number of commands received in queue 7 */
- #define CSDM_REG_NUM_OF_Q7_CMD 0xc2260
- /* [ST 32] The number of commands received in queue 8 */
- #define CSDM_REG_NUM_OF_Q8_CMD 0xc2264
- /* [ST 32] The number of commands received in queue 9 */
- #define CSDM_REG_NUM_OF_Q9_CMD 0xc2268
- /* [RW 13] The start address in the internal RAM for queue counters */
- #define CSDM_REG_Q_COUNTER_START_ADDR 0xc2010
- /* [R 1] pxp_ctrl rd_data fifo empty in sdm_dma_rsp block */
- #define CSDM_REG_RSP_PXP_CTRL_RDATA_EMPTY 0xc2548
- /* [R 1] parser fifo empty in sdm_sync block */
- #define CSDM_REG_SYNC_PARSER_EMPTY 0xc2550
- /* [R 1] parser serial fifo empty in sdm_sync block */
- #define CSDM_REG_SYNC_SYNC_EMPTY 0xc2558
- /* [RW 32] Tick for timer counter. Applicable only when
- ~csdm_registers_timer_tick_enable.timer_tick_enable =1 */
- #define CSDM_REG_TIMER_TICK 0xc2000
- /* [RW 5] The number of time_slots in the arbitration cycle */
- #define CSEM_REG_ARB_CYCLE_SIZE 0x200034
- /* [RW 3] The source that is associated with arbitration element 0. Source
- decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3-
- sleeping thread with priority 1; 4- sleeping thread with priority 2 */
- #define CSEM_REG_ARB_ELEMENT0 0x200020
- /* [RW 3] The source that is associated with arbitration element 1. Source
- decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3-
- sleeping thread with priority 1; 4- sleeping thread with priority 2.
- Could not be equal to register ~csem_registers_arb_element0.arb_element0 */
- #define CSEM_REG_ARB_ELEMENT1 0x200024
- /* [RW 3] The source that is associated with arbitration element 2. Source
- decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3-
- sleeping thread with priority 1; 4- sleeping thread with priority 2.
- Could not be equal to register ~csem_registers_arb_element0.arb_element0
- and ~csem_registers_arb_element1.arb_element1 */
- #define CSEM_REG_ARB_ELEMENT2 0x200028
- /* [RW 3] The source that is associated with arbitration element 3. Source
- decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3-
- sleeping thread with priority 1; 4- sleeping thread with priority 2.Could
- not be equal to register ~csem_registers_arb_element0.arb_element0 and
- ~csem_registers_arb_element1.arb_element1 and
- ~csem_registers_arb_element2.arb_element2 */
- #define CSEM_REG_ARB_ELEMENT3 0x20002c
- /* [RW 3] The source that is associated with arbitration element 4. Source
- decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3-
- sleeping thread with priority 1; 4- sleeping thread with priority 2.
- Could not be equal to register ~csem_registers_arb_element0.arb_element0
- and ~csem_registers_arb_element1.arb_element1 and
- ~csem_registers_arb_element2.arb_element2 and
- ~csem_registers_arb_element3.arb_element3 */
- #define CSEM_REG_ARB_ELEMENT4 0x200030
- /* [RW 32] Interrupt mask register #0 read/write */
- #define CSEM_REG_CSEM_INT_MASK_0 0x200110
- #define CSEM_REG_CSEM_INT_MASK_1 0x200120
- /* [R 32] Interrupt register #0 read */
- #define CSEM_REG_CSEM_INT_STS_0 0x200104
- #define CSEM_REG_CSEM_INT_STS_1 0x200114
- /* [RW 32] Parity mask register #0 read/write */
- #define CSEM_REG_CSEM_PRTY_MASK_0 0x200130
- #define CSEM_REG_CSEM_PRTY_MASK_1 0x200140
- /* [R 32] Parity register #0 read */
- #define CSEM_REG_CSEM_PRTY_STS_0 0x200124
- #define CSEM_REG_CSEM_PRTY_STS_1 0x200134
- /* [RC 32] Parity register #0 read clear */
- #define CSEM_REG_CSEM_PRTY_STS_CLR_0 0x200128
- #define CSEM_REG_CSEM_PRTY_STS_CLR_1 0x200138
- #define CSEM_REG_ENABLE_IN 0x2000a4
- #define CSEM_REG_ENABLE_OUT 0x2000a8
- /* [RW 32] This address space contains all registers and memories that are
- placed in SEM_FAST block. The SEM_FAST registers are described in
- appendix B. In order to access the sem_fast registers the base address
- ~fast_memory.fast_memory should be added to eachsem_fast register offset. */
- #define CSEM_REG_FAST_MEMORY 0x220000
- /* [RW 1] Disables input messages from FIC0 May be updated during run_time
- by the microcode */
- #define CSEM_REG_FIC0_DISABLE 0x200224
- /* [RW 1] Disables input messages from FIC1 May be updated during run_time
- by the microcode */
- #define CSEM_REG_FIC1_DISABLE 0x200234
- /* [RW 15] Interrupt table Read and write access to it is not possible in
- the middle of the work */
- #define CSEM_REG_INT_TABLE 0x200400
- /* [ST 24] Statistics register. The number of messages that entered through
- FIC0 */
- #define CSEM_REG_MSG_NUM_FIC0 0x200000
- /* [ST 24] Statistics register. The number of messages that entered through
- FIC1 */
- #define CSEM_REG_MSG_NUM_FIC1 0x200004
- /* [ST 24] Statistics register. The number of messages that were sent to
- FOC0 */
- #define CSEM_REG_MSG_NUM_FOC0 0x200008
- /* [ST 24] Statistics register. The number of messages that were sent to
- FOC1 */
- #define CSEM_REG_MSG_NUM_FOC1 0x20000c
- /* [ST 24] Statistics register. The number of messages that were sent to
- FOC2 */
- #define CSEM_REG_MSG_NUM_FOC2 0x200010
- /* [ST 24] Statistics register. The number of messages that were sent to
- FOC3 */
- #define CSEM_REG_MSG_NUM_FOC3 0x200014
- /* [RW 1] Disables input messages from the passive buffer May be updated
- during run_time by the microcode */
- #define CSEM_REG_PAS_DISABLE 0x20024c
- /* [WB 128] Debug only. Passive buffer memory */
- #define CSEM_REG_PASSIVE_BUFFER 0x202000
- /* [WB 46] pram memory. B45 is parity; b[44:0] - data. */
- #define CSEM_REG_PRAM 0x240000
- /* [R 16] Valid sleeping threads indication have bit per thread */
- #define CSEM_REG_SLEEP_THREADS_VALID 0x20026c
- /* [R 1] EXT_STORE FIFO is empty in sem_slow_ls_ext */
- #define CSEM_REG_SLOW_EXT_STORE_EMPTY 0x2002a0
- /* [RW 16] List of free threads . There is a bit per thread. */
- #define CSEM_REG_THREADS_LIST 0x2002e4
- /* [RW 3] The arbitration scheme of time_slot 0 */
- #define CSEM_REG_TS_0_AS 0x200038
- /* [RW 3] The arbitration scheme of time_slot 10 */
- #define CSEM_REG_TS_10_AS 0x200060
- /* [RW 3] The arbitration scheme of time_slot 11 */
- #define CSEM_REG_TS_11_AS 0x200064
- /* [RW 3] The arbitration scheme of time_slot 12 */
- #define CSEM_REG_TS_12_AS 0x200068
- /* [RW 3] The arbitration scheme of time_slot 13 */
- #define CSEM_REG_TS_13_AS 0x20006c
- /* [RW 3] The arbitration scheme of time_slot 14 */
- #define CSEM_REG_TS_14_AS 0x200070
- /* [RW 3] The arbitration scheme of time_slot 15 */
- #define CSEM_REG_TS_15_AS 0x200074
- /* [RW 3] The arbitration scheme of time_slot 16 */
- #define CSEM_REG_TS_16_AS 0x200078
- /* [RW 3] The arbitration scheme of time_slot 17 */
- #define CSEM_REG_TS_17_AS 0x20007c
- /* [RW 3] The arbitration scheme of time_slot 18 */
- #define CSEM_REG_TS_18_AS 0x200080
- /* [RW 3] The arbitration scheme of time_slot 1 */
- #define CSEM_REG_TS_1_AS 0x20003c
- /* [RW 3] The arbitration scheme of time_slot 2 */
- #define CSEM_REG_TS_2_AS 0x200040
- /* [RW 3] The arbitration scheme of time_slot 3 */
- #define CSEM_REG_TS_3_AS 0x200044
- /* [RW 3] The arbitration scheme of time_slot 4 */
- #define CSEM_REG_TS_4_AS 0x200048
- /* [RW 3] The arbitration scheme of time_slot 5 */
- #define CSEM_REG_TS_5_AS 0x20004c
- /* [RW 3] The arbitration scheme of time_slot 6 */
- #define CSEM_REG_TS_6_AS 0x200050
- /* [RW 3] The arbitration scheme of time_slot 7 */
- #define CSEM_REG_TS_7_AS 0x200054
- /* [RW 3] The arbitration scheme of time_slot 8 */
- #define CSEM_REG_TS_8_AS 0x200058
- /* [RW 3] The arbitration scheme of time_slot 9 */
- #define CSEM_REG_TS_9_AS 0x20005c
- /* [W 7] VF or PF ID for reset error bit. Values 0-63 reset error bit for 64
- * VF; values 64-67 reset error for 4 PF; values 68-127 are not valid. */
- #define CSEM_REG_VFPF_ERR_NUM 0x200380
- /* [RW 1] Parity mask register #0 read/write */
- #define DBG_REG_DBG_PRTY_MASK 0xc0a8
- /* [R 1] Parity register #0 read */
- #define DBG_REG_DBG_PRTY_STS 0xc09c
- /* [RC 1] Parity register #0 read clear */
- #define DBG_REG_DBG_PRTY_STS_CLR 0xc0a0
- /* [RW 1] When set the DMAE will process the commands as in E1.5. 1.The
- * function that is used is always SRC-PCI; 2.VF_Valid = 0; 3.VFID=0;
- * 4.Completion function=0; 5.Error handling=0 */
- #define DMAE_REG_BACKWARD_COMP_EN 0x10207c
- /* [RW 32] Commands memory. The address to command X; row Y is to calculated
- as 14*X+Y. */
- #define DMAE_REG_CMD_MEM 0x102400
- #define DMAE_REG_CMD_MEM_SIZE 224
- /* [RW 1] If 0 - the CRC-16c initial value is all zeroes; if 1 - the CRC-16c
- initial value is all ones. */
- #define DMAE_REG_CRC16C_INIT 0x10201c
- /* [RW 1] If 0 - the CRC-16 T10 initial value is all zeroes; if 1 - the
- CRC-16 T10 initial value is all ones. */
- #define DMAE_REG_CRC16T10_INIT 0x102020
- /* [RW 2] Interrupt mask register #0 read/write */
- #define DMAE_REG_DMAE_INT_MASK 0x102054
- /* [RW 4] Parity mask register #0 read/write */
- #define DMAE_REG_DMAE_PRTY_MASK 0x102064
- /* [R 4] Parity register #0 read */
- #define DMAE_REG_DMAE_PRTY_STS 0x102058
- /* [RC 4] Parity register #0 read clear */
- #define DMAE_REG_DMAE_PRTY_STS_CLR 0x10205c
- /* [RW 1] Command 0 go. */
- #define DMAE_REG_GO_C0 0x102080
- /* [RW 1] Command 1 go. */
- #define DMAE_REG_GO_C1 0x102084
- /* [RW 1] Command 10 go. */
- #define DMAE_REG_GO_C10 0x102088
- /* [RW 1] Command 11 go. */
- #define DMAE_REG_GO_C11 0x10208c
- /* [RW 1] Command 12 go. */
- #define DMAE_REG_GO_C12 0x102090
- /* [RW 1] Command 13 go. */
- #define DMAE_REG_GO_C13 0x102094
- /* [RW 1] Command 14 go. */
- #define DMAE_REG_GO_C14 0x102098
- /* [RW 1] Command 15 go. */
- #define DMAE_REG_GO_C15 0x10209c
- /* [RW 1] Command 2 go. */
- #define DMAE_REG_GO_C2 0x1020a0
- /* [RW 1] Command 3 go. */
- #define DMAE_REG_GO_C3 0x1020a4
- /* [RW 1] Command 4 go. */
- #define DMAE_REG_GO_C4 0x1020a8
- /* [RW 1] Command 5 go. */
- #define DMAE_REG_GO_C5 0x1020ac
- /* [RW 1] Command 6 go. */
- #define DMAE_REG_GO_C6 0x1020b0
- /* [RW 1] Command 7 go. */
- #define DMAE_REG_GO_C7 0x1020b4
- /* [RW 1] Command 8 go. */
- #define DMAE_REG_GO_C8 0x1020b8
- /* [RW 1] Command 9 go. */
- #define DMAE_REG_GO_C9 0x1020bc
- /* [RW 1] DMAE GRC Interface (Target; aster) enable. If 0 - the acknowledge
- input is disregarded; valid is deasserted; all other signals are treated
- as usual; if 1 - normal activity. */
- #define DMAE_REG_GRC_IFEN 0x102008
- /* [RW 1] DMAE PCI Interface (Request; ead; rite) enable. If 0 - the
- acknowledge input is disregarded; valid is deasserted; full is asserted;
- all other signals are treated as usual; if 1 - normal activity. */
- #define DMAE_REG_PCI_IFEN 0x102004
- /* [RW 4] DMAE- PCI Request Interface initial credit. Write writes the
- initial value to the credit counter; related to the address. Read returns
- the current value of the counter. */
- #define DMAE_REG_PXP_REQ_INIT_CRD 0x1020c0
- /* [RW 8] Aggregation command. */
- #define DORQ_REG_AGG_CMD0 0x170060
- /* [RW 8] Aggregation command. */
- #define DORQ_REG_AGG_CMD1 0x170064
- /* [RW 8] Aggregation command. */
- #define DORQ_REG_AGG_CMD2 0x170068
- /* [RW 8] Aggregation command. */
- #define DORQ_REG_AGG_CMD3 0x17006c
- /* [RW 28] UCM Header. */
- #define DORQ_REG_CMHEAD_RX 0x170050
- /* [RW 32] Doorbell address for RBC doorbells (function 0). */
- #define DORQ_REG_DB_ADDR0 0x17008c
- /* [RW 5] Interrupt mask register #0 read/write */
- #define DORQ_REG_DORQ_INT_MASK 0x170180
- /* [R 5] Interrupt register #0 read */
- #define DORQ_REG_DORQ_INT_STS 0x170174
- /* [RC 5] Interrupt register #0 read clear */
- #define DORQ_REG_DORQ_INT_STS_CLR 0x170178
- /* [RW 2] Parity mask register #0 read/write */
- #define DORQ_REG_DORQ_PRTY_MASK 0x170190
- /* [R 2] Parity register #0 read */
- #define DORQ_REG_DORQ_PRTY_STS 0x170184
- /* [RC 2] Parity register #0 read clear */
- #define DORQ_REG_DORQ_PRTY_STS_CLR 0x170188
- /* [RW 8] The address to write the DPM CID to STORM. */
- #define DORQ_REG_DPM_CID_ADDR 0x170044
- /* [RW 5] The DPM mode CID extraction offset. */
- #define DORQ_REG_DPM_CID_OFST 0x170030
- /* [RW 12] The threshold of the DQ FIFO to send the almost full interrupt. */
- #define DORQ_REG_DQ_FIFO_AFULL_TH 0x17007c
- /* [RW 12] The threshold of the DQ FIFO to send the full interrupt. */
- #define DORQ_REG_DQ_FIFO_FULL_TH 0x170078
- /* [R 13] Current value of the DQ FIFO fill level according to following
- pointer. The range is 0 - 256 FIFO rows; where each row stands for the
- doorbell. */
- #define DORQ_REG_DQ_FILL_LVLF 0x1700a4
- /* [R 1] DQ FIFO full status. Is set; when FIFO filling level is more or
- equal to full threshold; reset on full clear. */
- #define DORQ_REG_DQ_FULL_ST 0x1700c0
- /* [RW 28] The value sent to CM header in the case of CFC load error. */
- #define DORQ_REG_ERR_CMHEAD 0x170058
- #define DORQ_REG_IF_EN 0x170004
- #define DORQ_REG_MAX_RVFID_SIZE 0x1701ec
- #define DORQ_REG_MODE_ACT 0x170008
- /* [RW 5] The normal mode CID extraction offset. */
- #define DORQ_REG_NORM_CID_OFST 0x17002c
- /* [RW 28] TCM Header when only TCP context is loaded. */
- #define DORQ_REG_NORM_CMHEAD_TX 0x17004c
- /* [RW 3] The number of simultaneous outstanding requests to Context Fetch
- Interface. */
- #define DORQ_REG_OUTST_REQ 0x17003c
- #define DORQ_REG_PF_USAGE_CNT 0x1701d0
- #define DORQ_REG_REGN 0x170038
- /* [R 4] Current value of response A counter credit. Initial credit is
- configured through write to ~dorq_registers_rsp_init_crd.rsp_init_crd
- register. */
- #define DORQ_REG_RSPA_CRD_CNT 0x1700ac
- /* [R 4] Current value of response B counter credit. Initial credit is
- configured through write to ~dorq_registers_rsp_init_crd.rsp_init_crd
- register. */
- #define DORQ_REG_RSPB_CRD_CNT 0x1700b0
- /* [RW 4] The initial credit at the Doorbell Response Interface. The write
- writes the same initial credit to the rspa_crd_cnt and rspb_crd_cnt. The
- read reads this written value. */
- #define DORQ_REG_RSP_INIT_CRD 0x170048
- #define DORQ_REG_RSPB_CRD_CNT 0x1700b0
- #define DORQ_REG_VF_NORM_CID_BASE 0x1701a0
- #define DORQ_REG_VF_NORM_CID_OFST 0x1701f4
- #define DORQ_REG_VF_NORM_CID_WND_SIZE 0x1701a4
- #define DORQ_REG_VF_NORM_MAX_CID_COUNT 0x1701e4
- #define DORQ_REG_VF_NORM_VF_BASE 0x1701a8
- /* [RW 10] VF type validation mask value */
- #define DORQ_REG_VF_TYPE_MASK_0 0x170218
- /* [RW 17] VF type validation Min MCID value */
- #define DORQ_REG_VF_TYPE_MAX_MCID_0 0x1702d8
- /* [RW 17] VF type validation Max MCID value */
- #define DORQ_REG_VF_TYPE_MIN_MCID_0 0x170298
- /* [RW 10] VF type validation comp value */
- #define DORQ_REG_VF_TYPE_VALUE_0 0x170258
- #define DORQ_REG_VF_USAGE_CT_LIMIT 0x170340
- /* [RW 4] Initial activity counter value on the load request; when the
- shortcut is done. */
- #define DORQ_REG_SHRT_ACT_CNT 0x170070
- /* [RW 28] TCM Header when both ULP and TCP context is loaded. */
- #define DORQ_REG_SHRT_CMHEAD 0x170054
- #define HC_CONFIG_0_REG_ATTN_BIT_EN_0 (0x1<<4)
- #define HC_CONFIG_0_REG_BLOCK_DISABLE_0 (0x1<<0)
- #define HC_CONFIG_0_REG_INT_LINE_EN_0 (0x1<<3)
- #define HC_CONFIG_0_REG_MSI_ATTN_EN_0 (0x1<<7)
- #define HC_CONFIG_0_REG_MSI_MSIX_INT_EN_0 (0x1<<2)
- #define HC_CONFIG_0_REG_SINGLE_ISR_EN_0 (0x1<<1)
- #define HC_CONFIG_1_REG_BLOCK_DISABLE_1 (0x1<<0)
- #define DORQ_REG_VF_USAGE_CNT 0x170320
- #define HC_REG_AGG_INT_0 0x108050
- #define HC_REG_AGG_INT_1 0x108054
- #define HC_REG_ATTN_BIT 0x108120
- #define HC_REG_ATTN_IDX 0x108100
- #define HC_REG_ATTN_MSG0_ADDR_L 0x108018
- #define HC_REG_ATTN_MSG1_ADDR_L 0x108020
- #define HC_REG_ATTN_NUM_P0 0x108038
- #define HC_REG_ATTN_NUM_P1 0x10803c
- #define HC_REG_COMMAND_REG 0x108180
- #define HC_REG_CONFIG_0 0x108000
- #define HC_REG_CONFIG_1 0x108004
- #define HC_REG_FUNC_NUM_P0 0x1080ac
- #define HC_REG_FUNC_NUM_P1 0x1080b0
- /* [RW 3] Parity mask register #0 read/write */
- #define HC_REG_HC_PRTY_MASK 0x1080a0
- /* [R 3] Parity register #0 read */
- #define HC_REG_HC_PRTY_STS 0x108094
- /* [RC 3] Parity register #0 read clear */
- #define HC_REG_HC_PRTY_STS_CLR 0x108098
- #define HC_REG_INT_MASK 0x108108
- #define HC_REG_LEADING_EDGE_0 0x108040
- #define HC_REG_LEADING_EDGE_1 0x108048
- #define HC_REG_MAIN_MEMORY 0x108800
- #define HC_REG_MAIN_MEMORY_SIZE 152
- #define HC_REG_P0_PROD_CONS 0x108200
- #define HC_REG_P1_PROD_CONS 0x108400
- #define HC_REG_PBA_COMMAND 0x108140
- #define HC_REG_PCI_CONFIG_0 0x108010
- #define HC_REG_PCI_CONFIG_1 0x108014
- #define HC_REG_STATISTIC_COUNTERS 0x109000
- #define HC_REG_TRAILING_EDGE_0 0x108044
- #define HC_REG_TRAILING_EDGE_1 0x10804c
- #define HC_REG_UC_RAM_ADDR_0 0x108028
- #define HC_REG_UC_RAM_ADDR_1 0x108030
- #define HC_REG_USTORM_ADDR_FOR_COALESCE 0x108068
- #define HC_REG_VQID_0 0x108008
- #define HC_REG_VQID_1 0x10800c
- #define IGU_BLOCK_CONFIGURATION_REG_BACKWARD_COMP_EN (0x1<<1)
- #define IGU_BLOCK_CONFIGURATION_REG_BLOCK_ENABLE (0x1<<0)
- #define IGU_REG_ATTENTION_ACK_BITS 0x130108
- /* [R 4] Debug: attn_fsm */
- #define IGU_REG_ATTN_FSM 0x130054
- #define IGU_REG_ATTN_MSG_ADDR_H 0x13011c
- #define IGU_REG_ATTN_MSG_ADDR_L 0x130120
- /* [R 4] Debug: [3] - attention write done message is pending (0-no pending;
- * 1-pending). [2:0] = PFID. Pending means attention message was sent; but
- * write done didn't receive. */
- #define IGU_REG_ATTN_WRITE_DONE_PENDING 0x130030
- #define IGU_REG_BLOCK_CONFIGURATION 0x130000
- #define IGU_REG_COMMAND_REG_32LSB_DATA 0x130124
- #define IGU_REG_COMMAND_REG_CTRL 0x13012c
- /* [WB_R 32] Cleanup bit status per SB. 1 = cleanup is set. 0 = cleanup bit
- * is clear. The bits in this registers are set and clear via the producer
- * command. Data valid only in addresses 0-4. all the rest are zero. */
- #define IGU_REG_CSTORM_TYPE_0_SB_CLEANUP 0x130200
- /* [R 5] Debug: ctrl_fsm */
- #define IGU_REG_CTRL_FSM 0x130064
- /* [R 1] data available for error memory. If this bit is clear do not red
- * from error_handling_memory. */
- #define IGU_REG_ERROR_HANDLING_DATA_VALID 0x130130
- /* [RW 11] Parity mask register #0 read/write */
- #define IGU_REG_IGU_PRTY_MASK 0x1300a8
- /* [R 11] Parity register #0 read */
- #define IGU_REG_IGU_PRTY_STS 0x13009c
- /* [RC 11] Parity register #0 read clear */
- #define IGU_REG_IGU_PRTY_STS_CLR 0x1300a0
- /* [R 4] Debug: int_handle_fsm */
- #define IGU_REG_INT_HANDLE_FSM 0x130050
- #define IGU_REG_LEADING_EDGE_LATCH 0x130134
- /* [RW 14] mapping CAM; relevant for E2 operating mode only. [0] - valid.
- * [6:1] - vector number; [13:7] - FID (if VF - [13] = 0; [12:7] = VF
- * number; if PF - [13] = 1; [12:10] = 0; [9:7] = PF number); */
- #define IGU_REG_MAPPING_MEMORY 0x131000
- #define IGU_REG_MAPPING_MEMORY_SIZE 136
- #define IGU_REG_PBA_STATUS_LSB 0x130138
- #define IGU_REG_PBA_STATUS_MSB 0x13013c
- #define IGU_REG_PCI_PF_MSI_EN 0x130140
- #define IGU_REG_PCI_PF_MSIX_EN 0x130144
- #define IGU_REG_PCI_PF_MSIX_FUNC_MASK 0x130148
- /* [WB_R 32] Each bit represent the pending bits status for that SB. 0 = no
- * pending; 1 = pending. Pendings means interrupt was asserted; and write
- * done was not received. Data valid only in addresses 0-4. all the rest are
- * zero. */
- #define IGU_REG_PENDING_BITS_STATUS 0x130300
- #define IGU_REG_PF_CONFIGURATION 0x130154
- /* [RW 20] producers only. E2 mode: address 0-135 match to the mapping
- * memory; 136 - PF0 default prod; 137 PF1 default prod; 138 - PF2 default
- * prod; 139 PF3 default prod; 140 - PF0 - ATTN prod; 141 - PF1 - ATTN prod;
- * 142 - PF2 - ATTN prod; 143 - PF3 - ATTN prod; 144-147 reserved. E1.5 mode
- * - In backward compatible mode; for non default SB; each even line in the
- * memory holds the U producer and each odd line hold the C producer. The
- * first 128 producer are for NDSB (PF0 - 0-31; PF1 - 32-63 and so on). The
- * last 20 producers are for the DSB for each PF. each PF has five segments
- * (the order inside each segment is PF0; PF1; PF2; PF3) - 128-131 U prods;
- * 132-135 C prods; 136-139 X prods; 140-143 T prods; 144-147 ATTN prods; */
- #define IGU_REG_PROD_CONS_MEMORY 0x132000
- /* [R 3] Debug: pxp_arb_fsm */
- #define IGU_REG_PXP_ARB_FSM 0x130068
- /* [RW 6] Write one for each bit will reset the appropriate memory. When the
- * memory reset finished the appropriate bit will be clear. Bit 0 - mapping
- * memory; Bit 1 - SB memory; Bit 2 - SB interrupt and mask register; Bit 3
- * - MSIX memory; Bit 4 - PBA memory; Bit 5 - statistics; */
- #define IGU_REG_RESET_MEMORIES 0x130158
- /* [R 4] Debug: sb_ctrl_fsm */
- #define IGU_REG_SB_CTRL_FSM 0x13004c
- #define IGU_REG_SB_INT_BEFORE_M…