aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2x_reg.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/bnx2x_reg.h')
-rw-r--r--drivers/net/bnx2x_reg.h1969
1 files changed, 1484 insertions, 485 deletions
diff --git a/drivers/net/bnx2x_reg.h b/drivers/net/bnx2x_reg.h
index 5a1aa0b55044..15c9a9946724 100644
--- a/drivers/net/bnx2x_reg.h
+++ b/drivers/net/bnx2x_reg.h
@@ -38,21 +38,19 @@
38 was asserted. */ 38 was asserted. */
39#define BRB1_REG_NUM_OF_FULL_CYCLES_0 0x600c8 39#define BRB1_REG_NUM_OF_FULL_CYCLES_0 0x600c8
40#define BRB1_REG_NUM_OF_FULL_CYCLES_1 0x600cc 40#define BRB1_REG_NUM_OF_FULL_CYCLES_1 0x600cc
41#define BRB1_REG_NUM_OF_FULL_CYCLES_2 0x600d0
42#define BRB1_REG_NUM_OF_FULL_CYCLES_3 0x600d4
43#define BRB1_REG_NUM_OF_FULL_CYCLES_4 0x600d8 41#define BRB1_REG_NUM_OF_FULL_CYCLES_4 0x600d8
44/* [ST 32] The number of cycles that the pause signal towards MAC #0 was 42/* [ST 32] The number of cycles that the pause signal towards MAC #0 was
45 asserted. */ 43 asserted. */
46#define BRB1_REG_NUM_OF_PAUSE_CYCLES_0 0x600b8 44#define BRB1_REG_NUM_OF_PAUSE_CYCLES_0 0x600b8
47#define BRB1_REG_NUM_OF_PAUSE_CYCLES_1 0x600bc 45#define BRB1_REG_NUM_OF_PAUSE_CYCLES_1 0x600bc
48#define BRB1_REG_NUM_OF_PAUSE_CYCLES_2 0x600c0
49#define BRB1_REG_NUM_OF_PAUSE_CYCLES_3 0x600c4
50/* [RW 10] Write client 0: De-assert pause threshold. */ 46/* [RW 10] Write client 0: De-assert pause threshold. */
51#define BRB1_REG_PAUSE_HIGH_THRESHOLD_0 0x60078 47#define BRB1_REG_PAUSE_HIGH_THRESHOLD_0 0x60078
52#define BRB1_REG_PAUSE_HIGH_THRESHOLD_1 0x6007c 48#define BRB1_REG_PAUSE_HIGH_THRESHOLD_1 0x6007c
53/* [RW 10] Write client 0: Assert pause threshold. */ 49/* [RW 10] Write client 0: Assert pause threshold. */
54#define BRB1_REG_PAUSE_LOW_THRESHOLD_0 0x60068 50#define BRB1_REG_PAUSE_LOW_THRESHOLD_0 0x60068
55#define BRB1_REG_PAUSE_LOW_THRESHOLD_1 0x6006c 51#define BRB1_REG_PAUSE_LOW_THRESHOLD_1 0x6006c
52/* [R 24] The number of full blocks occpied by port. */
53#define BRB1_REG_PORT_NUM_OCC_BLOCKS_0 0x60094
56/* [RW 1] Reset the design by software. */ 54/* [RW 1] Reset the design by software. */
57#define BRB1_REG_SOFT_RESET 0x600dc 55#define BRB1_REG_SOFT_RESET 0x600dc
58/* [R 5] Used to read the value of the XX protection CAM occupancy counter. */ 56/* [R 5] Used to read the value of the XX protection CAM occupancy counter. */
@@ -72,6 +70,8 @@
72#define CCM_REG_CCM_INT_MASK 0xd01e4 70#define CCM_REG_CCM_INT_MASK 0xd01e4
73/* [R 11] Interrupt register #0 read */ 71/* [R 11] Interrupt register #0 read */
74#define CCM_REG_CCM_INT_STS 0xd01d8 72#define CCM_REG_CCM_INT_STS 0xd01d8
73/* [R 27] Parity register #0 read */
74#define CCM_REG_CCM_PRTY_STS 0xd01e8
75/* [RW 3] The size of AG context region 0 in REG-pairs. Designates the MS 75/* [RW 3] The size of AG context region 0 in REG-pairs. Designates the MS
76 REG-pair number (e.g. if region 0 is 6 REG-pairs; the value should be 5). 76 REG-pair number (e.g. if region 0 is 6 REG-pairs; the value should be 5).
77 Is used to determine the number of the AG context REG-pairs written back; 77 Is used to determine the number of the AG context REG-pairs written back;
@@ -190,25 +190,20 @@
190 weight 8 (the most prioritised); 1 stands for weight 1(least 190 weight 8 (the most prioritised); 1 stands for weight 1(least
191 prioritised); 2 stands for weight 2; tc. */ 191 prioritised); 2 stands for weight 2; tc. */
192#define CCM_REG_PBF_WEIGHT 0xd00ac 192#define CCM_REG_PBF_WEIGHT 0xd00ac
193/* [RW 6] The physical queue number of queue number 1 per port index. */
194#define CCM_REG_PHYS_QNUM1_0 0xd0134 193#define CCM_REG_PHYS_QNUM1_0 0xd0134
195#define CCM_REG_PHYS_QNUM1_1 0xd0138 194#define CCM_REG_PHYS_QNUM1_1 0xd0138
196/* [RW 6] The physical queue number of queue number 2 per port index. */
197#define CCM_REG_PHYS_QNUM2_0 0xd013c 195#define CCM_REG_PHYS_QNUM2_0 0xd013c
198#define CCM_REG_PHYS_QNUM2_1 0xd0140 196#define CCM_REG_PHYS_QNUM2_1 0xd0140
199/* [RW 6] The physical queue number of queue number 3 per port index. */
200#define CCM_REG_PHYS_QNUM3_0 0xd0144 197#define CCM_REG_PHYS_QNUM3_0 0xd0144
201/* [RW 6] The physical queue number of queue number 0 with QOS equal 0 port 198#define CCM_REG_PHYS_QNUM3_1 0xd0148
202 index 0. */
203#define CCM_REG_QOS_PHYS_QNUM0_0 0xd0114 199#define CCM_REG_QOS_PHYS_QNUM0_0 0xd0114
204#define CCM_REG_QOS_PHYS_QNUM0_1 0xd0118 200#define CCM_REG_QOS_PHYS_QNUM0_1 0xd0118
205/* [RW 6] The physical queue number of queue number 0 with QOS equal 1 port
206 index 0. */
207#define CCM_REG_QOS_PHYS_QNUM1_0 0xd011c 201#define CCM_REG_QOS_PHYS_QNUM1_0 0xd011c
208#define CCM_REG_QOS_PHYS_QNUM1_1 0xd0120 202#define CCM_REG_QOS_PHYS_QNUM1_1 0xd0120
209/* [RW 6] The physical queue number of queue number 0 with QOS equal 2 port
210 index 0. */
211#define CCM_REG_QOS_PHYS_QNUM2_0 0xd0124 203#define CCM_REG_QOS_PHYS_QNUM2_0 0xd0124
204#define CCM_REG_QOS_PHYS_QNUM2_1 0xd0128
205#define CCM_REG_QOS_PHYS_QNUM3_0 0xd012c
206#define CCM_REG_QOS_PHYS_QNUM3_1 0xd0130
212/* [RW 1] STORM - CM Interface enable. If 0 - the valid input is 207/* [RW 1] STORM - CM Interface enable. If 0 - the valid input is
213 disregarded; acknowledge output is deasserted; all other signals are 208 disregarded; acknowledge output is deasserted; all other signals are
214 treated as usual; if 1 - normal activity. */ 209 treated as usual; if 1 - normal activity. */
@@ -253,6 +248,7 @@
253 mechanism. The fields are: [5:0] - message length; [12:6] - message 248 mechanism. The fields are: [5:0] - message length; [12:6] - message
254 pointer; 18:13] - next pointer. */ 249 pointer; 18:13] - next pointer. */
255#define CCM_REG_XX_DESCR_TABLE 0xd0300 250#define CCM_REG_XX_DESCR_TABLE 0xd0300
251#define CCM_REG_XX_DESCR_TABLE_SIZE 36
256/* [R 7] Used to read the value of XX protection Free counter. */ 252/* [R 7] Used to read the value of XX protection Free counter. */
257#define CCM_REG_XX_FREE 0xd0184 253#define CCM_REG_XX_FREE 0xd0184
258/* [RW 6] Initial value for the credit counter; responsible for fulfilling 254/* [RW 6] Initial value for the credit counter; responsible for fulfilling
@@ -296,6 +292,8 @@
296/* [WB 24] MATT ram access. each entry has the following 292/* [WB 24] MATT ram access. each entry has the following
297 format:{RegionLength[11:0]; egionOffset[11:0]} */ 293 format:{RegionLength[11:0]; egionOffset[11:0]} */
298#define CDU_REG_MATT 0x101100 294#define CDU_REG_MATT 0x101100
295/* [RW 1] when this bit is set the CDU operates in e1hmf mode */
296#define CDU_REG_MF_MODE 0x101050
299/* [R 1] indication the initializing the activity counter by the hardware 297/* [R 1] indication the initializing the activity counter by the hardware
300 was done. */ 298 was done. */
301#define CFC_REG_AC_INIT_DONE 0x104078 299#define CFC_REG_AC_INIT_DONE 0x104078
@@ -330,6 +328,9 @@
330 field allows changing the priorities of the weighted-round-robin arbiter 328 field allows changing the priorities of the weighted-round-robin arbiter
331 which selects which CFC load client should be served next */ 329 which selects which CFC load client should be served next */
332#define CFC_REG_LCREQ_WEIGHTS 0x104084 330#define CFC_REG_LCREQ_WEIGHTS 0x104084
331/* [RW 16] Link List ram access; data = {prev_lcid; ext_lcid} */
332#define CFC_REG_LINK_LIST 0x104c00
333#define CFC_REG_LINK_LIST_SIZE 256
333/* [R 1] indication the initializing the link list by the hardware was done. */ 334/* [R 1] indication the initializing the link list by the hardware was done. */
334#define CFC_REG_LL_INIT_DONE 0x104074 335#define CFC_REG_LL_INIT_DONE 0x104074
335/* [R 9] Number of allocated LCIDs which are at empty state */ 336/* [R 9] Number of allocated LCIDs which are at empty state */
@@ -342,6 +343,45 @@
342#define CFC_REG_NUM_LCIDS_LEAVING 0x104018 343#define CFC_REG_NUM_LCIDS_LEAVING 0x104018
343/* [RW 8] The event id for aggregated interrupt 0 */ 344/* [RW 8] The event id for aggregated interrupt 0 */
344#define CSDM_REG_AGG_INT_EVENT_0 0xc2038 345#define CSDM_REG_AGG_INT_EVENT_0 0xc2038
346#define CSDM_REG_AGG_INT_EVENT_1 0xc203c
347#define CSDM_REG_AGG_INT_EVENT_10 0xc2060
348#define CSDM_REG_AGG_INT_EVENT_11 0xc2064
349#define CSDM_REG_AGG_INT_EVENT_12 0xc2068
350#define CSDM_REG_AGG_INT_EVENT_13 0xc206c
351#define CSDM_REG_AGG_INT_EVENT_14 0xc2070
352#define CSDM_REG_AGG_INT_EVENT_15 0xc2074
353#define CSDM_REG_AGG_INT_EVENT_16 0xc2078
354#define CSDM_REG_AGG_INT_EVENT_17 0xc207c
355#define CSDM_REG_AGG_INT_EVENT_18 0xc2080
356#define CSDM_REG_AGG_INT_EVENT_19 0xc2084
357#define CSDM_REG_AGG_INT_EVENT_2 0xc2040
358#define CSDM_REG_AGG_INT_EVENT_20 0xc2088
359#define CSDM_REG_AGG_INT_EVENT_21 0xc208c
360#define CSDM_REG_AGG_INT_EVENT_22 0xc2090
361#define CSDM_REG_AGG_INT_EVENT_23 0xc2094
362#define CSDM_REG_AGG_INT_EVENT_24 0xc2098
363#define CSDM_REG_AGG_INT_EVENT_25 0xc209c
364#define CSDM_REG_AGG_INT_EVENT_26 0xc20a0
365#define CSDM_REG_AGG_INT_EVENT_27 0xc20a4
366#define CSDM_REG_AGG_INT_EVENT_28 0xc20a8
367#define CSDM_REG_AGG_INT_EVENT_29 0xc20ac
368#define CSDM_REG_AGG_INT_EVENT_3 0xc2044
369#define CSDM_REG_AGG_INT_EVENT_30 0xc20b0
370#define CSDM_REG_AGG_INT_EVENT_31 0xc20b4
371#define CSDM_REG_AGG_INT_EVENT_4 0xc2048
372/* [RW 1] The T bit for aggregated interrupt 0 */
373#define CSDM_REG_AGG_INT_T_0 0xc20b8
374#define CSDM_REG_AGG_INT_T_1 0xc20bc
375#define CSDM_REG_AGG_INT_T_10 0xc20e0
376#define CSDM_REG_AGG_INT_T_11 0xc20e4
377#define CSDM_REG_AGG_INT_T_12 0xc20e8
378#define CSDM_REG_AGG_INT_T_13 0xc20ec
379#define CSDM_REG_AGG_INT_T_14 0xc20f0
380#define CSDM_REG_AGG_INT_T_15 0xc20f4
381#define CSDM_REG_AGG_INT_T_16 0xc20f8
382#define CSDM_REG_AGG_INT_T_17 0xc20fc
383#define CSDM_REG_AGG_INT_T_18 0xc2100
384#define CSDM_REG_AGG_INT_T_19 0xc2104
345/* [RW 13] The start address in the internal RAM for the cfc_rsp lcid */ 385/* [RW 13] The start address in the internal RAM for the cfc_rsp lcid */
346#define CSDM_REG_CFC_RSP_START_ADDR 0xc2008 386#define CSDM_REG_CFC_RSP_START_ADDR 0xc2008
347/* [RW 16] The maximum value of the competion counter #0 */ 387/* [RW 16] The maximum value of the competion counter #0 */
@@ -358,6 +398,9 @@
358/* [RW 32] Interrupt mask register #0 read/write */ 398/* [RW 32] Interrupt mask register #0 read/write */
359#define CSDM_REG_CSDM_INT_MASK_0 0xc229c 399#define CSDM_REG_CSDM_INT_MASK_0 0xc229c
360#define CSDM_REG_CSDM_INT_MASK_1 0xc22ac 400#define CSDM_REG_CSDM_INT_MASK_1 0xc22ac
401/* [R 32] Interrupt register #0 read */
402#define CSDM_REG_CSDM_INT_STS_0 0xc2290
403#define CSDM_REG_CSDM_INT_STS_1 0xc22a0
361/* [RW 11] Parity mask register #0 read/write */ 404/* [RW 11] Parity mask register #0 read/write */
362#define CSDM_REG_CSDM_PRTY_MASK 0xc22bc 405#define CSDM_REG_CSDM_PRTY_MASK 0xc22bc
363/* [R 11] Parity register #0 read */ 406/* [R 11] Parity register #0 read */
@@ -443,6 +486,9 @@
443/* [RW 32] Interrupt mask register #0 read/write */ 486/* [RW 32] Interrupt mask register #0 read/write */
444#define CSEM_REG_CSEM_INT_MASK_0 0x200110 487#define CSEM_REG_CSEM_INT_MASK_0 0x200110
445#define CSEM_REG_CSEM_INT_MASK_1 0x200120 488#define CSEM_REG_CSEM_INT_MASK_1 0x200120
489/* [R 32] Interrupt register #0 read */
490#define CSEM_REG_CSEM_INT_STS_0 0x200104
491#define CSEM_REG_CSEM_INT_STS_1 0x200114
446/* [RW 32] Parity mask register #0 read/write */ 492/* [RW 32] Parity mask register #0 read/write */
447#define CSEM_REG_CSEM_PRTY_MASK_0 0x200130 493#define CSEM_REG_CSEM_PRTY_MASK_0 0x200130
448#define CSEM_REG_CSEM_PRTY_MASK_1 0x200140 494#define CSEM_REG_CSEM_PRTY_MASK_1 0x200140
@@ -453,9 +499,8 @@
453#define CSEM_REG_ENABLE_OUT 0x2000a8 499#define CSEM_REG_ENABLE_OUT 0x2000a8
454/* [RW 32] This address space contains all registers and memories that are 500/* [RW 32] This address space contains all registers and memories that are
455 placed in SEM_FAST block. The SEM_FAST registers are described in 501 placed in SEM_FAST block. The SEM_FAST registers are described in
456 appendix B. In order to access the SEM_FAST registers the base address 502 appendix B. In order to access the sem_fast registers the base address
457 CSEM_REGISTERS_FAST_MEMORY (Offset: 0x220000) should be added to each 503 ~fast_memory.fast_memory should be added to eachsem_fast register offset. */
458 SEM_FAST register offset. */
459#define CSEM_REG_FAST_MEMORY 0x220000 504#define CSEM_REG_FAST_MEMORY 0x220000
460/* [RW 1] Disables input messages from FIC0 May be updated during run_time 505/* [RW 1] Disables input messages from FIC0 May be updated during run_time
461 by the microcode */ 506 by the microcode */
@@ -539,13 +584,10 @@
539#define DBG_REG_DBG_PRTY_MASK 0xc0a8 584#define DBG_REG_DBG_PRTY_MASK 0xc0a8
540/* [R 1] Parity register #0 read */ 585/* [R 1] Parity register #0 read */
541#define DBG_REG_DBG_PRTY_STS 0xc09c 586#define DBG_REG_DBG_PRTY_STS 0xc09c
542/* [RW 2] debug only: These bits indicate the credit for PCI request type 4
543 interface; MUST be configured AFTER pci_ext_buffer_strt_addr_lsb/msb are
544 configured */
545#define DBG_REG_PCI_REQ_CREDIT 0xc120
546/* [RW 32] Commands memory. The address to command X; row Y is to calculated 587/* [RW 32] Commands memory. The address to command X; row Y is to calculated
547 as 14*X+Y. */ 588 as 14*X+Y. */
548#define DMAE_REG_CMD_MEM 0x102400 589#define DMAE_REG_CMD_MEM 0x102400
590#define DMAE_REG_CMD_MEM_SIZE 224
549/* [RW 1] If 0 - the CRC-16c initial value is all zeroes; if 1 - the CRC-16c 591/* [RW 1] If 0 - the CRC-16c initial value is all zeroes; if 1 - the CRC-16c
550 initial value is all ones. */ 592 initial value is all ones. */
551#define DMAE_REG_CRC16C_INIT 0x10201c 593#define DMAE_REG_CRC16C_INIT 0x10201c
@@ -630,6 +672,8 @@
630#define DORQ_REG_AGG_CMD3 0x17006c 672#define DORQ_REG_AGG_CMD3 0x17006c
631/* [RW 28] UCM Header. */ 673/* [RW 28] UCM Header. */
632#define DORQ_REG_CMHEAD_RX 0x170050 674#define DORQ_REG_CMHEAD_RX 0x170050
675/* [RW 32] Doorbell address for RBC doorbells (function 0). */
676#define DORQ_REG_DB_ADDR0 0x17008c
633/* [RW 5] Interrupt mask register #0 read/write */ 677/* [RW 5] Interrupt mask register #0 read/write */
634#define DORQ_REG_DORQ_INT_MASK 0x170180 678#define DORQ_REG_DORQ_INT_MASK 0x170180
635/* [R 5] Interrupt register #0 read */ 679/* [R 5] Interrupt register #0 read */
@@ -690,75 +734,33 @@
690#define HC_CONFIG_0_REG_SINGLE_ISR_EN_0 (0x1<<1) 734#define HC_CONFIG_0_REG_SINGLE_ISR_EN_0 (0x1<<1)
691#define HC_REG_AGG_INT_0 0x108050 735#define HC_REG_AGG_INT_0 0x108050
692#define HC_REG_AGG_INT_1 0x108054 736#define HC_REG_AGG_INT_1 0x108054
693/* [RW 16] attention bit and attention acknowledge bits status for port 0
694 and 1 according to the following address map: addr 0 - attn_bit_0; addr 1
695 - attn_ack_bit_0; addr 2 - attn_bit_1; addr 3 - attn_ack_bit_1; */
696#define HC_REG_ATTN_BIT 0x108120 737#define HC_REG_ATTN_BIT 0x108120
697/* [RW 16] attn bits status index for attn bit msg; addr 0 - function 0;
698 addr 1 - functin 1 */
699#define HC_REG_ATTN_IDX 0x108100 738#define HC_REG_ATTN_IDX 0x108100
700/* [RW 32] port 0 lower 32 bits address field for attn messag. */
701#define HC_REG_ATTN_MSG0_ADDR_L 0x108018 739#define HC_REG_ATTN_MSG0_ADDR_L 0x108018
702/* [RW 32] port 1 lower 32 bits address field for attn messag. */
703#define HC_REG_ATTN_MSG1_ADDR_L 0x108020 740#define HC_REG_ATTN_MSG1_ADDR_L 0x108020
704/* [RW 8] status block number for attn bit msg - function 0; */
705#define HC_REG_ATTN_NUM_P0 0x108038 741#define HC_REG_ATTN_NUM_P0 0x108038
706/* [RW 8] status block number for attn bit msg - function 1 */
707#define HC_REG_ATTN_NUM_P1 0x10803c 742#define HC_REG_ATTN_NUM_P1 0x10803c
708#define HC_REG_CONFIG_0 0x108000 743#define HC_REG_CONFIG_0 0x108000
709#define HC_REG_CONFIG_1 0x108004 744#define HC_REG_CONFIG_1 0x108004
745#define HC_REG_FUNC_NUM_P0 0x1080ac
746#define HC_REG_FUNC_NUM_P1 0x1080b0
710/* [RW 3] Parity mask register #0 read/write */ 747/* [RW 3] Parity mask register #0 read/write */
711#define HC_REG_HC_PRTY_MASK 0x1080a0 748#define HC_REG_HC_PRTY_MASK 0x1080a0
712/* [R 3] Parity register #0 read */ 749/* [R 3] Parity register #0 read */
713#define HC_REG_HC_PRTY_STS 0x108094 750#define HC_REG_HC_PRTY_STS 0x108094
714/* [RW 17] status block interrupt mask; one in each bit means unmask; zerow
715 in each bit means mask; bit 0 - default SB; bit 1 - SB_0; bit 2 - SB_1...
716 bit 16- SB_15; addr 0 - port 0; addr 1 - port 1 */
717#define HC_REG_INT_MASK 0x108108 751#define HC_REG_INT_MASK 0x108108
718/* [RW 16] port 0 attn bit condition monitoring; each bit that is set will
719 lock a change fron 0 to 1 in the corresponding attention signals that
720 comes from the AEU */
721#define HC_REG_LEADING_EDGE_0 0x108040 752#define HC_REG_LEADING_EDGE_0 0x108040
722#define HC_REG_LEADING_EDGE_1 0x108048 753#define HC_REG_LEADING_EDGE_1 0x108048
723/* [RW 16] all producer and consumer of port 0 according to the following
724 addresses; U_prod: 0-15; C_prod: 16-31; U_cons: 32-47; C_cons:48-63;
725 Defoult_prod: U/C/X/T/Attn-64/65/66/67/68; Defoult_cons:
726 U/C/X/T/Attn-69/70/71/72/73 */
727#define HC_REG_P0_PROD_CONS 0x108200 754#define HC_REG_P0_PROD_CONS 0x108200
728/* [RW 16] all producer and consumer of port 1according to the following
729 addresses; U_prod: 0-15; C_prod: 16-31; U_cons: 32-47; C_cons:48-63;
730 Defoult_prod: U/C/X/T/Attn-64/65/66/67/68; Defoult_cons:
731 U/C/X/T/Attn-69/70/71/72/73 */
732#define HC_REG_P1_PROD_CONS 0x108400 755#define HC_REG_P1_PROD_CONS 0x108400
733/* [W 1] This register is write only and has 4 addresses as follow: 0 =
734 clear all PBA bits port 0; 1 = clear all pending interrupts request
735 port0; 2 = clear all PBA bits port 1; 3 = clear all pending interrupts
736 request port1; here is no meaning for the data in this register */
737#define HC_REG_PBA_COMMAND 0x108140 756#define HC_REG_PBA_COMMAND 0x108140
738#define HC_REG_PCI_CONFIG_0 0x108010 757#define HC_REG_PCI_CONFIG_0 0x108010
739#define HC_REG_PCI_CONFIG_1 0x108014 758#define HC_REG_PCI_CONFIG_1 0x108014
740/* [RW 24] all counters acording to the following address: LSB: 0=read; 1=
741 read_clear; 0-71 = HW counters (the inside order is the same as the
742 interrupt table in the spec); 72-219 = SW counters 1 (stops after first
743 consumer upd) the inside order is: 72-103 - U_non_default_p0; 104-135
744 C_non_defaul_p0; 36-145 U/C/X/T/Attn_default_p0; 146-177
745 U_non_default_p1; 178-209 C_non_defaul_p1; 10-219 U/C/X/T/Attn_default_p1
746 ; 220-367 = SW counters 2 (stops when prod=cons) the inside order is:
747 220-251 - U_non_default_p0; 252-283 C_non_defaul_p0; 84-293
748 U/C/X/T/Attn_default_p0; 294-325 U_non_default_p1; 326-357
749 C_non_defaul_p1; 58-367 U/C/X/T/Attn_default_p1 ; 368-515 = mailbox
750 counters; (the inside order of the mailbox counter is 368-431 U and C
751 non_default_p0; 432-441 U/C/X/T/Attn_default_p0; 442-505 U and C
752 non_default_p1; 506-515 U/C/X/T/Attn_default_p1) */
753#define HC_REG_STATISTIC_COUNTERS 0x109000 759#define HC_REG_STATISTIC_COUNTERS 0x109000
754/* [RW 16] port 0 attn bit condition monitoring; each bit that is set will
755 lock a change fron 1 to 0 in the corresponding attention signals that
756 comes from the AEU */
757#define HC_REG_TRAILING_EDGE_0 0x108044 760#define HC_REG_TRAILING_EDGE_0 0x108044
758#define HC_REG_TRAILING_EDGE_1 0x10804c 761#define HC_REG_TRAILING_EDGE_1 0x10804c
759#define HC_REG_UC_RAM_ADDR_0 0x108028 762#define HC_REG_UC_RAM_ADDR_0 0x108028
760#define HC_REG_UC_RAM_ADDR_1 0x108030 763#define HC_REG_UC_RAM_ADDR_1 0x108030
761/* [RW 16] ustorm address for coalesc now message */
762#define HC_REG_USTORM_ADDR_FOR_COALESCE 0x108068 764#define HC_REG_USTORM_ADDR_FOR_COALESCE 0x108068
763#define HC_REG_VQID_0 0x108008 765#define HC_REG_VQID_0 0x108008
764#define HC_REG_VQID_1 0x10800c 766#define HC_REG_VQID_1 0x10800c
@@ -883,14 +885,16 @@
883 rom_parity; [29] MCP Latched ump_rx_parity; [30] MCP Latched 885 rom_parity; [29] MCP Latched ump_rx_parity; [30] MCP Latched
884 ump_tx_parity; [31] MCP Latched scpad_parity; */ 886 ump_tx_parity; [31] MCP Latched scpad_parity; */
885#define MISC_REG_AEU_AFTER_INVERT_4_MCP 0xa458 887#define MISC_REG_AEU_AFTER_INVERT_4_MCP 0xa458
886/* [W 11] write to this register results with the clear of the latched 888/* [W 14] write to this register results with the clear of the latched
887 signals; one in d0 clears RBCR latch; one in d1 clears RBCT latch; one in 889 signals; one in d0 clears RBCR latch; one in d1 clears RBCT latch; one in
888 d2 clears RBCN latch; one in d3 clears RBCU latch; one in d4 clears RBCP 890 d2 clears RBCN latch; one in d3 clears RBCU latch; one in d4 clears RBCP
889 latch; one in d5 clears GRC Latched timeout attention; one in d6 clears 891 latch; one in d5 clears GRC Latched timeout attention; one in d6 clears
890 GRC Latched reserved access attention; one in d7 clears Latched 892 GRC Latched reserved access attention; one in d7 clears Latched
891 rom_parity; one in d8 clears Latched ump_rx_parity; one in d9 clears 893 rom_parity; one in d8 clears Latched ump_rx_parity; one in d9 clears
892 Latched ump_tx_parity; one in d10 clears Latched scpad_parity; read from 894 Latched ump_tx_parity; one in d10 clears Latched scpad_parity (both
893 this register return zero */ 895 ports); one in d11 clears pxpv_misc_mps_attn; one in d12 clears
896 pxp_misc_exp_rom_attn0; one in d13 clears pxp_misc_exp_rom_attn1; read
897 from this register return zero */
894#define MISC_REG_AEU_CLR_LATCH_SIGNAL 0xa45c 898#define MISC_REG_AEU_CLR_LATCH_SIGNAL 0xa45c
895/* [RW 32] first 32b for enabling the output for function 0 output0. mapped 899/* [RW 32] first 32b for enabling the output for function 0 output0. mapped
896 as follows: [0] NIG attention for function0; [1] NIG attention for 900 as follows: [0] NIG attention for function0; [1] NIG attention for
@@ -907,7 +911,11 @@
907 TSEMI Hw interrupt; [30] PBF Parity error; [31] PBF Hw interrupt; */ 911 TSEMI Hw interrupt; [30] PBF Parity error; [31] PBF Hw interrupt; */
908#define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_0 0xa06c 912#define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_0 0xa06c
909#define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_1 0xa07c 913#define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_1 0xa07c
914#define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_2 0xa08c
910#define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_3 0xa09c 915#define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_3 0xa09c
916#define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_5 0xa0bc
917#define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_6 0xa0cc
918#define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_7 0xa0dc
911/* [RW 32] first 32b for enabling the output for function 1 output0. mapped 919/* [RW 32] first 32b for enabling the output for function 1 output0. mapped
912 as follows: [0] NIG attention for function0; [1] NIG attention for 920 as follows: [0] NIG attention for function0; [1] NIG attention for
913 function1; [2] GPIO1 function 1; [3] GPIO2 function 1; [4] GPIO3 function 921 function1; [2] GPIO1 function 1; [3] GPIO2 function 1; [4] GPIO3 function
@@ -923,9 +931,13 @@
923 TSEMI Hw interrupt; [30] PBF Parity error; [31] PBF Hw interrupt; */ 931 TSEMI Hw interrupt; [30] PBF Parity error; [31] PBF Hw interrupt; */
924#define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_0 0xa10c 932#define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_0 0xa10c
925#define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_1 0xa11c 933#define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_1 0xa11c
934#define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_2 0xa12c
926#define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_3 0xa13c 935#define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_3 0xa13c
927/* [RW 32] first 32b for enabling the output for close the gate nig 0. 936#define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_5 0xa15c
928 mapped as follows: [0] NIG attention for function0; [1] NIG attention for 937#define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_6 0xa16c
938#define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_7 0xa17c
939/* [RW 32] first 32b for enabling the output for close the gate nig. mapped
940 as follows: [0] NIG attention for function0; [1] NIG attention for
929 function1; [2] GPIO1 function 0; [3] GPIO2 function 0; [4] GPIO3 function 941 function1; [2] GPIO1 function 0; [3] GPIO2 function 0; [4] GPIO3 function
930 0; [5] GPIO4 function 0; [6] GPIO1 function 1; [7] GPIO2 function 1; [8] 942 0; [5] GPIO4 function 0; [6] GPIO1 function 1; [7] GPIO2 function 1; [8]
931 GPIO3 function 1; [9] GPIO4 function 1; [10] PCIE glue/PXP VPD event 943 GPIO3 function 1; [9] GPIO4 function 1; [10] PCIE glue/PXP VPD event
@@ -939,8 +951,8 @@
939 TSEMI Hw interrupt; [30] PBF Parity error; [31] PBF Hw interrupt; */ 951 TSEMI Hw interrupt; [30] PBF Parity error; [31] PBF Hw interrupt; */
940#define MISC_REG_AEU_ENABLE1_NIG_0 0xa0ec 952#define MISC_REG_AEU_ENABLE1_NIG_0 0xa0ec
941#define MISC_REG_AEU_ENABLE1_NIG_1 0xa18c 953#define MISC_REG_AEU_ENABLE1_NIG_1 0xa18c
942/* [RW 32] first 32b for enabling the output for close the gate pxp 0. 954/* [RW 32] first 32b for enabling the output for close the gate pxp. mapped
943 mapped as follows: [0] NIG attention for function0; [1] NIG attention for 955 as follows: [0] NIG attention for function0; [1] NIG attention for
944 function1; [2] GPIO1 function 0; [3] GPIO2 function 0; [4] GPIO3 function 956 function1; [2] GPIO1 function 0; [3] GPIO2 function 0; [4] GPIO3 function
945 0; [5] GPIO4 function 0; [6] GPIO1 function 1; [7] GPIO2 function 1; [8] 957 0; [5] GPIO4 function 0; [6] GPIO1 function 1; [7] GPIO2 function 1; [8]
946 GPIO3 function 1; [9] GPIO4 function 1; [10] PCIE glue/PXP VPD event 958 GPIO3 function 1; [9] GPIO4 function 1; [10] PCIE glue/PXP VPD event
@@ -984,34 +996,34 @@
984 interrupt; */ 996 interrupt; */
985#define MISC_REG_AEU_ENABLE2_FUNC_1_OUT_0 0xa110 997#define MISC_REG_AEU_ENABLE2_FUNC_1_OUT_0 0xa110
986#define MISC_REG_AEU_ENABLE2_FUNC_1_OUT_1 0xa120 998#define MISC_REG_AEU_ENABLE2_FUNC_1_OUT_1 0xa120
987/* [RW 32] second 32b for enabling the output for close the gate nig 0. 999/* [RW 32] second 32b for enabling the output for close the gate nig. mapped
988 mapped as follows: [0] PBClient Parity error; [1] PBClient Hw interrupt; 1000 as follows: [0] PBClient Parity error; [1] PBClient Hw interrupt; [2] QM
989 [2] QM Parity error; [3] QM Hw interrupt; [4] Timers Parity error; [5] 1001 Parity error; [3] QM Hw interrupt; [4] Timers Parity error; [5] Timers Hw
990 Timers Hw interrupt; [6] XSDM Parity error; [7] XSDM Hw interrupt; [8] 1002 interrupt; [6] XSDM Parity error; [7] XSDM Hw interrupt; [8] XCM Parity
991 XCM Parity error; [9] XCM Hw interrupt; [10] XSEMI Parity error; [11] 1003 error; [9] XCM Hw interrupt; [10] XSEMI Parity error; [11] XSEMI Hw
992 XSEMI Hw interrupt; [12] DoorbellQ Parity error; [13] DoorbellQ Hw 1004 interrupt; [12] DoorbellQ Parity error; [13] DoorbellQ Hw interrupt; [14]
993 interrupt; [14] NIG Parity error; [15] NIG Hw interrupt; [16] Vaux PCI 1005 NIG Parity error; [15] NIG Hw interrupt; [16] Vaux PCI core Parity error;
994 core Parity error; [17] Vaux PCI core Hw interrupt; [18] Debug Parity 1006 [17] Vaux PCI core Hw interrupt; [18] Debug Parity error; [19] Debug Hw
995 error; [19] Debug Hw interrupt; [20] USDM Parity error; [21] USDM Hw 1007 interrupt; [20] USDM Parity error; [21] USDM Hw interrupt; [22] UCM
996 interrupt; [22] UCM Parity error; [23] UCM Hw interrupt; [24] USEMI 1008 Parity error; [23] UCM Hw interrupt; [24] USEMI Parity error; [25] USEMI
997 Parity error; [25] USEMI Hw interrupt; [26] UPB Parity error; [27] UPB Hw 1009 Hw interrupt; [26] UPB Parity error; [27] UPB Hw interrupt; [28] CSDM
998 interrupt; [28] CSDM Parity error; [29] CSDM Hw interrupt; [30] CCM 1010 Parity error; [29] CSDM Hw interrupt; [30] CCM Parity error; [31] CCM Hw
999 Parity error; [31] CCM Hw interrupt; */ 1011 interrupt; */
1000#define MISC_REG_AEU_ENABLE2_NIG_0 0xa0f0 1012#define MISC_REG_AEU_ENABLE2_NIG_0 0xa0f0
1001#define MISC_REG_AEU_ENABLE2_NIG_1 0xa190 1013#define MISC_REG_AEU_ENABLE2_NIG_1 0xa190
1002/* [RW 32] second 32b for enabling the output for close the gate pxp 0. 1014/* [RW 32] second 32b for enabling the output for close the gate pxp. mapped
1003 mapped as follows: [0] PBClient Parity error; [1] PBClient Hw interrupt; 1015 as follows: [0] PBClient Parity error; [1] PBClient Hw interrupt; [2] QM
1004 [2] QM Parity error; [3] QM Hw interrupt; [4] Timers Parity error; [5] 1016 Parity error; [3] QM Hw interrupt; [4] Timers Parity error; [5] Timers Hw
1005 Timers Hw interrupt; [6] XSDM Parity error; [7] XSDM Hw interrupt; [8] 1017 interrupt; [6] XSDM Parity error; [7] XSDM Hw interrupt; [8] XCM Parity
1006 XCM Parity error; [9] XCM Hw interrupt; [10] XSEMI Parity error; [11] 1018 error; [9] XCM Hw interrupt; [10] XSEMI Parity error; [11] XSEMI Hw
1007 XSEMI Hw interrupt; [12] DoorbellQ Parity error; [13] DoorbellQ Hw 1019 interrupt; [12] DoorbellQ Parity error; [13] DoorbellQ Hw interrupt; [14]
1008 interrupt; [14] NIG Parity error; [15] NIG Hw interrupt; [16] Vaux PCI 1020 NIG Parity error; [15] NIG Hw interrupt; [16] Vaux PCI core Parity error;
1009 core Parity error; [17] Vaux PCI core Hw interrupt; [18] Debug Parity 1021 [17] Vaux PCI core Hw interrupt; [18] Debug Parity error; [19] Debug Hw
1010 error; [19] Debug Hw interrupt; [20] USDM Parity error; [21] USDM Hw 1022 interrupt; [20] USDM Parity error; [21] USDM Hw interrupt; [22] UCM
1011 interrupt; [22] UCM Parity error; [23] UCM Hw interrupt; [24] USEMI 1023 Parity error; [23] UCM Hw interrupt; [24] USEMI Parity error; [25] USEMI
1012 Parity error; [25] USEMI Hw interrupt; [26] UPB Parity error; [27] UPB Hw 1024 Hw interrupt; [26] UPB Parity error; [27] UPB Hw interrupt; [28] CSDM
1013 interrupt; [28] CSDM Parity error; [29] CSDM Hw interrupt; [30] CCM 1025 Parity error; [29] CSDM Hw interrupt; [30] CCM Parity error; [31] CCM Hw
1014 Parity error; [31] CCM Hw interrupt; */ 1026 interrupt; */
1015#define MISC_REG_AEU_ENABLE2_PXP_0 0xa100 1027#define MISC_REG_AEU_ENABLE2_PXP_0 0xa100
1016#define MISC_REG_AEU_ENABLE2_PXP_1 0xa1a0 1028#define MISC_REG_AEU_ENABLE2_PXP_1 0xa1a0
1017/* [RW 32] third 32b for enabling the output for function 0 output0. mapped 1029/* [RW 32] third 32b for enabling the output for function 0 output0. mapped
@@ -1044,34 +1056,34 @@
1044 attn1; */ 1056 attn1; */
1045#define MISC_REG_AEU_ENABLE3_FUNC_1_OUT_0 0xa114 1057#define MISC_REG_AEU_ENABLE3_FUNC_1_OUT_0 0xa114
1046#define MISC_REG_AEU_ENABLE3_FUNC_1_OUT_1 0xa124 1058#define MISC_REG_AEU_ENABLE3_FUNC_1_OUT_1 0xa124
1047/* [RW 32] third 32b for enabling the output for close the gate nig 0. 1059/* [RW 32] third 32b for enabling the output for close the gate nig. mapped
1048 mapped as follows: [0] CSEMI Parity error; [1] CSEMI Hw interrupt; [2] 1060 as follows: [0] CSEMI Parity error; [1] CSEMI Hw interrupt; [2] PXP
1049 PXP Parity error; [3] PXP Hw interrupt; [4] PXPpciClockClient Parity 1061 Parity error; [3] PXP Hw interrupt; [4] PXPpciClockClient Parity error;
1050 error; [5] PXPpciClockClient Hw interrupt; [6] CFC Parity error; [7] CFC 1062 [5] PXPpciClockClient Hw interrupt; [6] CFC Parity error; [7] CFC Hw
1051 Hw interrupt; [8] CDU Parity error; [9] CDU Hw interrupt; [10] DMAE 1063 interrupt; [8] CDU Parity error; [9] CDU Hw interrupt; [10] DMAE Parity
1052 Parity error; [11] DMAE Hw interrupt; [12] IGU (HC) Parity error; [13] 1064 error; [11] DMAE Hw interrupt; [12] IGU (HC) Parity error; [13] IGU (HC)
1053 IGU (HC) Hw interrupt; [14] MISC Parity error; [15] MISC Hw interrupt; 1065 Hw interrupt; [14] MISC Parity error; [15] MISC Hw interrupt; [16]
1054 [16] pxp_misc_mps_attn; [17] Flash event; [18] SMB event; [19] MCP attn0; 1066 pxp_misc_mps_attn; [17] Flash event; [18] SMB event; [19] MCP attn0; [20]
1055 [20] MCP attn1; [21] SW timers attn_1 func0; [22] SW timers attn_2 func0; 1067 MCP attn1; [21] SW timers attn_1 func0; [22] SW timers attn_2 func0; [23]
1056 [23] SW timers attn_3 func0; [24] SW timers attn_4 func0; [25] PERST; 1068 SW timers attn_3 func0; [24] SW timers attn_4 func0; [25] PERST; [26] SW
1057 [26] SW timers attn_1 func1; [27] SW timers attn_2 func1; [28] SW timers 1069 timers attn_1 func1; [27] SW timers attn_2 func1; [28] SW timers attn_3
1058 attn_3 func1; [29] SW timers attn_4 func1; [30] General attn0; [31] 1070 func1; [29] SW timers attn_4 func1; [30] General attn0; [31] General
1059 General attn1; */ 1071 attn1; */
1060#define MISC_REG_AEU_ENABLE3_NIG_0 0xa0f4 1072#define MISC_REG_AEU_ENABLE3_NIG_0 0xa0f4
1061#define MISC_REG_AEU_ENABLE3_NIG_1 0xa194 1073#define MISC_REG_AEU_ENABLE3_NIG_1 0xa194
1062/* [RW 32] third 32b for enabling the output for close the gate pxp 0. 1074/* [RW 32] third 32b for enabling the output for close the gate pxp. mapped
1063 mapped as follows: [0] CSEMI Parity error; [1] CSEMI Hw interrupt; [2] 1075 as follows: [0] CSEMI Parity error; [1] CSEMI Hw interrupt; [2] PXP
1064 PXP Parity error; [3] PXP Hw interrupt; [4] PXPpciClockClient Parity 1076 Parity error; [3] PXP Hw interrupt; [4] PXPpciClockClient Parity error;
1065 error; [5] PXPpciClockClient Hw interrupt; [6] CFC Parity error; [7] CFC 1077 [5] PXPpciClockClient Hw interrupt; [6] CFC Parity error; [7] CFC Hw
1066 Hw interrupt; [8] CDU Parity error; [9] CDU Hw interrupt; [10] DMAE 1078 interrupt; [8] CDU Parity error; [9] CDU Hw interrupt; [10] DMAE Parity
1067 Parity error; [11] DMAE Hw interrupt; [12] IGU (HC) Parity error; [13] 1079 error; [11] DMAE Hw interrupt; [12] IGU (HC) Parity error; [13] IGU (HC)
1068 IGU (HC) Hw interrupt; [14] MISC Parity error; [15] MISC Hw interrupt; 1080 Hw interrupt; [14] MISC Parity error; [15] MISC Hw interrupt; [16]
1069 [16] pxp_misc_mps_attn; [17] Flash event; [18] SMB event; [19] MCP attn0; 1081 pxp_misc_mps_attn; [17] Flash event; [18] SMB event; [19] MCP attn0; [20]
1070 [20] MCP attn1; [21] SW timers attn_1 func0; [22] SW timers attn_2 func0; 1082 MCP attn1; [21] SW timers attn_1 func0; [22] SW timers attn_2 func0; [23]
1071 [23] SW timers attn_3 func0; [24] SW timers attn_4 func0; [25] PERST; 1083 SW timers attn_3 func0; [24] SW timers attn_4 func0; [25] PERST; [26] SW
1072 [26] SW timers attn_1 func1; [27] SW timers attn_2 func1; [28] SW timers 1084 timers attn_1 func1; [27] SW timers attn_2 func1; [28] SW timers attn_3
1073 attn_3 func1; [29] SW timers attn_4 func1; [30] General attn0; [31] 1085 func1; [29] SW timers attn_4 func1; [30] General attn0; [31] General
1074 General attn1; */ 1086 attn1; */
1075#define MISC_REG_AEU_ENABLE3_PXP_0 0xa104 1087#define MISC_REG_AEU_ENABLE3_PXP_0 0xa104
1076#define MISC_REG_AEU_ENABLE3_PXP_1 0xa1a4 1088#define MISC_REG_AEU_ENABLE3_PXP_1 0xa1a4
1077/* [RW 32] fourth 32b for enabling the output for function 0 output0.mapped 1089/* [RW 32] fourth 32b for enabling the output for function 0 output0.mapped
@@ -1088,6 +1100,10 @@
1088 Latched ump_tx_parity; [31] MCP Latched scpad_parity; */ 1100 Latched ump_tx_parity; [31] MCP Latched scpad_parity; */
1089#define MISC_REG_AEU_ENABLE4_FUNC_0_OUT_0 0xa078 1101#define MISC_REG_AEU_ENABLE4_FUNC_0_OUT_0 0xa078
1090#define MISC_REG_AEU_ENABLE4_FUNC_0_OUT_2 0xa098 1102#define MISC_REG_AEU_ENABLE4_FUNC_0_OUT_2 0xa098
1103#define MISC_REG_AEU_ENABLE4_FUNC_0_OUT_4 0xa0b8
1104#define MISC_REG_AEU_ENABLE4_FUNC_0_OUT_5 0xa0c8
1105#define MISC_REG_AEU_ENABLE4_FUNC_0_OUT_6 0xa0d8
1106#define MISC_REG_AEU_ENABLE4_FUNC_0_OUT_7 0xa0e8
1091/* [RW 32] fourth 32b for enabling the output for function 1 output0.mapped 1107/* [RW 32] fourth 32b for enabling the output for function 1 output0.mapped
1092 as follows: [0] General attn2; [1] General attn3; [2] General attn4; [3] 1108 as follows: [0] General attn2; [1] General attn3; [2] General attn4; [3]
1093 General attn5; [4] General attn6; [5] General attn7; [6] General attn8; 1109 General attn5; [4] General attn6; [5] General attn7; [6] General attn8;
@@ -1102,34 +1118,36 @@
1102 Latched ump_tx_parity; [31] MCP Latched scpad_parity; */ 1118 Latched ump_tx_parity; [31] MCP Latched scpad_parity; */
1103#define MISC_REG_AEU_ENABLE4_FUNC_1_OUT_0 0xa118 1119#define MISC_REG_AEU_ENABLE4_FUNC_1_OUT_0 0xa118
1104#define MISC_REG_AEU_ENABLE4_FUNC_1_OUT_2 0xa138 1120#define MISC_REG_AEU_ENABLE4_FUNC_1_OUT_2 0xa138
1105/* [RW 32] fourth 32b for enabling the output for close the gate nig 1121#define MISC_REG_AEU_ENABLE4_FUNC_1_OUT_4 0xa158
1106 0.mapped as follows: [0] General attn2; [1] General attn3; [2] General 1122#define MISC_REG_AEU_ENABLE4_FUNC_1_OUT_5 0xa168
1107 attn4; [3] General attn5; [4] General attn6; [5] General attn7; [6] 1123#define MISC_REG_AEU_ENABLE4_FUNC_1_OUT_6 0xa178
1108 General attn8; [7] General attn9; [8] General attn10; [9] General attn11; 1124#define MISC_REG_AEU_ENABLE4_FUNC_1_OUT_7 0xa188
1109 [10] General attn12; [11] General attn13; [12] General attn14; [13] 1125/* [RW 32] fourth 32b for enabling the output for close the gate nig.mapped
1110 General attn15; [14] General attn16; [15] General attn17; [16] General 1126 as follows: [0] General attn2; [1] General attn3; [2] General attn4; [3]
1111 attn18; [17] General attn19; [18] General attn20; [19] General attn21; 1127 General attn5; [4] General attn6; [5] General attn7; [6] General attn8;
1112 [20] Main power interrupt; [21] RBCR Latched attn; [22] RBCT Latched 1128 [7] General attn9; [8] General attn10; [9] General attn11; [10] General
1113 attn; [23] RBCN Latched attn; [24] RBCU Latched attn; [25] RBCP Latched 1129 attn12; [11] General attn13; [12] General attn14; [13] General attn15;
1114 attn; [26] GRC Latched timeout attention; [27] GRC Latched reserved 1130 [14] General attn16; [15] General attn17; [16] General attn18; [17]
1115 access attention; [28] MCP Latched rom_parity; [29] MCP Latched 1131 General attn19; [18] General attn20; [19] General attn21; [20] Main power
1116 ump_rx_parity; [30] MCP Latched ump_tx_parity; [31] MCP Latched 1132 interrupt; [21] RBCR Latched attn; [22] RBCT Latched attn; [23] RBCN
1117 scpad_parity; */ 1133 Latched attn; [24] RBCU Latched attn; [25] RBCP Latched attn; [26] GRC
1134 Latched timeout attention; [27] GRC Latched reserved access attention;
1135 [28] MCP Latched rom_parity; [29] MCP Latched ump_rx_parity; [30] MCP
1136 Latched ump_tx_parity; [31] MCP Latched scpad_parity; */
1118#define MISC_REG_AEU_ENABLE4_NIG_0 0xa0f8 1137#define MISC_REG_AEU_ENABLE4_NIG_0 0xa0f8
1119#define MISC_REG_AEU_ENABLE4_NIG_1 0xa198 1138#define MISC_REG_AEU_ENABLE4_NIG_1 0xa198
1120/* [RW 32] fourth 32b for enabling the output for close the gate pxp 1139/* [RW 32] fourth 32b for enabling the output for close the gate pxp.mapped
1121 0.mapped as follows: [0] General attn2; [1] General attn3; [2] General 1140 as follows: [0] General attn2; [1] General attn3; [2] General attn4; [3]
1122 attn4; [3] General attn5; [4] General attn6; [5] General attn7; [6] 1141 General attn5; [4] General attn6; [5] General attn7; [6] General attn8;
1123 General attn8; [7] General attn9; [8] General attn10; [9] General attn11; 1142 [7] General attn9; [8] General attn10; [9] General attn11; [10] General
1124 [10] General attn12; [11] General attn13; [12] General attn14; [13] 1143 attn12; [11] General attn13; [12] General attn14; [13] General attn15;
1125 General attn15; [14] General attn16; [15] General attn17; [16] General 1144 [14] General attn16; [15] General attn17; [16] General attn18; [17]
1126 attn18; [17] General attn19; [18] General attn20; [19] General attn21; 1145 General attn19; [18] General attn20; [19] General attn21; [20] Main power
1127 [20] Main power interrupt; [21] RBCR Latched attn; [22] RBCT Latched 1146 interrupt; [21] RBCR Latched attn; [22] RBCT Latched attn; [23] RBCN
1128 attn; [23] RBCN Latched attn; [24] RBCU Latched attn; [25] RBCP Latched 1147 Latched attn; [24] RBCU Latched attn; [25] RBCP Latched attn; [26] GRC
1129 attn; [26] GRC Latched timeout attention; [27] GRC Latched reserved 1148 Latched timeout attention; [27] GRC Latched reserved access attention;
1130 access attention; [28] MCP Latched rom_parity; [29] MCP Latched 1149 [28] MCP Latched rom_parity; [29] MCP Latched ump_rx_parity; [30] MCP
1131 ump_rx_parity; [30] MCP Latched ump_tx_parity; [31] MCP Latched 1150 Latched ump_tx_parity; [31] MCP Latched scpad_parity; */
1132 scpad_parity; */
1133#define MISC_REG_AEU_ENABLE4_PXP_0 0xa108 1151#define MISC_REG_AEU_ENABLE4_PXP_0 0xa108
1134#define MISC_REG_AEU_ENABLE4_PXP_1 0xa1a8 1152#define MISC_REG_AEU_ENABLE4_PXP_1 0xa1a8
1135/* [RW 1] set/clr general attention 0; this will set/clr bit 94 in the aeu 1153/* [RW 1] set/clr general attention 0; this will set/clr bit 94 in the aeu
@@ -1148,6 +1166,7 @@
1148#define MISC_REG_AEU_GENERAL_ATTN_19 0xa04c 1166#define MISC_REG_AEU_GENERAL_ATTN_19 0xa04c
1149#define MISC_REG_AEU_GENERAL_ATTN_10 0xa028 1167#define MISC_REG_AEU_GENERAL_ATTN_10 0xa028
1150#define MISC_REG_AEU_GENERAL_ATTN_11 0xa02c 1168#define MISC_REG_AEU_GENERAL_ATTN_11 0xa02c
1169#define MISC_REG_AEU_GENERAL_ATTN_12 0xa030
1151#define MISC_REG_AEU_GENERAL_ATTN_2 0xa008 1170#define MISC_REG_AEU_GENERAL_ATTN_2 0xa008
1152#define MISC_REG_AEU_GENERAL_ATTN_20 0xa050 1171#define MISC_REG_AEU_GENERAL_ATTN_20 0xa050
1153#define MISC_REG_AEU_GENERAL_ATTN_21 0xa054 1172#define MISC_REG_AEU_GENERAL_ATTN_21 0xa054
@@ -1158,6 +1177,7 @@
1158#define MISC_REG_AEU_GENERAL_ATTN_7 0xa01c 1177#define MISC_REG_AEU_GENERAL_ATTN_7 0xa01c
1159#define MISC_REG_AEU_GENERAL_ATTN_8 0xa020 1178#define MISC_REG_AEU_GENERAL_ATTN_8 0xa020
1160#define MISC_REG_AEU_GENERAL_ATTN_9 0xa024 1179#define MISC_REG_AEU_GENERAL_ATTN_9 0xa024
1180#define MISC_REG_AEU_GENERAL_MASK 0xa61c
1161/* [RW 32] first 32b for inverting the input for function 0; for each bit: 1181/* [RW 32] first 32b for inverting the input for function 0; for each bit:
1162 0= do not invert; 1= invert; mapped as follows: [0] NIG attention for 1182 0= do not invert; 1= invert; mapped as follows: [0] NIG attention for
1163 function0; [1] NIG attention for function1; [2] GPIO1 mcp; [3] GPIO2 mcp; 1183 function0; [1] NIG attention for function1; [2] GPIO1 mcp; [3] GPIO2 mcp;
@@ -1189,10 +1209,29 @@
1189#define MISC_REG_AEU_INVERTER_2_FUNC_0 0xa230 1209#define MISC_REG_AEU_INVERTER_2_FUNC_0 0xa230
1190#define MISC_REG_AEU_INVERTER_2_FUNC_1 0xa240 1210#define MISC_REG_AEU_INVERTER_2_FUNC_1 0xa240
1191/* [RW 10] [7:0] = mask 8 attention output signals toward IGU function0; 1211/* [RW 10] [7:0] = mask 8 attention output signals toward IGU function0;
1192 [9:8] = mask close the gates signals of function 0 toward PXP [8] and NIG 1212 [9:8] = raserved. Zero = mask; one = unmask */
1193 [9]. Zero = mask; one = unmask */
1194#define MISC_REG_AEU_MASK_ATTN_FUNC_0 0xa060 1213#define MISC_REG_AEU_MASK_ATTN_FUNC_0 0xa060
1195#define MISC_REG_AEU_MASK_ATTN_FUNC_1 0xa064 1214#define MISC_REG_AEU_MASK_ATTN_FUNC_1 0xa064
1215/* [RW 1] If set a system kill occurred */
1216#define MISC_REG_AEU_SYS_KILL_OCCURRED 0xa610
1217/* [RW 32] Represent the status of the input vector to the AEU when a system
1218 kill occurred. The register is reset in por reset. Mapped as follows: [0]
1219 NIG attention for function0; [1] NIG attention for function1; [2] GPIO1
1220 mcp; [3] GPIO2 mcp; [4] GPIO3 mcp; [5] GPIO4 mcp; [6] GPIO1 function 1;
1221 [7] GPIO2 function 1; [8] GPIO3 function 1; [9] GPIO4 function 1; [10]
1222 PCIE glue/PXP VPD event function0; [11] PCIE glue/PXP VPD event
1223 function1; [12] PCIE glue/PXP Expansion ROM event0; [13] PCIE glue/PXP
1224 Expansion ROM event1; [14] SPIO4; [15] SPIO5; [16] MSI/X indication for
1225 mcp; [17] MSI/X indication for function 1; [18] BRB Parity error; [19]
1226 BRB Hw interrupt; [20] PRS Parity error; [21] PRS Hw interrupt; [22] SRC
1227 Parity error; [23] SRC Hw interrupt; [24] TSDM Parity error; [25] TSDM Hw
1228 interrupt; [26] TCM Parity error; [27] TCM Hw interrupt; [28] TSEMI
1229 Parity error; [29] TSEMI Hw interrupt; [30] PBF Parity error; [31] PBF Hw
1230 interrupt; */
1231#define MISC_REG_AEU_SYS_KILL_STATUS_0 0xa600
1232#define MISC_REG_AEU_SYS_KILL_STATUS_1 0xa604
1233#define MISC_REG_AEU_SYS_KILL_STATUS_2 0xa608
1234#define MISC_REG_AEU_SYS_KILL_STATUS_3 0xa60c
1196/* [R 4] This field indicates the type of the device. '0' - 2 Ports; '1' - 1 1235/* [R 4] This field indicates the type of the device. '0' - 2 Ports; '1' - 1
1197 Port. */ 1236 Port. */
1198#define MISC_REG_BOND_ID 0xa400 1237#define MISC_REG_BOND_ID 0xa400
@@ -1206,8 +1245,80 @@
1206 starts at 0x0 for the A0 tape-out and increments by one for each 1245 starts at 0x0 for the A0 tape-out and increments by one for each
1207 all-layer tape-out. */ 1246 all-layer tape-out. */
1208#define MISC_REG_CHIP_REV 0xa40c 1247#define MISC_REG_CHIP_REV 0xa40c
1209/* [RW 32] The following driver registers(1..6) represent 6 drivers and 32 1248/* [RW 32] The following driver registers(1...16) represent 16 drivers and
1210 clients. Each client can be controlled by one driver only. One in each 1249 32 clients. Each client can be controlled by one driver only. One in each
1250 bit represent that this driver control the appropriate client (Ex: bit 5
1251 is set means this driver control client number 5). addr1 = set; addr0 =
1252 clear; read from both addresses will give the same result = status. write
1253 to address 1 will set a request to control all the clients that their
1254 appropriate bit (in the write command) is set. if the client is free (the
1255 appropriate bit in all the other drivers is clear) one will be written to
1256 that driver register; if the client isn't free the bit will remain zero.
1257 if the appropriate bit is set (the driver request to gain control on a
1258 client it already controls the ~MISC_REGISTERS_INT_STS.GENERIC_SW
1259 interrupt will be asserted). write to address 0 will set a request to
1260 free all the clients that their appropriate bit (in the write command) is
1261 set. if the appropriate bit is clear (the driver request to free a client
1262 it doesn't controls the ~MISC_REGISTERS_INT_STS.GENERIC_SW interrupt will
1263 be asserted). */
1264#define MISC_REG_DRIVER_CONTROL_10 0xa3e0
1265#define MISC_REG_DRIVER_CONTROL_10_SIZE 2
1266/* [RW 32] The following driver registers(1...16) represent 16 drivers and
1267 32 clients. Each client can be controlled by one driver only. One in each
1268 bit represent that this driver control the appropriate client (Ex: bit 5
1269 is set means this driver control client number 5). addr1 = set; addr0 =
1270 clear; read from both addresses will give the same result = status. write
1271 to address 1 will set a request to control all the clients that their
1272 appropriate bit (in the write command) is set. if the client is free (the
1273 appropriate bit in all the other drivers is clear) one will be written to
1274 that driver register; if the client isn't free the bit will remain zero.
1275 if the appropriate bit is set (the driver request to gain control on a
1276 client it already controls the ~MISC_REGISTERS_INT_STS.GENERIC_SW
1277 interrupt will be asserted). write to address 0 will set a request to
1278 free all the clients that their appropriate bit (in the write command) is
1279 set. if the appropriate bit is clear (the driver request to free a client
1280 it doesn't controls the ~MISC_REGISTERS_INT_STS.GENERIC_SW interrupt will
1281 be asserted). */
1282#define MISC_REG_DRIVER_CONTROL_11 0xa3e8
1283#define MISC_REG_DRIVER_CONTROL_11_SIZE 2
1284/* [RW 32] The following driver registers(1...16) represent 16 drivers and
1285 32 clients. Each client can be controlled by one driver only. One in each
1286 bit represent that this driver control the appropriate client (Ex: bit 5
1287 is set means this driver control client number 5). addr1 = set; addr0 =
1288 clear; read from both addresses will give the same result = status. write
1289 to address 1 will set a request to control all the clients that their
1290 appropriate bit (in the write command) is set. if the client is free (the
1291 appropriate bit in all the other drivers is clear) one will be written to
1292 that driver register; if the client isn't free the bit will remain zero.
1293 if the appropriate bit is set (the driver request to gain control on a
1294 client it already controls the ~MISC_REGISTERS_INT_STS.GENERIC_SW
1295 interrupt will be asserted). write to address 0 will set a request to
1296 free all the clients that their appropriate bit (in the write command) is
1297 set. if the appropriate bit is clear (the driver request to free a client
1298 it doesn't controls the ~MISC_REGISTERS_INT_STS.GENERIC_SW interrupt will
1299 be asserted). */
1300#define MISC_REG_DRIVER_CONTROL_12 0xa3f0
1301#define MISC_REG_DRIVER_CONTROL_12_SIZE 2
1302/* [RW 32] The following driver registers(1...16) represent 16 drivers and
1303 32 clients. Each client can be controlled by one driver only. One in each
1304 bit represent that this driver control the appropriate client (Ex: bit 5
1305 is set means this driver control client number 5). addr1 = set; addr0 =
1306 clear; read from both addresses will give the same result = status. write
1307 to address 1 will set a request to control all the clients that their
1308 appropriate bit (in the write command) is set. if the client is free (the
1309 appropriate bit in all the other drivers is clear) one will be written to
1310 that driver register; if the client isn't free the bit will remain zero.
1311 if the appropriate bit is set (the driver request to gain control on a
1312 client it already controls the ~MISC_REGISTERS_INT_STS.GENERIC_SW
1313 interrupt will be asserted). write to address 0 will set a request to
1314 free all the clients that their appropriate bit (in the write command) is
1315 set. if the appropriate bit is clear (the driver request to free a client
1316 it doesn't controls the ~MISC_REGISTERS_INT_STS.GENERIC_SW interrupt will
1317 be asserted). */
1318#define MISC_REG_DRIVER_CONTROL_13 0xa3f8
1319#define MISC_REG_DRIVER_CONTROL_13_SIZE 2
1320/* [RW 32] The following driver registers(1...16) represent 16 drivers and
1321 32 clients. Each client can be controlled by one driver only. One in each
1211 bit represent that this driver control the appropriate client (Ex: bit 5 1322 bit represent that this driver control the appropriate client (Ex: bit 5
1212 is set means this driver control client number 5). addr1 = set; addr0 = 1323 is set means this driver control client number 5). addr1 = set; addr0 =
1213 clear; read from both addresses will give the same result = status. write 1324 clear; read from both addresses will give the same result = status. write
@@ -1223,6 +1334,47 @@
1223 it doesn't controls the ~MISC_REGISTERS_INT_STS.GENERIC_SW interrupt will 1334 it doesn't controls the ~MISC_REGISTERS_INT_STS.GENERIC_SW interrupt will
1224 be asserted). */ 1335 be asserted). */
1225#define MISC_REG_DRIVER_CONTROL_1 0xa510 1336#define MISC_REG_DRIVER_CONTROL_1 0xa510
1337#define MISC_REG_DRIVER_CONTROL_14 0xa5e0
1338#define MISC_REG_DRIVER_CONTROL_14_SIZE 2
1339/* [RW 32] The following driver registers(1...16) represent 16 drivers and
1340 32 clients. Each client can be controlled by one driver only. One in each
1341 bit represent that this driver control the appropriate client (Ex: bit 5
1342 is set means this driver control client number 5). addr1 = set; addr0 =
1343 clear; read from both addresses will give the same result = status. write
1344 to address 1 will set a request to control all the clients that their
1345 appropriate bit (in the write command) is set. if the client is free (the
1346 appropriate bit in all the other drivers is clear) one will be written to
1347 that driver register; if the client isn't free the bit will remain zero.
1348 if the appropriate bit is set (the driver request to gain control on a
1349 client it already controls the ~MISC_REGISTERS_INT_STS.GENERIC_SW
1350 interrupt will be asserted). write to address 0 will set a request to
1351 free all the clients that their appropriate bit (in the write command) is
1352 set. if the appropriate bit is clear (the driver request to free a client
1353 it doesn't controls the ~MISC_REGISTERS_INT_STS.GENERIC_SW interrupt will
1354 be asserted). */
1355#define MISC_REG_DRIVER_CONTROL_15 0xa5e8
1356#define MISC_REG_DRIVER_CONTROL_15_SIZE 2
1357/* [RW 32] The following driver registers(1...16) represent 16 drivers and
1358 32 clients. Each client can be controlled by one driver only. One in each
1359 bit represent that this driver control the appropriate client (Ex: bit 5
1360 is set means this driver control client number 5). addr1 = set; addr0 =
1361 clear; read from both addresses will give the same result = status. write
1362 to address 1 will set a request to control all the clients that their
1363 appropriate bit (in the write command) is set. if the client is free (the
1364 appropriate bit in all the other drivers is clear) one will be written to
1365 that driver register; if the client isn't free the bit will remain zero.
1366 if the appropriate bit is set (the driver request to gain control on a
1367 client it already controls the ~MISC_REGISTERS_INT_STS.GENERIC_SW
1368 interrupt will be asserted). write to address 0 will set a request to
1369 free all the clients that their appropriate bit (in the write command) is
1370 set. if the appropriate bit is clear (the driver request to free a client
1371 it doesn't controls the ~MISC_REGISTERS_INT_STS.GENERIC_SW interrupt will
1372 be asserted). */
1373#define MISC_REG_DRIVER_CONTROL_16 0xa5f0
1374#define MISC_REG_DRIVER_CONTROL_16_SIZE 2
1375/* [RW 1] e1hmf for WOL. If clr WOL signal o the PXP will be send on bit 0
1376 only. */
1377#define MISC_REG_E1HMF_MODE 0xa5f8
1226/* [RW 32] GPIO. [31-28] FLOAT port 0; [27-24] FLOAT port 0; When any of 1378/* [RW 32] GPIO. [31-28] FLOAT port 0; [27-24] FLOAT port 0; When any of
1227 these bits is written as a '1'; the corresponding SPIO bit will turn off 1379 these bits is written as a '1'; the corresponding SPIO bit will turn off
1228 it's drivers and become an input. This is the reset state of all GPIO 1380 it's drivers and become an input. This is the reset state of all GPIO
@@ -1240,6 +1392,18 @@
1240 This is the result value of the pin; not the drive value. Writing these 1392 This is the result value of the pin; not the drive value. Writing these
1241 bits will have not effect. */ 1393 bits will have not effect. */
1242#define MISC_REG_GPIO 0xa490 1394#define MISC_REG_GPIO 0xa490
1395/* [R 28] this field hold the last information that caused reserved
1396 attention. bits [19:0] - address; [22:20] function; [23] reserved;
1397 [27:24] the master thatcaused the attention - according to the following
1398 encodeing:1 = pxp; 2 = mcp; 3 = usdm; 4 = tsdm; 5 = xsdm; 6 = csdm; 7 =
1399 dbu; 8 = dmae */
1400#define MISC_REG_GRC_RSV_ATTN 0xa3c0
1401/* [R 28] this field hold the last information that caused timeout
1402 attention. bits [19:0] - address; [22:20] function; [23] reserved;
1403 [27:24] the master thatcaused the attention - according to the following
1404 encodeing:1 = pxp; 2 = mcp; 3 = usdm; 4 = tsdm; 5 = xsdm; 6 = csdm; 7 =
1405 dbu; 8 = dmae */
1406#define MISC_REG_GRC_TIMEOUT_ATTN 0xa3c4
1243/* [RW 1] Setting this bit enables a timer in the GRC block to timeout any 1407/* [RW 1] Setting this bit enables a timer in the GRC block to timeout any
1244 access that does not finish within 1408 access that does not finish within
1245 ~misc_registers_grc_timout_val.grc_timeout_val cycles. When this bit is 1409 ~misc_registers_grc_timout_val.grc_timeout_val cycles. When this bit is
@@ -1282,6 +1446,11 @@
1282#define MISC_REG_MISC_PRTY_MASK 0xa398 1446#define MISC_REG_MISC_PRTY_MASK 0xa398
1283/* [R 1] Parity register #0 read */ 1447/* [R 1] Parity register #0 read */
1284#define MISC_REG_MISC_PRTY_STS 0xa38c 1448#define MISC_REG_MISC_PRTY_STS 0xa38c
1449#define MISC_REG_NIG_WOL_P0 0xa270
1450#define MISC_REG_NIG_WOL_P1 0xa274
1451/* [R 1] If set indicate that the pcie_rst_b was asserted without perst
1452 assertion */
1453#define MISC_REG_PCIE_HOT_RESET 0xa618
1285/* [RW 32] 32 LSB of storm PLL first register; reset val = 0x 071d2911. 1454/* [RW 32] 32 LSB of storm PLL first register; reset val = 0x 071d2911.
1286 inside order of the bits is: [0] P1 divider[0] (reset value 1); [1] P1 1455 inside order of the bits is: [0] P1 divider[0] (reset value 1); [1] P1
1287 divider[1] (reset value 0); [2] P1 divider[2] (reset value 0); [3] P1 1456 divider[1] (reset value 0); [2] P1 divider[2] (reset value 0); [3] P1
@@ -1303,7 +1472,7 @@
1303#define MISC_REG_PLL_STORM_CTRL_2 0xa298 1472#define MISC_REG_PLL_STORM_CTRL_2 0xa298
1304#define MISC_REG_PLL_STORM_CTRL_3 0xa29c 1473#define MISC_REG_PLL_STORM_CTRL_3 0xa29c
1305#define MISC_REG_PLL_STORM_CTRL_4 0xa2a0 1474#define MISC_REG_PLL_STORM_CTRL_4 0xa2a0
1306/* [RW 32] reset reg#1; rite/read one = the specific block is out of reset; 1475/* [RW 32] reset reg#2; rite/read one = the specific block is out of reset;
1307 write/read zero = the specific block is in reset; addr 0-wr- the write 1476 write/read zero = the specific block is in reset; addr 0-wr- the write
1308 value will be written to the register; addr 1-set - one will be written 1477 value will be written to the register; addr 1-set - one will be written
1309 to all the bits that have the value of one in the data written (bits that 1478 to all the bits that have the value of one in the data written (bits that
@@ -1311,14 +1480,12 @@
1311 written to all the bits that have the value of one in the data written 1480 written to all the bits that have the value of one in the data written
1312 (bits that have the value of zero will not be change); addr 3-ignore; 1481 (bits that have the value of zero will not be change); addr 3-ignore;
1313 read ignore from all addr except addr 00; inside order of the bits is: 1482 read ignore from all addr except addr 00; inside order of the bits is:
1314 [0] rst_brb1; [1] rst_prs; [2] rst_src; [3] rst_tsdm; [4] rst_tsem; [5] 1483 [0] rst_bmac0; [1] rst_bmac1; [2] rst_emac0; [3] rst_emac1; [4] rst_grc;
1315 rst_tcm; [6] rst_rbcr; [7] rst_nig; [8] rst_usdm; [9] rst_ucm; [10] 1484 [5] rst_mcp_n_reset_reg_hard_core; [6] rst_ mcp_n_hard_core_rst_b; [7]
1316 rst_usem; [11] rst_upb; [12] rst_ccm; [13] rst_csem; [14] rst_csdm; [15] 1485 rst_ mcp_n_reset_cmn_cpu; [8] rst_ mcp_n_reset_cmn_core; [9] rst_rbcn;
1317 rst_rbcu; [16] rst_pbf; [17] rst_qm; [18] rst_tm; [19] rst_dorq; [20] 1486 [10] rst_dbg; [11] rst_misc_core; [12] rst_dbue (UART); [13]
1318 rst_xcm; [21] rst_xsdm; [22] rst_xsem; [23] rst_rbct; [24] rst_cdu; [25] 1487 Pci_resetmdio_n; [14] rst_emac0_hard_core; [15] rst_emac1_hard_core; 16]
1319 rst_cfc; [26] rst_pxp; [27] rst_pxpv; [28] rst_rbcp; [29] rst_hc; [30] 1488 rst_pxp_rq_rd_wr; 31:17] reserved */
1320 rst_dmae; [31] rst_semi_rtc; */
1321#define MISC_REG_RESET_REG_1 0xa580
1322#define MISC_REG_RESET_REG_2 0xa590 1489#define MISC_REG_RESET_REG_2 0xa590
1323/* [RW 20] 20 bit GRC address where the scratch-pad of the MCP that is 1490/* [RW 20] 20 bit GRC address where the scratch-pad of the MCP that is
1324 shared with the driver resides */ 1491 shared with the driver resides */
@@ -1345,7 +1512,7 @@
1345 select VAUX supply. (This is an output pin only; it is not controlled by 1512 select VAUX supply. (This is an output pin only; it is not controlled by
1346 the SET and CLR fields; it is controlled by the Main Power SM; the FLOAT 1513 the SET and CLR fields; it is controlled by the Main Power SM; the FLOAT
1347 field is not applicable for this pin; only the VALUE fields is relevant - 1514 field is not applicable for this pin; only the VALUE fields is relevant -
1348 it reflects the output value); [3] reserved; [4] spio_4; [5] spio_5; [6] 1515 it reflects the output value); [3] port swap [4] spio_4; [5] spio_5; [6]
1349 Bit 0 of UMP device ID select; read by UMP firmware; [7] Bit 1 of UMP 1516 Bit 0 of UMP device ID select; read by UMP firmware; [7] Bit 1 of UMP
1350 device ID select; read by UMP firmware. */ 1517 device ID select; read by UMP firmware. */
1351#define MISC_REG_SPIO 0xa4fc 1518#define MISC_REG_SPIO 0xa4fc
@@ -1394,8 +1561,9 @@
1394#define NIG_REG_BRB1_PAUSE_IN_EN 0x100c8 1561#define NIG_REG_BRB1_PAUSE_IN_EN 0x100c8
1395/* [RW 1] output enable for RX BRB1 LP IF */ 1562/* [RW 1] output enable for RX BRB1 LP IF */
1396#define NIG_REG_BRB_LB_OUT_EN 0x10100 1563#define NIG_REG_BRB_LB_OUT_EN 0x10100
1397/* [WB_W 72] Debug packet to LP from RBC; Data spelling:[63:0] data; 64] 1564/* [WB_W 82] Debug packet to LP from RBC; Data spelling:[63:0] data; 64]
1398 error; [67:65]eop_bvalid; [68]eop; [69]sop; [70]port_id; 71]flush */ 1565 error; [67:65]eop_bvalid; [68]eop; [69]sop; [70]port_id; 71]flush;
1566 72:73]-vnic_num; 81:74]-sideband_info */
1399#define NIG_REG_DEBUG_PACKET_LB 0x10800 1567#define NIG_REG_DEBUG_PACKET_LB 0x10800
1400/* [RW 1] Input enable for TX Debug packet */ 1568/* [RW 1] Input enable for TX Debug packet */
1401#define NIG_REG_EGRESS_DEBUG_IN_EN 0x100dc 1569#define NIG_REG_EGRESS_DEBUG_IN_EN 0x100dc
@@ -1409,6 +1577,8 @@
1409/* [RW 1] MAC configuration for packets of port0. If 1 - all packet outputs 1577/* [RW 1] MAC configuration for packets of port0. If 1 - all packet outputs
1410 to emac for port0; other way to bmac for port0 */ 1578 to emac for port0; other way to bmac for port0 */
1411#define NIG_REG_EGRESS_EMAC0_PORT 0x10058 1579#define NIG_REG_EGRESS_EMAC0_PORT 0x10058
1580/* [RW 32] TX_MNG_FIFO in NIG_TX_PORT0; data[31:0] written in FIFO order. */
1581#define NIG_REG_EGRESS_MNG0_FIFO 0x1045c
1412/* [RW 1] Input enable for TX PBF user packet port0 IF */ 1582/* [RW 1] Input enable for TX PBF user packet port0 IF */
1413#define NIG_REG_EGRESS_PBF0_IN_EN 0x100cc 1583#define NIG_REG_EGRESS_PBF0_IN_EN 0x100cc
1414/* [RW 1] Input enable for TX PBF user packet port1 IF */ 1584/* [RW 1] Input enable for TX PBF user packet port1 IF */
@@ -1438,6 +1608,8 @@
1438#define NIG_REG_INGRESS_EOP_LB_FIFO 0x104e4 1608#define NIG_REG_INGRESS_EOP_LB_FIFO 0x104e4
1439/* [RW 1] led 10g for port 0 */ 1609/* [RW 1] led 10g for port 0 */
1440#define NIG_REG_LED_10G_P0 0x10320 1610#define NIG_REG_LED_10G_P0 0x10320
1611/* [RW 1] led 10g for port 1 */
1612#define NIG_REG_LED_10G_P1 0x10324
1441/* [RW 1] Port0: This bit is set to enable the use of the 1613/* [RW 1] Port0: This bit is set to enable the use of the
1442 ~nig_registers_led_control_blink_rate_p0.led_control_blink_rate_p0 field 1614 ~nig_registers_led_control_blink_rate_p0.led_control_blink_rate_p0 field
1443 defined below. If this bit is cleared; then the blink rate will be about 1615 defined below. If this bit is cleared; then the blink rate will be about
@@ -1448,7 +1620,7 @@
1448 is reset to 0x080; giving a default blink period of approximately 8Hz. */ 1620 is reset to 0x080; giving a default blink period of approximately 8Hz. */
1449#define NIG_REG_LED_CONTROL_BLINK_RATE_P0 0x10310 1621#define NIG_REG_LED_CONTROL_BLINK_RATE_P0 0x10310
1450/* [RW 1] Port0: If set along with the 1622/* [RW 1] Port0: If set along with the
1451 nig_registers_led_control_override_traffic_p0.led_control_override_traffic_p0 1623 ~nig_registers_led_control_override_traffic_p0.led_control_override_traffic_p0
1452 bit and ~nig_registers_led_control_traffic_p0.led_control_traffic_p0 LED 1624 bit and ~nig_registers_led_control_traffic_p0.led_control_traffic_p0 LED
1453 bit; the Traffic LED will blink with the blink rate specified in 1625 bit; the Traffic LED will blink with the blink rate specified in
1454 ~nig_registers_led_control_blink_rate_p0.led_control_blink_rate_p0 and 1626 ~nig_registers_led_control_blink_rate_p0.led_control_blink_rate_p0 and
@@ -1470,19 +1642,47 @@
1470/* [RW 4] led mode for port0: 0 MAC; 1-3 PHY1; 4 MAC2; 5-7 PHY4; 8-MAC3; 1642/* [RW 4] led mode for port0: 0 MAC; 1-3 PHY1; 4 MAC2; 5-7 PHY4; 8-MAC3;
1471 9-11PHY7; 12 MAC4; 13-15 PHY10; */ 1643 9-11PHY7; 12 MAC4; 13-15 PHY10; */
1472#define NIG_REG_LED_MODE_P0 0x102f0 1644#define NIG_REG_LED_MODE_P0 0x102f0
1645#define NIG_REG_LLH0_ACPI_PAT_0_CRC 0x1015c
1646#define NIG_REG_LLH0_ACPI_PAT_6_LEN 0x10154
1473#define NIG_REG_LLH0_BRB1_DRV_MASK 0x10244 1647#define NIG_REG_LLH0_BRB1_DRV_MASK 0x10244
1648#define NIG_REG_LLH0_BRB1_DRV_MASK_MF 0x16048
1474/* [RW 1] send to BRB1 if no match on any of RMP rules. */ 1649/* [RW 1] send to BRB1 if no match on any of RMP rules. */
1475#define NIG_REG_LLH0_BRB1_NOT_MCP 0x1025c 1650#define NIG_REG_LLH0_BRB1_NOT_MCP 0x1025c
1651/* [RW 2] Determine the classification participants. 0: no classification.1:
1652 classification upon VLAN id. 2: classification upon MAC address. 3:
1653 classification upon both VLAN id & MAC addr. */
1654#define NIG_REG_LLH0_CLS_TYPE 0x16080
1476/* [RW 32] cm header for llh0 */ 1655/* [RW 32] cm header for llh0 */
1477#define NIG_REG_LLH0_CM_HEADER 0x1007c 1656#define NIG_REG_LLH0_CM_HEADER 0x1007c
1657#define NIG_REG_LLH0_DEST_IP_0_1 0x101dc
1658#define NIG_REG_LLH0_DEST_MAC_0_0 0x101c0
1659/* [RW 16] destination TCP address 1. The LLH will look for this address in
1660 all incoming packets. */
1661#define NIG_REG_LLH0_DEST_TCP_0 0x10220
1662/* [RW 16] destination UDP address 1 The LLH will look for this address in
1663 all incoming packets. */
1664#define NIG_REG_LLH0_DEST_UDP_0 0x10214
1478#define NIG_REG_LLH0_ERROR_MASK 0x1008c 1665#define NIG_REG_LLH0_ERROR_MASK 0x1008c
1479/* [RW 8] event id for llh0 */ 1666/* [RW 8] event id for llh0 */
1480#define NIG_REG_LLH0_EVENT_ID 0x10084 1667#define NIG_REG_LLH0_EVENT_ID 0x10084
1668#define NIG_REG_LLH0_FUNC_EN 0x160fc
1669#define NIG_REG_LLH0_FUNC_VLAN_ID 0x16100
1670/* [RW 1] Determine the IP version to look for in
1671 ~nig_registers_llh0_dest_ip_0.llh0_dest_ip_0. 0 - IPv6; 1-IPv4 */
1672#define NIG_REG_LLH0_IPV4_IPV6_0 0x10208
1673/* [RW 1] t bit for llh0 */
1674#define NIG_REG_LLH0_T_BIT 0x10074
1675/* [RW 12] VLAN ID 1. In case of VLAN packet the LLH will look for this ID. */
1676#define NIG_REG_LLH0_VLAN_ID_0 0x1022c
1481/* [RW 8] init credit counter for port0 in LLH */ 1677/* [RW 8] init credit counter for port0 in LLH */
1482#define NIG_REG_LLH0_XCM_INIT_CREDIT 0x10554 1678#define NIG_REG_LLH0_XCM_INIT_CREDIT 0x10554
1483#define NIG_REG_LLH0_XCM_MASK 0x10130 1679#define NIG_REG_LLH0_XCM_MASK 0x10130
1484/* [RW 1] send to BRB1 if no match on any of RMP rules. */ 1680/* [RW 1] send to BRB1 if no match on any of RMP rules. */
1485#define NIG_REG_LLH1_BRB1_NOT_MCP 0x102dc 1681#define NIG_REG_LLH1_BRB1_NOT_MCP 0x102dc
1682/* [RW 2] Determine the classification participants. 0: no classification.1:
1683 classification upon VLAN id. 2: classification upon MAC address. 3:
1684 classification upon both VLAN id & MAC addr. */
1685#define NIG_REG_LLH1_CLS_TYPE 0x16084
1486/* [RW 32] cm header for llh1 */ 1686/* [RW 32] cm header for llh1 */
1487#define NIG_REG_LLH1_CM_HEADER 0x10080 1687#define NIG_REG_LLH1_CM_HEADER 0x10080
1488#define NIG_REG_LLH1_ERROR_MASK 0x10090 1688#define NIG_REG_LLH1_ERROR_MASK 0x10090
@@ -1491,13 +1691,26 @@
1491/* [RW 8] init credit counter for port1 in LLH */ 1691/* [RW 8] init credit counter for port1 in LLH */
1492#define NIG_REG_LLH1_XCM_INIT_CREDIT 0x10564 1692#define NIG_REG_LLH1_XCM_INIT_CREDIT 0x10564
1493#define NIG_REG_LLH1_XCM_MASK 0x10134 1693#define NIG_REG_LLH1_XCM_MASK 0x10134
1694/* [RW 1] When this bit is set; the LLH will expect all packets to be with
1695 e1hov */
1696#define NIG_REG_LLH_E1HOV_MODE 0x160d8
1697/* [RW 1] When this bit is set; the LLH will classify the packet before
1698 sending it to the BRB or calculating WoL on it. */
1699#define NIG_REG_LLH_MF_MODE 0x16024
1494#define NIG_REG_MASK_INTERRUPT_PORT0 0x10330 1700#define NIG_REG_MASK_INTERRUPT_PORT0 0x10330
1495#define NIG_REG_MASK_INTERRUPT_PORT1 0x10334 1701#define NIG_REG_MASK_INTERRUPT_PORT1 0x10334
1496/* [RW 1] Output signal from NIG to EMAC0. When set enables the EMAC0 block. */ 1702/* [RW 1] Output signal from NIG to EMAC0. When set enables the EMAC0 block. */
1497#define NIG_REG_NIG_EMAC0_EN 0x1003c 1703#define NIG_REG_NIG_EMAC0_EN 0x1003c
1704/* [RW 1] Output signal from NIG to EMAC1. When set enables the EMAC1 block. */
1705#define NIG_REG_NIG_EMAC1_EN 0x10040
1498/* [RW 1] Output signal from NIG to TX_EMAC0. When set indicates to the 1706/* [RW 1] Output signal from NIG to TX_EMAC0. When set indicates to the
1499 EMAC0 to strip the CRC from the ingress packets. */ 1707 EMAC0 to strip the CRC from the ingress packets. */
1500#define NIG_REG_NIG_INGRESS_EMAC0_NO_CRC 0x10044 1708#define NIG_REG_NIG_INGRESS_EMAC0_NO_CRC 0x10044
1709/* [R 32] Interrupt register #0 read */
1710#define NIG_REG_NIG_INT_STS_0 0x103b0
1711#define NIG_REG_NIG_INT_STS_1 0x103c0
1712/* [R 32] Parity register #0 read */
1713#define NIG_REG_NIG_PRTY_STS 0x103d0
1501/* [RW 1] Input enable for RX PBF LP IF */ 1714/* [RW 1] Input enable for RX PBF LP IF */
1502#define NIG_REG_PBF_LB_IN_EN 0x100b4 1715#define NIG_REG_PBF_LB_IN_EN 0x100b4
1503/* [RW 1] Value of this register will be transmitted to port swap when 1716/* [RW 1] Value of this register will be transmitted to port swap when
@@ -1514,9 +1727,21 @@
1514/* [R 32] Rx statistics : In user packets discarded due to BRB backpressure 1727/* [R 32] Rx statistics : In user packets discarded due to BRB backpressure
1515 for port0 */ 1728 for port0 */
1516#define NIG_REG_STAT0_BRB_DISCARD 0x105f0 1729#define NIG_REG_STAT0_BRB_DISCARD 0x105f0
1730/* [WB_R 36] Tx statistics : Number of packets from emac0 or bmac0 that
1731 between 1024 and 1522 bytes for port0 */
1732#define NIG_REG_STAT0_EGRESS_MAC_PKT0 0x10750
1733/* [WB_R 36] Tx statistics : Number of packets from emac0 or bmac0 that
1734 between 1523 bytes and above for port0 */
1735#define NIG_REG_STAT0_EGRESS_MAC_PKT1 0x10760
1517/* [R 32] Rx statistics : In user packets discarded due to BRB backpressure 1736/* [R 32] Rx statistics : In user packets discarded due to BRB backpressure
1518 for port1 */ 1737 for port1 */
1519#define NIG_REG_STAT1_BRB_DISCARD 0x10628 1738#define NIG_REG_STAT1_BRB_DISCARD 0x10628
1739/* [WB_R 36] Tx statistics : Number of packets from emac1 or bmac1 that
1740 between 1024 and 1522 bytes for port1 */
1741#define NIG_REG_STAT1_EGRESS_MAC_PKT0 0x107a0
1742/* [WB_R 36] Tx statistics : Number of packets from emac1 or bmac1 that
1743 between 1523 bytes and above for port1 */
1744#define NIG_REG_STAT1_EGRESS_MAC_PKT1 0x107b0
1520/* [WB_R 64] Rx statistics : User octets received for LP */ 1745/* [WB_R 64] Rx statistics : User octets received for LP */
1521#define NIG_REG_STAT2_BRB_OCTET 0x107e0 1746#define NIG_REG_STAT2_BRB_OCTET 0x107e0
1522#define NIG_REG_STATUS_INTERRUPT_PORT0 0x10328 1747#define NIG_REG_STATUS_INTERRUPT_PORT0 0x10328
@@ -1529,8 +1754,12 @@
1529#define NIG_REG_XCM0_OUT_EN 0x100f0 1754#define NIG_REG_XCM0_OUT_EN 0x100f0
1530/* [RW 1] output enable for RX_XCM1 IF */ 1755/* [RW 1] output enable for RX_XCM1 IF */
1531#define NIG_REG_XCM1_OUT_EN 0x100f4 1756#define NIG_REG_XCM1_OUT_EN 0x100f4
1757/* [RW 1] control to xgxs - remote PHY in-band MDIO */
1758#define NIG_REG_XGXS0_CTRL_EXTREMOTEMDIOST 0x10348
1532/* [RW 5] control to xgxs - CL45 DEVAD */ 1759/* [RW 5] control to xgxs - CL45 DEVAD */
1533#define NIG_REG_XGXS0_CTRL_MD_DEVAD 0x1033c 1760#define NIG_REG_XGXS0_CTRL_MD_DEVAD 0x1033c
1761/* [RW 1] control to xgxs; 0 - clause 45; 1 - clause 22 */
1762#define NIG_REG_XGXS0_CTRL_MD_ST 0x10338
1534/* [RW 5] control to xgxs - CL22 PHY_ADD and CL45 PRTAD */ 1763/* [RW 5] control to xgxs - CL22 PHY_ADD and CL45 PRTAD */
1535#define NIG_REG_XGXS0_CTRL_PHY_ADDR 0x10340 1764#define NIG_REG_XGXS0_CTRL_PHY_ADDR 0x10340
1536/* [R 1] status from xgxs0 that inputs to interrupt logic of link10g. */ 1765/* [R 1] status from xgxs0 that inputs to interrupt logic of link10g. */
@@ -1626,7 +1855,6 @@
1626#define PRS_REG_CFC_SEARCH_INITIAL_CREDIT 0x4011c 1855#define PRS_REG_CFC_SEARCH_INITIAL_CREDIT 0x4011c
1627/* [RW 24] CID for port 0 if no match */ 1856/* [RW 24] CID for port 0 if no match */
1628#define PRS_REG_CID_PORT_0 0x400fc 1857#define PRS_REG_CID_PORT_0 0x400fc
1629#define PRS_REG_CID_PORT_1 0x40100
1630/* [RW 32] The CM header for flush message where 'load existed' bit in CFC 1858/* [RW 32] The CM header for flush message where 'load existed' bit in CFC
1631 load response is reset and packet type is 0. Used in packet start message 1859 load response is reset and packet type is 0. Used in packet start message
1632 to TCM. */ 1860 to TCM. */
@@ -1658,11 +1886,15 @@
1658#define PRS_REG_CM_HDR_TYPE_4 0x40088 1886#define PRS_REG_CM_HDR_TYPE_4 0x40088
1659/* [RW 32] The CM header in case there was not a match on the connection */ 1887/* [RW 32] The CM header in case there was not a match on the connection */
1660#define PRS_REG_CM_NO_MATCH_HDR 0x400b8 1888#define PRS_REG_CM_NO_MATCH_HDR 0x400b8
1889/* [RW 1] Indicates if in e1hov mode. 0=non-e1hov mode; 1=e1hov mode. */
1890#define PRS_REG_E1HOV_MODE 0x401c8
1661/* [RW 8] The 8-bit event ID for a match and packet type 1. Used in packet 1891/* [RW 8] The 8-bit event ID for a match and packet type 1. Used in packet
1662 start message to TCM. */ 1892 start message to TCM. */
1663#define PRS_REG_EVENT_ID_1 0x40054 1893#define PRS_REG_EVENT_ID_1 0x40054
1664#define PRS_REG_EVENT_ID_2 0x40058 1894#define PRS_REG_EVENT_ID_2 0x40058
1665#define PRS_REG_EVENT_ID_3 0x4005c 1895#define PRS_REG_EVENT_ID_3 0x4005c
1896/* [RW 16] The Ethernet type value for FCoE */
1897#define PRS_REG_FCOE_TYPE 0x401d0
1666/* [RW 8] Context region for flush packet with packet type 0. Used in CFC 1898/* [RW 8] Context region for flush packet with packet type 0. Used in CFC
1667 load request message. */ 1899 load request message. */
1668#define PRS_REG_FLUSH_REGIONS_TYPE_0 0x40004 1900#define PRS_REG_FLUSH_REGIONS_TYPE_0 0x40004
@@ -1730,8 +1962,17 @@
1730#define PXP2_REG_HST_DATA_FIFO_STATUS 0x12047c 1962#define PXP2_REG_HST_DATA_FIFO_STATUS 0x12047c
1731/* [R 7] Debug only: Number of used entries in the header FIFO */ 1963/* [R 7] Debug only: Number of used entries in the header FIFO */
1732#define PXP2_REG_HST_HEADER_FIFO_STATUS 0x120478 1964#define PXP2_REG_HST_HEADER_FIFO_STATUS 0x120478
1965#define PXP2_REG_PGL_ADDR_88_F0 0x120534
1966#define PXP2_REG_PGL_ADDR_8C_F0 0x120538
1967#define PXP2_REG_PGL_ADDR_90_F0 0x12053c
1968#define PXP2_REG_PGL_ADDR_94_F0 0x120540
1733#define PXP2_REG_PGL_CONTROL0 0x120490 1969#define PXP2_REG_PGL_CONTROL0 0x120490
1734#define PXP2_REG_PGL_CONTROL1 0x120514 1970#define PXP2_REG_PGL_CONTROL1 0x120514
1971/* [RW 32] third dword data of expansion rom request. this register is
1972 special. reading from it provides a vector outstanding read requests. if
1973 a bit is zero it means that a read request on the corresponding tag did
1974 not finish yet (not all completions have arrived for it) */
1975#define PXP2_REG_PGL_EXP_ROM2 0x120808
1735/* [RW 32] Inbound interrupt table for CSDM: bits[31:16]-mask; 1976/* [RW 32] Inbound interrupt table for CSDM: bits[31:16]-mask;
1736 its[15:0]-address */ 1977 its[15:0]-address */
1737#define PXP2_REG_PGL_INT_CSDM_0 0x1204f4 1978#define PXP2_REG_PGL_INT_CSDM_0 0x1204f4
@@ -1775,8 +2016,7 @@
1775/* [R 1] this bit indicates that a read request was blocked because of 2016/* [R 1] this bit indicates that a read request was blocked because of
1776 bus_master_en was deasserted */ 2017 bus_master_en was deasserted */
1777#define PXP2_REG_PGL_READ_BLOCKED 0x120568 2018#define PXP2_REG_PGL_READ_BLOCKED 0x120568
1778/* [R 6] debug only */ 2019#define PXP2_REG_PGL_TAGS_LIMIT 0x1205a8
1779#define PXP2_REG_PGL_TXR_CDTS 0x120528
1780/* [R 18] debug only */ 2020/* [R 18] debug only */
1781#define PXP2_REG_PGL_TXW_CDTS 0x12052c 2021#define PXP2_REG_PGL_TXW_CDTS 0x12052c
1782/* [R 1] this bit indicates that a write request was blocked because of 2022/* [R 1] this bit indicates that a write request was blocked because of
@@ -1828,12 +2068,14 @@
1828#define PXP2_REG_PSWRQ_QM0_L2P 0x120038 2068#define PXP2_REG_PSWRQ_QM0_L2P 0x120038
1829#define PXP2_REG_PSWRQ_SRC0_L2P 0x120054 2069#define PXP2_REG_PSWRQ_SRC0_L2P 0x120054
1830#define PXP2_REG_PSWRQ_TM0_L2P 0x12001c 2070#define PXP2_REG_PSWRQ_TM0_L2P 0x12001c
1831/* [RW 25] Interrupt mask register #0 read/write */ 2071#define PXP2_REG_PSWRQ_TSDM0_L2P 0x1200e0
1832#define PXP2_REG_PXP2_INT_MASK 0x120578 2072/* [RW 32] Interrupt mask register #0 read/write */
1833/* [R 25] Interrupt register #0 read */ 2073#define PXP2_REG_PXP2_INT_MASK_0 0x120578
1834#define PXP2_REG_PXP2_INT_STS 0x12056c 2074/* [R 32] Interrupt register #0 read */
1835/* [RC 25] Interrupt register #0 read clear */ 2075#define PXP2_REG_PXP2_INT_STS_0 0x12056c
1836#define PXP2_REG_PXP2_INT_STS_CLR 0x120570 2076#define PXP2_REG_PXP2_INT_STS_1 0x120608
2077/* [RC 32] Interrupt register #0 read clear */
2078#define PXP2_REG_PXP2_INT_STS_CLR_0 0x120570
1837/* [RW 32] Parity mask register #0 read/write */ 2079/* [RW 32] Parity mask register #0 read/write */
1838#define PXP2_REG_PXP2_PRTY_MASK_0 0x120588 2080#define PXP2_REG_PXP2_PRTY_MASK_0 0x120588
1839#define PXP2_REG_PXP2_PRTY_MASK_1 0x120598 2081#define PXP2_REG_PXP2_PRTY_MASK_1 0x120598
@@ -2016,8 +2258,12 @@
2016#define PXP2_REG_RQ_BW_WR_UBOUND29 0x1202a4 2258#define PXP2_REG_RQ_BW_WR_UBOUND29 0x1202a4
2017/* [RW 7] Bandwidth upper bound for VQ30 */ 2259/* [RW 7] Bandwidth upper bound for VQ30 */
2018#define PXP2_REG_RQ_BW_WR_UBOUND30 0x1202a8 2260#define PXP2_REG_RQ_BW_WR_UBOUND30 0x1202a8
2261/* [RW 18] external first_mem_addr field in L2P table for CDU module port 0 */
2262#define PXP2_REG_RQ_CDU0_EFIRST_MEM_ADDR 0x120008
2019/* [RW 2] Endian mode for cdu */ 2263/* [RW 2] Endian mode for cdu */
2020#define PXP2_REG_RQ_CDU_ENDIAN_M 0x1201a0 2264#define PXP2_REG_RQ_CDU_ENDIAN_M 0x1201a0
2265#define PXP2_REG_RQ_CDU_FIRST_ILT 0x12061c
2266#define PXP2_REG_RQ_CDU_LAST_ILT 0x120620
2021/* [RW 3] page size in L2P table for CDU module; -4k; -8k; -16k; -32k; -64k; 2267/* [RW 3] page size in L2P table for CDU module; -4k; -8k; -16k; -32k; -64k;
2022 -128k */ 2268 -128k */
2023#define PXP2_REG_RQ_CDU_P_SIZE 0x120018 2269#define PXP2_REG_RQ_CDU_P_SIZE 0x120018
@@ -2029,14 +2275,26 @@
2029/* [RW 1] When '1'; requests will enter input buffers but wont get out 2275/* [RW 1] When '1'; requests will enter input buffers but wont get out
2030 towards the glue */ 2276 towards the glue */
2031#define PXP2_REG_RQ_DISABLE_INPUTS 0x120330 2277#define PXP2_REG_RQ_DISABLE_INPUTS 0x120330
2278/* [RW 1] 1 - SR will be aligned by 64B; 0 - SR will be aligned by 8B */
2279#define PXP2_REG_RQ_DRAM_ALIGN 0x1205b0
2280/* [RW 1] If 1 ILT failiue will not result in ELT access; An interrupt will
2281 be asserted */
2282#define PXP2_REG_RQ_ELT_DISABLE 0x12066c
2032/* [RW 2] Endian mode for hc */ 2283/* [RW 2] Endian mode for hc */
2033#define PXP2_REG_RQ_HC_ENDIAN_M 0x1201a8 2284#define PXP2_REG_RQ_HC_ENDIAN_M 0x1201a8
2285/* [RW 1] when '0' ILT logic will work as in A0; otherwise B0; for back
2286 compatibility needs; Note that different registers are used per mode */
2287#define PXP2_REG_RQ_ILT_MODE 0x1205b4
2034/* [WB 53] Onchip address table */ 2288/* [WB 53] Onchip address table */
2035#define PXP2_REG_RQ_ONCHIP_AT 0x122000 2289#define PXP2_REG_RQ_ONCHIP_AT 0x122000
2290/* [WB 53] Onchip address table - B0 */
2291#define PXP2_REG_RQ_ONCHIP_AT_B0 0x128000
2036/* [RW 13] Pending read limiter threshold; in Dwords */ 2292/* [RW 13] Pending read limiter threshold; in Dwords */
2037#define PXP2_REG_RQ_PDR_LIMIT 0x12033c 2293#define PXP2_REG_RQ_PDR_LIMIT 0x12033c
2038/* [RW 2] Endian mode for qm */ 2294/* [RW 2] Endian mode for qm */
2039#define PXP2_REG_RQ_QM_ENDIAN_M 0x120194 2295#define PXP2_REG_RQ_QM_ENDIAN_M 0x120194
2296#define PXP2_REG_RQ_QM_FIRST_ILT 0x120634
2297#define PXP2_REG_RQ_QM_LAST_ILT 0x120638
2040/* [RW 3] page size in L2P table for QM module; -4k; -8k; -16k; -32k; -64k; 2298/* [RW 3] page size in L2P table for QM module; -4k; -8k; -16k; -32k; -64k;
2041 -128k */ 2299 -128k */
2042#define PXP2_REG_RQ_QM_P_SIZE 0x120050 2300#define PXP2_REG_RQ_QM_P_SIZE 0x120050
@@ -2050,16 +2308,22 @@
2050#define PXP2_REG_RQ_RD_MBS1 0x120168 2308#define PXP2_REG_RQ_RD_MBS1 0x120168
2051/* [RW 2] Endian mode for src */ 2309/* [RW 2] Endian mode for src */
2052#define PXP2_REG_RQ_SRC_ENDIAN_M 0x12019c 2310#define PXP2_REG_RQ_SRC_ENDIAN_M 0x12019c
2311#define PXP2_REG_RQ_SRC_FIRST_ILT 0x12063c
2312#define PXP2_REG_RQ_SRC_LAST_ILT 0x120640
2053/* [RW 3] page size in L2P table for SRC module; -4k; -8k; -16k; -32k; -64k; 2313/* [RW 3] page size in L2P table for SRC module; -4k; -8k; -16k; -32k; -64k;
2054 -128k */ 2314 -128k */
2055#define PXP2_REG_RQ_SRC_P_SIZE 0x12006c 2315#define PXP2_REG_RQ_SRC_P_SIZE 0x12006c
2056/* [RW 2] Endian mode for tm */ 2316/* [RW 2] Endian mode for tm */
2057#define PXP2_REG_RQ_TM_ENDIAN_M 0x120198 2317#define PXP2_REG_RQ_TM_ENDIAN_M 0x120198
2318#define PXP2_REG_RQ_TM_FIRST_ILT 0x120644
2319#define PXP2_REG_RQ_TM_LAST_ILT 0x120648
2058/* [RW 3] page size in L2P table for TM module; -4k; -8k; -16k; -32k; -64k; 2320/* [RW 3] page size in L2P table for TM module; -4k; -8k; -16k; -32k; -64k;
2059 -128k */ 2321 -128k */
2060#define PXP2_REG_RQ_TM_P_SIZE 0x120034 2322#define PXP2_REG_RQ_TM_P_SIZE 0x120034
2061/* [R 5] Number of entries in the ufifo; his fifo has l2p completions */ 2323/* [R 5] Number of entries in the ufifo; his fifo has l2p completions */
2062#define PXP2_REG_RQ_UFIFO_NUM_OF_ENTRY 0x12080c 2324#define PXP2_REG_RQ_UFIFO_NUM_OF_ENTRY 0x12080c
2325/* [RW 18] external first_mem_addr field in L2P table for USDM module port 0 */
2326#define PXP2_REG_RQ_USDM0_EFIRST_MEM_ADDR 0x120094
2063/* [R 8] Number of entries occupied by vq 0 in pswrq memory */ 2327/* [R 8] Number of entries occupied by vq 0 in pswrq memory */
2064#define PXP2_REG_RQ_VQ0_ENTRY_CNT 0x120810 2328#define PXP2_REG_RQ_VQ0_ENTRY_CNT 0x120810
2065/* [R 8] Number of entries occupied by vq 10 in pswrq memory */ 2329/* [R 8] Number of entries occupied by vq 10 in pswrq memory */
@@ -2130,19 +2394,63 @@
2130/* [RW 3] Max burst size filed for write requests port 1; 000 - 128B; 2394/* [RW 3] Max burst size filed for write requests port 1; 000 - 128B;
2131 001:256B; 010: 512B; */ 2395 001:256B; 010: 512B; */
2132#define PXP2_REG_RQ_WR_MBS1 0x120164 2396#define PXP2_REG_RQ_WR_MBS1 0x120164
2397/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the
2398 buffer reaches this number has_payload will be asserted */
2399#define PXP2_REG_WR_CDU_MPS 0x1205f0
2400/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the
2401 buffer reaches this number has_payload will be asserted */
2402#define PXP2_REG_WR_CSDM_MPS 0x1205d0
2403/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the
2404 buffer reaches this number has_payload will be asserted */
2405#define PXP2_REG_WR_DBG_MPS 0x1205e8
2406/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the
2407 buffer reaches this number has_payload will be asserted */
2408#define PXP2_REG_WR_DMAE_MPS 0x1205ec
2133/* [RW 10] if Number of entries in dmae fifo will be higer than this 2409/* [RW 10] if Number of entries in dmae fifo will be higer than this
2134 threshold then has_payload indication will be asserted; the default value 2410 threshold then has_payload indication will be asserted; the default value
2135 should be equal to &gt; write MBS size! */ 2411 should be equal to &gt; write MBS size! */
2136#define PXP2_REG_WR_DMAE_TH 0x120368 2412#define PXP2_REG_WR_DMAE_TH 0x120368
2413/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the
2414 buffer reaches this number has_payload will be asserted */
2415#define PXP2_REG_WR_HC_MPS 0x1205c8
2416/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the
2417 buffer reaches this number has_payload will be asserted */
2418#define PXP2_REG_WR_QM_MPS 0x1205dc
2419/* [RW 1] 0 - working in A0 mode; - working in B0 mode */
2420#define PXP2_REG_WR_REV_MODE 0x120670
2421/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the
2422 buffer reaches this number has_payload will be asserted */
2423#define PXP2_REG_WR_SRC_MPS 0x1205e4
2424/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the
2425 buffer reaches this number has_payload will be asserted */
2426#define PXP2_REG_WR_TM_MPS 0x1205e0
2427/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the
2428 buffer reaches this number has_payload will be asserted */
2429#define PXP2_REG_WR_TSDM_MPS 0x1205d4
2137/* [RW 10] if Number of entries in usdmdp fifo will be higer than this 2430/* [RW 10] if Number of entries in usdmdp fifo will be higer than this
2138 threshold then has_payload indication will be asserted; the default value 2431 threshold then has_payload indication will be asserted; the default value
2139 should be equal to &gt; write MBS size! */ 2432 should be equal to &gt; write MBS size! */
2140#define PXP2_REG_WR_USDMDP_TH 0x120348 2433#define PXP2_REG_WR_USDMDP_TH 0x120348
2434/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the
2435 buffer reaches this number has_payload will be asserted */
2436#define PXP2_REG_WR_USDM_MPS 0x1205cc
2437/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the
2438 buffer reaches this number has_payload will be asserted */
2439#define PXP2_REG_WR_XSDM_MPS 0x1205d8
2141/* [R 1] debug only: Indication if PSWHST arbiter is idle */ 2440/* [R 1] debug only: Indication if PSWHST arbiter is idle */
2142#define PXP_REG_HST_ARB_IS_IDLE 0x103004 2441#define PXP_REG_HST_ARB_IS_IDLE 0x103004
2143/* [R 8] debug only: A bit mask for all PSWHST arbiter clients. '1' means 2442/* [R 8] debug only: A bit mask for all PSWHST arbiter clients. '1' means
2144 this client is waiting for the arbiter. */ 2443 this client is waiting for the arbiter. */
2145#define PXP_REG_HST_CLIENTS_WAITING_TO_ARB 0x103008 2444#define PXP_REG_HST_CLIENTS_WAITING_TO_ARB 0x103008
2445/* [R 1] debug only: '1' means this PSWHST is discarding doorbells. This bit
2446 should update accoring to 'hst_discard_doorbells' register when the state
2447 machine is idle */
2448#define PXP_REG_HST_DISCARD_DOORBELLS_STATUS 0x1030a0
2449/* [R 6] debug only: A bit mask for all PSWHST internal write clients. '1'
2450 means this PSWHST is discarding inputs from this client. Each bit should
2451 update accoring to 'hst_discard_internal_writes' register when the state
2452 machine is idle. */
2453#define PXP_REG_HST_DISCARD_INTERNAL_WRITES_STATUS 0x10309c
2146/* [WB 160] Used for initialization of the inbound interrupts memory */ 2454/* [WB 160] Used for initialization of the inbound interrupts memory */
2147#define PXP_REG_HST_INBOUND_INT 0x103800 2455#define PXP_REG_HST_INBOUND_INT 0x103800
2148/* [RW 32] Interrupt mask register #0 read/write */ 2456/* [RW 32] Interrupt mask register #0 read/write */
@@ -2165,18 +2473,25 @@
2165#define QM_REG_ACTCTRINITVAL_3 0x16804c 2473#define QM_REG_ACTCTRINITVAL_3 0x16804c
2166/* [RW 32] The base logical address (in bytes) of each physical queue. The 2474/* [RW 32] The base logical address (in bytes) of each physical queue. The
2167 index I represents the physical queue number. The 12 lsbs are ignore and 2475 index I represents the physical queue number. The 12 lsbs are ignore and
2168 considered zero so practically there are only 20 bits in this register. */ 2476 considered zero so practically there are only 20 bits in this register;
2477 queues 63-0 */
2169#define QM_REG_BASEADDR 0x168900 2478#define QM_REG_BASEADDR 0x168900
2170/* [RW 16] The byte credit cost for each task. This value is for both ports */ 2479/* [RW 16] The byte credit cost for each task. This value is for both ports */
2171#define QM_REG_BYTECRDCOST 0x168234 2480#define QM_REG_BYTECRDCOST 0x168234
2172/* [RW 16] The initial byte credit value for both ports. */ 2481/* [RW 16] The initial byte credit value for both ports. */
2173#define QM_REG_BYTECRDINITVAL 0x168238 2482#define QM_REG_BYTECRDINITVAL 0x168238
2174/* [RW 32] A bit per physical queue. If the bit is cleared then the physical 2483/* [RW 32] A bit per physical queue. If the bit is cleared then the physical
2175 queue uses port 0 else it uses port 1. */ 2484 queue uses port 0 else it uses port 1; queues 31-0 */
2176#define QM_REG_BYTECRDPORT_LSB 0x168228 2485#define QM_REG_BYTECRDPORT_LSB 0x168228
2177/* [RW 32] A bit per physical queue. If the bit is cleared then the physical 2486/* [RW 32] A bit per physical queue. If the bit is cleared then the physical
2178 queue uses port 0 else it uses port 1. */ 2487 queue uses port 0 else it uses port 1; queues 95-64 */
2488#define QM_REG_BYTECRDPORT_LSB_EXT_A 0x16e520
2489/* [RW 32] A bit per physical queue. If the bit is cleared then the physical
2490 queue uses port 0 else it uses port 1; queues 63-32 */
2179#define QM_REG_BYTECRDPORT_MSB 0x168224 2491#define QM_REG_BYTECRDPORT_MSB 0x168224
2492/* [RW 32] A bit per physical queue. If the bit is cleared then the physical
2493 queue uses port 0 else it uses port 1; queues 127-96 */
2494#define QM_REG_BYTECRDPORT_MSB_EXT_A 0x16e51c
2180/* [RW 16] The byte credit value that if above the QM is considered almost 2495/* [RW 16] The byte credit value that if above the QM is considered almost
2181 full */ 2496 full */
2182#define QM_REG_BYTECREDITAFULLTHR 0x168094 2497#define QM_REG_BYTECREDITAFULLTHR 0x168094
@@ -2203,7 +2518,7 @@
2203#define QM_REG_CMINTVOQMASK_6 0x16820c 2518#define QM_REG_CMINTVOQMASK_6 0x16820c
2204#define QM_REG_CMINTVOQMASK_7 0x168210 2519#define QM_REG_CMINTVOQMASK_7 0x168210
2205/* [RW 20] The number of connections divided by 16 which dictates the size 2520/* [RW 20] The number of connections divided by 16 which dictates the size
2206 of each queue per port 0 */ 2521 of each queue which belongs to even function number. */
2207#define QM_REG_CONNNUM_0 0x168020 2522#define QM_REG_CONNNUM_0 0x168020
2208/* [R 6] Keep the fill level of the fifo from write client 4 */ 2523/* [R 6] Keep the fill level of the fifo from write client 4 */
2209#define QM_REG_CQM_WRC_FIFOLVL 0x168018 2524#define QM_REG_CQM_WRC_FIFOLVL 0x168018
@@ -2216,74 +2531,179 @@
2216 bypass enable */ 2531 bypass enable */
2217#define QM_REG_ENBYPVOQMASK 0x16823c 2532#define QM_REG_ENBYPVOQMASK 0x16823c
2218/* [RW 32] A bit mask per each physical queue. If a bit is set then the 2533/* [RW 32] A bit mask per each physical queue. If a bit is set then the
2219 physical queue uses the byte credit */ 2534 physical queue uses the byte credit; queues 31-0 */
2220#define QM_REG_ENBYTECRD_LSB 0x168220 2535#define QM_REG_ENBYTECRD_LSB 0x168220
2221/* [RW 32] A bit mask per each physical queue. If a bit is set then the 2536/* [RW 32] A bit mask per each physical queue. If a bit is set then the
2222 physical queue uses the byte credit */ 2537 physical queue uses the byte credit; queues 95-64 */
2538#define QM_REG_ENBYTECRD_LSB_EXT_A 0x16e518
2539/* [RW 32] A bit mask per each physical queue. If a bit is set then the
2540 physical queue uses the byte credit; queues 63-32 */
2223#define QM_REG_ENBYTECRD_MSB 0x16821c 2541#define QM_REG_ENBYTECRD_MSB 0x16821c
2542/* [RW 32] A bit mask per each physical queue. If a bit is set then the
2543 physical queue uses the byte credit; queues 127-96 */
2544#define QM_REG_ENBYTECRD_MSB_EXT_A 0x16e514
2224/* [RW 4] If cleared then the secondary interface will not be served by the 2545/* [RW 4] If cleared then the secondary interface will not be served by the
2225 RR arbiter */ 2546 RR arbiter */
2226#define QM_REG_ENSEC 0x1680f0 2547#define QM_REG_ENSEC 0x1680f0
2227/* [RW 32] A bit vector per each physical queue which selects which function 2548/* [RW 32] NA */
2228 number to use on PCI access for that queue. */
2229#define QM_REG_FUNCNUMSEL_LSB 0x168230 2549#define QM_REG_FUNCNUMSEL_LSB 0x168230
2230/* [RW 32] A bit vector per each physical queue which selects which function 2550/* [RW 32] NA */
2231 number to use on PCI access for that queue. */
2232#define QM_REG_FUNCNUMSEL_MSB 0x16822c 2551#define QM_REG_FUNCNUMSEL_MSB 0x16822c
2233/* [RW 32] A mask register to mask the Almost empty signals which will not 2552/* [RW 32] A mask register to mask the Almost empty signals which will not
2234 be use for the almost empty indication to the HW block */ 2553 be use for the almost empty indication to the HW block; queues 31:0 */
2235#define QM_REG_HWAEMPTYMASK_LSB 0x168218 2554#define QM_REG_HWAEMPTYMASK_LSB 0x168218
2236/* [RW 32] A mask register to mask the Almost empty signals which will not 2555/* [RW 32] A mask register to mask the Almost empty signals which will not
2237 be use for the almost empty indication to the HW block */ 2556 be use for the almost empty indication to the HW block; queues 95-64 */
2557#define QM_REG_HWAEMPTYMASK_LSB_EXT_A 0x16e510
2558/* [RW 32] A mask register to mask the Almost empty signals which will not
2559 be use for the almost empty indication to the HW block; queues 63:32 */
2238#define QM_REG_HWAEMPTYMASK_MSB 0x168214 2560#define QM_REG_HWAEMPTYMASK_MSB 0x168214
2561/* [RW 32] A mask register to mask the Almost empty signals which will not
2562 be use for the almost empty indication to the HW block; queues 127-96 */
2563#define QM_REG_HWAEMPTYMASK_MSB_EXT_A 0x16e50c
2239/* [RW 4] The number of outstanding request to CFC */ 2564/* [RW 4] The number of outstanding request to CFC */
2240#define QM_REG_OUTLDREQ 0x168804 2565#define QM_REG_OUTLDREQ 0x168804
2241/* [RC 1] A flag to indicate that overflow error occurred in one of the 2566/* [RC 1] A flag to indicate that overflow error occurred in one of the
2242 queues. */ 2567 queues. */
2243#define QM_REG_OVFERROR 0x16805c 2568#define QM_REG_OVFERROR 0x16805c
2244/* [RC 6] the Q were the qverflow occurs */ 2569/* [RC 7] the Q were the qverflow occurs */
2245#define QM_REG_OVFQNUM 0x168058 2570#define QM_REG_OVFQNUM 0x168058
2246/* [R 32] Pause state for physical queues 31-0 */ 2571/* [R 16] Pause state for physical queues 15-0 */
2247#define QM_REG_PAUSESTATE0 0x168410 2572#define QM_REG_PAUSESTATE0 0x168410
2248/* [R 32] Pause state for physical queues 64-32 */ 2573/* [R 16] Pause state for physical queues 31-16 */
2249#define QM_REG_PAUSESTATE1 0x168414 2574#define QM_REG_PAUSESTATE1 0x168414
2575/* [R 16] Pause state for physical queues 47-32 */
2576#define QM_REG_PAUSESTATE2 0x16e684
2577/* [R 16] Pause state for physical queues 63-48 */
2578#define QM_REG_PAUSESTATE3 0x16e688
2579/* [R 16] Pause state for physical queues 79-64 */
2580#define QM_REG_PAUSESTATE4 0x16e68c
2581/* [R 16] Pause state for physical queues 95-80 */
2582#define QM_REG_PAUSESTATE5 0x16e690
2583/* [R 16] Pause state for physical queues 111-96 */
2584#define QM_REG_PAUSESTATE6 0x16e694
2585/* [R 16] Pause state for physical queues 127-112 */
2586#define QM_REG_PAUSESTATE7 0x16e698
2250/* [RW 2] The PCI attributes field used in the PCI request. */ 2587/* [RW 2] The PCI attributes field used in the PCI request. */
2251#define QM_REG_PCIREQAT 0x168054 2588#define QM_REG_PCIREQAT 0x168054
2252/* [R 16] The byte credit of port 0 */ 2589/* [R 16] The byte credit of port 0 */
2253#define QM_REG_PORT0BYTECRD 0x168300 2590#define QM_REG_PORT0BYTECRD 0x168300
2254/* [R 16] The byte credit of port 1 */ 2591/* [R 16] The byte credit of port 1 */
2255#define QM_REG_PORT1BYTECRD 0x168304 2592#define QM_REG_PORT1BYTECRD 0x168304
2256/* [WB 54] Pointer Table Memory; The mapping is as follow: ptrtbl[53:30] 2593/* [RW 3] pci function number of queues 15-0 */
2257 read pointer; ptrtbl[29:6] write pointer; ptrtbl[5:4] read bank0; 2594#define QM_REG_PQ2PCIFUNC_0 0x16e6bc
2258 ptrtbl[3:2] read bank 1; ptrtbl[1:0] write bank; */ 2595#define QM_REG_PQ2PCIFUNC_1 0x16e6c0
2596#define QM_REG_PQ2PCIFUNC_2 0x16e6c4
2597#define QM_REG_PQ2PCIFUNC_3 0x16e6c8
2598#define QM_REG_PQ2PCIFUNC_4 0x16e6cc
2599#define QM_REG_PQ2PCIFUNC_5 0x16e6d0
2600#define QM_REG_PQ2PCIFUNC_6 0x16e6d4
2601#define QM_REG_PQ2PCIFUNC_7 0x16e6d8
2602/* [WB 54] Pointer Table Memory for queues 63-0; The mapping is as follow:
2603 ptrtbl[53:30] read pointer; ptrtbl[29:6] write pointer; ptrtbl[5:4] read
2604 bank0; ptrtbl[3:2] read bank 1; ptrtbl[1:0] write bank; */
2259#define QM_REG_PTRTBL 0x168a00 2605#define QM_REG_PTRTBL 0x168a00
2606/* [WB 54] Pointer Table Memory for queues 127-64; The mapping is as follow:
2607 ptrtbl[53:30] read pointer; ptrtbl[29:6] write pointer; ptrtbl[5:4] read
2608 bank0; ptrtbl[3:2] read bank 1; ptrtbl[1:0] write bank; */
2609#define QM_REG_PTRTBL_EXT_A 0x16e200
2260/* [RW 2] Interrupt mask register #0 read/write */ 2610/* [RW 2] Interrupt mask register #0 read/write */
2261#define QM_REG_QM_INT_MASK 0x168444 2611#define QM_REG_QM_INT_MASK 0x168444
2262/* [R 2] Interrupt register #0 read */ 2612/* [R 2] Interrupt register #0 read */
2263#define QM_REG_QM_INT_STS 0x168438 2613#define QM_REG_QM_INT_STS 0x168438
2264/* [RW 9] Parity mask register #0 read/write */ 2614/* [RW 12] Parity mask register #0 read/write */
2265#define QM_REG_QM_PRTY_MASK 0x168454 2615#define QM_REG_QM_PRTY_MASK 0x168454
2266/* [R 9] Parity register #0 read */ 2616/* [R 12] Parity register #0 read */
2267#define QM_REG_QM_PRTY_STS 0x168448 2617#define QM_REG_QM_PRTY_STS 0x168448
2268/* [R 32] Current queues in pipeline: Queues from 32 to 63 */ 2618/* [R 32] Current queues in pipeline: Queues from 32 to 63 */
2269#define QM_REG_QSTATUS_HIGH 0x16802c 2619#define QM_REG_QSTATUS_HIGH 0x16802c
2620/* [R 32] Current queues in pipeline: Queues from 96 to 127 */
2621#define QM_REG_QSTATUS_HIGH_EXT_A 0x16e408
2270/* [R 32] Current queues in pipeline: Queues from 0 to 31 */ 2622/* [R 32] Current queues in pipeline: Queues from 0 to 31 */
2271#define QM_REG_QSTATUS_LOW 0x168028 2623#define QM_REG_QSTATUS_LOW 0x168028
2272/* [R 24] The number of tasks queued for each queue */ 2624/* [R 32] Current queues in pipeline: Queues from 64 to 95 */
2625#define QM_REG_QSTATUS_LOW_EXT_A 0x16e404
2626/* [R 24] The number of tasks queued for each queue; queues 63-0 */
2273#define QM_REG_QTASKCTR_0 0x168308 2627#define QM_REG_QTASKCTR_0 0x168308
2628/* [R 24] The number of tasks queued for each queue; queues 127-64 */
2629#define QM_REG_QTASKCTR_EXT_A_0 0x16e584
2274/* [RW 4] Queue tied to VOQ */ 2630/* [RW 4] Queue tied to VOQ */
2275#define QM_REG_QVOQIDX_0 0x1680f4 2631#define QM_REG_QVOQIDX_0 0x1680f4
2276#define QM_REG_QVOQIDX_10 0x16811c 2632#define QM_REG_QVOQIDX_10 0x16811c
2633#define QM_REG_QVOQIDX_100 0x16e49c
2634#define QM_REG_QVOQIDX_101 0x16e4a0
2635#define QM_REG_QVOQIDX_102 0x16e4a4
2636#define QM_REG_QVOQIDX_103 0x16e4a8
2637#define QM_REG_QVOQIDX_104 0x16e4ac
2638#define QM_REG_QVOQIDX_105 0x16e4b0
2639#define QM_REG_QVOQIDX_106 0x16e4b4
2640#define QM_REG_QVOQIDX_107 0x16e4b8
2641#define QM_REG_QVOQIDX_108 0x16e4bc
2642#define QM_REG_QVOQIDX_109 0x16e4c0
2643#define QM_REG_QVOQIDX_100 0x16e49c
2644#define QM_REG_QVOQIDX_101 0x16e4a0
2645#define QM_REG_QVOQIDX_102 0x16e4a4
2646#define QM_REG_QVOQIDX_103 0x16e4a8
2647#define QM_REG_QVOQIDX_104 0x16e4ac
2648#define QM_REG_QVOQIDX_105 0x16e4b0
2649#define QM_REG_QVOQIDX_106 0x16e4b4
2650#define QM_REG_QVOQIDX_107 0x16e4b8
2651#define QM_REG_QVOQIDX_108 0x16e4bc
2652#define QM_REG_QVOQIDX_109 0x16e4c0
2277#define QM_REG_QVOQIDX_11 0x168120 2653#define QM_REG_QVOQIDX_11 0x168120
2654#define QM_REG_QVOQIDX_110 0x16e4c4
2655#define QM_REG_QVOQIDX_111 0x16e4c8
2656#define QM_REG_QVOQIDX_112 0x16e4cc
2657#define QM_REG_QVOQIDX_113 0x16e4d0
2658#define QM_REG_QVOQIDX_114 0x16e4d4
2659#define QM_REG_QVOQIDX_115 0x16e4d8
2660#define QM_REG_QVOQIDX_116 0x16e4dc
2661#define QM_REG_QVOQIDX_117 0x16e4e0
2662#define QM_REG_QVOQIDX_118 0x16e4e4
2663#define QM_REG_QVOQIDX_119 0x16e4e8
2664#define QM_REG_QVOQIDX_110 0x16e4c4
2665#define QM_REG_QVOQIDX_111 0x16e4c8
2666#define QM_REG_QVOQIDX_112 0x16e4cc
2667#define QM_REG_QVOQIDX_113 0x16e4d0
2668#define QM_REG_QVOQIDX_114 0x16e4d4
2669#define QM_REG_QVOQIDX_115 0x16e4d8
2670#define QM_REG_QVOQIDX_116 0x16e4dc
2671#define QM_REG_QVOQIDX_117 0x16e4e0
2672#define QM_REG_QVOQIDX_118 0x16e4e4
2673#define QM_REG_QVOQIDX_119 0x16e4e8
2278#define QM_REG_QVOQIDX_12 0x168124 2674#define QM_REG_QVOQIDX_12 0x168124
2675#define QM_REG_QVOQIDX_120 0x16e4ec
2676#define QM_REG_QVOQIDX_121 0x16e4f0
2677#define QM_REG_QVOQIDX_122 0x16e4f4
2678#define QM_REG_QVOQIDX_123 0x16e4f8
2679#define QM_REG_QVOQIDX_124 0x16e4fc
2680#define QM_REG_QVOQIDX_125 0x16e500
2681#define QM_REG_QVOQIDX_126 0x16e504
2682#define QM_REG_QVOQIDX_127 0x16e508
2683#define QM_REG_QVOQIDX_120 0x16e4ec
2684#define QM_REG_QVOQIDX_121 0x16e4f0
2685#define QM_REG_QVOQIDX_122 0x16e4f4
2686#define QM_REG_QVOQIDX_123 0x16e4f8
2687#define QM_REG_QVOQIDX_124 0x16e4fc
2688#define QM_REG_QVOQIDX_125 0x16e500
2689#define QM_REG_QVOQIDX_126 0x16e504
2690#define QM_REG_QVOQIDX_127 0x16e508
2279#define QM_REG_QVOQIDX_13 0x168128 2691#define QM_REG_QVOQIDX_13 0x168128
2280#define QM_REG_QVOQIDX_14 0x16812c 2692#define QM_REG_QVOQIDX_14 0x16812c
2281#define QM_REG_QVOQIDX_15 0x168130 2693#define QM_REG_QVOQIDX_15 0x168130
2282#define QM_REG_QVOQIDX_16 0x168134 2694#define QM_REG_QVOQIDX_16 0x168134
2283#define QM_REG_QVOQIDX_17 0x168138 2695#define QM_REG_QVOQIDX_17 0x168138
2284#define QM_REG_QVOQIDX_21 0x168148 2696#define QM_REG_QVOQIDX_21 0x168148
2697#define QM_REG_QVOQIDX_22 0x16814c
2698#define QM_REG_QVOQIDX_23 0x168150
2699#define QM_REG_QVOQIDX_24 0x168154
2285#define QM_REG_QVOQIDX_25 0x168158 2700#define QM_REG_QVOQIDX_25 0x168158
2701#define QM_REG_QVOQIDX_26 0x16815c
2702#define QM_REG_QVOQIDX_27 0x168160
2703#define QM_REG_QVOQIDX_28 0x168164
2286#define QM_REG_QVOQIDX_29 0x168168 2704#define QM_REG_QVOQIDX_29 0x168168
2705#define QM_REG_QVOQIDX_30 0x16816c
2706#define QM_REG_QVOQIDX_31 0x168170
2287#define QM_REG_QVOQIDX_32 0x168174 2707#define QM_REG_QVOQIDX_32 0x168174
2288#define QM_REG_QVOQIDX_33 0x168178 2708#define QM_REG_QVOQIDX_33 0x168178
2289#define QM_REG_QVOQIDX_34 0x16817c 2709#define QM_REG_QVOQIDX_34 0x16817c
@@ -2328,17 +2748,79 @@
2328#define QM_REG_QVOQIDX_61 0x1681e8 2748#define QM_REG_QVOQIDX_61 0x1681e8
2329#define QM_REG_QVOQIDX_62 0x1681ec 2749#define QM_REG_QVOQIDX_62 0x1681ec
2330#define QM_REG_QVOQIDX_63 0x1681f0 2750#define QM_REG_QVOQIDX_63 0x1681f0
2751#define QM_REG_QVOQIDX_64 0x16e40c
2752#define QM_REG_QVOQIDX_65 0x16e410
2753#define QM_REG_QVOQIDX_66 0x16e414
2754#define QM_REG_QVOQIDX_67 0x16e418
2755#define QM_REG_QVOQIDX_68 0x16e41c
2756#define QM_REG_QVOQIDX_69 0x16e420
2331#define QM_REG_QVOQIDX_60 0x1681e4 2757#define QM_REG_QVOQIDX_60 0x1681e4
2332#define QM_REG_QVOQIDX_61 0x1681e8 2758#define QM_REG_QVOQIDX_61 0x1681e8
2333#define QM_REG_QVOQIDX_62 0x1681ec 2759#define QM_REG_QVOQIDX_62 0x1681ec
2334#define QM_REG_QVOQIDX_63 0x1681f0 2760#define QM_REG_QVOQIDX_63 0x1681f0
2761#define QM_REG_QVOQIDX_64 0x16e40c
2762#define QM_REG_QVOQIDX_65 0x16e410
2763#define QM_REG_QVOQIDX_69 0x16e420
2335#define QM_REG_QVOQIDX_7 0x168110 2764#define QM_REG_QVOQIDX_7 0x168110
2765#define QM_REG_QVOQIDX_70 0x16e424
2766#define QM_REG_QVOQIDX_71 0x16e428
2767#define QM_REG_QVOQIDX_72 0x16e42c
2768#define QM_REG_QVOQIDX_73 0x16e430
2769#define QM_REG_QVOQIDX_74 0x16e434
2770#define QM_REG_QVOQIDX_75 0x16e438
2771#define QM_REG_QVOQIDX_76 0x16e43c
2772#define QM_REG_QVOQIDX_77 0x16e440
2773#define QM_REG_QVOQIDX_78 0x16e444
2774#define QM_REG_QVOQIDX_79 0x16e448
2775#define QM_REG_QVOQIDX_70 0x16e424
2776#define QM_REG_QVOQIDX_71 0x16e428
2777#define QM_REG_QVOQIDX_72 0x16e42c
2778#define QM_REG_QVOQIDX_73 0x16e430
2779#define QM_REG_QVOQIDX_74 0x16e434
2780#define QM_REG_QVOQIDX_75 0x16e438
2781#define QM_REG_QVOQIDX_76 0x16e43c
2782#define QM_REG_QVOQIDX_77 0x16e440
2783#define QM_REG_QVOQIDX_78 0x16e444
2784#define QM_REG_QVOQIDX_79 0x16e448
2336#define QM_REG_QVOQIDX_8 0x168114 2785#define QM_REG_QVOQIDX_8 0x168114
2786#define QM_REG_QVOQIDX_80 0x16e44c
2787#define QM_REG_QVOQIDX_81 0x16e450
2788#define QM_REG_QVOQIDX_82 0x16e454
2789#define QM_REG_QVOQIDX_83 0x16e458
2790#define QM_REG_QVOQIDX_84 0x16e45c
2791#define QM_REG_QVOQIDX_85 0x16e460
2792#define QM_REG_QVOQIDX_86 0x16e464
2793#define QM_REG_QVOQIDX_87 0x16e468
2794#define QM_REG_QVOQIDX_88 0x16e46c
2795#define QM_REG_QVOQIDX_89 0x16e470
2796#define QM_REG_QVOQIDX_80 0x16e44c
2797#define QM_REG_QVOQIDX_81 0x16e450
2798#define QM_REG_QVOQIDX_85 0x16e460
2799#define QM_REG_QVOQIDX_86 0x16e464
2800#define QM_REG_QVOQIDX_87 0x16e468
2801#define QM_REG_QVOQIDX_88 0x16e46c
2802#define QM_REG_QVOQIDX_89 0x16e470
2337#define QM_REG_QVOQIDX_9 0x168118 2803#define QM_REG_QVOQIDX_9 0x168118
2338/* [R 24] Remaining pause timeout for port 0 */ 2804#define QM_REG_QVOQIDX_90 0x16e474
2339#define QM_REG_REMAINPAUSETM0 0x168418 2805#define QM_REG_QVOQIDX_91 0x16e478
2340/* [R 24] Remaining pause timeout for port 1 */ 2806#define QM_REG_QVOQIDX_92 0x16e47c
2341#define QM_REG_REMAINPAUSETM1 0x16841c 2807#define QM_REG_QVOQIDX_93 0x16e480
2808#define QM_REG_QVOQIDX_94 0x16e484
2809#define QM_REG_QVOQIDX_95 0x16e488
2810#define QM_REG_QVOQIDX_96 0x16e48c
2811#define QM_REG_QVOQIDX_97 0x16e490
2812#define QM_REG_QVOQIDX_98 0x16e494
2813#define QM_REG_QVOQIDX_99 0x16e498
2814#define QM_REG_QVOQIDX_90 0x16e474
2815#define QM_REG_QVOQIDX_91 0x16e478
2816#define QM_REG_QVOQIDX_92 0x16e47c
2817#define QM_REG_QVOQIDX_93 0x16e480
2818#define QM_REG_QVOQIDX_94 0x16e484
2819#define QM_REG_QVOQIDX_95 0x16e488
2820#define QM_REG_QVOQIDX_96 0x16e48c
2821#define QM_REG_QVOQIDX_97 0x16e490
2822#define QM_REG_QVOQIDX_98 0x16e494
2823#define QM_REG_QVOQIDX_99 0x16e498
2342/* [RW 1] Initialization bit command */ 2824/* [RW 1] Initialization bit command */
2343#define QM_REG_SOFT_RESET 0x168428 2825#define QM_REG_SOFT_RESET 0x168428
2344/* [RW 8] The credit cost per every task in the QM. A value per each VOQ */ 2826/* [RW 8] The credit cost per every task in the QM. A value per each VOQ */
@@ -2372,44 +2854,103 @@
2372#define QM_REG_VOQINITCREDIT_4 0x168070 2854#define QM_REG_VOQINITCREDIT_4 0x168070
2373#define QM_REG_VOQINITCREDIT_5 0x168074 2855#define QM_REG_VOQINITCREDIT_5 0x168074
2374/* [RW 1] The port of which VOQ belongs */ 2856/* [RW 1] The port of which VOQ belongs */
2857#define QM_REG_VOQPORT_0 0x1682a0
2375#define QM_REG_VOQPORT_1 0x1682a4 2858#define QM_REG_VOQPORT_1 0x1682a4
2376#define QM_REG_VOQPORT_10 0x1682c8 2859#define QM_REG_VOQPORT_10 0x1682c8
2377#define QM_REG_VOQPORT_11 0x1682cc 2860#define QM_REG_VOQPORT_11 0x1682cc
2378#define QM_REG_VOQPORT_2 0x1682a8 2861#define QM_REG_VOQPORT_2 0x1682a8
2379/* [RW 32] The physical queue number associated with each VOQ */ 2862/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */
2380#define QM_REG_VOQQMASK_0_LSB 0x168240 2863#define QM_REG_VOQQMASK_0_LSB 0x168240
2381/* [RW 32] The physical queue number associated with each VOQ */ 2864/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */
2865#define QM_REG_VOQQMASK_0_LSB_EXT_A 0x16e524
2866/* [RW 32] The physical queue number associated with each VOQ; queues 63-32 */
2382#define QM_REG_VOQQMASK_0_MSB 0x168244 2867#define QM_REG_VOQQMASK_0_MSB 0x168244
2383/* [RW 32] The physical queue number associated with each VOQ */ 2868/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */
2869#define QM_REG_VOQQMASK_0_MSB_EXT_A 0x16e528
2870/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */
2871#define QM_REG_VOQQMASK_10_LSB 0x168290
2872/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */
2873#define QM_REG_VOQQMASK_10_LSB_EXT_A 0x16e574
2874/* [RW 32] The physical queue number associated with each VOQ; queues 63-32 */
2875#define QM_REG_VOQQMASK_10_MSB 0x168294
2876/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */
2877#define QM_REG_VOQQMASK_10_MSB_EXT_A 0x16e578
2878/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */
2879#define QM_REG_VOQQMASK_11_LSB 0x168298
2880/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */
2881#define QM_REG_VOQQMASK_11_LSB_EXT_A 0x16e57c
2882/* [RW 32] The physical queue number associated with each VOQ; queues 63-32 */
2883#define QM_REG_VOQQMASK_11_MSB 0x16829c
2884/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */
2885#define QM_REG_VOQQMASK_11_MSB_EXT_A 0x16e580
2886/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */
2887#define QM_REG_VOQQMASK_1_LSB 0x168248
2888/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */
2889#define QM_REG_VOQQMASK_1_LSB_EXT_A 0x16e52c
2890/* [RW 32] The physical queue number associated with each VOQ; queues 63-32 */
2384#define QM_REG_VOQQMASK_1_MSB 0x16824c 2891#define QM_REG_VOQQMASK_1_MSB 0x16824c
2385/* [RW 32] The physical queue number associated with each VOQ */ 2892/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */
2893#define QM_REG_VOQQMASK_1_MSB_EXT_A 0x16e530
2894/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */
2386#define QM_REG_VOQQMASK_2_LSB 0x168250 2895#define QM_REG_VOQQMASK_2_LSB 0x168250
2387/* [RW 32] The physical queue number associated with each VOQ */ 2896/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */
2897#define QM_REG_VOQQMASK_2_LSB_EXT_A 0x16e534
2898/* [RW 32] The physical queue number associated with each VOQ; queues 63-32 */
2388#define QM_REG_VOQQMASK_2_MSB 0x168254 2899#define QM_REG_VOQQMASK_2_MSB 0x168254
2389/* [RW 32] The physical queue number associated with each VOQ */ 2900/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */
2901#define QM_REG_VOQQMASK_2_MSB_EXT_A 0x16e538
2902/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */
2390#define QM_REG_VOQQMASK_3_LSB 0x168258 2903#define QM_REG_VOQQMASK_3_LSB 0x168258
2391/* [RW 32] The physical queue number associated with each VOQ */ 2904/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */
2905#define QM_REG_VOQQMASK_3_LSB_EXT_A 0x16e53c
2906/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */
2907#define QM_REG_VOQQMASK_3_MSB_EXT_A 0x16e540
2908/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */
2392#define QM_REG_VOQQMASK_4_LSB 0x168260 2909#define QM_REG_VOQQMASK_4_LSB 0x168260
2393/* [RW 32] The physical queue number associated with each VOQ */ 2910/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */
2911#define QM_REG_VOQQMASK_4_LSB_EXT_A 0x16e544
2912/* [RW 32] The physical queue number associated with each VOQ; queues 63-32 */
2394#define QM_REG_VOQQMASK_4_MSB 0x168264 2913#define QM_REG_VOQQMASK_4_MSB 0x168264
2395/* [RW 32] The physical queue number associated with each VOQ */ 2914/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */
2915#define QM_REG_VOQQMASK_4_MSB_EXT_A 0x16e548
2916/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */
2396#define QM_REG_VOQQMASK_5_LSB 0x168268 2917#define QM_REG_VOQQMASK_5_LSB 0x168268
2397/* [RW 32] The physical queue number associated with each VOQ */ 2918/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */
2919#define QM_REG_VOQQMASK_5_LSB_EXT_A 0x16e54c
2920/* [RW 32] The physical queue number associated with each VOQ; queues 63-32 */
2398#define QM_REG_VOQQMASK_5_MSB 0x16826c 2921#define QM_REG_VOQQMASK_5_MSB 0x16826c
2399/* [RW 32] The physical queue number associated with each VOQ */ 2922/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */
2923#define QM_REG_VOQQMASK_5_MSB_EXT_A 0x16e550
2924/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */
2400#define QM_REG_VOQQMASK_6_LSB 0x168270 2925#define QM_REG_VOQQMASK_6_LSB 0x168270
2401/* [RW 32] The physical queue number associated with each VOQ */ 2926/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */
2927#define QM_REG_VOQQMASK_6_LSB_EXT_A 0x16e554
2928/* [RW 32] The physical queue number associated with each VOQ; queues 63-32 */
2402#define QM_REG_VOQQMASK_6_MSB 0x168274 2929#define QM_REG_VOQQMASK_6_MSB 0x168274
2403/* [RW 32] The physical queue number associated with each VOQ */ 2930/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */
2931#define QM_REG_VOQQMASK_6_MSB_EXT_A 0x16e558
2932/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */
2404#define QM_REG_VOQQMASK_7_LSB 0x168278 2933#define QM_REG_VOQQMASK_7_LSB 0x168278
2405/* [RW 32] The physical queue number associated with each VOQ */ 2934/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */
2935#define QM_REG_VOQQMASK_7_LSB_EXT_A 0x16e55c
2936/* [RW 32] The physical queue number associated with each VOQ; queues 63-32 */
2406#define QM_REG_VOQQMASK_7_MSB 0x16827c 2937#define QM_REG_VOQQMASK_7_MSB 0x16827c
2407/* [RW 32] The physical queue number associated with each VOQ */ 2938/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */
2939#define QM_REG_VOQQMASK_7_MSB_EXT_A 0x16e560
2940/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */
2408#define QM_REG_VOQQMASK_8_LSB 0x168280 2941#define QM_REG_VOQQMASK_8_LSB 0x168280
2409/* [RW 32] The physical queue number associated with each VOQ */ 2942/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */
2943#define QM_REG_VOQQMASK_8_LSB_EXT_A 0x16e564
2944/* [RW 32] The physical queue number associated with each VOQ; queues 63-32 */
2410#define QM_REG_VOQQMASK_8_MSB 0x168284 2945#define QM_REG_VOQQMASK_8_MSB 0x168284
2411/* [RW 32] The physical queue number associated with each VOQ */ 2946/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */
2947#define QM_REG_VOQQMASK_8_MSB_EXT_A 0x16e568
2948/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */
2412#define QM_REG_VOQQMASK_9_LSB 0x168288 2949#define QM_REG_VOQQMASK_9_LSB 0x168288
2950/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */
2951#define QM_REG_VOQQMASK_9_LSB_EXT_A 0x16e56c
2952/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */
2953#define QM_REG_VOQQMASK_9_MSB_EXT_A 0x16e570
2413/* [RW 32] Wrr weights */ 2954/* [RW 32] Wrr weights */
2414#define QM_REG_WRRWEIGHTS_0 0x16880c 2955#define QM_REG_WRRWEIGHTS_0 0x16880c
2415#define QM_REG_WRRWEIGHTS_1 0x168810 2956#define QM_REG_WRRWEIGHTS_1 0x168810
@@ -2431,14 +2972,78 @@
2431#define QM_REG_WRRWEIGHTS_15 0x168828 2972#define QM_REG_WRRWEIGHTS_15 0x168828
2432#define QM_REG_WRRWEIGHTS_15_SIZE 1 2973#define QM_REG_WRRWEIGHTS_15_SIZE 1
2433/* [RW 32] Wrr weights */ 2974/* [RW 32] Wrr weights */
2975#define QM_REG_WRRWEIGHTS_16 0x16e000
2976#define QM_REG_WRRWEIGHTS_16_SIZE 1
2977/* [RW 32] Wrr weights */
2978#define QM_REG_WRRWEIGHTS_17 0x16e004
2979#define QM_REG_WRRWEIGHTS_17_SIZE 1
2980/* [RW 32] Wrr weights */
2981#define QM_REG_WRRWEIGHTS_18 0x16e008
2982#define QM_REG_WRRWEIGHTS_18_SIZE 1
2983/* [RW 32] Wrr weights */
2984#define QM_REG_WRRWEIGHTS_19 0x16e00c
2985#define QM_REG_WRRWEIGHTS_19_SIZE 1
2986/* [RW 32] Wrr weights */
2434#define QM_REG_WRRWEIGHTS_10 0x168814 2987#define QM_REG_WRRWEIGHTS_10 0x168814
2435#define QM_REG_WRRWEIGHTS_11 0x168818 2988#define QM_REG_WRRWEIGHTS_11 0x168818
2436#define QM_REG_WRRWEIGHTS_12 0x16881c 2989#define QM_REG_WRRWEIGHTS_12 0x16881c
2437#define QM_REG_WRRWEIGHTS_13 0x168820 2990#define QM_REG_WRRWEIGHTS_13 0x168820
2438#define QM_REG_WRRWEIGHTS_14 0x168824 2991#define QM_REG_WRRWEIGHTS_14 0x168824
2439#define QM_REG_WRRWEIGHTS_15 0x168828 2992#define QM_REG_WRRWEIGHTS_15 0x168828
2993#define QM_REG_WRRWEIGHTS_16 0x16e000
2994#define QM_REG_WRRWEIGHTS_17 0x16e004
2995#define QM_REG_WRRWEIGHTS_18 0x16e008
2996#define QM_REG_WRRWEIGHTS_19 0x16e00c
2440#define QM_REG_WRRWEIGHTS_2 0x16882c 2997#define QM_REG_WRRWEIGHTS_2 0x16882c
2998#define QM_REG_WRRWEIGHTS_20 0x16e010
2999#define QM_REG_WRRWEIGHTS_20_SIZE 1
3000/* [RW 32] Wrr weights */
3001#define QM_REG_WRRWEIGHTS_21 0x16e014
3002#define QM_REG_WRRWEIGHTS_21_SIZE 1
3003/* [RW 32] Wrr weights */
3004#define QM_REG_WRRWEIGHTS_22 0x16e018
3005#define QM_REG_WRRWEIGHTS_22_SIZE 1
3006/* [RW 32] Wrr weights */
3007#define QM_REG_WRRWEIGHTS_23 0x16e01c
3008#define QM_REG_WRRWEIGHTS_23_SIZE 1
3009/* [RW 32] Wrr weights */
3010#define QM_REG_WRRWEIGHTS_24 0x16e020
3011#define QM_REG_WRRWEIGHTS_24_SIZE 1
3012/* [RW 32] Wrr weights */
3013#define QM_REG_WRRWEIGHTS_25 0x16e024
3014#define QM_REG_WRRWEIGHTS_25_SIZE 1
3015/* [RW 32] Wrr weights */
3016#define QM_REG_WRRWEIGHTS_26 0x16e028
3017#define QM_REG_WRRWEIGHTS_26_SIZE 1
3018/* [RW 32] Wrr weights */
3019#define QM_REG_WRRWEIGHTS_27 0x16e02c
3020#define QM_REG_WRRWEIGHTS_27_SIZE 1
3021/* [RW 32] Wrr weights */
3022#define QM_REG_WRRWEIGHTS_28 0x16e030
3023#define QM_REG_WRRWEIGHTS_28_SIZE 1
3024/* [RW 32] Wrr weights */
3025#define QM_REG_WRRWEIGHTS_29 0x16e034
3026#define QM_REG_WRRWEIGHTS_29_SIZE 1
3027/* [RW 32] Wrr weights */
3028#define QM_REG_WRRWEIGHTS_20 0x16e010
3029#define QM_REG_WRRWEIGHTS_21 0x16e014
3030#define QM_REG_WRRWEIGHTS_22 0x16e018
3031#define QM_REG_WRRWEIGHTS_23 0x16e01c
3032#define QM_REG_WRRWEIGHTS_24 0x16e020
3033#define QM_REG_WRRWEIGHTS_25 0x16e024
3034#define QM_REG_WRRWEIGHTS_26 0x16e028
3035#define QM_REG_WRRWEIGHTS_27 0x16e02c
3036#define QM_REG_WRRWEIGHTS_28 0x16e030
3037#define QM_REG_WRRWEIGHTS_29 0x16e034
2441#define QM_REG_WRRWEIGHTS_3 0x168830 3038#define QM_REG_WRRWEIGHTS_3 0x168830
3039#define QM_REG_WRRWEIGHTS_30 0x16e038
3040#define QM_REG_WRRWEIGHTS_30_SIZE 1
3041/* [RW 32] Wrr weights */
3042#define QM_REG_WRRWEIGHTS_31 0x16e03c
3043#define QM_REG_WRRWEIGHTS_31_SIZE 1
3044/* [RW 32] Wrr weights */
3045#define QM_REG_WRRWEIGHTS_30 0x16e038
3046#define QM_REG_WRRWEIGHTS_31 0x16e03c
2442#define QM_REG_WRRWEIGHTS_4 0x168834 3047#define QM_REG_WRRWEIGHTS_4 0x168834
2443#define QM_REG_WRRWEIGHTS_5 0x168838 3048#define QM_REG_WRRWEIGHTS_5 0x168838
2444#define QM_REG_WRRWEIGHTS_6 0x16883c 3049#define QM_REG_WRRWEIGHTS_6 0x16883c
@@ -2447,6 +3052,70 @@
2447#define QM_REG_WRRWEIGHTS_9 0x168848 3052#define QM_REG_WRRWEIGHTS_9 0x168848
2448/* [R 6] Keep the fill level of the fifo from write client 1 */ 3053/* [R 6] Keep the fill level of the fifo from write client 1 */
2449#define QM_REG_XQM_WRC_FIFOLVL 0x168000 3054#define QM_REG_XQM_WRC_FIFOLVL 0x168000
3055#define BRB1_BRB1_INT_STS_REG_ADDRESS_ERROR (0x1<<0)
3056#define BRB1_BRB1_INT_STS_REG_ADDRESS_ERROR_SIZE 0
3057#define BRB1_BRB1_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0)
3058#define BRB1_BRB1_INT_STS_CLR_REG_ADDRESS_ERROR_SIZE 0
3059#define BRB1_BRB1_INT_STS_WR_REG_ADDRESS_ERROR (0x1<<0)
3060#define BRB1_BRB1_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0
3061#define BRB1_BRB1_INT_MASK_REG_ADDRESS_ERROR (0x1<<0)
3062#define BRB1_BRB1_INT_MASK_REG_ADDRESS_ERROR_SIZE 0
3063#define CCM_CCM_INT_STS_REG_ADDRESS_ERROR (0x1<<0)
3064#define CCM_CCM_INT_STS_REG_ADDRESS_ERROR_SIZE 0
3065#define CCM_CCM_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0)
3066#define CCM_CCM_INT_STS_CLR_REG_ADDRESS_ERROR_SIZE 0
3067#define CCM_CCM_INT_STS_WR_REG_ADDRESS_ERROR (0x1<<0)
3068#define CCM_CCM_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0
3069#define CCM_CCM_INT_MASK_REG_ADDRESS_ERROR (0x1<<0)
3070#define CCM_CCM_INT_MASK_REG_ADDRESS_ERROR_SIZE 0
3071#define CDU_CDU_INT_STS_REG_ADDRESS_ERROR (0x1<<0)
3072#define CDU_CDU_INT_STS_REG_ADDRESS_ERROR_SIZE 0
3073#define CDU_CDU_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0)
3074#define CDU_CDU_INT_STS_CLR_REG_ADDRESS_ERROR_SIZE 0
3075#define CDU_CDU_INT_STS_WR_REG_ADDRESS_ERROR (0x1<<0)
3076#define CDU_CDU_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0
3077#define CDU_CDU_INT_MASK_REG_ADDRESS_ERROR (0x1<<0)
3078#define CDU_CDU_INT_MASK_REG_ADDRESS_ERROR_SIZE 0
3079#define CFC_CFC_INT_STS_REG_ADDRESS_ERROR (0x1<<0)
3080#define CFC_CFC_INT_STS_REG_ADDRESS_ERROR_SIZE 0
3081#define CFC_CFC_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0)
3082#define CFC_CFC_INT_STS_CLR_REG_ADDRESS_ERROR_SIZE 0
3083#define CFC_CFC_INT_STS_WR_REG_ADDRESS_ERROR (0x1<<0)
3084#define CFC_CFC_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0
3085#define CFC_CFC_INT_MASK_REG_ADDRESS_ERROR (0x1<<0)
3086#define CFC_CFC_INT_MASK_REG_ADDRESS_ERROR_SIZE 0
3087#define CSDM_CSDM_INT_STS_0_REG_ADDRESS_ERROR (0x1<<0)
3088#define CSDM_CSDM_INT_STS_0_REG_ADDRESS_ERROR_SIZE 0
3089#define CSDM_CSDM_INT_STS_CLR_0_REG_ADDRESS_ERROR (0x1<<0)
3090#define CSDM_CSDM_INT_STS_CLR_0_REG_ADDRESS_ERROR_SIZE 0
3091#define CSDM_CSDM_INT_STS_WR_0_REG_ADDRESS_ERROR (0x1<<0)
3092#define CSDM_CSDM_INT_STS_WR_0_REG_ADDRESS_ERROR_SIZE 0
3093#define CSDM_CSDM_INT_MASK_0_REG_ADDRESS_ERROR (0x1<<0)
3094#define CSDM_CSDM_INT_MASK_0_REG_ADDRESS_ERROR_SIZE 0
3095#define CSEM_CSEM_INT_STS_0_REG_ADDRESS_ERROR (0x1<<0)
3096#define CSEM_CSEM_INT_STS_0_REG_ADDRESS_ERROR_SIZE 0
3097#define CSEM_CSEM_INT_STS_CLR_0_REG_ADDRESS_ERROR (0x1<<0)
3098#define CSEM_CSEM_INT_STS_CLR_0_REG_ADDRESS_ERROR_SIZE 0
3099#define CSEM_CSEM_INT_STS_WR_0_REG_ADDRESS_ERROR (0x1<<0)
3100#define CSEM_CSEM_INT_STS_WR_0_REG_ADDRESS_ERROR_SIZE 0
3101#define CSEM_CSEM_INT_MASK_0_REG_ADDRESS_ERROR (0x1<<0)
3102#define CSEM_CSEM_INT_MASK_0_REG_ADDRESS_ERROR_SIZE 0
3103#define DBG_DBG_INT_STS_REG_ADDRESS_ERROR (0x1<<0)
3104#define DBG_DBG_INT_STS_REG_ADDRESS_ERROR_SIZE 0
3105#define DBG_DBG_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0)
3106#define DBG_DBG_INT_STS_CLR_REG_ADDRESS_ERROR_SIZE 0
3107#define DBG_DBG_INT_STS_WR_REG_ADDRESS_ERROR (0x1<<0)
3108#define DBG_DBG_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0
3109#define DBG_DBG_INT_MASK_REG_ADDRESS_ERROR (0x1<<0)
3110#define DBG_DBG_INT_MASK_REG_ADDRESS_ERROR_SIZE 0
3111#define DMAE_DMAE_INT_STS_REG_ADDRESS_ERROR (0x1<<0)
3112#define DMAE_DMAE_INT_STS_REG_ADDRESS_ERROR_SIZE 0
3113#define DMAE_DMAE_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0)
3114#define DMAE_DMAE_INT_STS_CLR_REG_ADDRESS_ERROR_SIZE 0
3115#define DMAE_DMAE_INT_STS_WR_REG_ADDRESS_ERROR (0x1<<0)
3116#define DMAE_DMAE_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0
3117#define DMAE_DMAE_INT_MASK_REG_ADDRESS_ERROR (0x1<<0)
3118#define DMAE_DMAE_INT_MASK_REG_ADDRESS_ERROR_SIZE 0
2450#define DORQ_DORQ_INT_STS_REG_ADDRESS_ERROR (0x1<<0) 3119#define DORQ_DORQ_INT_STS_REG_ADDRESS_ERROR (0x1<<0)
2451#define DORQ_DORQ_INT_STS_REG_ADDRESS_ERROR_SIZE 0 3120#define DORQ_DORQ_INT_STS_REG_ADDRESS_ERROR_SIZE 0
2452#define DORQ_DORQ_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0) 3121#define DORQ_DORQ_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0)
@@ -2455,6 +3124,22 @@
2455#define DORQ_DORQ_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0 3124#define DORQ_DORQ_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0
2456#define DORQ_DORQ_INT_MASK_REG_ADDRESS_ERROR (0x1<<0) 3125#define DORQ_DORQ_INT_MASK_REG_ADDRESS_ERROR (0x1<<0)
2457#define DORQ_DORQ_INT_MASK_REG_ADDRESS_ERROR_SIZE 0 3126#define DORQ_DORQ_INT_MASK_REG_ADDRESS_ERROR_SIZE 0
3127#define HC_HC_INT_STS_REG_ADDRESS_ERROR (0x1<<0)
3128#define HC_HC_INT_STS_REG_ADDRESS_ERROR_SIZE 0
3129#define HC_HC_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0)
3130#define HC_HC_INT_STS_CLR_REG_ADDRESS_ERROR_SIZE 0
3131#define HC_HC_INT_STS_WR_REG_ADDRESS_ERROR (0x1<<0)
3132#define HC_HC_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0
3133#define HC_HC_INT_MASK_REG_ADDRESS_ERROR (0x1<<0)
3134#define HC_HC_INT_MASK_REG_ADDRESS_ERROR_SIZE 0
3135#define MISC_MISC_INT_STS_REG_ADDRESS_ERROR (0x1<<0)
3136#define MISC_MISC_INT_STS_REG_ADDRESS_ERROR_SIZE 0
3137#define MISC_MISC_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0)
3138#define MISC_MISC_INT_STS_CLR_REG_ADDRESS_ERROR_SIZE 0
3139#define MISC_MISC_INT_STS_WR_REG_ADDRESS_ERROR (0x1<<0)
3140#define MISC_MISC_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0
3141#define MISC_MISC_INT_MASK_REG_ADDRESS_ERROR (0x1<<0)
3142#define MISC_MISC_INT_MASK_REG_ADDRESS_ERROR_SIZE 0
2458#define NIG_NIG_INT_STS_0_REG_ADDRESS_ERROR (0x1<<0) 3143#define NIG_NIG_INT_STS_0_REG_ADDRESS_ERROR (0x1<<0)
2459#define NIG_NIG_INT_STS_0_REG_ADDRESS_ERROR_SIZE 0 3144#define NIG_NIG_INT_STS_0_REG_ADDRESS_ERROR_SIZE 0
2460#define NIG_NIG_INT_STS_CLR_0_REG_ADDRESS_ERROR (0x1<<0) 3145#define NIG_NIG_INT_STS_CLR_0_REG_ADDRESS_ERROR (0x1<<0)
@@ -2463,6 +3148,70 @@
2463#define NIG_NIG_INT_STS_WR_0_REG_ADDRESS_ERROR_SIZE 0 3148#define NIG_NIG_INT_STS_WR_0_REG_ADDRESS_ERROR_SIZE 0
2464#define NIG_NIG_INT_MASK_0_REG_ADDRESS_ERROR (0x1<<0) 3149#define NIG_NIG_INT_MASK_0_REG_ADDRESS_ERROR (0x1<<0)
2465#define NIG_NIG_INT_MASK_0_REG_ADDRESS_ERROR_SIZE 0 3150#define NIG_NIG_INT_MASK_0_REG_ADDRESS_ERROR_SIZE 0
3151#define PBF_PBF_INT_STS_REG_ADDRESS_ERROR (0x1<<0)
3152#define PBF_PBF_INT_STS_REG_ADDRESS_ERROR_SIZE 0
3153#define PBF_PBF_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0)
3154#define PBF_PBF_INT_STS_CLR_REG_ADDRESS_ERROR_SIZE 0
3155#define PBF_PBF_INT_STS_WR_REG_ADDRESS_ERROR (0x1<<0)
3156#define PBF_PBF_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0
3157#define PBF_PBF_INT_MASK_REG_ADDRESS_ERROR (0x1<<0)
3158#define PBF_PBF_INT_MASK_REG_ADDRESS_ERROR_SIZE 0
3159#define PB_PB_INT_STS_REG_ADDRESS_ERROR (0x1<<0)
3160#define PB_PB_INT_STS_REG_ADDRESS_ERROR_SIZE 0
3161#define PB_PB_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0)
3162#define PB_PB_INT_STS_CLR_REG_ADDRESS_ERROR_SIZE 0
3163#define PB_PB_INT_STS_WR_REG_ADDRESS_ERROR (0x1<<0)
3164#define PB_PB_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0
3165#define PB_PB_INT_MASK_REG_ADDRESS_ERROR (0x1<<0)
3166#define PB_PB_INT_MASK_REG_ADDRESS_ERROR_SIZE 0
3167#define PRS_PRS_INT_STS_REG_ADDRESS_ERROR (0x1<<0)
3168#define PRS_PRS_INT_STS_REG_ADDRESS_ERROR_SIZE 0
3169#define PRS_PRS_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0)
3170#define PRS_PRS_INT_STS_CLR_REG_ADDRESS_ERROR_SIZE 0
3171#define PRS_PRS_INT_STS_WR_REG_ADDRESS_ERROR (0x1<<0)
3172#define PRS_PRS_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0
3173#define PRS_PRS_INT_MASK_REG_ADDRESS_ERROR (0x1<<0)
3174#define PRS_PRS_INT_MASK_REG_ADDRESS_ERROR_SIZE 0
3175#define PXP2_PXP2_INT_STS_0_REG_ADDRESS_ERROR (0x1<<0)
3176#define PXP2_PXP2_INT_STS_0_REG_ADDRESS_ERROR_SIZE 0
3177#define PXP2_PXP2_INT_STS_CLR_0_REG_ADDRESS_ERROR (0x1<<0)
3178#define PXP2_PXP2_INT_STS_CLR_0_REG_ADDRESS_ERROR_SIZE 0
3179#define PXP2_PXP2_INT_STS_WR_0_REG_ADDRESS_ERROR (0x1<<0)
3180#define PXP2_PXP2_INT_STS_WR_0_REG_ADDRESS_ERROR_SIZE 0
3181#define PXP2_PXP2_INT_MASK_0_REG_ADDRESS_ERROR (0x1<<0)
3182#define PXP2_PXP2_INT_MASK_0_REG_ADDRESS_ERROR_SIZE 0
3183#define PXP_PXP_INT_STS_0_REG_ADDRESS_ERROR (0x1<<0)
3184#define PXP_PXP_INT_STS_0_REG_ADDRESS_ERROR_SIZE 0
3185#define PXP_PXP_INT_STS_CLR_0_REG_ADDRESS_ERROR (0x1<<0)
3186#define PXP_PXP_INT_STS_CLR_0_REG_ADDRESS_ERROR_SIZE 0
3187#define PXP_PXP_INT_STS_WR_0_REG_ADDRESS_ERROR (0x1<<0)
3188#define PXP_PXP_INT_STS_WR_0_REG_ADDRESS_ERROR_SIZE 0
3189#define PXP_PXP_INT_MASK_0_REG_ADDRESS_ERROR (0x1<<0)
3190#define PXP_PXP_INT_MASK_0_REG_ADDRESS_ERROR_SIZE 0
3191#define QM_QM_INT_STS_REG_ADDRESS_ERROR (0x1<<0)
3192#define QM_QM_INT_STS_REG_ADDRESS_ERROR_SIZE 0
3193#define QM_QM_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0)
3194#define QM_QM_INT_STS_CLR_REG_ADDRESS_ERROR_SIZE 0
3195#define QM_QM_INT_STS_WR_REG_ADDRESS_ERROR (0x1<<0)
3196#define QM_QM_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0
3197#define QM_QM_INT_MASK_REG_ADDRESS_ERROR (0x1<<0)
3198#define QM_QM_INT_MASK_REG_ADDRESS_ERROR_SIZE 0
3199#define SEM_FAST_SEM_FAST_INT_STS_REG_ADDRESS_ERROR (0x1<<0)
3200#define SEM_FAST_SEM_FAST_INT_STS_REG_ADDRESS_ERROR_SIZE 0
3201#define SEM_FAST_SEM_FAST_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0)
3202#define SEM_FAST_SEM_FAST_INT_STS_CLR_REG_ADDRESS_ERROR_SIZE 0
3203#define SEM_FAST_SEM_FAST_INT_STS_WR_REG_ADDRESS_ERROR (0x1<<0)
3204#define SEM_FAST_SEM_FAST_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0
3205#define SEM_FAST_SEM_FAST_INT_MASK_REG_ADDRESS_ERROR (0x1<<0)
3206#define SEM_FAST_SEM_FAST_INT_MASK_REG_ADDRESS_ERROR_SIZE 0
3207#define SRC_SRC_INT_STS_REG_ADDRESS_ERROR (0x1<<0)
3208#define SRC_SRC_INT_STS_REG_ADDRESS_ERROR_SIZE 0
3209#define SRC_SRC_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0)
3210#define SRC_SRC_INT_STS_CLR_REG_ADDRESS_ERROR_SIZE 0
3211#define SRC_SRC_INT_STS_WR_REG_ADDRESS_ERROR (0x1<<0)
3212#define SRC_SRC_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0
3213#define SRC_SRC_INT_MASK_REG_ADDRESS_ERROR (0x1<<0)
3214#define SRC_SRC_INT_MASK_REG_ADDRESS_ERROR_SIZE 0
2466#define TCM_TCM_INT_STS_REG_ADDRESS_ERROR (0x1<<0) 3215#define TCM_TCM_INT_STS_REG_ADDRESS_ERROR (0x1<<0)
2467#define TCM_TCM_INT_STS_REG_ADDRESS_ERROR_SIZE 0 3216#define TCM_TCM_INT_STS_REG_ADDRESS_ERROR_SIZE 0
2468#define TCM_TCM_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0) 3217#define TCM_TCM_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0)
@@ -2471,6 +3220,78 @@
2471#define TCM_TCM_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0 3220#define TCM_TCM_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0
2472#define TCM_TCM_INT_MASK_REG_ADDRESS_ERROR (0x1<<0) 3221#define TCM_TCM_INT_MASK_REG_ADDRESS_ERROR (0x1<<0)
2473#define TCM_TCM_INT_MASK_REG_ADDRESS_ERROR_SIZE 0 3222#define TCM_TCM_INT_MASK_REG_ADDRESS_ERROR_SIZE 0
3223#define TM_TM_INT_STS_REG_ADDRESS_ERROR (0x1<<0)
3224#define TM_TM_INT_STS_REG_ADDRESS_ERROR_SIZE 0
3225#define TM_TM_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0)
3226#define TM_TM_INT_STS_CLR_REG_ADDRESS_ERROR_SIZE 0
3227#define TM_TM_INT_STS_WR_REG_ADDRESS_ERROR (0x1<<0)
3228#define TM_TM_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0
3229#define TM_TM_INT_MASK_REG_ADDRESS_ERROR (0x1<<0)
3230#define TM_TM_INT_MASK_REG_ADDRESS_ERROR_SIZE 0
3231#define TSDM_TSDM_INT_STS_0_REG_ADDRESS_ERROR (0x1<<0)
3232#define TSDM_TSDM_INT_STS_0_REG_ADDRESS_ERROR_SIZE 0
3233#define TSDM_TSDM_INT_STS_CLR_0_REG_ADDRESS_ERROR (0x1<<0)
3234#define TSDM_TSDM_INT_STS_CLR_0_REG_ADDRESS_ERROR_SIZE 0
3235#define TSDM_TSDM_INT_STS_WR_0_REG_ADDRESS_ERROR (0x1<<0)
3236#define TSDM_TSDM_INT_STS_WR_0_REG_ADDRESS_ERROR_SIZE 0
3237#define TSDM_TSDM_INT_MASK_0_REG_ADDRESS_ERROR (0x1<<0)
3238#define TSDM_TSDM_INT_MASK_0_REG_ADDRESS_ERROR_SIZE 0
3239#define TSEM_TSEM_INT_STS_0_REG_ADDRESS_ERROR (0x1<<0)
3240#define TSEM_TSEM_INT_STS_0_REG_ADDRESS_ERROR_SIZE 0
3241#define TSEM_TSEM_INT_STS_CLR_0_REG_ADDRESS_ERROR (0x1<<0)
3242#define TSEM_TSEM_INT_STS_CLR_0_REG_ADDRESS_ERROR_SIZE 0
3243#define TSEM_TSEM_INT_STS_WR_0_REG_ADDRESS_ERROR (0x1<<0)
3244#define TSEM_TSEM_INT_STS_WR_0_REG_ADDRESS_ERROR_SIZE 0
3245#define TSEM_TSEM_INT_MASK_0_REG_ADDRESS_ERROR (0x1<<0)
3246#define TSEM_TSEM_INT_MASK_0_REG_ADDRESS_ERROR_SIZE 0
3247#define UCM_UCM_INT_STS_REG_ADDRESS_ERROR (0x1<<0)
3248#define UCM_UCM_INT_STS_REG_ADDRESS_ERROR_SIZE 0
3249#define UCM_UCM_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0)
3250#define UCM_UCM_INT_STS_CLR_REG_ADDRESS_ERROR_SIZE 0
3251#define UCM_UCM_INT_STS_WR_REG_ADDRESS_ERROR (0x1<<0)
3252#define UCM_UCM_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0
3253#define UCM_UCM_INT_MASK_REG_ADDRESS_ERROR (0x1<<0)
3254#define UCM_UCM_INT_MASK_REG_ADDRESS_ERROR_SIZE 0
3255#define USDM_USDM_INT_STS_0_REG_ADDRESS_ERROR (0x1<<0)
3256#define USDM_USDM_INT_STS_0_REG_ADDRESS_ERROR_SIZE 0
3257#define USDM_USDM_INT_STS_CLR_0_REG_ADDRESS_ERROR (0x1<<0)
3258#define USDM_USDM_INT_STS_CLR_0_REG_ADDRESS_ERROR_SIZE 0
3259#define USDM_USDM_INT_STS_WR_0_REG_ADDRESS_ERROR (0x1<<0)
3260#define USDM_USDM_INT_STS_WR_0_REG_ADDRESS_ERROR_SIZE 0
3261#define USDM_USDM_INT_MASK_0_REG_ADDRESS_ERROR (0x1<<0)
3262#define USDM_USDM_INT_MASK_0_REG_ADDRESS_ERROR_SIZE 0
3263#define USEM_USEM_INT_STS_0_REG_ADDRESS_ERROR (0x1<<0)
3264#define USEM_USEM_INT_STS_0_REG_ADDRESS_ERROR_SIZE 0
3265#define USEM_USEM_INT_STS_CLR_0_REG_ADDRESS_ERROR (0x1<<0)
3266#define USEM_USEM_INT_STS_CLR_0_REG_ADDRESS_ERROR_SIZE 0
3267#define USEM_USEM_INT_STS_WR_0_REG_ADDRESS_ERROR (0x1<<0)
3268#define USEM_USEM_INT_STS_WR_0_REG_ADDRESS_ERROR_SIZE 0
3269#define USEM_USEM_INT_MASK_0_REG_ADDRESS_ERROR (0x1<<0)
3270#define USEM_USEM_INT_MASK_0_REG_ADDRESS_ERROR_SIZE 0
3271#define XCM_XCM_INT_STS_REG_ADDRESS_ERROR (0x1<<0)
3272#define XCM_XCM_INT_STS_REG_ADDRESS_ERROR_SIZE 0
3273#define XCM_XCM_INT_STS_CLR_REG_ADDRESS_ERROR (0x1<<0)
3274#define XCM_XCM_INT_STS_CLR_REG_ADDRESS_ERROR_SIZE 0
3275#define XCM_XCM_INT_STS_WR_REG_ADDRESS_ERROR (0x1<<0)
3276#define XCM_XCM_INT_STS_WR_REG_ADDRESS_ERROR_SIZE 0
3277#define XCM_XCM_INT_MASK_REG_ADDRESS_ERROR (0x1<<0)
3278#define XCM_XCM_INT_MASK_REG_ADDRESS_ERROR_SIZE 0
3279#define XSDM_XSDM_INT_STS_0_REG_ADDRESS_ERROR (0x1<<0)
3280#define XSDM_XSDM_INT_STS_0_REG_ADDRESS_ERROR_SIZE 0
3281#define XSDM_XSDM_INT_STS_CLR_0_REG_ADDRESS_ERROR (0x1<<0)
3282#define XSDM_XSDM_INT_STS_CLR_0_REG_ADDRESS_ERROR_SIZE 0
3283#define XSDM_XSDM_INT_STS_WR_0_REG_ADDRESS_ERROR (0x1<<0)
3284#define XSDM_XSDM_INT_STS_WR_0_REG_ADDRESS_ERROR_SIZE 0
3285#define XSDM_XSDM_INT_MASK_0_REG_ADDRESS_ERROR (0x1<<0)
3286#define XSDM_XSDM_INT_MASK_0_REG_ADDRESS_ERROR_SIZE 0
3287#define XSEM_XSEM_INT_STS_0_REG_ADDRESS_ERROR (0x1<<0)
3288#define XSEM_XSEM_INT_STS_0_REG_ADDRESS_ERROR_SIZE 0
3289#define XSEM_XSEM_INT_STS_CLR_0_REG_ADDRESS_ERROR (0x1<<0)
3290#define XSEM_XSEM_INT_STS_CLR_0_REG_ADDRESS_ERROR_SIZE 0
3291#define XSEM_XSEM_INT_STS_WR_0_REG_ADDRESS_ERROR (0x1<<0)
3292#define XSEM_XSEM_INT_STS_WR_0_REG_ADDRESS_ERROR_SIZE 0
3293#define XSEM_XSEM_INT_MASK_0_REG_ADDRESS_ERROR (0x1<<0)
3294#define XSEM_XSEM_INT_MASK_0_REG_ADDRESS_ERROR_SIZE 0
2474#define CFC_DEBUG1_REG_WRITE_AC (0x1<<4) 3295#define CFC_DEBUG1_REG_WRITE_AC (0x1<<4)
2475#define CFC_DEBUG1_REG_WRITE_AC_SIZE 4 3296#define CFC_DEBUG1_REG_WRITE_AC_SIZE 4
2476/* [R 1] debug only: This bit indicates wheter indicates that external 3297/* [R 1] debug only: This bit indicates wheter indicates that external
@@ -2483,6 +3304,14 @@
2483 ~dbg_registers_debug_target=0 (internal buffer) */ 3304 ~dbg_registers_debug_target=0 (internal buffer) */
2484#define DBG_REG_WRAP_ON_INT_BUFFER 0xc128 3305#define DBG_REG_WRAP_ON_INT_BUFFER 0xc128
2485#define DBG_REG_WRAP_ON_INT_BUFFER_SIZE 1 3306#define DBG_REG_WRAP_ON_INT_BUFFER_SIZE 1
3307#define QM_QM_PRTY_STS_REG_WRBUFF (0x1<<8)
3308#define QM_QM_PRTY_STS_REG_WRBUFF_SIZE 8
3309#define QM_QM_PRTY_STS_CLR_REG_WRBUFF (0x1<<8)
3310#define QM_QM_PRTY_STS_CLR_REG_WRBUFF_SIZE 8
3311#define QM_QM_PRTY_STS_WR_REG_WRBUFF (0x1<<8)
3312#define QM_QM_PRTY_STS_WR_REG_WRBUFF_SIZE 8
3313#define QM_QM_PRTY_MASK_REG_WRBUFF (0x1<<8)
3314#define QM_QM_PRTY_MASK_REG_WRBUFF_SIZE 8
2486/* [RW 32] Wrr weights */ 3315/* [RW 32] Wrr weights */
2487#define QM_REG_WRRWEIGHTS_0 0x16880c 3316#define QM_REG_WRRWEIGHTS_0 0x16880c
2488#define QM_REG_WRRWEIGHTS_0_SIZE 1 3317#define QM_REG_WRRWEIGHTS_0_SIZE 1
@@ -2531,20 +3360,67 @@
2531/* [RW 32] Wrr weights */ 3360/* [RW 32] Wrr weights */
2532#define QM_REG_WRRWEIGHTS_9 0x168848 3361#define QM_REG_WRRWEIGHTS_9 0x168848
2533#define QM_REG_WRRWEIGHTS_9_SIZE 1 3362#define QM_REG_WRRWEIGHTS_9_SIZE 1
2534/* [RW 22] Number of free element in the free list of T2 entries - port 0. */ 3363/* [RW 32] Wrr weights */
3364#define QM_REG_WRRWEIGHTS_16 0x16e000
3365#define QM_REG_WRRWEIGHTS_16_SIZE 1
3366/* [RW 32] Wrr weights */
3367#define QM_REG_WRRWEIGHTS_17 0x16e004
3368#define QM_REG_WRRWEIGHTS_17_SIZE 1
3369/* [RW 32] Wrr weights */
3370#define QM_REG_WRRWEIGHTS_18 0x16e008
3371#define QM_REG_WRRWEIGHTS_18_SIZE 1
3372/* [RW 32] Wrr weights */
3373#define QM_REG_WRRWEIGHTS_19 0x16e00c
3374#define QM_REG_WRRWEIGHTS_19_SIZE 1
3375/* [RW 32] Wrr weights */
3376#define QM_REG_WRRWEIGHTS_20 0x16e010
3377#define QM_REG_WRRWEIGHTS_20_SIZE 1
3378/* [RW 32] Wrr weights */
3379#define QM_REG_WRRWEIGHTS_21 0x16e014
3380#define QM_REG_WRRWEIGHTS_21_SIZE 1
3381/* [RW 32] Wrr weights */
3382#define QM_REG_WRRWEIGHTS_22 0x16e018
3383#define QM_REG_WRRWEIGHTS_22_SIZE 1
3384/* [RW 32] Wrr weights */
3385#define QM_REG_WRRWEIGHTS_23 0x16e01c
3386#define QM_REG_WRRWEIGHTS_23_SIZE 1
3387/* [RW 32] Wrr weights */
3388#define QM_REG_WRRWEIGHTS_24 0x16e020
3389#define QM_REG_WRRWEIGHTS_24_SIZE 1
3390/* [RW 32] Wrr weights */
3391#define QM_REG_WRRWEIGHTS_25 0x16e024
3392#define QM_REG_WRRWEIGHTS_25_SIZE 1
3393/* [RW 32] Wrr weights */
3394#define QM_REG_WRRWEIGHTS_26 0x16e028
3395#define QM_REG_WRRWEIGHTS_26_SIZE 1
3396/* [RW 32] Wrr weights */
3397#define QM_REG_WRRWEIGHTS_27 0x16e02c
3398#define QM_REG_WRRWEIGHTS_27_SIZE 1
3399/* [RW 32] Wrr weights */
3400#define QM_REG_WRRWEIGHTS_28 0x16e030
3401#define QM_REG_WRRWEIGHTS_28_SIZE 1
3402/* [RW 32] Wrr weights */
3403#define QM_REG_WRRWEIGHTS_29 0x16e034
3404#define QM_REG_WRRWEIGHTS_29_SIZE 1
3405/* [RW 32] Wrr weights */
3406#define QM_REG_WRRWEIGHTS_30 0x16e038
3407#define QM_REG_WRRWEIGHTS_30_SIZE 1
3408/* [RW 32] Wrr weights */
3409#define QM_REG_WRRWEIGHTS_31 0x16e03c
3410#define QM_REG_WRRWEIGHTS_31_SIZE 1
2535#define SRC_REG_COUNTFREE0 0x40500 3411#define SRC_REG_COUNTFREE0 0x40500
2536/* [WB 64] First free element in the free list of T2 entries - port 0. */ 3412/* [RW 1] If clr the searcher is compatible to E1 A0 - support only two
3413 ports. If set the searcher support 8 functions. */
3414#define SRC_REG_E1HMF_ENABLE 0x404cc
2537#define SRC_REG_FIRSTFREE0 0x40510 3415#define SRC_REG_FIRSTFREE0 0x40510
2538#define SRC_REG_KEYRSS0_0 0x40408 3416#define SRC_REG_KEYRSS0_0 0x40408
3417#define SRC_REG_KEYRSS0_7 0x40424
2539#define SRC_REG_KEYRSS1_9 0x40454 3418#define SRC_REG_KEYRSS1_9 0x40454
2540/* [WB 64] Last free element in the free list of T2 entries - port 0. */
2541#define SRC_REG_LASTFREE0 0x40530 3419#define SRC_REG_LASTFREE0 0x40530
2542/* [RW 5] The number of hash bits used for the search (h); Values can be 8
2543 to 24. */
2544#define SRC_REG_NUMBER_HASH_BITS0 0x40400 3420#define SRC_REG_NUMBER_HASH_BITS0 0x40400
2545/* [RW 1] Reset internal state machines. */ 3421/* [RW 1] Reset internal state machines. */
2546#define SRC_REG_SOFT_RST 0x4049c 3422#define SRC_REG_SOFT_RST 0x4049c
2547/* [R 1] Interrupt register #0 read */ 3423/* [R 3] Interrupt register #0 read */
2548#define SRC_REG_SRC_INT_STS 0x404ac 3424#define SRC_REG_SRC_INT_STS 0x404ac
2549/* [RW 3] Parity mask register #0 read/write */ 3425/* [RW 3] Parity mask register #0 read/write */
2550#define SRC_REG_SRC_PRTY_MASK 0x404c8 3426#define SRC_REG_SRC_PRTY_MASK 0x404c8
@@ -2637,11 +3513,14 @@
2637 weight 8 (the most prioritised); 1 stands for weight 1(least 3513 weight 8 (the most prioritised); 1 stands for weight 1(least
2638 prioritised); 2 stands for weight 2; tc. */ 3514 prioritised); 2 stands for weight 2; tc. */
2639#define TCM_REG_PBF_WEIGHT 0x500b4 3515#define TCM_REG_PBF_WEIGHT 0x500b4
2640/* [RW 6] The physical queue number 0 per port index. */
2641#define TCM_REG_PHYS_QNUM0_0 0x500e0 3516#define TCM_REG_PHYS_QNUM0_0 0x500e0
2642#define TCM_REG_PHYS_QNUM0_1 0x500e4 3517#define TCM_REG_PHYS_QNUM0_1 0x500e4
2643/* [RW 6] The physical queue number 1 per port index. */
2644#define TCM_REG_PHYS_QNUM1_0 0x500e8 3518#define TCM_REG_PHYS_QNUM1_0 0x500e8
3519#define TCM_REG_PHYS_QNUM1_1 0x500ec
3520#define TCM_REG_PHYS_QNUM2_0 0x500f0
3521#define TCM_REG_PHYS_QNUM2_1 0x500f4
3522#define TCM_REG_PHYS_QNUM3_0 0x500f8
3523#define TCM_REG_PHYS_QNUM3_1 0x500fc
2645/* [RW 1] Input prs Interface enable. If 0 - the valid input is disregarded; 3524/* [RW 1] Input prs Interface enable. If 0 - the valid input is disregarded;
2646 acknowledge output is deasserted; all other signals are treated as usual; 3525 acknowledge output is deasserted; all other signals are treated as usual;
2647 if 1 - normal activity. */ 3526 if 1 - normal activity. */
@@ -2670,6 +3549,8 @@
2670#define TCM_REG_TCM_INT_MASK 0x501dc 3549#define TCM_REG_TCM_INT_MASK 0x501dc
2671/* [R 11] Interrupt register #0 read */ 3550/* [R 11] Interrupt register #0 read */
2672#define TCM_REG_TCM_INT_STS 0x501d0 3551#define TCM_REG_TCM_INT_STS 0x501d0
3552/* [R 27] Parity register #0 read */
3553#define TCM_REG_TCM_PRTY_STS 0x501e0
2673/* [RW 3] The size of AG context region 0 in REG-pairs. Designates the MS 3554/* [RW 3] The size of AG context region 0 in REG-pairs. Designates the MS
2674 REG-pair number (e.g. if region 0 is 6 REG-pairs; the value should be 5). 3555 REG-pair number (e.g. if region 0 is 6 REG-pairs; the value should be 5).
2675 Is used to determine the number of the AG context REG-pairs written back; 3556 Is used to determine the number of the AG context REG-pairs written back;
@@ -2729,6 +3610,7 @@
2729 mechanism. The fields are: [5:0] - length of the message; 15:6] - message 3610 mechanism. The fields are: [5:0] - length of the message; 15:6] - message
2730 pointer; 20:16] - next pointer. */ 3611 pointer; 20:16] - next pointer. */
2731#define TCM_REG_XX_DESCR_TABLE 0x50280 3612#define TCM_REG_XX_DESCR_TABLE 0x50280
3613#define TCM_REG_XX_DESCR_TABLE_SIZE 32
2732/* [R 6] Use to read the value of XX protection Free counter. */ 3614/* [R 6] Use to read the value of XX protection Free counter. */
2733#define TCM_REG_XX_FREE 0x50178 3615#define TCM_REG_XX_FREE 0x50178
2734/* [RW 6] Initial value for the credit counter; responsible for fulfilling 3616/* [RW 6] Initial value for the credit counter; responsible for fulfilling
@@ -2780,7 +3662,7 @@
2780/* [RW 4] Load value for expiration credit cnt. CFC max number of 3662/* [RW 4] Load value for expiration credit cnt. CFC max number of
2781 outstanding load requests for timers (expiration) context loading. */ 3663 outstanding load requests for timers (expiration) context loading. */
2782#define TM_REG_EXP_CRDCNT_VAL 0x164238 3664#define TM_REG_EXP_CRDCNT_VAL 0x164238
2783/* [RW 18] Linear0 Max active cid. */ 3665/* [RW 18] Linear0 Max active cid (in banks of 32 entries). */
2784#define TM_REG_LIN0_MAX_ACTIVE_CID 0x164048 3666#define TM_REG_LIN0_MAX_ACTIVE_CID 0x164048
2785/* [WB 64] Linear0 phy address. */ 3667/* [WB 64] Linear0 phy address. */
2786#define TM_REG_LIN0_PHY_ADDR 0x164270 3668#define TM_REG_LIN0_PHY_ADDR 0x164270
@@ -2804,6 +3686,21 @@
2804#define TM_REG_TM_INT_STS 0x1640f0 3686#define TM_REG_TM_INT_STS 0x1640f0
2805/* [RW 8] The event id for aggregated interrupt 0 */ 3687/* [RW 8] The event id for aggregated interrupt 0 */
2806#define TSDM_REG_AGG_INT_EVENT_0 0x42038 3688#define TSDM_REG_AGG_INT_EVENT_0 0x42038
3689#define TSDM_REG_AGG_INT_EVENT_2 0x42040
3690#define TSDM_REG_AGG_INT_EVENT_20 0x42088
3691#define TSDM_REG_AGG_INT_EVENT_21 0x4208c
3692#define TSDM_REG_AGG_INT_EVENT_22 0x42090
3693#define TSDM_REG_AGG_INT_EVENT_23 0x42094
3694#define TSDM_REG_AGG_INT_EVENT_24 0x42098
3695#define TSDM_REG_AGG_INT_EVENT_25 0x4209c
3696#define TSDM_REG_AGG_INT_EVENT_26 0x420a0
3697#define TSDM_REG_AGG_INT_EVENT_27 0x420a4
3698#define TSDM_REG_AGG_INT_EVENT_28 0x420a8
3699#define TSDM_REG_AGG_INT_EVENT_29 0x420ac
3700#define TSDM_REG_AGG_INT_EVENT_3 0x42044
3701#define TSDM_REG_AGG_INT_EVENT_30 0x420b0
3702#define TSDM_REG_AGG_INT_EVENT_31 0x420b4
3703#define TSDM_REG_AGG_INT_EVENT_4 0x42048
2807/* [RW 13] The start address in the internal RAM for the cfc_rsp lcid */ 3704/* [RW 13] The start address in the internal RAM for the cfc_rsp lcid */
2808#define TSDM_REG_CFC_RSP_START_ADDR 0x42008 3705#define TSDM_REG_CFC_RSP_START_ADDR 0x42008
2809/* [RW 16] The maximum value of the competion counter #0 */ 3706/* [RW 16] The maximum value of the competion counter #0 */
@@ -2868,6 +3765,9 @@
2868/* [RW 32] Interrupt mask register #0 read/write */ 3765/* [RW 32] Interrupt mask register #0 read/write */
2869#define TSDM_REG_TSDM_INT_MASK_0 0x4229c 3766#define TSDM_REG_TSDM_INT_MASK_0 0x4229c
2870#define TSDM_REG_TSDM_INT_MASK_1 0x422ac 3767#define TSDM_REG_TSDM_INT_MASK_1 0x422ac
3768/* [R 32] Interrupt register #0 read */
3769#define TSDM_REG_TSDM_INT_STS_0 0x42290
3770#define TSDM_REG_TSDM_INT_STS_1 0x422a0
2871/* [RW 11] Parity mask register #0 read/write */ 3771/* [RW 11] Parity mask register #0 read/write */
2872#define TSDM_REG_TSDM_PRTY_MASK 0x422bc 3772#define TSDM_REG_TSDM_PRTY_MASK 0x422bc
2873/* [R 11] Parity register #0 read */ 3773/* [R 11] Parity register #0 read */
@@ -2908,9 +3808,8 @@
2908#define TSEM_REG_ENABLE_OUT 0x1800a8 3808#define TSEM_REG_ENABLE_OUT 0x1800a8
2909/* [RW 32] This address space contains all registers and memories that are 3809/* [RW 32] This address space contains all registers and memories that are
2910 placed in SEM_FAST block. The SEM_FAST registers are described in 3810 placed in SEM_FAST block. The SEM_FAST registers are described in
2911 appendix B. In order to access the SEM_FAST registers the base address 3811 appendix B. In order to access the sem_fast registers the base address
2912 TSEM_REGISTERS_FAST_MEMORY (Offset: 0x1a0000) should be added to each 3812 ~fast_memory.fast_memory should be added to eachsem_fast register offset. */
2913 SEM_FAST register offset. */
2914#define TSEM_REG_FAST_MEMORY 0x1a0000 3813#define TSEM_REG_FAST_MEMORY 0x1a0000
2915/* [RW 1] Disables input messages from FIC0 May be updated during run_time 3814/* [RW 1] Disables input messages from FIC0 May be updated during run_time
2916 by the microcode */ 3815 by the microcode */
@@ -2993,6 +3892,9 @@
2993/* [RW 32] Interrupt mask register #0 read/write */ 3892/* [RW 32] Interrupt mask register #0 read/write */
2994#define TSEM_REG_TSEM_INT_MASK_0 0x180100 3893#define TSEM_REG_TSEM_INT_MASK_0 0x180100
2995#define TSEM_REG_TSEM_INT_MASK_1 0x180110 3894#define TSEM_REG_TSEM_INT_MASK_1 0x180110
3895/* [R 32] Interrupt register #0 read */
3896#define TSEM_REG_TSEM_INT_STS_0 0x1800f4
3897#define TSEM_REG_TSEM_INT_STS_1 0x180104
2996/* [RW 32] Parity mask register #0 read/write */ 3898/* [RW 32] Parity mask register #0 read/write */
2997#define TSEM_REG_TSEM_PRTY_MASK_0 0x180120 3899#define TSEM_REG_TSEM_PRTY_MASK_0 0x180120
2998#define TSEM_REG_TSEM_PRTY_MASK_1 0x180130 3900#define TSEM_REG_TSEM_PRTY_MASK_1 0x180130
@@ -3088,12 +3990,15 @@
3088#define UCM_REG_N_SM_CTX_LD_2 0xe005c 3990#define UCM_REG_N_SM_CTX_LD_2 0xe005c
3089#define UCM_REG_N_SM_CTX_LD_3 0xe0060 3991#define UCM_REG_N_SM_CTX_LD_3 0xe0060
3090#define UCM_REG_N_SM_CTX_LD_4 0xe0064 3992#define UCM_REG_N_SM_CTX_LD_4 0xe0064
3091/* [RW 6] The physical queue number 0 per port index (CID[23]) */ 3993#define UCM_REG_N_SM_CTX_LD_5 0xe0068
3092#define UCM_REG_PHYS_QNUM0_0 0xe0110 3994#define UCM_REG_PHYS_QNUM0_0 0xe0110
3093#define UCM_REG_PHYS_QNUM0_1 0xe0114 3995#define UCM_REG_PHYS_QNUM0_1 0xe0114
3094/* [RW 6] The physical queue number 1 per port index (CID[23]) */
3095#define UCM_REG_PHYS_QNUM1_0 0xe0118 3996#define UCM_REG_PHYS_QNUM1_0 0xe0118
3096#define UCM_REG_PHYS_QNUM1_1 0xe011c 3997#define UCM_REG_PHYS_QNUM1_1 0xe011c
3998#define UCM_REG_PHYS_QNUM2_0 0xe0120
3999#define UCM_REG_PHYS_QNUM2_1 0xe0124
4000#define UCM_REG_PHYS_QNUM3_0 0xe0128
4001#define UCM_REG_PHYS_QNUM3_1 0xe012c
3097/* [RW 8] The Event ID for Timers formatting in case of stop done. */ 4002/* [RW 8] The Event ID for Timers formatting in case of stop done. */
3098#define UCM_REG_STOP_EVNT_ID 0xe00ac 4003#define UCM_REG_STOP_EVNT_ID 0xe00ac
3099/* [RC 1] Set when the message length mismatch (relative to last indication) 4004/* [RC 1] Set when the message length mismatch (relative to last indication)
@@ -3132,6 +4037,8 @@
3132#define UCM_REG_UCM_INT_MASK 0xe01d4 4037#define UCM_REG_UCM_INT_MASK 0xe01d4
3133/* [R 11] Interrupt register #0 read */ 4038/* [R 11] Interrupt register #0 read */
3134#define UCM_REG_UCM_INT_STS 0xe01c8 4039#define UCM_REG_UCM_INT_STS 0xe01c8
4040/* [R 27] Parity register #0 read */
4041#define UCM_REG_UCM_PRTY_STS 0xe01d8
3135/* [RW 2] The size of AG context region 0 in REG-pairs. Designates the MS 4042/* [RW 2] The size of AG context region 0 in REG-pairs. Designates the MS
3136 REG-pair number (e.g. if region 0 is 6 REG-pairs; the value should be 5). 4043 REG-pair number (e.g. if region 0 is 6 REG-pairs; the value should be 5).
3137 Is used to determine the number of the AG context REG-pairs written back; 4044 Is used to determine the number of the AG context REG-pairs written back;
@@ -3189,6 +4096,7 @@
3189 mechanism. The fields are:[5:0] - message length; 14:6] - message 4096 mechanism. The fields are:[5:0] - message length; 14:6] - message
3190 pointer; 19:15] - next pointer. */ 4097 pointer; 19:15] - next pointer. */
3191#define UCM_REG_XX_DESCR_TABLE 0xe0280 4098#define UCM_REG_XX_DESCR_TABLE 0xe0280
4099#define UCM_REG_XX_DESCR_TABLE_SIZE 32
3192/* [R 6] Use to read the XX protection Free counter. */ 4100/* [R 6] Use to read the XX protection Free counter. */
3193#define UCM_REG_XX_FREE 0xe016c 4101#define UCM_REG_XX_FREE 0xe016c
3194/* [RW 6] Initial value for the credit counter; responsible for fulfilling 4102/* [RW 6] Initial value for the credit counter; responsible for fulfilling
@@ -3218,6 +4126,21 @@
3218#define USDM_REG_AGG_INT_EVENT_17 0xc407c 4126#define USDM_REG_AGG_INT_EVENT_17 0xc407c
3219#define USDM_REG_AGG_INT_EVENT_18 0xc4080 4127#define USDM_REG_AGG_INT_EVENT_18 0xc4080
3220#define USDM_REG_AGG_INT_EVENT_19 0xc4084 4128#define USDM_REG_AGG_INT_EVENT_19 0xc4084
4129#define USDM_REG_AGG_INT_EVENT_2 0xc4040
4130#define USDM_REG_AGG_INT_EVENT_20 0xc4088
4131#define USDM_REG_AGG_INT_EVENT_21 0xc408c
4132#define USDM_REG_AGG_INT_EVENT_22 0xc4090
4133#define USDM_REG_AGG_INT_EVENT_23 0xc4094
4134#define USDM_REG_AGG_INT_EVENT_24 0xc4098
4135#define USDM_REG_AGG_INT_EVENT_25 0xc409c
4136#define USDM_REG_AGG_INT_EVENT_26 0xc40a0
4137#define USDM_REG_AGG_INT_EVENT_27 0xc40a4
4138#define USDM_REG_AGG_INT_EVENT_28 0xc40a8
4139#define USDM_REG_AGG_INT_EVENT_29 0xc40ac
4140#define USDM_REG_AGG_INT_EVENT_3 0xc4044
4141#define USDM_REG_AGG_INT_EVENT_30 0xc40b0
4142#define USDM_REG_AGG_INT_EVENT_31 0xc40b4
4143#define USDM_REG_AGG_INT_EVENT_4 0xc4048
3221/* [RW 1] For each aggregated interrupt index whether the mode is normal (0) 4144/* [RW 1] For each aggregated interrupt index whether the mode is normal (0)
3222 or auto-mask-mode (1) */ 4145 or auto-mask-mode (1) */
3223#define USDM_REG_AGG_INT_MODE_0 0xc41b8 4146#define USDM_REG_AGG_INT_MODE_0 0xc41b8
@@ -3298,6 +4221,9 @@
3298/* [RW 32] Interrupt mask register #0 read/write */ 4221/* [RW 32] Interrupt mask register #0 read/write */
3299#define USDM_REG_USDM_INT_MASK_0 0xc42a0 4222#define USDM_REG_USDM_INT_MASK_0 0xc42a0
3300#define USDM_REG_USDM_INT_MASK_1 0xc42b0 4223#define USDM_REG_USDM_INT_MASK_1 0xc42b0
4224/* [R 32] Interrupt register #0 read */
4225#define USDM_REG_USDM_INT_STS_0 0xc4294
4226#define USDM_REG_USDM_INT_STS_1 0xc42a4
3301/* [RW 11] Parity mask register #0 read/write */ 4227/* [RW 11] Parity mask register #0 read/write */
3302#define USDM_REG_USDM_PRTY_MASK 0xc42c0 4228#define USDM_REG_USDM_PRTY_MASK 0xc42c0
3303/* [R 11] Parity register #0 read */ 4229/* [R 11] Parity register #0 read */
@@ -3338,9 +4264,8 @@
3338#define USEM_REG_ENABLE_OUT 0x3000a8 4264#define USEM_REG_ENABLE_OUT 0x3000a8
3339/* [RW 32] This address space contains all registers and memories that are 4265/* [RW 32] This address space contains all registers and memories that are
3340 placed in SEM_FAST block. The SEM_FAST registers are described in 4266 placed in SEM_FAST block. The SEM_FAST registers are described in
3341 appendix B. In order to access the SEM_FAST registers... the base address 4267 appendix B. In order to access the sem_fast registers the base address
3342 USEM_REGISTERS_FAST_MEMORY (Offset: 0x320000) should be added to each 4268 ~fast_memory.fast_memory should be added to eachsem_fast register offset. */
3343 SEM_FAST register offset. */
3344#define USEM_REG_FAST_MEMORY 0x320000 4269#define USEM_REG_FAST_MEMORY 0x320000
3345/* [RW 1] Disables input messages from FIC0 May be updated during run_time 4270/* [RW 1] Disables input messages from FIC0 May be updated during run_time
3346 by the microcode */ 4271 by the microcode */
@@ -3423,6 +4348,9 @@
3423/* [RW 32] Interrupt mask register #0 read/write */ 4348/* [RW 32] Interrupt mask register #0 read/write */
3424#define USEM_REG_USEM_INT_MASK_0 0x300110 4349#define USEM_REG_USEM_INT_MASK_0 0x300110
3425#define USEM_REG_USEM_INT_MASK_1 0x300120 4350#define USEM_REG_USEM_INT_MASK_1 0x300120
4351/* [R 32] Interrupt register #0 read */
4352#define USEM_REG_USEM_INT_STS_0 0x300104
4353#define USEM_REG_USEM_INT_STS_1 0x300114
3426/* [RW 32] Parity mask register #0 read/write */ 4354/* [RW 32] Parity mask register #0 read/write */
3427#define USEM_REG_USEM_PRTY_MASK_0 0x300130 4355#define USEM_REG_USEM_PRTY_MASK_0 0x300130
3428#define USEM_REG_USEM_PRTY_MASK_1 0x300140 4356#define USEM_REG_USEM_PRTY_MASK_1 0x300140
@@ -3491,11 +4419,8 @@
3491 writes the initial credit value; read returns the current value of the 4419 writes the initial credit value; read returns the current value of the
3492 credit counter. Must be initialized to 64 at start-up. */ 4420 credit counter. Must be initialized to 64 at start-up. */
3493#define XCM_REG_FIC1_INIT_CRD 0x20410 4421#define XCM_REG_FIC1_INIT_CRD 0x20410
3494/* [RW 8] The maximum delayed ACK counter value.Must be at least 2. Per port
3495 value. */
3496#define XCM_REG_GLB_DEL_ACK_MAX_CNT_0 0x20118 4422#define XCM_REG_GLB_DEL_ACK_MAX_CNT_0 0x20118
3497#define XCM_REG_GLB_DEL_ACK_MAX_CNT_1 0x2011c 4423#define XCM_REG_GLB_DEL_ACK_MAX_CNT_1 0x2011c
3498/* [RW 28] The delayed ACK timeout in ticks. Per port value. */
3499#define XCM_REG_GLB_DEL_ACK_TMR_VAL_0 0x20108 4424#define XCM_REG_GLB_DEL_ACK_TMR_VAL_0 0x20108
3500#define XCM_REG_GLB_DEL_ACK_TMR_VAL_1 0x2010c 4425#define XCM_REG_GLB_DEL_ACK_TMR_VAL_1 0x2010c
3501/* [RW 1] Arbitratiojn between Input Arbiter groups: 0 - fair Round-Robin; 1 4426/* [RW 1] Arbitratiojn between Input Arbiter groups: 0 - fair Round-Robin; 1
@@ -3545,6 +4470,7 @@
3545#define XCM_REG_N_SM_CTX_LD_2 0x20068 4470#define XCM_REG_N_SM_CTX_LD_2 0x20068
3546#define XCM_REG_N_SM_CTX_LD_3 0x2006c 4471#define XCM_REG_N_SM_CTX_LD_3 0x2006c
3547#define XCM_REG_N_SM_CTX_LD_4 0x20070 4472#define XCM_REG_N_SM_CTX_LD_4 0x20070
4473#define XCM_REG_N_SM_CTX_LD_5 0x20074
3548/* [RW 1] Input pbf Interface enable. If 0 - the valid input is disregarded; 4474/* [RW 1] Input pbf Interface enable. If 0 - the valid input is disregarded;
3549 acknowledge output is deasserted; all other signals are treated as usual; 4475 acknowledge output is deasserted; all other signals are treated as usual;
3550 if 1 - normal activity. */ 4476 if 1 - normal activity. */
@@ -3556,6 +4482,8 @@
3556 weight 8 (the most prioritised); 1 stands for weight 1(least 4482 weight 8 (the most prioritised); 1 stands for weight 1(least
3557 prioritised); 2 stands for weight 2; tc. */ 4483 prioritised); 2 stands for weight 2; tc. */
3558#define XCM_REG_PBF_WEIGHT 0x200d0 4484#define XCM_REG_PBF_WEIGHT 0x200d0
4485#define XCM_REG_PHYS_QNUM3_0 0x20100
4486#define XCM_REG_PHYS_QNUM3_1 0x20104
3559/* [RW 8] The Event ID for Timers formatting in case of stop done. */ 4487/* [RW 8] The Event ID for Timers formatting in case of stop done. */
3560#define XCM_REG_STOP_EVNT_ID 0x200b8 4488#define XCM_REG_STOP_EVNT_ID 0x200b8
3561/* [RC 1] Set at message length mismatch (relative to last indication) at 4489/* [RC 1] Set at message length mismatch (relative to last indication) at
@@ -3603,53 +4531,17 @@
3603 weight 8 (the most prioritised); 1 stands for weight 1(least 4531 weight 8 (the most prioritised); 1 stands for weight 1(least
3604 prioritised); 2 stands for weight 2; tc. */ 4532 prioritised); 2 stands for weight 2; tc. */
3605#define XCM_REG_USEM_WEIGHT 0x200c8 4533#define XCM_REG_USEM_WEIGHT 0x200c8
3606/* [RW 2] DA counter command; used in case of window update doorbell.The
3607 first index stands for the value DaEnable of that connection. The second
3608 index stands for port number. */
3609#define XCM_REG_WU_DA_CNT_CMD00 0x201d4 4534#define XCM_REG_WU_DA_CNT_CMD00 0x201d4
3610/* [RW 2] DA counter command; used in case of window update doorbell.The
3611 first index stands for the value DaEnable of that connection. The second
3612 index stands for port number. */
3613#define XCM_REG_WU_DA_CNT_CMD01 0x201d8 4535#define XCM_REG_WU_DA_CNT_CMD01 0x201d8
3614/* [RW 2] DA counter command; used in case of window update doorbell.The
3615 first index stands for the value DaEnable of that connection. The second
3616 index stands for port number. */
3617#define XCM_REG_WU_DA_CNT_CMD10 0x201dc 4536#define XCM_REG_WU_DA_CNT_CMD10 0x201dc
3618/* [RW 2] DA counter command; used in case of window update doorbell.The
3619 first index stands for the value DaEnable of that connection. The second
3620 index stands for port number. */
3621#define XCM_REG_WU_DA_CNT_CMD11 0x201e0 4537#define XCM_REG_WU_DA_CNT_CMD11 0x201e0
3622/* [RW 8] DA counter update value used in case of window update doorbell.The
3623 first index stands for the value DaEnable of that connection. The second
3624 index stands for port number. */
3625#define XCM_REG_WU_DA_CNT_UPD_VAL00 0x201e4 4538#define XCM_REG_WU_DA_CNT_UPD_VAL00 0x201e4
3626/* [RW 8] DA counter update value; used in case of window update
3627 doorbell.The first index stands for the value DaEnable of that
3628 connection. The second index stands for port number. */
3629#define XCM_REG_WU_DA_CNT_UPD_VAL01 0x201e8 4539#define XCM_REG_WU_DA_CNT_UPD_VAL01 0x201e8
3630/* [RW 8] DA counter update value; used in case of window update
3631 doorbell.The first index stands for the value DaEnable of that
3632 connection. The second index stands for port number. */
3633#define XCM_REG_WU_DA_CNT_UPD_VAL10 0x201ec 4540#define XCM_REG_WU_DA_CNT_UPD_VAL10 0x201ec
3634/* [RW 8] DA counter update value; used in case of window update
3635 doorbell.The first index stands for the value DaEnable of that
3636 connection. The second index stands for port number. */
3637#define XCM_REG_WU_DA_CNT_UPD_VAL11 0x201f0 4541#define XCM_REG_WU_DA_CNT_UPD_VAL11 0x201f0
3638/* [RW 1] DA timer command; used in case of window update doorbell.The first
3639 index stands for the value DaEnable of that connection. The second index
3640 stands for port number. */
3641#define XCM_REG_WU_DA_SET_TMR_CNT_FLG_CMD00 0x201c4 4542#define XCM_REG_WU_DA_SET_TMR_CNT_FLG_CMD00 0x201c4
3642/* [RW 1] DA timer command; used in case of window update doorbell.The first
3643 index stands for the value DaEnable of that connection. The second index
3644 stands for port number. */
3645#define XCM_REG_WU_DA_SET_TMR_CNT_FLG_CMD01 0x201c8 4543#define XCM_REG_WU_DA_SET_TMR_CNT_FLG_CMD01 0x201c8
3646/* [RW 1] DA timer command; used in case of window update doorbell.The first
3647 index stands for the value DaEnable of that connection. The second index
3648 stands for port number. */
3649#define XCM_REG_WU_DA_SET_TMR_CNT_FLG_CMD10 0x201cc 4544#define XCM_REG_WU_DA_SET_TMR_CNT_FLG_CMD10 0x201cc
3650/* [RW 1] DA timer command; used in case of window update doorbell.The first
3651 index stands for the value DaEnable of that connection. The second index
3652 stands for port number. */
3653#define XCM_REG_WU_DA_SET_TMR_CNT_FLG_CMD11 0x201d0 4545#define XCM_REG_WU_DA_SET_TMR_CNT_FLG_CMD11 0x201d0
3654/* [RW 1] CM - CFC Interface enable. If 0 - the valid input is disregarded; 4546/* [RW 1] CM - CFC Interface enable. If 0 - the valid input is disregarded;
3655 acknowledge output is deasserted; all other signals are treated as usual; 4547 acknowledge output is deasserted; all other signals are treated as usual;
@@ -3659,6 +4551,8 @@
3659#define XCM_REG_XCM_INT_MASK 0x202b4 4551#define XCM_REG_XCM_INT_MASK 0x202b4
3660/* [R 14] Interrupt register #0 read */ 4552/* [R 14] Interrupt register #0 read */
3661#define XCM_REG_XCM_INT_STS 0x202a8 4553#define XCM_REG_XCM_INT_STS 0x202a8
4554/* [R 30] Parity register #0 read */
4555#define XCM_REG_XCM_PRTY_STS 0x202b8
3662/* [RW 4] The size of AG context region 0 in REG-pairs. Designates the MS 4556/* [RW 4] The size of AG context region 0 in REG-pairs. Designates the MS
3663 REG-pair number (e.g. if region 0 is 6 REG-pairs; the value should be 5). 4557 REG-pair number (e.g. if region 0 is 6 REG-pairs; the value should be 5).
3664 Is used to determine the number of the AG context REG-pairs written back; 4558 Is used to determine the number of the AG context REG-pairs written back;
@@ -3715,6 +4609,7 @@
3715 mechanism. The fields are: [5:0] - message length; 11:6] - message 4609 mechanism. The fields are: [5:0] - message length; 11:6] - message
3716 pointer; 16:12] - next pointer. */ 4610 pointer; 16:12] - next pointer. */
3717#define XCM_REG_XX_DESCR_TABLE 0x20480 4611#define XCM_REG_XX_DESCR_TABLE 0x20480
4612#define XCM_REG_XX_DESCR_TABLE_SIZE 32
3718/* [R 6] Used to read the XX protection Free counter. */ 4613/* [R 6] Used to read the XX protection Free counter. */
3719#define XCM_REG_XX_FREE 0x20240 4614#define XCM_REG_XX_FREE 0x20240
3720/* [RW 6] Initial value for the credit counter; responsible for fulfilling 4615/* [RW 6] Initial value for the credit counter; responsible for fulfilling
@@ -3728,7 +4623,7 @@
3728#define XCM_REG_XX_MSG_NUM 0x20428 4623#define XCM_REG_XX_MSG_NUM 0x20428
3729/* [RW 8] The Event ID; sent to the STORM in case of XX overflow. */ 4624/* [RW 8] The Event ID; sent to the STORM in case of XX overflow. */
3730#define XCM_REG_XX_OVFL_EVNT_ID 0x20058 4625#define XCM_REG_XX_OVFL_EVNT_ID 0x20058
3731/* [RW 15] Indirect access to the XX table of the XX protection mechanism. 4626/* [RW 16] Indirect access to the XX table of the XX protection mechanism.
3732 The fields are:[4:0] - tail pointer; 9:5] - Link List size; 14:10] - 4627 The fields are:[4:0] - tail pointer; 9:5] - Link List size; 14:10] -
3733 header pointer. */ 4628 header pointer. */
3734#define XCM_REG_XX_TABLE 0x20500 4629#define XCM_REG_XX_TABLE 0x20500
@@ -3745,6 +4640,9 @@
3745#define XSDM_REG_AGG_INT_EVENT_17 0x16607c 4640#define XSDM_REG_AGG_INT_EVENT_17 0x16607c
3746#define XSDM_REG_AGG_INT_EVENT_18 0x166080 4641#define XSDM_REG_AGG_INT_EVENT_18 0x166080
3747#define XSDM_REG_AGG_INT_EVENT_19 0x166084 4642#define XSDM_REG_AGG_INT_EVENT_19 0x166084
4643#define XSDM_REG_AGG_INT_EVENT_10 0x166060
4644#define XSDM_REG_AGG_INT_EVENT_11 0x166064
4645#define XSDM_REG_AGG_INT_EVENT_12 0x166068
3748#define XSDM_REG_AGG_INT_EVENT_2 0x166040 4646#define XSDM_REG_AGG_INT_EVENT_2 0x166040
3749#define XSDM_REG_AGG_INT_EVENT_20 0x166088 4647#define XSDM_REG_AGG_INT_EVENT_20 0x166088
3750#define XSDM_REG_AGG_INT_EVENT_21 0x16608c 4648#define XSDM_REG_AGG_INT_EVENT_21 0x16608c
@@ -3756,6 +4654,15 @@
3756#define XSDM_REG_AGG_INT_EVENT_27 0x1660a4 4654#define XSDM_REG_AGG_INT_EVENT_27 0x1660a4
3757#define XSDM_REG_AGG_INT_EVENT_28 0x1660a8 4655#define XSDM_REG_AGG_INT_EVENT_28 0x1660a8
3758#define XSDM_REG_AGG_INT_EVENT_29 0x1660ac 4656#define XSDM_REG_AGG_INT_EVENT_29 0x1660ac
4657#define XSDM_REG_AGG_INT_EVENT_3 0x166044
4658#define XSDM_REG_AGG_INT_EVENT_30 0x1660b0
4659#define XSDM_REG_AGG_INT_EVENT_31 0x1660b4
4660#define XSDM_REG_AGG_INT_EVENT_4 0x166048
4661#define XSDM_REG_AGG_INT_EVENT_5 0x16604c
4662#define XSDM_REG_AGG_INT_EVENT_6 0x166050
4663#define XSDM_REG_AGG_INT_EVENT_7 0x166054
4664#define XSDM_REG_AGG_INT_EVENT_8 0x166058
4665#define XSDM_REG_AGG_INT_EVENT_9 0x16605c
3759/* [RW 1] For each aggregated interrupt index whether the mode is normal (0) 4666/* [RW 1] For each aggregated interrupt index whether the mode is normal (0)
3760 or auto-mask-mode (1) */ 4667 or auto-mask-mode (1) */
3761#define XSDM_REG_AGG_INT_MODE_0 0x1661b8 4668#define XSDM_REG_AGG_INT_MODE_0 0x1661b8
@@ -3832,6 +4739,9 @@
3832/* [RW 32] Interrupt mask register #0 read/write */ 4739/* [RW 32] Interrupt mask register #0 read/write */
3833#define XSDM_REG_XSDM_INT_MASK_0 0x16629c 4740#define XSDM_REG_XSDM_INT_MASK_0 0x16629c
3834#define XSDM_REG_XSDM_INT_MASK_1 0x1662ac 4741#define XSDM_REG_XSDM_INT_MASK_1 0x1662ac
4742/* [R 32] Interrupt register #0 read */
4743#define XSDM_REG_XSDM_INT_STS_0 0x166290
4744#define XSDM_REG_XSDM_INT_STS_1 0x1662a0
3835/* [RW 11] Parity mask register #0 read/write */ 4745/* [RW 11] Parity mask register #0 read/write */
3836#define XSDM_REG_XSDM_PRTY_MASK 0x1662bc 4746#define XSDM_REG_XSDM_PRTY_MASK 0x1662bc
3837/* [R 11] Parity register #0 read */ 4747/* [R 11] Parity register #0 read */
@@ -3872,9 +4782,8 @@
3872#define XSEM_REG_ENABLE_OUT 0x2800a8 4782#define XSEM_REG_ENABLE_OUT 0x2800a8
3873/* [RW 32] This address space contains all registers and memories that are 4783/* [RW 32] This address space contains all registers and memories that are
3874 placed in SEM_FAST block. The SEM_FAST registers are described in 4784 placed in SEM_FAST block. The SEM_FAST registers are described in
3875 appendix B. In order to access the SEM_FAST registers the base address 4785 appendix B. In order to access the sem_fast registers the base address
3876 XSEM_REGISTERS_FAST_MEMORY (Offset: 0x2a0000) should be added to each 4786 ~fast_memory.fast_memory should be added to eachsem_fast register offset. */
3877 SEM_FAST register offset. */
3878#define XSEM_REG_FAST_MEMORY 0x2a0000 4787#define XSEM_REG_FAST_MEMORY 0x2a0000
3879/* [RW 1] Disables input messages from FIC0 May be updated during run_time 4788/* [RW 1] Disables input messages from FIC0 May be updated during run_time
3880 by the microcode */ 4789 by the microcode */
@@ -3957,6 +4866,9 @@
3957/* [RW 32] Interrupt mask register #0 read/write */ 4866/* [RW 32] Interrupt mask register #0 read/write */
3958#define XSEM_REG_XSEM_INT_MASK_0 0x280110 4867#define XSEM_REG_XSEM_INT_MASK_0 0x280110
3959#define XSEM_REG_XSEM_INT_MASK_1 0x280120 4868#define XSEM_REG_XSEM_INT_MASK_1 0x280120
4869/* [R 32] Interrupt register #0 read */
4870#define XSEM_REG_XSEM_INT_STS_0 0x280104
4871#define XSEM_REG_XSEM_INT_STS_1 0x280114
3960/* [RW 32] Parity mask register #0 read/write */ 4872/* [RW 32] Parity mask register #0 read/write */
3961#define XSEM_REG_XSEM_PRTY_MASK_0 0x280130 4873#define XSEM_REG_XSEM_PRTY_MASK_0 0x280130
3962#define XSEM_REG_XSEM_PRTY_MASK_1 0x280140 4874#define XSEM_REG_XSEM_PRTY_MASK_1 0x280140
@@ -3993,10 +4905,14 @@
3993#define BIGMAC_REGISTER_TX_SOURCE_ADDR (0x08<<3) 4905#define BIGMAC_REGISTER_TX_SOURCE_ADDR (0x08<<3)
3994#define BIGMAC_REGISTER_TX_STAT_GTBYT (0x20<<3) 4906#define BIGMAC_REGISTER_TX_STAT_GTBYT (0x20<<3)
3995#define BIGMAC_REGISTER_TX_STAT_GTPKT (0x0C<<3) 4907#define BIGMAC_REGISTER_TX_STAT_GTPKT (0x0C<<3)
4908#define EMAC_LED_1000MB_OVERRIDE (1L<<1)
4909#define EMAC_LED_100MB_OVERRIDE (1L<<2)
4910#define EMAC_LED_10MB_OVERRIDE (1L<<3)
4911#define EMAC_LED_2500MB_OVERRIDE (1L<<12)
4912#define EMAC_LED_OVERRIDE (1L<<0)
4913#define EMAC_LED_TRAFFIC (1L<<6)
3996#define EMAC_MDIO_COMM_COMMAND_ADDRESS (0L<<26) 4914#define EMAC_MDIO_COMM_COMMAND_ADDRESS (0L<<26)
3997#define EMAC_MDIO_COMM_COMMAND_READ_22 (2L<<26)
3998#define EMAC_MDIO_COMM_COMMAND_READ_45 (3L<<26) 4915#define EMAC_MDIO_COMM_COMMAND_READ_45 (3L<<26)
3999#define EMAC_MDIO_COMM_COMMAND_WRITE_22 (1L<<26)
4000#define EMAC_MDIO_COMM_COMMAND_WRITE_45 (1L<<26) 4916#define EMAC_MDIO_COMM_COMMAND_WRITE_45 (1L<<26)
4001#define EMAC_MDIO_COMM_DATA (0xffffL<<0) 4917#define EMAC_MDIO_COMM_DATA (0xffffL<<0)
4002#define EMAC_MDIO_COMM_START_BUSY (1L<<29) 4918#define EMAC_MDIO_COMM_START_BUSY (1L<<29)
@@ -4005,14 +4921,12 @@
4005#define EMAC_MDIO_MODE_CLOCK_CNT (0x3fL<<16) 4921#define EMAC_MDIO_MODE_CLOCK_CNT (0x3fL<<16)
4006#define EMAC_MDIO_MODE_CLOCK_CNT_BITSHIFT 16 4922#define EMAC_MDIO_MODE_CLOCK_CNT_BITSHIFT 16
4007#define EMAC_MODE_25G_MODE (1L<<5) 4923#define EMAC_MODE_25G_MODE (1L<<5)
4008#define EMAC_MODE_ACPI_RCVD (1L<<20)
4009#define EMAC_MODE_HALF_DUPLEX (1L<<1) 4924#define EMAC_MODE_HALF_DUPLEX (1L<<1)
4010#define EMAC_MODE_MPKT (1L<<18)
4011#define EMAC_MODE_MPKT_RCVD (1L<<19)
4012#define EMAC_MODE_PORT_GMII (2L<<2) 4925#define EMAC_MODE_PORT_GMII (2L<<2)
4013#define EMAC_MODE_PORT_MII (1L<<2) 4926#define EMAC_MODE_PORT_MII (1L<<2)
4014#define EMAC_MODE_PORT_MII_10M (3L<<2) 4927#define EMAC_MODE_PORT_MII_10M (3L<<2)
4015#define EMAC_MODE_RESET (1L<<0) 4928#define EMAC_MODE_RESET (1L<<0)
4929#define EMAC_REG_EMAC_LED 0xc
4016#define EMAC_REG_EMAC_MAC_MATCH 0x10 4930#define EMAC_REG_EMAC_MAC_MATCH 0x10
4017#define EMAC_REG_EMAC_MDIO_COMM 0xac 4931#define EMAC_REG_EMAC_MDIO_COMM 0xac
4018#define EMAC_REG_EMAC_MDIO_MODE 0xb4 4932#define EMAC_REG_EMAC_MDIO_MODE 0xb4
@@ -4030,14 +4944,16 @@
4030#define EMAC_RX_MODE_PROMISCUOUS (1L<<8) 4944#define EMAC_RX_MODE_PROMISCUOUS (1L<<8)
4031#define EMAC_RX_MTU_SIZE_JUMBO_ENA (1L<<31) 4945#define EMAC_RX_MTU_SIZE_JUMBO_ENA (1L<<31)
4032#define EMAC_TX_MODE_EXT_PAUSE_EN (1L<<3) 4946#define EMAC_TX_MODE_EXT_PAUSE_EN (1L<<3)
4033#define EMAC_TX_MODE_RESET (1L<<0) 4947#define MISC_REGISTERS_GPIO_0 0
4034#define MISC_REGISTERS_GPIO_1 1 4948#define MISC_REGISTERS_GPIO_1 1
4035#define MISC_REGISTERS_GPIO_2 2 4949#define MISC_REGISTERS_GPIO_2 2
4036#define MISC_REGISTERS_GPIO_3 3 4950#define MISC_REGISTERS_GPIO_3 3
4037#define MISC_REGISTERS_GPIO_CLR_POS 16 4951#define MISC_REGISTERS_GPIO_CLR_POS 16
4038#define MISC_REGISTERS_GPIO_FLOAT (0xffL<<24) 4952#define MISC_REGISTERS_GPIO_FLOAT (0xffL<<24)
4039#define MISC_REGISTERS_GPIO_FLOAT_POS 24 4953#define MISC_REGISTERS_GPIO_FLOAT_POS 24
4954#define MISC_REGISTERS_GPIO_HIGH 1
4040#define MISC_REGISTERS_GPIO_INPUT_HI_Z 2 4955#define MISC_REGISTERS_GPIO_INPUT_HI_Z 2
4956#define MISC_REGISTERS_GPIO_LOW 0
4041#define MISC_REGISTERS_GPIO_OUTPUT_HIGH 1 4957#define MISC_REGISTERS_GPIO_OUTPUT_HIGH 1
4042#define MISC_REGISTERS_GPIO_OUTPUT_LOW 0 4958#define MISC_REGISTERS_GPIO_OUTPUT_LOW 0
4043#define MISC_REGISTERS_GPIO_PORT_SHIFT 4 4959#define MISC_REGISTERS_GPIO_PORT_SHIFT 4
@@ -4127,7 +5043,7 @@
4127#define AEU_INPUTS_ATTN_BITS_XSEMI_PARITY_ERROR (1<<10) 5043#define AEU_INPUTS_ATTN_BITS_XSEMI_PARITY_ERROR (1<<10)
4128#define RESERVED_GENERAL_ATTENTION_BIT_0 0 5044#define RESERVED_GENERAL_ATTENTION_BIT_0 0
4129 5045
4130#define EVEREST_GEN_ATTN_IN_USE_MASK 0x3e0 5046#define EVEREST_GEN_ATTN_IN_USE_MASK 0x3ffe0
4131#define EVEREST_LATCHED_ATTN_IN_USE_MASK 0xffe00000 5047#define EVEREST_LATCHED_ATTN_IN_USE_MASK 0xffe00000
4132 5048
4133#define RESERVED_GENERAL_ATTENTION_BIT_6 6 5049#define RESERVED_GENERAL_ATTENTION_BIT_6 6
@@ -4156,6 +5072,17 @@
4156/* mcp error attention bit */ 5072/* mcp error attention bit */
4157#define MCP_FATAL_ASSERT_ATTENTION_BIT RESERVED_GENERAL_ATTENTION_BIT_11 5073#define MCP_FATAL_ASSERT_ATTENTION_BIT RESERVED_GENERAL_ATTENTION_BIT_11
4158 5074
5075/*E1H NIG status sync attention mapped to group 4-7*/
5076#define LINK_SYNC_ATTENTION_BIT_FUNC_0 RESERVED_GENERAL_ATTENTION_BIT_12
5077#define LINK_SYNC_ATTENTION_BIT_FUNC_1 RESERVED_GENERAL_ATTENTION_BIT_13
5078#define LINK_SYNC_ATTENTION_BIT_FUNC_2 RESERVED_GENERAL_ATTENTION_BIT_14
5079#define LINK_SYNC_ATTENTION_BIT_FUNC_3 RESERVED_GENERAL_ATTENTION_BIT_15
5080#define LINK_SYNC_ATTENTION_BIT_FUNC_4 RESERVED_GENERAL_ATTENTION_BIT_16
5081#define LINK_SYNC_ATTENTION_BIT_FUNC_5 RESERVED_GENERAL_ATTENTION_BIT_17
5082#define LINK_SYNC_ATTENTION_BIT_FUNC_6 RESERVED_GENERAL_ATTENTION_BIT_18
5083#define LINK_SYNC_ATTENTION_BIT_FUNC_7 RESERVED_GENERAL_ATTENTION_BIT_19
5084
5085
4159#define LATCHED_ATTN_RBCR 23 5086#define LATCHED_ATTN_RBCR 23
4160#define LATCHED_ATTN_RBCT 24 5087#define LATCHED_ATTN_RBCT 24
4161#define LATCHED_ATTN_RBCN 25 5088#define LATCHED_ATTN_RBCN 25
@@ -4221,22 +5148,41 @@
4221#define PCICFG_OFFSET 0x2000 5148#define PCICFG_OFFSET 0x2000
4222#define PCICFG_VENDOR_ID_OFFSET 0x00 5149#define PCICFG_VENDOR_ID_OFFSET 0x00
4223#define PCICFG_DEVICE_ID_OFFSET 0x02 5150#define PCICFG_DEVICE_ID_OFFSET 0x02
4224#define PCICFG_SUBSYSTEM_VENDOR_ID_OFFSET 0x2c 5151#define PCICFG_COMMAND_OFFSET 0x04
4225#define PCICFG_SUBSYSTEM_ID_OFFSET 0x2e 5152#define PCICFG_STATUS_OFFSET 0x06
4226#define PCICFG_INT_LINE 0x3c 5153#define PCICFG_REVESION_ID 0x08
4227#define PCICFG_INT_PIN 0x3d
4228#define PCICFG_CACHE_LINE_SIZE 0x0c 5154#define PCICFG_CACHE_LINE_SIZE 0x0c
4229#define PCICFG_LATENCY_TIMER 0x0d 5155#define PCICFG_LATENCY_TIMER 0x0d
4230#define PCICFG_REVESION_ID 0x08 5156#define PCICFG_BAR_1_LOW 0x10
4231#define PCICFG_BAR_1_LOW 0x10 5157#define PCICFG_BAR_1_HIGH 0x14
4232#define PCICFG_BAR_1_HIGH 0x14 5158#define PCICFG_BAR_2_LOW 0x18
4233#define PCICFG_BAR_2_LOW 0x18 5159#define PCICFG_BAR_2_HIGH 0x1c
4234#define PCICFG_BAR_2_HIGH 0x1c 5160#define PCICFG_SUBSYSTEM_VENDOR_ID_OFFSET 0x2c
4235#define PCICFG_GRC_ADDRESS 0x78 5161#define PCICFG_SUBSYSTEM_ID_OFFSET 0x2e
4236#define PCICFG_GRC_DATA 0x80 5162#define PCICFG_INT_LINE 0x3c
5163#define PCICFG_INT_PIN 0x3d
5164#define PCICFG_PM_CSR_OFFSET 0x4c
5165#define PCICFG_GRC_ADDRESS 0x78
5166#define PCICFG_GRC_DATA 0x80
4237#define PCICFG_DEVICE_CONTROL 0xb4 5167#define PCICFG_DEVICE_CONTROL 0xb4
4238#define PCICFG_LINK_CONTROL 0xbc 5168#define PCICFG_LINK_CONTROL 0xbc
4239 5169
5170#define PCICFG_COMMAND_IO_SPACE (1<<0)
5171#define PCICFG_COMMAND_MEM_SPACE (1<<1)
5172#define PCICFG_COMMAND_BUS_MASTER (1<<2)
5173#define PCICFG_COMMAND_SPECIAL_CYCLES (1<<3)
5174#define PCICFG_COMMAND_MWI_CYCLES (1<<4)
5175#define PCICFG_COMMAND_VGA_SNOOP (1<<5)
5176#define PCICFG_COMMAND_PERR_ENA (1<<6)
5177#define PCICFG_COMMAND_STEPPING (1<<7)
5178#define PCICFG_COMMAND_SERR_ENA (1<<8)
5179#define PCICFG_COMMAND_FAST_B2B (1<<9)
5180#define PCICFG_COMMAND_INT_DISABLE (1<<10)
5181#define PCICFG_COMMAND_RESERVED (0x1f<<11)
5182
5183#define PCICFG_PM_CSR_STATE (0x3<<0)
5184#define PCICFG_PM_CSR_PME_STATUS (1<<15)
5185
4240#define BAR_USTRORM_INTMEM 0x400000 5186#define BAR_USTRORM_INTMEM 0x400000
4241#define BAR_CSTRORM_INTMEM 0x410000 5187#define BAR_CSTRORM_INTMEM 0x410000
4242#define BAR_XSTRORM_INTMEM 0x420000 5188#define BAR_XSTRORM_INTMEM 0x420000
@@ -4336,7 +5282,7 @@
4336#define MDIO_CL73_IEEEB0_CL73_AN_CONTROL_MAIN_RST 0x8000 5282#define MDIO_CL73_IEEEB0_CL73_AN_CONTROL_MAIN_RST 0x8000
4337 5283
4338#define MDIO_REG_BANK_CL73_IEEEB1 0x10 5284#define MDIO_REG_BANK_CL73_IEEEB1 0x10
4339#define MDIO_CL73_IEEEB1_AN_ADV2 0x01 5285#define MDIO_CL73_IEEEB1_AN_ADV2 0x01
4340#define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_1000M 0x0000 5286#define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_1000M 0x0000
4341#define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_1000M_KX 0x0020 5287#define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_1000M_KX 0x0020
4342#define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_10G_KX4 0x0040 5288#define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_10G_KX4 0x0040
@@ -4365,7 +5311,7 @@
4365#define MDIO_REG_BANK_RX_ALL 0x80f0 5311#define MDIO_REG_BANK_RX_ALL 0x80f0
4366#define MDIO_RX_ALL_RX_EQ_BOOST 0x1c 5312#define MDIO_RX_ALL_RX_EQ_BOOST 0x1c
4367#define MDIO_RX_ALL_RX_EQ_BOOST_EQUALIZER_CTRL_MASK 0x7 5313#define MDIO_RX_ALL_RX_EQ_BOOST_EQUALIZER_CTRL_MASK 0x7
4368#define MDIO_RX_ALL_RX_EQ_BOOST_OFFSET_CTRL 0x10 5314#define MDIO_RX_ALL_RX_EQ_BOOST_OFFSET_CTRL 0x10
4369 5315
4370#define MDIO_REG_BANK_TX0 0x8060 5316#define MDIO_REG_BANK_TX0 0x8060
4371#define MDIO_TX0_TX_DRIVER 0x17 5317#define MDIO_TX0_TX_DRIVER 0x17
@@ -4392,213 +5338,266 @@
4392#define MDIO_XGXS_BLOCK2_RX_LN_SWAP 0x10 5338#define MDIO_XGXS_BLOCK2_RX_LN_SWAP 0x10
4393#define MDIO_XGXS_BLOCK2_RX_LN_SWAP_ENABLE 0x8000 5339#define MDIO_XGXS_BLOCK2_RX_LN_SWAP_ENABLE 0x8000
4394#define MDIO_XGXS_BLOCK2_RX_LN_SWAP_FORCE_ENABLE 0x4000 5340#define MDIO_XGXS_BLOCK2_RX_LN_SWAP_FORCE_ENABLE 0x4000
4395#define MDIO_XGXS_BLOCK2_TX_LN_SWAP 0x11 5341#define MDIO_XGXS_BLOCK2_TX_LN_SWAP 0x11
4396#define MDIO_XGXS_BLOCK2_TX_LN_SWAP_ENABLE 0x8000 5342#define MDIO_XGXS_BLOCK2_TX_LN_SWAP_ENABLE 0x8000
4397#define MDIO_XGXS_BLOCK2_UNICORE_MODE_10G 0x14 5343#define MDIO_XGXS_BLOCK2_UNICORE_MODE_10G 0x14
4398#define MDIO_XGXS_BLOCK2_UNICORE_MODE_10G_CX4_XGXS 0x0001 5344#define MDIO_XGXS_BLOCK2_UNICORE_MODE_10G_CX4_XGXS 0x0001
4399#define MDIO_XGXS_BLOCK2_UNICORE_MODE_10G_HIGIG_XGXS 0x0010 5345#define MDIO_XGXS_BLOCK2_UNICORE_MODE_10G_HIGIG_XGXS 0x0010
4400#define MDIO_XGXS_BLOCK2_TEST_MODE_LANE 0x15 5346#define MDIO_XGXS_BLOCK2_TEST_MODE_LANE 0x15
4401 5347
4402#define MDIO_REG_BANK_GP_STATUS 0x8120 5348#define MDIO_REG_BANK_GP_STATUS 0x8120
4403#define MDIO_GP_STATUS_TOP_AN_STATUS1 0x1B 5349#define MDIO_GP_STATUS_TOP_AN_STATUS1 0x1B
4404#define MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_AUTONEG_COMPLETE 0x0001 5350#define MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_AUTONEG_COMPLETE 0x0001
4405#define MDIO_GP_STATUS_TOP_AN_STATUS1_CL37_AUTONEG_COMPLETE 0x0002 5351#define MDIO_GP_STATUS_TOP_AN_STATUS1_CL37_AUTONEG_COMPLETE 0x0002
4406#define MDIO_GP_STATUS_TOP_AN_STATUS1_LINK_STATUS 0x0004 5352#define MDIO_GP_STATUS_TOP_AN_STATUS1_LINK_STATUS 0x0004
4407#define MDIO_GP_STATUS_TOP_AN_STATUS1_DUPLEX_STATUS 0x0008 5353#define MDIO_GP_STATUS_TOP_AN_STATUS1_DUPLEX_STATUS 0x0008
4408#define MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_MR_LP_NP_AN_ABLE 0x0010 5354#define MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_MR_LP_NP_AN_ABLE 0x0010
4409#define MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_LP_NP_BAM_ABLE 0x0020 5355#define MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_LP_NP_BAM_ABLE 0x0020
4410 5356#define MDIO_GP_STATUS_TOP_AN_STATUS1_PAUSE_RSOLUTION_TXSIDE 0x0040
4411#define MDIO_GP_STATUS_TOP_AN_STATUS1_PAUSE_RSOLUTION_TXSIDE 0x0040 5357#define MDIO_GP_STATUS_TOP_AN_STATUS1_PAUSE_RSOLUTION_RXSIDE 0x0080
4412#define MDIO_GP_STATUS_TOP_AN_STATUS1_PAUSE_RSOLUTION_RXSIDE 0x0080 5358#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_MASK 0x3f00
4413#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_MASK 0x3f00 5359#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10M 0x0000
4414#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10M 0x0000 5360#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_100M 0x0100
4415#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_100M 0x0100 5361#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_1G 0x0200
4416#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_1G 0x0200 5362#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_2_5G 0x0300
4417#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_2_5G 0x0300 5363#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_5G 0x0400
4418#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_5G 0x0400 5364#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_6G 0x0500
4419#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_6G 0x0500 5365#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_HIG 0x0600
4420#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_HIG 0x0600 5366#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_CX4 0x0700
4421#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_CX4 0x0700 5367#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_12G_HIG 0x0800
4422#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_12G_HIG 0x0800 5368#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_12_5G 0x0900
4423#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_12_5G 0x0900 5369#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_13G 0x0A00
4424#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_13G 0x0A00 5370#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_15G 0x0B00
4425#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_15G 0x0B00 5371#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_16G 0x0C00
4426#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_16G 0x0C00 5372#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_1G_KX 0x0D00
4427#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_1G_KX 0x0D00 5373#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_KX4 0x0E00
4428#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_KX4 0x0E00
4429 5374
4430 5375
4431#define MDIO_REG_BANK_10G_PARALLEL_DETECT 0x8130 5376#define MDIO_REG_BANK_10G_PARALLEL_DETECT 0x8130
4432#define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_CONTROL 0x11 5377#define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_CONTROL 0x11
4433#define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_CONTROL_PARDET10G_EN 0x1 5378#define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_CONTROL_PARDET10G_EN 0x1
4434#define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_LINK 0x13 5379#define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_LINK 0x13
4435#define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_LINK_CNT (0xb71<<1) 5380#define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_LINK_CNT (0xb71<<1)
4436 5381
4437#define MDIO_REG_BANK_SERDES_DIGITAL 0x8300 5382#define MDIO_REG_BANK_SERDES_DIGITAL 0x8300
4438#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1 0x10 5383#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1 0x10
4439#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_FIBER_MODE 0x0001 5384#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_FIBER_MODE 0x0001
4440#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_TBI_IF 0x0002 5385#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_TBI_IF 0x0002
4441#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_SIGNAL_DETECT_EN 0x0004 5386#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_SIGNAL_DETECT_EN 0x0004
4442#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_INVERT_SIGNAL_DETECT 0x0008 5387#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_INVERT_SIGNAL_DETECT 0x0008
4443#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_AUTODET 0x0010 5388#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_AUTODET 0x0010
4444#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_MSTR_MODE 0x0020 5389#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_MSTR_MODE 0x0020
4445#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL2 0x11 5390#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL2 0x11
4446#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL2_PRL_DT_EN 0x0001 5391#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL2_PRL_DT_EN 0x0001
4447#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL2_AN_FST_TMR 0x0040 5392#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL2_AN_FST_TMR 0x0040
4448#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1 0x14 5393#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1 0x14
4449#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_DUPLEX 0x0004 5394#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_DUPLEX 0x0004
4450#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_MASK 0x0018 5395#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_MASK 0x0018
4451#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_SHIFT 3 5396#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_SHIFT 3
4452#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_2_5G 0x0018 5397#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_2_5G 0x0018
4453#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_1G 0x0010 5398#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_1G 0x0010
4454#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_100M 0x0008 5399#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_100M 0x0008
4455#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_10M 0x0000 5400#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_10M 0x0000
4456#define MDIO_SERDES_DIGITAL_MISC1 0x18 5401#define MDIO_SERDES_DIGITAL_MISC1 0x18
4457#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_MASK 0xE000 5402#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_MASK 0xE000
4458#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_25M 0x0000 5403#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_25M 0x0000
4459#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_100M 0x2000 5404#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_100M 0x2000
4460#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_125M 0x4000 5405#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_125M 0x4000
4461#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_156_25M 0x6000 5406#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_156_25M 0x6000
4462#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_187_5M 0x8000 5407#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_187_5M 0x8000
4463#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_SEL 0x0010 5408#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_SEL 0x0010
4464#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_MASK 0x000f 5409#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_MASK 0x000f
4465#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_2_5G 0x0000 5410#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_2_5G 0x0000
4466#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_5G 0x0001 5411#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_5G 0x0001
4467#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_6G 0x0002 5412#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_6G 0x0002
4468#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_10G_HIG 0x0003 5413#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_10G_HIG 0x0003
4469#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_10G_CX4 0x0004 5414#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_10G_CX4 0x0004
4470#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_12G 0x0005 5415#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_12G 0x0005
4471#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_12_5G 0x0006 5416#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_12_5G 0x0006
4472#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_13G 0x0007 5417#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_13G 0x0007
4473#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_15G 0x0008 5418#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_15G 0x0008
4474#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_16G 0x0009 5419#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_16G 0x0009
4475 5420
4476#define MDIO_REG_BANK_OVER_1G 0x8320 5421#define MDIO_REG_BANK_OVER_1G 0x8320
4477#define MDIO_OVER_1G_DIGCTL_3_4 0x14 5422#define MDIO_OVER_1G_DIGCTL_3_4 0x14
4478#define MDIO_OVER_1G_DIGCTL_3_4_MP_ID_MASK 0xffe0 5423#define MDIO_OVER_1G_DIGCTL_3_4_MP_ID_MASK 0xffe0
4479#define MDIO_OVER_1G_DIGCTL_3_4_MP_ID_SHIFT 5 5424#define MDIO_OVER_1G_DIGCTL_3_4_MP_ID_SHIFT 5
4480#define MDIO_OVER_1G_UP1 0x19 5425#define MDIO_OVER_1G_UP1 0x19
4481#define MDIO_OVER_1G_UP1_2_5G 0x0001 5426#define MDIO_OVER_1G_UP1_2_5G 0x0001
4482#define MDIO_OVER_1G_UP1_5G 0x0002 5427#define MDIO_OVER_1G_UP1_5G 0x0002
4483#define MDIO_OVER_1G_UP1_6G 0x0004 5428#define MDIO_OVER_1G_UP1_6G 0x0004
4484#define MDIO_OVER_1G_UP1_10G 0x0010 5429#define MDIO_OVER_1G_UP1_10G 0x0010
4485#define MDIO_OVER_1G_UP1_10GH 0x0008 5430#define MDIO_OVER_1G_UP1_10GH 0x0008
4486#define MDIO_OVER_1G_UP1_12G 0x0020 5431#define MDIO_OVER_1G_UP1_12G 0x0020
4487#define MDIO_OVER_1G_UP1_12_5G 0x0040 5432#define MDIO_OVER_1G_UP1_12_5G 0x0040
4488#define MDIO_OVER_1G_UP1_13G 0x0080 5433#define MDIO_OVER_1G_UP1_13G 0x0080
4489#define MDIO_OVER_1G_UP1_15G 0x0100 5434#define MDIO_OVER_1G_UP1_15G 0x0100
4490#define MDIO_OVER_1G_UP1_16G 0x0200 5435#define MDIO_OVER_1G_UP1_16G 0x0200
4491#define MDIO_OVER_1G_UP2 0x1A 5436#define MDIO_OVER_1G_UP2 0x1A
4492#define MDIO_OVER_1G_UP2_IPREDRIVER_MASK 0x0007 5437#define MDIO_OVER_1G_UP2_IPREDRIVER_MASK 0x0007
4493#define MDIO_OVER_1G_UP2_IDRIVER_MASK 0x0038 5438#define MDIO_OVER_1G_UP2_IDRIVER_MASK 0x0038
4494#define MDIO_OVER_1G_UP2_PREEMPHASIS_MASK 0x03C0 5439#define MDIO_OVER_1G_UP2_PREEMPHASIS_MASK 0x03C0
4495#define MDIO_OVER_1G_UP3 0x1B 5440#define MDIO_OVER_1G_UP3 0x1B
4496#define MDIO_OVER_1G_UP3_HIGIG2 0x0001 5441#define MDIO_OVER_1G_UP3_HIGIG2 0x0001
4497#define MDIO_OVER_1G_LP_UP1 0x1C 5442#define MDIO_OVER_1G_LP_UP1 0x1C
4498#define MDIO_OVER_1G_LP_UP2 0x1D 5443#define MDIO_OVER_1G_LP_UP2 0x1D
4499#define MDIO_OVER_1G_LP_UP2_MR_ADV_OVER_1G_MASK 0x03ff 5444#define MDIO_OVER_1G_LP_UP2_MR_ADV_OVER_1G_MASK 0x03ff
4500#define MDIO_OVER_1G_LP_UP2_PREEMPHASIS_MASK 0x0780 5445#define MDIO_OVER_1G_LP_UP2_PREEMPHASIS_MASK 0x0780
4501#define MDIO_OVER_1G_LP_UP2_PREEMPHASIS_SHIFT 7 5446#define MDIO_OVER_1G_LP_UP2_PREEMPHASIS_SHIFT 7
4502#define MDIO_OVER_1G_LP_UP3 0x1E 5447#define MDIO_OVER_1G_LP_UP3 0x1E
4503 5448
4504#define MDIO_REG_BANK_BAM_NEXT_PAGE 0x8350 5449#define MDIO_REG_BANK_BAM_NEXT_PAGE 0x8350
4505#define MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL 0x10 5450#define MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL 0x10
4506#define MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL_BAM_MODE 0x0001 5451#define MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL_BAM_MODE 0x0001
4507#define MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL_TETON_AN 0x0002 5452#define MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL_TETON_AN 0x0002
5453
5454#define MDIO_REG_BANK_CL73_USERB0 0x8370
5455#define MDIO_CL73_USERB0_CL73_BAM_CTRL1 0x12
5456#define MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_EN 0x8000
5457#define MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_STATION_MNGR_EN 0x4000
5458#define MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_NP_AFTER_BP_EN 0x2000
5459#define MDIO_CL73_USERB0_CL73_BAM_CTRL3 0x14
5460#define MDIO_CL73_USERB0_CL73_BAM_CTRL3_USE_CL73_HCD_MR 0x0001
5461
5462#define MDIO_REG_BANK_AER_BLOCK 0xFFD0
5463#define MDIO_AER_BLOCK_AER_REG 0x1E
5464
5465#define MDIO_REG_BANK_COMBO_IEEE0 0xFFE0
5466#define MDIO_COMBO_IEEE0_MII_CONTROL 0x10
5467#define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_MASK 0x2040
5468#define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_10 0x0000
5469#define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_100 0x2000
5470#define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_1000 0x0040
5471#define MDIO_COMBO_IEEO_MII_CONTROL_FULL_DUPLEX 0x0100
5472#define MDIO_COMBO_IEEO_MII_CONTROL_RESTART_AN 0x0200
5473#define MDIO_COMBO_IEEO_MII_CONTROL_AN_EN 0x1000
5474#define MDIO_COMBO_IEEO_MII_CONTROL_LOOPBACK 0x4000
5475#define MDIO_COMBO_IEEO_MII_CONTROL_RESET 0x8000
5476#define MDIO_COMBO_IEEE0_MII_STATUS 0x11
5477#define MDIO_COMBO_IEEE0_MII_STATUS_LINK_PASS 0x0004
5478#define MDIO_COMBO_IEEE0_MII_STATUS_AUTONEG_COMPLETE 0x0020
5479#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV 0x14
5480#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_FULL_DUPLEX 0x0020
5481#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_HALF_DUPLEX 0x0040
5482#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_MASK 0x0180
5483#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_NONE 0x0000
5484#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_SYMMETRIC 0x0080
5485#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_ASYMMETRIC 0x0100
5486#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_BOTH 0x0180
5487#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_NEXT_PAGE 0x8000
5488#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1 0x15
5489#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_NEXT_PAGE 0x8000
5490#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_ACK 0x4000
5491#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_PAUSE_MASK 0x0180
5492#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_PAUSE_NONE 0x0000
5493#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_PAUSE_BOTH 0x0180
5494#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_HALF_DUP_CAP 0x0040
5495#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_FULL_DUP_CAP 0x0020
5496/*WhenthelinkpartnerisinSGMIImode(bit0=1),then
5497bit15=link,bit12=duplex,bits11:10=speed,bit14=acknowledge.
5498Theotherbitsarereservedandshouldbezero*/
5499#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_SGMII_MODE 0x0001
5500
5501
5502#define MDIO_PMA_DEVAD 0x1
5503/*ieee*/
5504#define MDIO_PMA_REG_CTRL 0x0
5505#define MDIO_PMA_REG_STATUS 0x1
5506#define MDIO_PMA_REG_10G_CTRL2 0x7
5507#define MDIO_PMA_REG_RX_SD 0xa
5508/*bcm*/
5509#define MDIO_PMA_REG_BCM_CTRL 0x0096
5510#define MDIO_PMA_REG_FEC_CTRL 0x00ab
5511#define MDIO_PMA_REG_RX_ALARM_CTRL 0x9000
5512#define MDIO_PMA_REG_LASI_CTRL 0x9002
5513#define MDIO_PMA_REG_RX_ALARM 0x9003
5514#define MDIO_PMA_REG_TX_ALARM 0x9004
5515#define MDIO_PMA_REG_LASI_STATUS 0x9005
5516#define MDIO_PMA_REG_PHY_IDENTIFIER 0xc800
5517#define MDIO_PMA_REG_DIGITAL_CTRL 0xc808
5518#define MDIO_PMA_REG_DIGITAL_STATUS 0xc809
5519#define MDIO_PMA_REG_TX_POWER_DOWN 0xca02
5520#define MDIO_PMA_REG_CMU_PLL_BYPASS 0xca09
5521#define MDIO_PMA_REG_MISC_CTRL 0xca0a
5522#define MDIO_PMA_REG_GEN_CTRL 0xca10
5523#define MDIO_PMA_REG_GEN_CTRL_ROM_RESET_INTERNAL_MP 0x0188
5524#define MDIO_PMA_REG_GEN_CTRL_ROM_MICRO_RESET 0x018a
5525#define MDIO_PMA_REG_ROM_VER1 0xca19
5526#define MDIO_PMA_REG_ROM_VER2 0xca1a
5527#define MDIO_PMA_REG_EDC_FFE_MAIN 0xca1b
5528#define MDIO_PMA_REG_PLL_BANDWIDTH 0xca1d
5529#define MDIO_PMA_REG_CDR_BANDWIDTH 0xca46
5530#define MDIO_PMA_REG_MISC_CTRL1 0xca85
5531
5532#define MDIO_PMA_REG_7101_RESET 0xc000
5533#define MDIO_PMA_REG_7107_LED_CNTL 0xc007
5534#define MDIO_PMA_REG_7101_VER1 0xc026
5535#define MDIO_PMA_REG_7101_VER2 0xc027
5536
5537
5538#define MDIO_WIS_DEVAD 0x2
5539/*bcm*/
5540#define MDIO_WIS_REG_LASI_CNTL 0x9002
5541#define MDIO_WIS_REG_LASI_STATUS 0x9005
5542
5543#define MDIO_PCS_DEVAD 0x3
5544#define MDIO_PCS_REG_STATUS 0x0020
5545#define MDIO_PCS_REG_LASI_STATUS 0x9005
5546#define MDIO_PCS_REG_7101_DSP_ACCESS 0xD000
5547#define MDIO_PCS_REG_7101_SPI_MUX 0xD008
5548#define MDIO_PCS_REG_7101_SPI_CTRL_ADDR 0xE12A
5549#define MDIO_PCS_REG_7101_SPI_RESET_BIT (5)
5550#define MDIO_PCS_REG_7101_SPI_FIFO_ADDR 0xE02A
5551#define MDIO_PCS_REG_7101_SPI_FIFO_ADDR_WRITE_ENABLE_CMD (6)
5552#define MDIO_PCS_REG_7101_SPI_FIFO_ADDR_BULK_ERASE_CMD (0xC7)
5553#define MDIO_PCS_REG_7101_SPI_FIFO_ADDR_PAGE_PROGRAM_CMD (2)
5554#define MDIO_PCS_REG_7101_SPI_BYTES_TO_TRANSFER_ADDR 0xE028
5555
4508 5556
4509#define MDIO_REG_BANK_CL73_USERB0 0x8370 5557#define MDIO_XS_DEVAD 0x4
4510#define MDIO_CL73_USERB0_CL73_BAM_CTRL1 0x12 5558#define MDIO_XS_PLL_SEQUENCER 0x8000
4511#define MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_EN 0x8000 5559#define MDIO_XS_SFX7101_XGXS_TEST1 0xc00a
4512#define MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_STATION_MNGR_EN 0x4000
4513#define MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_NP_AFTER_BP_EN 0x2000
4514#define MDIO_CL73_USERB0_CL73_BAM_CTRL3 0x14
4515#define MDIO_CL73_USERB0_CL73_BAM_CTRL3_USE_CL73_HCD_MR 0x0001
4516 5560
4517#define MDIO_REG_BANK_AER_BLOCK 0xFFD0 5561#define MDIO_AN_DEVAD 0x7
4518#define MDIO_AER_BLOCK_AER_REG 0x1E 5562/*ieee*/
5563#define MDIO_AN_REG_CTRL 0x0000
5564#define MDIO_AN_REG_STATUS 0x0001
5565#define MDIO_AN_REG_STATUS_AN_COMPLETE 0x0020
5566#define MDIO_AN_REG_ADV_PAUSE 0x0010
5567#define MDIO_AN_REG_ADV_PAUSE_PAUSE 0x0400
5568#define MDIO_AN_REG_ADV_PAUSE_ASYMMETRIC 0x0800
5569#define MDIO_AN_REG_ADV_PAUSE_BOTH 0x0C00
5570#define MDIO_AN_REG_ADV_PAUSE_MASK 0x0C00
5571#define MDIO_AN_REG_ADV 0x0011
5572#define MDIO_AN_REG_ADV2 0x0012
5573#define MDIO_AN_REG_LP_AUTO_NEG 0x0013
5574#define MDIO_AN_REG_MASTER_STATUS 0x0021
5575/*bcm*/
5576#define MDIO_AN_REG_LINK_STATUS 0x8304
5577#define MDIO_AN_REG_CL37_CL73 0x8370
5578#define MDIO_AN_REG_CL37_AN 0xffe0
5579#define MDIO_AN_REG_CL37_FD 0xffe4
4519 5580
4520#define MDIO_REG_BANK_COMBO_IEEE0 0xFFE0
4521#define MDIO_COMBO_IEEE0_MII_CONTROL 0x10
4522#define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_MASK 0x2040
4523#define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_10 0x0000
4524#define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_100 0x2000
4525#define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_1000 0x0040
4526#define MDIO_COMBO_IEEO_MII_CONTROL_FULL_DUPLEX 0x0100
4527#define MDIO_COMBO_IEEO_MII_CONTROL_RESTART_AN 0x0200
4528#define MDIO_COMBO_IEEO_MII_CONTROL_AN_EN 0x1000
4529#define MDIO_COMBO_IEEO_MII_CONTROL_LOOPBACK 0x4000
4530#define MDIO_COMBO_IEEO_MII_CONTROL_RESET 0x8000
4531#define MDIO_COMBO_IEEE0_MII_STATUS 0x11
4532#define MDIO_COMBO_IEEE0_MII_STATUS_LINK_PASS 0x0004
4533#define MDIO_COMBO_IEEE0_MII_STATUS_AUTONEG_COMPLETE 0x0020
4534#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV 0x14
4535#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_FULL_DUPLEX 0x0020
4536#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_HALF_DUPLEX 0x0040
4537#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_MASK 0x0180
4538#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_NONE 0x0000
4539#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_SYMMETRIC 0x0080
4540#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_ASYMMETRIC 0x0100
4541#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_BOTH 0x0180
4542#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_NEXT_PAGE 0x8000
4543#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1 0x15
4544#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_NEXT_PAGE 0x8000
4545#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_ACK 0x4000
4546#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_PAUSE_MASK 0x0180
4547#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_PAUSE_NONE\
4548 0x0000
4549#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_PAUSE_BOTH\
4550 0x0180
4551#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_HALF_DUP_CAP 0x0040
4552#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_FULL_DUP_CAP 0x0020
4553#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_SGMII_MODE 0x0001
4554 5581
5582#define IGU_FUNC_BASE 0x0400
4555 5583
4556#define EXT_PHY_AUTO_NEG_DEVAD 0x7 5584#define IGU_ADDR_MSIX 0x0000
4557#define EXT_PHY_OPT_PMA_PMD_DEVAD 0x1 5585#define IGU_ADDR_INT_ACK 0x0200
4558#define EXT_PHY_OPT_WIS_DEVAD 0x2 5586#define IGU_ADDR_PROD_UPD 0x0201
4559#define EXT_PHY_OPT_PCS_DEVAD 0x3 5587#define IGU_ADDR_ATTN_BITS_UPD 0x0202
4560#define EXT_PHY_OPT_PHY_XS_DEVAD 0x4 5588#define IGU_ADDR_ATTN_BITS_SET 0x0203
4561#define EXT_PHY_OPT_CNTL 0x0 5589#define IGU_ADDR_ATTN_BITS_CLR 0x0204
4562#define EXT_PHY_OPT_CNTL2 0x7 5590#define IGU_ADDR_COALESCE_NOW 0x0205
4563#define EXT_PHY_OPT_PMD_RX_SD 0xa 5591#define IGU_ADDR_SIMD_MASK 0x0206
4564#define EXT_PHY_OPT_PMD_MISC_CNTL 0xca0a 5592#define IGU_ADDR_SIMD_NOMASK 0x0207
4565#define EXT_PHY_OPT_PHY_IDENTIFIER 0xc800 5593#define IGU_ADDR_MSI_CTL 0x0210
4566#define EXT_PHY_OPT_PMD_DIGITAL_CNT 0xc808 5594#define IGU_ADDR_MSI_ADDR_LO 0x0211
4567#define EXT_PHY_OPT_PMD_DIGITAL_SATUS 0xc809 5595#define IGU_ADDR_MSI_ADDR_HI 0x0212
4568#define EXT_PHY_OPT_CMU_PLL_BYPASS 0xca09 5596#define IGU_ADDR_MSI_DATA 0x0213
4569#define EXT_PHY_OPT_LASI_CNTL 0x9002
4570#define EXT_PHY_OPT_RX_ALARM 0x9003
4571#define EXT_PHY_OPT_LASI_STATUS 0x9005
4572#define EXT_PHY_OPT_PCS_STATUS 0x0020
4573#define EXT_PHY_OPT_XGXS_LANE_STATUS 0x0018
4574#define EXT_PHY_OPT_AN_LINK_STATUS 0x8304
4575#define EXT_PHY_OPT_AN_CL37_CL73 0x8370
4576#define EXT_PHY_OPT_AN_CL37_FD 0xffe4
4577#define EXT_PHY_OPT_AN_CL37_AN 0xffe0
4578#define EXT_PHY_OPT_AN_ADV 0x11
4579 5597
4580#define EXT_PHY_KR_PMA_PMD_DEVAD 0x1 5598#define IGU_INT_ENABLE 0
4581#define EXT_PHY_KR_PCS_DEVAD 0x3 5599#define IGU_INT_DISABLE 1
4582#define EXT_PHY_KR_AUTO_NEG_DEVAD 0x7 5600#define IGU_INT_NOP 2
4583#define EXT_PHY_KR_CTRL 0x0000 5601#define IGU_INT_NOP2 3
4584#define EXT_PHY_KR_STATUS 0x0001
4585#define EXT_PHY_KR_AUTO_NEG_COMPLETE 0x0020
4586#define EXT_PHY_KR_AUTO_NEG_ADVERT 0x0010
4587#define EXT_PHY_KR_AUTO_NEG_ADVERT_PAUSE 0x0400
4588#define EXT_PHY_KR_AUTO_NEG_ADVERT_PAUSE_ASYMMETRIC 0x0800
4589#define EXT_PHY_KR_AUTO_NEG_ADVERT_PAUSE_BOTH 0x0C00
4590#define EXT_PHY_KR_AUTO_NEG_ADVERT_PAUSE_MASK 0x0C00
4591#define EXT_PHY_KR_LP_AUTO_NEG 0x0013
4592#define EXT_PHY_KR_CTRL2 0x0007
4593#define EXT_PHY_KR_PCS_STATUS 0x0020
4594#define EXT_PHY_KR_PMD_CTRL 0x0096
4595#define EXT_PHY_KR_LASI_CNTL 0x9002
4596#define EXT_PHY_KR_LASI_STATUS 0x9005
4597#define EXT_PHY_KR_MISC_CTRL1 0xca85
4598#define EXT_PHY_KR_GEN_CTRL 0xca10
4599#define EXT_PHY_KR_ROM_CODE 0xca19
4600#define EXT_PHY_KR_ROM_RESET_INTERNAL_MP 0x0188
4601#define EXT_PHY_KR_ROM_MICRO_RESET 0x018a
4602 5602
4603#define EXT_PHY_SFX7101_XGXS_TEST1 0xc00a
4604 5603