1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 /* 22 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 23 * Use is subject to license terms. 24 */ 25 26 #ifndef _SYS_NXGE_NXGE_TXC_HW_H 27 #define _SYS_NXGE_NXGE_TXC_HW_H 28 29 #pragma ident "%Z%%M% %I% %E% SMI" 30 31 #ifdef __cplusplus 32 extern "C" { 33 #endif 34 35 #include <nxge_defs.h> 36 37 /* Transmit Ring Scheduler Registers */ 38 #define TXC_PORT_DMA_ENABLE_REG (FZC_TXC + 0x20028) 39 #define TXC_PORT_DMA_LIST 0 /* RW bit 23:0 */ 40 #define TXC_DMA_DMA_LIST_MASK 0x0000000000FFFFFFULL 41 #define TXC_DMA_DMA_LIST_MASK_N2 0x000000000000FFFFULL 42 43 typedef union _txc_port_enable_t { 44 uint64_t value; 45 struct { 46 #ifdef _BIG_ENDIAN 47 uint32_t hdw; 48 #endif 49 struct { 50 #if defined(_BIT_FIELDS_HTOL) 51 uint32_t res:8; 52 uint32_t port_dma_list:24; 53 #elif defined(_BIT_FIELDS_LTOH) 54 uint32_t port_dma_list:24; 55 uint32_t res:8; 56 #endif 57 } ldw; 58 #ifndef _BIG_ENDIAN 59 uint32_t hdw; 60 #endif 61 } bits; 62 } txc_port_enable_t, *p_txc_port_enable_t; 63 64 typedef union _txc_port_enable_n2_t { 65 uint64_t value; 66 struct { 67 #ifdef _BIG_ENDIAN 68 uint32_t hdw; 69 #endif 70 struct { 71 #if defined(_BIT_FIELDS_HTOL) 72 uint32_t res:16; 73 uint32_t port_dma_list:16; 74 #elif defined(_BIT_FIELDS_LTOH) 75 uint32_t port_dma_list:16; 76 uint32_t res:16; 77 #endif 78 } ldw; 79 #ifndef _BIG_ENDIAN 80 uint32_t hdw; 81 #endif 82 } bits; 83 } txc_port_enable_n2_t, *p_txc_port_enable_n2_t; 84 85 /* Transmit Controller - Registers */ 86 #define TXC_FZC_OFFSET 0x1000 87 #define TXC_FZC_PORT_OFFSET(port) (port * TXC_FZC_OFFSET) 88 #define TXC_FZC_CHANNEL_OFFSET(channel) (channel * TXC_FZC_OFFSET) 89 #define TXC_FZC_REG_CN_OFFSET(x, cn) (x + TXC_FZC_CHANNEL_OFFSET(cn)) 90 91 #define TXC_FZC_CONTROL_OFFSET 0x100 92 #define TXC_FZC_CNTL_PORT_OFFSET(port) (port * TXC_FZC_CONTROL_OFFSET) 93 #define TXC_FZC_REG_PT_OFFSET(x, pt) (x + TXC_FZC_CNTL_PORT_OFFSET(pt)) 94 95 #define TXC_DMA_MAX_BURST_REG (FZC_TXC + 0x00000) 96 #define TXC_DMA_MAX_BURST_SHIFT 0 /* RW bit 19:0 */ 97 #define TXC_DMA_MAX_BURST_MASK 0x00000000000FFFFFULL 98 99 #define TXC_MAX_BURST_OFFSET(channel) (TXC_DMA_MAX_BURST_REG + \ 100 (channel * TXC_FZC_OFFSET)) 101 102 typedef union _txc_dma_max_burst_t { 103 uint64_t value; 104 struct { 105 #ifdef _BIG_ENDIAN 106 uint32_t hdw; 107 #endif 108 struct { 109 #if defined(_BIT_FIELDS_HTOL) 110 uint32_t res:12; 111 uint32_t dma_max_burst:20; 112 #elif defined(_BIT_FIELDS_LTOH) 113 uint32_t dma_max_burst:20; 114 uint32_t res:12; 115 116 #endif 117 } ldw; 118 #ifndef _BIG_ENDIAN 119 uint32_t hdw; 120 #endif 121 } bits; 122 } txc_dma_max_burst_t, *p_txc_dma_max_burst_t; 123 124 /* DRR Performance Monitoring Register */ 125 #define TXC_DMA_MAX_LENGTH_REG (FZC_TXC + 0x00008) 126 #define TXC_DMA_MAX_LENGTH_SHIFT /* RW bit 27:0 */ 127 #define TXC_DMA_MAX_LENGTH_MASK 0x000000000FFFFFFFULL 128 129 #define TXC_DMA_MAX_LEN_OFFSET(channel) (TXC_DMA_MAX_LENGTH_REG + \ 130 (channel * TXC_FZC_OFFSET)) 131 132 typedef union _txc_dma_max_length_t { 133 uint64_t value; 134 struct { 135 #ifdef _BIG_ENDIAN 136 uint32_t hdw; 137 #endif 138 struct { 139 #if defined(_BIT_FIELDS_HTOL) 140 uint32_t res:4; 141 uint32_t dma_length:28; 142 #elif defined(_BIT_FIELDS_LTOH) 143 uint32_t dma_length:28; 144 uint32_t res:4; 145 146 #endif 147 } ldw; 148 #ifndef _BIG_ENDIAN 149 uint32_t hdw; 150 #endif 151 } bits; 152 } txc_dma_max_length_t, *p_txc_dma_max_length_t; 153 154 155 #define TXC_CONTROL_REG (FZC_TXC + 0x20000) 156 #define TXC_DMA_LENGTH_SHIFT 0 /* RW bit 27:0 */ 157 #define TXC_DMA_LENGTH_MASK 0x000000000FFFFFFFULL 158 159 typedef union _txc_control_t { 160 uint64_t value; 161 struct { 162 #ifdef _BIG_ENDIAN 163 uint32_t hdw; 164 #endif 165 struct { 166 #if defined(_BIT_FIELDS_HTOL) 167 uint32_t res:27; 168 uint32_t txc_enabled:1; 169 uint32_t port3_enabled:1; 170 uint32_t port2_enabled:1; 171 uint32_t port1_enabled:1; 172 uint32_t port0_enabled:1; 173 #elif defined(_BIT_FIELDS_LTOH) 174 uint32_t port0_enabled:1; 175 uint32_t port1_enabled:1; 176 uint32_t port2_enabled:1; 177 uint32_t port3_enabled:1; 178 uint32_t txc_enabled:1; 179 uint32_t res:27; 180 181 #endif 182 } ldw; 183 #ifndef _BIG_ENDIAN 184 uint32_t hdw; 185 #endif 186 } bits; 187 } txc_control_t, *p_txc_control_t; 188 189 typedef union _txc_control_n2_t { 190 uint64_t value; 191 struct { 192 #ifdef _BIG_ENDIAN 193 uint32_t hdw; 194 #endif 195 struct { 196 #if defined(_BIT_FIELDS_HTOL) 197 uint32_t res:27; 198 uint32_t txc_enabled:1; 199 uint32_t res1:2; 200 uint32_t port1_enabled:1; 201 uint32_t port0_enabled:1; 202 #elif defined(_BIT_FIELDS_LTOH) 203 uint32_t port0_enabled:1; 204 uint32_t port1_enabled:1; 205 uint32_t res1:2; 206 uint32_t txc_enabled:1; 207 uint32_t res:27; 208 209 #endif 210 } ldw; 211 #ifndef _BIG_ENDIAN 212 uint32_t hdw; 213 #endif 214 } bits; 215 } txc_control_n2_t, *p_txc_control_n2_t; 216 217 218 #define TXC_TRAINING_REG (FZC_TXC + 0x20008) 219 #define TXC_TRAINING_VECTOR 0 /* RW bit 32:0 */ 220 #define TXC_TRAINING_VECTOR_MASK 0x00000000FFFFFFFFULL 221 222 typedef union _txc_training_t { 223 uint64_t value; 224 struct { 225 #ifdef _BIG_ENDIAN 226 uint32_t hdw; 227 #endif 228 struct { 229 #if defined(_BIT_FIELDS_HTOL) 230 uint32_t txc_training_vector:32; 231 #elif defined(_BIT_FIELDS_LTOH) 232 uint32_t txc_training_vector:32; 233 234 #endif 235 } ldw; 236 #ifndef _BIG_ENDIAN 237 uint32_t hdw; 238 #endif 239 } bits; 240 } txc_training_t, *p_txc_training_t; 241 242 243 #define TXC_DEBUG_SELECT_REG (FZC_TXC + 0x20010) 244 #define TXC_DEBUG_SELECT_SHIFT 0 /* WO bit 5:0 */ 245 #define TXC_DEBUG_SELECT_MASK 0x000000000000003FULL 246 247 typedef union _txc_debug_select_t { 248 uint64_t value; 249 struct { 250 #ifdef _BIG_ENDIAN 251 uint32_t hdw; 252 #endif 253 struct { 254 #if defined(_BIT_FIELDS_HTOL) 255 uint32_t res:26; 256 uint32_t debug_select:6; 257 #elif defined(_BIT_FIELDS_LTOH) 258 uint32_t debug_select:6; 259 uint32_t res:26; 260 261 #endif 262 } ldw; 263 #ifndef _BIG_ENDIAN 264 uint32_t hdw; 265 #endif 266 } bits; 267 } txc_debug_select_t, *p_txc_debug_select_t; 268 269 270 #define TXC_MAX_REORDER_REG (FZC_TXC + 0x20018) 271 #define TXC_MAX_REORDER_MASK_2 (0xf) 272 #define TXC_MAX_REORDER_MASK_4 (0x7) 273 #define TXC_MAX_REORDER_SHIFT_BITS 8 274 #define TXC_MAX_REORDER_SHIFT(port) (port * (TXC_MAX_REORDER_SHIFT_BITS)) 275 276 typedef union _txc_max_reorder_t { 277 uint64_t value; 278 struct { 279 #ifdef _BIG_ENDIAN 280 uint32_t hdw; 281 #endif 282 struct { 283 #if defined(_BIT_FIELDS_HTOL) 284 uint32_t resv3:4; 285 uint32_t port3:4; 286 uint32_t resv2:4; 287 uint32_t port2:4; 288 uint32_t resv1:4; 289 uint32_t port1:4; 290 uint32_t resv0:4; 291 uint32_t port0:4; 292 #elif defined(_BIT_FIELDS_LTOH) 293 uint32_t port0:4; 294 uint32_t resv0:4; 295 uint32_t port1:4; 296 uint32_t resv1:4; 297 uint32_t port2:4; 298 uint32_t resv2:4; 299 uint32_t port3:4; 300 uint32_t resv3:4; 301 #endif 302 } ldw; 303 #ifndef _BIG_ENDIAN 304 uint32_t hdw; 305 #endif 306 } bits; 307 } txc_max_reorder_t, *p_txc_max_reorder_t; 308 309 310 #define TXC_PORT_CTL_REG (FZC_TXC + 0x20020) /* RO */ 311 #define TXC_PORT_CTL_OFFSET(port) (TXC_PORT_CTL_REG + \ 312 (port * TXC_FZC_CONTROL_OFFSET)) 313 #define TXC_PORT_CNTL_CLEAR 0x1 314 315 typedef union _txc_port_ctl_t { 316 uint64_t value; 317 struct { 318 #ifdef _BIG_ENDIAN 319 uint32_t hdw; 320 #endif 321 struct { 322 #if defined(_BIT_FIELDS_HTOL) 323 uint32_t rsvd:31; 324 uint32_t clr_all_stat:1; 325 #elif defined(_BIT_FIELDS_LTOH) 326 uint32_t clr_all_stat:1; 327 uint32_t rsvd:31; 328 #endif 329 } ldw; 330 #ifndef _BIG_ENDIAN 331 uint32_t hdw; 332 #endif 333 } bits; 334 } txc_port_ctl_t, *p_txc_port_ctl_t; 335 336 #define TXC_PKT_STUFFED_REG (FZC_TXC + 0x20030) 337 #define TXC_PKT_STUFF_PKTASY_SHIFT 16 /* RW bit 16:0 */ 338 #define TXC_PKT_STUFF_PKTASY_MASK 0x000000000000FFFFULL 339 #define TXC_PKT_STUFF_REORDER_SHIFT 0 /* RW bit 31:16 */ 340 #define TXC_PKT_STUFF_REORDER_MASK 0x00000000FFFF0000ULL 341 342 typedef union _txc_pkt_stuffed_t { 343 uint64_t value; 344 struct { 345 #ifdef _BIG_ENDIAN 346 uint32_t hdw; 347 #endif 348 struct { 349 #if defined(_BIT_FIELDS_HTOL) 350 uint32_t pkt_pro_reorder:16; 351 uint32_t pkt_proc_pktasy:16; 352 #elif defined(_BIT_FIELDS_LTOH) 353 uint32_t pkt_proc_pktasy:16; 354 uint32_t pkt_pro_reorder:16; 355 #endif 356 } ldw; 357 #ifndef _BIG_ENDIAN 358 uint32_t hdw; 359 #endif 360 } bits; 361 } txc_pkt_stuffed_t, *p_txc_pkt_stuffed_t; 362 363 364 #define TXC_PKT_XMIT_REG (FZC_TXC + 0x20038) 365 #define TXC_PKTS_XMIT_SHIFT 0 /* RW bit 15:0 */ 366 #define TXC_PKTS_XMIT_MASK 0x000000000000FFFFULL 367 #define TXC_BYTES_XMIT_SHIFT 16 /* RW bit 31:16 */ 368 #define TXC_BYTES_XMIT_MASK 0x00000000FFFF0000ULL 369 370 typedef union _txc_pkt_xmit_t { 371 uint64_t value; 372 struct { 373 #ifdef _BIG_ENDIAN 374 uint32_t hdw; 375 #endif 376 struct { 377 #if defined(_BIT_FIELDS_HTOL) 378 uint32_t bytes_transmitted:16; 379 uint32_t pkts_transmitted:16; 380 #elif defined(_BIT_FIELDS_LTOH) 381 uint32_t pkts_transmitted:16; 382 uint32_t bytes_transmitted:16; 383 #endif 384 } ldw; 385 #ifndef _BIG_ENDIAN 386 uint32_t hdw; 387 #endif 388 } bits; 389 } txc_pkt_xmit, *p_txc_pkt_xmit; 390 391 392 /* count 4 step 0x00100 */ 393 #define TXC_ROECC_CTL_REG (FZC_TXC + 0x20040) 394 #define TXC_ROECC_CTL_OFFSET(port) (TXC_ROECC_CTL_REG + \ 395 (TXC_FZC_CNTL_PORT_OFFSET(port))) 396 397 typedef union _txc_roecc_ctl_t { 398 uint64_t value; 399 struct { 400 #ifdef _BIG_ENDIAN 401 uint32_t hdw; 402 #endif 403 struct { 404 #if defined(_BIT_FIELDS_HTOL) 405 uint32_t disable_ue_error:1; 406 uint32_t rsvd:13; 407 uint32_t double_bit_err:1; 408 uint32_t single_bit_err:1; 409 uint32_t rsvd_2:5; 410 uint32_t all_pkts:1; 411 uint32_t alternate_pkts:1; 412 uint32_t one_pkt:1; 413 uint32_t rsvd_3:5; 414 uint32_t last_line_pkt:1; 415 uint32_t second_line_pkt:1; 416 uint32_t firstd_line_pkt:1; 417 #elif defined(_BIT_FIELDS_LTOH) 418 uint32_t firstd_line_pkt:1; 419 uint32_t second_line_pkt:1; 420 uint32_t last_line_pkt:1; 421 uint32_t rsvd_3:5; 422 uint32_t one_pkt:1; 423 uint32_t alternate_pkts:1; 424 uint32_t all_pkts:1; 425 uint32_t rsvd_2:5; 426 uint32_t single_bit_err:1; 427 uint32_t double_bit_err:1; 428 uint32_t rsvd:13; 429 uint32_t disable_ue_error:1; 430 #endif 431 } ldw; 432 #ifndef _BIG_ENDIAN 433 uint32_t hdw; 434 #endif 435 } bits; 436 } txc_roecc_ctl_t, *p_txc_roecc_ctl_t; 437 438 439 #define TXC_ROECC_ST_REG (FZC_TXC + 0x20048) 440 441 #define TXC_ROECC_ST_OFFSET(port) (TXC_ROECC_ST_REG + \ 442 (TXC_FZC_CNTL_PORT_OFFSET(port))) 443 444 typedef union _txc_roecc_st_t { 445 uint64_t value; 446 struct { 447 #ifdef _BIG_ENDIAN 448 uint32_t hdw; 449 #endif 450 struct { 451 #if defined(_BIT_FIELDS_HTOL) 452 uint32_t clr_st:1; 453 uint32_t res:13; 454 uint32_t correct_error:1; 455 uint32_t uncorrect_error:1; 456 uint32_t rsvd:6; 457 uint32_t ecc_address:10; 458 #elif defined(_BIT_FIELDS_LTOH) 459 uint32_t ecc_address:10; 460 uint32_t rsvd:6; 461 uint32_t uncorrect_error:1; 462 uint32_t correct_error:1; 463 uint32_t res:13; 464 uint32_t clr_st:1; 465 #endif 466 } ldw; 467 #ifndef _BIG_ENDIAN 468 uint32_t hdw; 469 #endif 470 } bits; 471 } txc_roecc_st_t, *p_txc_roecc_st_t; 472 473 474 #define TXC_RO_DATA0_REG (FZC_TXC + 0x20050) 475 #define TXC_RO_DATA0_OFFSET(port) (TXC_RO_DATA0_REG + \ 476 (TXC_FZC_CNTL_PORT_OFFSET(port))) 477 478 typedef union _txc_ro_data0_t { 479 uint64_t value; 480 struct { 481 #ifdef _BIG_ENDIAN 482 uint32_t hdw; 483 #endif 484 struct { 485 #if defined(_BIT_FIELDS_HTOL) 486 uint32_t ro_ecc_data0:32; /* ro_ecc_data[31:0] */ 487 #elif defined(_BIT_FIELDS_LTOH) 488 uint32_t ro_ecc_data0:32; /* ro_ecc_data[31:0] */ 489 #endif 490 } ldw; 491 #ifndef _BIG_ENDIAN 492 uint32_t hdw; 493 #endif 494 } bits; 495 } txc_ro_data0_t, *p_txc_ro_data0_t; 496 497 #define TXC_RO_DATA1_REG (FZC_TXC + 0x20058) 498 #define TXC_RO_DATA1_OFFSET(port) (TXC_RO_DATA1_REG + \ 499 (TXC_FZC_CNTL_PORT_OFFSET(port))) 500 501 typedef union _txc_ro_data1_t { 502 uint64_t value; 503 struct { 504 #ifdef _BIG_ENDIAN 505 uint32_t hdw; 506 #endif 507 struct { 508 #if defined(_BIT_FIELDS_HTOL) 509 uint32_t ro_ecc_data1:32; /* ro_ecc_data[63:32] */ 510 #elif defined(_BIT_FIELDS_LTOH) 511 uint32_t ro_ecc_data1:32; /* ro_ecc_data[31:32] */ 512 #endif 513 } ldw; 514 #ifndef _BIG_ENDIAN 515 uint32_t hdw; 516 #endif 517 } bits; 518 } txc_ro_data1_t, *p_txc_ro_data1_t; 519 520 521 #define TXC_RO_DATA2_REG (FZC_TXC + 0x20060) 522 523 #define TXC_RO_DATA2_OFFSET(port) (TXC_RO_DATA2_REG + \ 524 (TXC_FZC_CNTL_PORT_OFFSET(port))) 525 526 typedef union _txc_ro_data2_t { 527 uint64_t value; 528 struct { 529 #ifdef _BIG_ENDIAN 530 uint32_t hdw; 531 #endif 532 struct { 533 #if defined(_BIT_FIELDS_HTOL) 534 uint32_t ro_ecc_data2:32; /* ro_ecc_data[95:64] */ 535 #elif defined(_BIT_FIELDS_LTOH) 536 uint32_t ro_ecc_data2:32; /* ro_ecc_data[95:64] */ 537 #endif 538 } ldw; 539 #ifndef _BIG_ENDIAN 540 uint32_t hdw; 541 #endif 542 } bits; 543 } txc_ro_data2_t, *p_txc_ro_data2_t; 544 545 #define TXC_RO_DATA3_REG (FZC_TXC + 0x20068) 546 #define TXC_RO_DATA3_OFFSET(port) (TXC_RO_DATA3_REG + \ 547 (TXC_FZC_CNTL_PORT_OFFSET(port))) 548 549 typedef union _txc_ro_data3_t { 550 uint64_t value; 551 struct { 552 #ifdef _BIG_ENDIAN 553 uint32_t hdw; 554 #endif 555 struct { 556 #if defined(_BIT_FIELDS_HTOL) 557 uint32_t ro_ecc_data3:32; /* ro_ecc_data[127:96] */ 558 #elif defined(_BIT_FIELDS_LTOH) 559 uint32_t ro_ecc_data3:32; /* ro_ecc_data[127:96] */ 560 #endif 561 } ldw; 562 #ifndef _BIG_ENDIAN 563 uint32_t hdw; 564 #endif 565 } bits; 566 } txc_ro_data3_t, *p_txc_ro_data3_t; 567 568 #define TXC_RO_DATA4_REG (FZC_TXC + 0x20070) 569 #define TXC_RO_DATA4_OFFSET(port) (TXC_RO_DATA4_REG + \ 570 (TXC_FZC_CNTL_PORT_OFFSET(port))) 571 572 typedef union _txc_ro_data4_t { 573 uint64_t value; 574 struct { 575 #ifdef _BIG_ENDIAN 576 uint32_t hdw; 577 #endif 578 struct { 579 #if defined(_BIT_FIELDS_HTOL) 580 uint32_t ro_ecc_data4:32; /* ro_ecc_data[151:128] */ 581 #elif defined(_BIT_FIELDS_LTOH) 582 uint32_t ro_ecc_data4:32; /* ro_ecc_data[151:128] */ 583 #endif 584 } ldw; 585 #ifndef _BIG_ENDIAN 586 uint32_t hdw; 587 #endif 588 } bits; 589 } txc_ro_data4_t, *p_txc_ro_data4_t; 590 591 /* count 4 step 0x00100 */ 592 #define TXC_SFECC_CTL_REG (FZC_TXC + 0x20078) 593 #define TXC_SFECC_CTL_OFFSET(port) (TXC_SFECC_CTL_REG + \ 594 (TXC_FZC_CNTL_PORT_OFFSET(port))) 595 596 typedef union _txc_sfecc_ctl_t { 597 uint64_t value; 598 struct { 599 #ifdef _BIG_ENDIAN 600 uint32_t hdw; 601 #endif 602 struct { 603 #if defined(_BIT_FIELDS_HTOL) 604 uint32_t disable_ue_error:1; 605 uint32_t rsvd:13; 606 uint32_t double_bit_err:1; 607 uint32_t single_bit_err:1; 608 uint32_t rsvd_2:5; 609 uint32_t all_pkts:1; 610 uint32_t alternate_pkts:1; 611 uint32_t one_pkt:1; 612 uint32_t rsvd_3:5; 613 uint32_t last_line_pkt:1; 614 uint32_t second_line_pkt:1; 615 uint32_t firstd_line_pkt:1; 616 #elif defined(_BIT_FIELDS_LTOH) 617 uint32_t firstd_line_pkt:1; 618 uint32_t second_line_pkt:1; 619 uint32_t last_line_pkt:1; 620 uint32_t rsvd_3:5; 621 uint32_t one_pkt:1; 622 uint32_t alternate_pkts:1; 623 uint32_t all_pkts:1; 624 uint32_t rsvd_2:5; 625 uint32_t single_bit_err:1; 626 uint32_t double_bit_err:1; 627 uint32_t rsvd:13; 628 uint32_t disable_ue_error:1; 629 #endif 630 } ldw; 631 #ifndef _BIG_ENDIAN 632 uint32_t hdw; 633 #endif 634 } bits; 635 } txc_sfecc_ctl_t, *p_txc_sfecc_ctl_t; 636 637 #define TXC_SFECC_ST_REG (FZC_TXC + 0x20080) 638 #define TXC_SFECC_ST_OFFSET(port) (TXC_SFECC_ST_REG + \ 639 (TXC_FZC_CNTL_PORT_OFFSET(port))) 640 641 typedef union _txc_sfecc_st_t { 642 uint64_t value; 643 struct { 644 #ifdef _BIG_ENDIAN 645 uint32_t hdw; 646 #endif 647 struct { 648 #if defined(_BIT_FIELDS_HTOL) 649 uint32_t clr_st:1; 650 uint32_t res:13; 651 uint32_t correct_error:1; 652 uint32_t uncorrect_error:1; 653 uint32_t rsvd:6; 654 uint32_t ecc_address:10; 655 #elif defined(_BIT_FIELDS_LTOH) 656 uint32_t ecc_address:10; 657 uint32_t rsvd:6; 658 uint32_t uncorrect_error:1; 659 uint32_t correct_error:1; 660 uint32_t res:13; 661 uint32_t clr_st:1; 662 #endif 663 } ldw; 664 #ifndef _BIG_ENDIAN 665 uint32_t hdw; 666 #endif 667 } bits; 668 } txc_sfecc_st_t, *p_txc_sfecc_st_t; 669 670 #define TXC_SF_DATA0_REG (FZC_TXC + 0x20088) 671 #define TXC_SF_DATA0_OFFSET(port) (TXC_SF_DATA0_REG + \ 672 (TXC_FZC_CNTL_PORT_OFFSET(port))) 673 674 typedef union _txc_sf_data0_t { 675 uint64_t value; 676 struct { 677 #ifdef _BIG_ENDIAN 678 uint32_t hdw; 679 #endif 680 struct { 681 #if defined(_BIT_FIELDS_HTOL) 682 uint32_t sf_ecc_data0:32; /* sf_ecc_data[31:0] */ 683 #elif defined(_BIT_FIELDS_LTOH) 684 uint32_t sf_ecc_data0:32; /* sf_ecc_data[31:0] */ 685 #endif 686 } ldw; 687 #ifndef _BIG_ENDIAN 688 uint32_t hdw; 689 #endif 690 } bits; 691 } txc_sf_data0_t, *p_txc_sf_data0_t; 692 693 #define TXC_SF_DATA1_REG (FZC_TXC + 0x20090) 694 #define TXC_SF_DATA1_OFFSET(port) (TXC_SF_DATA1_REG + \ 695 (TXC_FZC_CNTL_PORT_OFFSET(port))) 696 697 typedef union _txc_sf_data1_t { 698 uint64_t value; 699 struct { 700 #ifdef _BIG_ENDIAN 701 uint32_t hdw; 702 #endif 703 struct { 704 #if defined(_BIT_FIELDS_HTOL) 705 uint32_t sf_ecc_data1:32; /* sf_ecc_data[63:32] */ 706 #elif defined(_BIT_FIELDS_LTOH) 707 uint32_t sf_ecc_data1:32; /* sf_ecc_data[31:32] */ 708 #endif 709 } ldw; 710 #ifndef _BIG_ENDIAN 711 uint32_t hdw; 712 #endif 713 } bits; 714 } txc_sf_data1_t, *p_txc_sf_data1_t; 715 716 717 #define TXC_SF_DATA2_REG (FZC_TXC + 0x20098) 718 #define TXC_SF_DATA2_OFFSET(port) (TXC_SF_DATA2_REG + \ 719 (TXC_FZC_CNTL_PORT_OFFSET(port))) 720 721 typedef union _txc_sf_data2_t { 722 uint64_t value; 723 struct { 724 #ifdef _BIG_ENDIAN 725 uint32_t hdw; 726 #endif 727 struct { 728 #if defined(_BIT_FIELDS_HTOL) 729 uint32_t sf_ecc_data2:32; /* sf_ecc_data[95:64] */ 730 #elif defined(_BIT_FIELDS_LTOH) 731 uint32_t sf_ecc_data2:32; /* sf_ecc_data[95:64] */ 732 #endif 733 } ldw; 734 #ifndef _BIG_ENDIAN 735 uint32_t hdw; 736 #endif 737 } bits; 738 } txc_sf_data2_t, *p_txc_sf_data2_t; 739 740 #define TXC_SF_DATA3_REG (FZC_TXC + 0x200A0) 741 #define TXC_SF_DATA3_OFFSET(port) (TXC_SF_DATA3_REG + \ 742 (TXC_FZC_CNTL_PORT_OFFSET(port))) 743 744 typedef union _txc_sf_data3_t { 745 uint64_t value; 746 struct { 747 #ifdef _BIG_ENDIAN 748 uint32_t hdw; 749 #endif 750 struct { 751 #if defined(_BIT_FIELDS_HTOL) 752 uint32_t sf_ecc_data3:32; /* sf_ecc_data[127:96] */ 753 #elif defined(_BIT_FIELDS_LTOH) 754 uint32_t sf_ecc_data3:32; /* sf_ecc_data[127:96] */ 755 #endif 756 } ldw; 757 #ifndef _BIG_ENDIAN 758 uint32_t hdw; 759 #endif 760 } bits; 761 } txc_sf_data3_t, *p_txc_sf_data3_t; 762 763 #define TXC_SF_DATA4_REG (FZC_TXC + 0x200A8) 764 #define TXC_SF_DATA4_OFFSET(port) (TXC_SF_DATA4_REG + \ 765 (TXC_FZC_CNTL_PORT_OFFSET(port))) 766 767 typedef union _txc_sf_data4_t { 768 uint64_t value; 769 struct { 770 #ifdef _BIG_ENDIAN 771 uint32_t hdw; 772 #endif 773 struct { 774 #if defined(_BIT_FIELDS_HTOL) 775 uint32_t sf_ecc_data4:32; /* sf_ecc_data[151:128] */ 776 #elif defined(_BIT_FIELDS_LTOH) 777 uint32_t sf_ecc_data4:32; /* sf_ecc_data[151:128] */ 778 #endif 779 } ldw; 780 #ifndef _BIG_ENDIAN 781 uint32_t hdw; 782 #endif 783 } bits; 784 } txc_sf_data4_t, *p_txc_sf_data4_t; 785 786 #define TXC_RO_TIDS_REG (FZC_TXC + 0x200B0) 787 #define TXC_RO_TIDS_OFFSET(port) (TXC_RO_TIDS_REG + \ 788 (TXC_FZC_CNTL_PORT_OFFSET(port))) 789 #define TXC_RO_TIDS_MASK 0x00000000FFFFFFFFULL 790 791 typedef union _txc_ro_tids_t { 792 uint64_t value; 793 struct { 794 #ifdef _BIG_ENDIAN 795 uint32_t hdw; 796 #endif 797 struct { 798 #if defined(_BIT_FIELDS_HTOL) 799 uint32_t tids_in_use:32; 800 #elif defined(_BIT_FIELDS_LTOH) 801 uint32_t tids_in_use:32; 802 #endif 803 } ldw; 804 #ifndef _BIG_ENDIAN 805 uint32_t hdw; 806 #endif 807 } bits; 808 } txc_ro_tids_t, *p_txc_ro_tids_t; 809 810 #define TXC_RO_STATE0_REG (FZC_TXC + 0x200B8) 811 #define TXC_RO_STATE0_OFFSET(port) (TXC_STATE0_REG + \ 812 (TXC_FZC_CNTL_PORT_OFFSET(port))) 813 #define TXC_RO_STATE0_MASK 0x00000000FFFFFFFFULL 814 815 typedef union _txc_ro_state0_t { 816 uint64_t value; 817 struct { 818 #ifdef _BIG_ENDIAN 819 uint32_t hdw; 820 #endif 821 struct { 822 #if defined(_BIT_FIELDS_HTOL) 823 uint32_t duplicate_tid:32; 824 #elif defined(_BIT_FIELDS_LTOH) 825 uint32_t duplicate_tid:32; 826 #endif 827 } ldw; 828 #ifndef _BIG_ENDIAN 829 uint32_t hdw; 830 #endif 831 } bits; 832 } txc_ro_state0_t, *p_txc_ro_state0_t; 833 834 #define TXC_RO_STATE1_REG (FZC_TXC + 0x200C0) 835 #define TXC_RO_STATE1_OFFSET(port) (TXC_STATE1_REG + \ 836 (TXC_FZC_CNTL_PORT_OFFSET(port))) 837 #define TXC_RO_STATE1_MASK 0x00000000FFFFFFFFULL 838 839 typedef union _txc_ro_state1_t { 840 uint64_t value; 841 struct { 842 #ifdef _BIG_ENDIAN 843 uint32_t hdw; 844 #endif 845 struct { 846 #if defined(_BIT_FIELDS_HTOL) 847 uint32_t unused_tid:32; 848 #elif defined(_BIT_FIELDS_LTOH) 849 uint32_t unused_tid:32; 850 #endif 851 } ldw; 852 #ifndef _BIG_ENDIAN 853 uint32_t hdw; 854 #endif 855 } bits; 856 } txc_ro_state1_t, *p_txc_ro_state1_t; 857 858 #define TXC_RO_STATE2_REG (FZC_TXC + 0x200C8) 859 #define TXC_RO_STATE2_OFFSET(port) (TXC_STATE2_REG + \ 860 (TXC_FZC_CNTL_PORT_OFFSET(port))) 861 #define TXC_RO_STATE2_MASK 0x00000000FFFFFFFFULL 862 863 typedef union _txc_ro_state2_t { 864 uint64_t value; 865 struct { 866 #ifdef _BIG_ENDIAN 867 uint32_t hdw; 868 #endif 869 struct { 870 #if defined(_BIT_FIELDS_HTOL) 871 uint32_t transaction_timeout:32; 872 #elif defined(_BIT_FIELDS_LTOH) 873 uint32_t transaction_timeout:32; 874 #endif 875 } ldw; 876 #ifndef _BIG_ENDIAN 877 uint32_t hdw; 878 #endif 879 } bits; 880 } txc_ro_state2_t, *p_txc_ro_state2_t; 881 882 #define TXC_RO_STATE3_REG (FZC_TXC + 0x200D0) 883 #define TXC_RO_STATE3_OFFSET(port) (TXC_RO_STATE3_REG + \ 884 (TXC_FZC_CNTL_PORT_OFFSET(port))) 885 886 typedef union _txc_ro_state3_t { 887 uint64_t value; 888 struct { 889 #ifdef _BIG_ENDIAN 890 uint32_t hdw; 891 #endif 892 struct { 893 #if defined(_BIT_FIELDS_HTOL) 894 uint32_t enable_spacefilled_watermark:1; 895 uint32_t ro_spacefilled_watermask:10; 896 uint32_t ro_fifo_spaceavailable:10; 897 uint32_t rsv:2; 898 uint32_t enable_ro_watermark:1; 899 uint32_t highest_reorder_used:4; 900 uint32_t num_reorder_used:4; 901 #elif defined(_BIT_FIELDS_LTOH) 902 uint32_t num_reorder_used:4; 903 uint32_t highest_reorder_used:4; 904 uint32_t enable_ro_watermark:1; 905 uint32_t rsv:2; 906 uint32_t ro_fifo_spaceavailable:10; 907 uint32_t ro_spacefilled_watermask:10; 908 uint32_t enable_spacefilled_watermark:1; 909 #endif 910 } ldw; 911 #ifndef _BIG_ENDIAN 912 uint32_t hdw; 913 #endif 914 } bits; 915 } txc_ro_state3_t, *p_txc_ro_state3_t; 916 917 #define TXC_RO_CTL_REG (FZC_TXC + 0x200D8) 918 #define TXC_RO_CTL_OFFSET(port) (TXC_RO_CTL_REG + \ 919 (TXC_FZC_CNTL_PORT_OFFSET(port))) 920 921 typedef union _txc_ro_ctl_t { 922 uint64_t value; 923 struct { 924 #ifdef _BIG_ENDIAN 925 uint32_t hdw; 926 #endif 927 struct { 928 #if defined(_BIT_FIELDS_HTOL) 929 uint32_t clr_fail_state:1; 930 uint32_t rsvd3:3; 931 uint32_t ro_addr1:4; 932 uint32_t rsvd2:1; 933 uint32_t address_failed:1; 934 uint32_t dma_failed:1; 935 uint32_t length_failed:1; 936 uint32_t rsv:1; 937 uint32_t capture_address_fail:1; 938 uint32_t capture_dma_fail:1; 939 uint32_t capture_length_fail:1; 940 uint32_t rsvd:8; 941 uint32_t ro_state_rd_done:1; 942 uint32_t ro_state_wr_done:1; 943 uint32_t ro_state_rd:1; 944 uint32_t ro_state_wr:1; 945 uint32_t ro_state_addr:4; 946 #elif defined(_BIT_FIELDS_LTOH) 947 uint32_t ro_state_addr:4; 948 uint32_t ro_state_wr:1; 949 uint32_t ro_state_rd:1; 950 uint32_t ro_state_wr_done:1; 951 uint32_t ro_state_rd_done:1; 952 uint32_t rsvd:8; 953 uint32_t capture_length_fail:1; 954 uint32_t capture_dma_fail:1; 955 uint32_t capture_address_fail:1; 956 uint32_t rsv:1; 957 uint32_t length_failed:1; 958 uint32_t dma_failed:1; 959 uint32_t address_failed:1; 960 uint32_t rsvd2:1; 961 uint32_t ro_addr1:4; 962 uint32_t rsvd3:3; 963 uint32_t clr_fail_state:1; 964 #endif 965 } ldw; 966 #ifndef _BIG_ENDIAN 967 uint32_t hdw; 968 #endif 969 } bits; 970 } txc_ro_ctl_t, *p_txc_ro_ctl_t; 971 972 973 #define TXC_RO_ST_DATA0_REG (FZC_TXC + 0x200E0) 974 #define TXC_RO_ST_DATA0_OFFSET(port) (TXC_RO_ST_DATA0_REG + \ 975 (TXC_FZC_CNTL_PORT_OFFSET(port))) 976 #define TXC_RO_ST_DATA0_MASK 0x00000000FFFFFFFFULL 977 978 typedef union _txc_ro_st_data0_t { 979 uint64_t value; 980 struct { 981 #ifdef _BIG_ENDIAN 982 uint32_t hdw; 983 #endif 984 struct { 985 #if defined(_BIT_FIELDS_HTOL) 986 uint32_t ro_st_dat0:32; 987 #elif defined(_BIT_FIELDS_LTOH) 988 uint32_t ro_st_dat0:32; 989 #endif 990 } ldw; 991 #ifndef _BIG_ENDIAN 992 uint32_t hdw; 993 #endif 994 } bits; 995 } txc_ro_st_data0_t, *p_txc_ro_st_data0_t; 996 997 998 #define TXC_RO_ST_DATA1_REG (FZC_TXC + 0x200E8) 999 #define TXC_RO_ST_DATA1_OFFSET(port) (TXC_RO_ST_DATA1_REG + \ 1000 (TXC_FZC_CNTL_PORT_OFFSET(port))) 1001 #define TXC_RO_ST_DATA1_MASK 0x00000000FFFFFFFFULL 1002 1003 typedef union _txc_ro_st_data1_t { 1004 uint64_t value; 1005 struct { 1006 #ifdef _BIG_ENDIAN 1007 uint32_t hdw; 1008 #endif 1009 struct { 1010 #if defined(_BIT_FIELDS_HTOL) 1011 uint32_t ro_st_dat1:32; 1012 #elif defined(_BIT_FIELDS_LTOH) 1013 uint32_t ro_st_dat1:32; 1014 #endif 1015 } ldw; 1016 #ifndef _BIG_ENDIAN 1017 uint32_t hdw; 1018 #endif 1019 } bits; 1020 } txc_ro_st_data1_t, *p_txc_ro_st_data1_t; 1021 1022 1023 #define TXC_RO_ST_DATA2_REG (FZC_TXC + 0x200F0) 1024 #define TXC_RO_ST_DATA2_OFFSET(port) (TXC_RO_ST_DATA2_REG + \ 1025 (TXC_FZC_CNTL_PORT_OFFSET(port))) 1026 #define TXC_RO_ST_DATA2_MASK 0x00000000FFFFFFFFULL 1027 1028 typedef union _txc_ro_st_data2_t { 1029 uint64_t value; 1030 struct { 1031 #ifdef _BIG_ENDIAN 1032 uint32_t hdw; 1033 #endif 1034 struct { 1035 #if defined(_BIT_FIELDS_HTOL) 1036 uint32_t ro_st_dat2:32; 1037 #elif defined(_BIT_FIELDS_LTOH) 1038 uint32_t ro_st_dat2:32; 1039 #endif 1040 } ldw; 1041 #ifndef _BIG_ENDIAN 1042 uint32_t hdw; 1043 #endif 1044 } bits; 1045 } txc_ro_st_data2_t, *p_txc_ro_st_data2_t; 1046 1047 #define TXC_RO_ST_DATA3_REG (FZC_TXC + 0x200F8) 1048 #define TXC_RO_ST_DATA3_OFFSET(port) (TXC_RO_ST_DATA3_REG + \ 1049 (TXC_FZC_CNTL_PORT_OFFSET(port))) 1050 #define TXC_RO_ST_DATA3_MASK 0x00000000FFFFFFFFULL 1051 1052 typedef union _txc_ro_st_data3_t { 1053 uint64_t value; 1054 struct { 1055 #ifdef _BIG_ENDIAN 1056 uint32_t hdw; 1057 #endif 1058 struct { 1059 #if defined(_BIT_FIELDS_HTOL) 1060 uint32_t ro_st_dat3:32; 1061 #elif defined(_BIT_FIELDS_LTOH) 1062 uint32_t ro_st_dat3:32; 1063 #endif 1064 } ldw; 1065 #ifndef _BIG_ENDIAN 1066 uint32_t hdw; 1067 #endif 1068 } bits; 1069 } txc_ro_st_data3_t, *p_txc_ro_st_data3_t; 1070 1071 #define TXC_PORT_PACKET_REQ_REG (FZC_TXC + 0x20100) 1072 #define TXC_PORT_PACKET_REQ_OFFSET(port) (TXC_PORT_PACKET_REQ_REG + \ 1073 (TXC_FZC_CNTL_PORT_OFFSET(port))) 1074 #define TXC_PORT_PACKET_REQ_MASK 0x00000000FFFFFFFFULL 1075 1076 typedef union _txc_port_packet_req_t { 1077 uint64_t value; 1078 struct { 1079 #ifdef _BIG_ENDIAN 1080 uint32_t hdw; 1081 #endif 1082 struct { 1083 #if defined(_BIT_FIELDS_HTOL) 1084 uint32_t gather_req:4; 1085 uint32_t packet_eq:12; 1086 uint32_t pkterr_abort:16; 1087 #elif defined(_BIT_FIELDS_LTOH) 1088 uint32_t pkterr_abort:16; 1089 uint32_t packet_eq:12; 1090 uint32_t gather_req:4; 1091 #endif 1092 } ldw; 1093 #ifndef _BIG_ENDIAN 1094 uint32_t hdw; 1095 #endif 1096 } bits; 1097 } txc_port_packet_req_t, *p_txc_port_packet_req_t; 1098 1099 /* Reorder error bits in interrupt registers */ 1100 #define TXC_INT_STAT_SF_CORR_ERR 0x01 1101 #define TXC_INT_STAT_SF_UNCORR_ERR 0x02 1102 #define TXC_INT_STAT_RO_CORR_ERR 0x04 1103 #define TXC_INT_STAT_RO_UNCORR_ERR 0x08 1104 #define TXC_INT_STAT_REORDER_ERR 0x10 1105 #define TXC_INT_STAT_PKTASSYDEAD 0x20 1106 1107 #define TXC_INT_STAT_DBG_REG (FZC_TXC + 0x20420) 1108 #define TXC_INT_STAT_DBG_MASK 0x00000000FFFFFFFFULL 1109 1110 typedef union _txc_int_stat_dbg_t { 1111 uint64_t value; 1112 struct { 1113 #ifdef _BIG_ENDIAN 1114 uint32_t hdw; 1115 #endif 1116 struct { 1117 #if defined(_BIT_FIELDS_HTOL) 1118 uint32_t rsvd3:2; 1119 uint32_t port3_int_status:6; 1120 uint32_t rsvd2:2; 1121 uint32_t port2_int_status:6; 1122 uint32_t rsvd1:2; 1123 uint32_t port1_int_status:6; 1124 uint32_t rsvd:2; 1125 uint32_t port0_int_status:6; 1126 #elif defined(_BIT_FIELDS_LTOH) 1127 uint32_t port0_int_status:6; 1128 uint32_t rsvd:2; 1129 uint32_t port1_int_status:6; 1130 uint32_t rsvd1:2; 1131 uint32_t port2_int_status:6; 1132 uint32_t rsvd2:2; 1133 uint32_t port3_int_status:6; 1134 uint32_t rsvd3:2; 1135 #endif 1136 } ldw; 1137 #ifndef _BIG_ENDIAN 1138 uint32_t hdw; 1139 #endif 1140 } bits; 1141 } txc_int_stat_dbg_t, *p_txc_int_stat_dbg_t; 1142 1143 1144 #define TXC_INT_STAT_REG (FZC_TXC + 0x20428) 1145 #define TXC_INT_STAT_MASK 0x00000000FFFFFFFFULL 1146 1147 typedef union _txc_int_stat_t { 1148 uint64_t value; 1149 struct { 1150 #ifdef _BIG_ENDIAN 1151 uint32_t hdw; 1152 #endif 1153 struct { 1154 #if defined(_BIT_FIELDS_HTOL) 1155 uint32_t rsvd3:2; 1156 uint32_t port3_int_status:6; 1157 uint32_t rsvd2:2; 1158 uint32_t port2_int_status:6; 1159 uint32_t rsvd1:2; 1160 uint32_t port1_int_status:6; 1161 uint32_t rsvd:2; 1162 uint32_t port0_int_status:6; 1163 #elif defined(_BIT_FIELDS_LTOH) 1164 uint32_t port0_int_status:6; 1165 uint32_t rsvd:2; 1166 uint32_t port1_int_status:6; 1167 uint32_t rsvd1:2; 1168 uint32_t port2_int_status:6; 1169 uint32_t rsvd2:2; 1170 uint32_t port3_int_status:6; 1171 uint32_t rsvd3:2; 1172 #endif 1173 } ldw; 1174 #ifndef _BIG_ENDIAN 1175 uint32_t hdw; 1176 #endif 1177 } bits; 1178 } txc_int_stat_t, *p_txc_int_stat_t; 1179 1180 #define TXC_INT_MASK_REG (FZC_TXC + 0x20430) 1181 #define TXC_INT_MASK_MASK 0x00000000FFFFFFFFULL 1182 #define TXC_INT_MASK_IVAL 0x3f 1183 1184 typedef union _txc_int_mask_t { 1185 uint64_t value; 1186 struct { 1187 #ifdef _BIG_ENDIAN 1188 uint32_t hdw; 1189 #endif 1190 struct { 1191 #if defined(_BIT_FIELDS_HTOL) 1192 uint32_t rsvd3:2; 1193 uint32_t port3_int_mask:6; 1194 uint32_t rsvd2:2; 1195 uint32_t port2_int_mask:6; 1196 uint32_t rsvd1:2; 1197 uint32_t port1_int_mask:6; 1198 uint32_t rsvd:2; 1199 uint32_t port0_int_mask:6; 1200 #elif defined(_BIT_FIELDS_LTOH) 1201 uint32_t port0_int_mask:6; 1202 uint32_t rsvd:2; 1203 uint32_t port1_int_mask:6; 1204 uint32_t rsvd1:2; 1205 uint32_t port2_int_mask:6; 1206 uint32_t rsvd2:2; 1207 uint32_t port3_int_mask:6; 1208 uint32_t rsvd3:2; 1209 #endif 1210 } ldw; 1211 #ifndef _BIG_ENDIAN 1212 uint32_t hdw; 1213 #endif 1214 } bits; 1215 } txc_int_mask_t, *p_txc_int_mask_t; 1216 1217 /* 2 ports */ 1218 typedef union _txc_int_mask_n2_t { 1219 uint64_t value; 1220 struct { 1221 #ifdef _BIG_ENDIAN 1222 uint32_t hdw; 1223 #endif 1224 struct { 1225 #if defined(_BIT_FIELDS_HTOL) 1226 uint32_t rsvd1:18; 1227 uint32_t port1_int_mask:6; 1228 uint32_t rsvd:2; 1229 uint32_t port0_int_mask:6; 1230 #elif defined(_BIT_FIELDS_LTOH) 1231 uint32_t port0_int_mask:6; 1232 uint32_t rsvd:2; 1233 uint32_t port1_int_mask:6; 1234 uint32_t rsvd1:18; 1235 #endif 1236 } ldw; 1237 #ifndef _BIG_ENDIAN 1238 uint32_t hdw; 1239 #endif 1240 } bits; 1241 } txc_int_mask_n2_t, *p_txc_int_mask_n2_t; 1242 1243 typedef struct _txc_ro_states { 1244 txc_roecc_st_t roecc; 1245 txc_ro_data0_t d0; 1246 txc_ro_data1_t d1; 1247 txc_ro_data2_t d2; 1248 txc_ro_data3_t d3; 1249 txc_ro_data4_t d4; 1250 txc_ro_tids_t tids; 1251 txc_ro_state0_t st0; 1252 txc_ro_state1_t st1; 1253 txc_ro_state2_t st2; 1254 txc_ro_state3_t st3; 1255 txc_ro_ctl_t ctl; 1256 } txc_ro_states_t, *p_txc_ro_states_t; 1257 1258 typedef struct _txc_sf_states { 1259 txc_sfecc_st_t sfecc; 1260 txc_sf_data0_t d0; 1261 txc_sf_data1_t d1; 1262 txc_sf_data2_t d2; 1263 txc_sf_data3_t d3; 1264 txc_sf_data4_t d4; 1265 } txc_sf_states_t, *p_txc_sf_states_t; 1266 1267 #ifdef __cplusplus 1268 } 1269 #endif 1270 1271 #endif /* _SYS_NXGE_NXGE_TXC_HW_H */ 1272