1434 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#define CONFIG_CAVIUM_OCTEON_CVMSEG_SIZE 5123 4#ifndef XKPHYS_TO_PHYS5# define XKPHYS_TO_PHYS(p) (p)6#endif7 8#define OCTEON_IRQ_WORKQ0 09#define OCTEON_IRQ_RML 010#define OCTEON_IRQ_TIMER1 011#define OCTEON_IS_MODEL(x) 012#define octeon_has_feature(x) 013#define octeon_get_clock_rate() 014 15#define CVMX_SYNCIOBDMA do { } while (0)16 17#define CVMX_HELPER_INPUT_TAG_TYPE 018#define CVMX_HELPER_FIRST_MBUFF_SKIP 719#define CVMX_FAU_REG_END (2048)20#define CVMX_FPA_OUTPUT_BUFFER_POOL (2)21#define CVMX_FPA_OUTPUT_BUFFER_POOL_SIZE 1622#define CVMX_FPA_PACKET_POOL (0)23#define CVMX_FPA_PACKET_POOL_SIZE 1624#define CVMX_FPA_WQE_POOL (1)25#define CVMX_FPA_WQE_POOL_SIZE 1626#define CVMX_GMXX_RXX_ADR_CAM_EN(a, b) ((a) + (b))27#define CVMX_GMXX_RXX_ADR_CTL(a, b) ((a) + (b))28#define CVMX_GMXX_PRTX_CFG(a, b) ((a) + (b))29#define CVMX_GMXX_RXX_FRM_MAX(a, b) ((a) + (b))30#define CVMX_GMXX_RXX_JABBER(a, b) ((a) + (b))31#define CVMX_IPD_CTL_STATUS 032#define CVMX_PIP_FRM_LEN_CHKX(a) (a)33#define CVMX_PIP_NUM_INPUT_PORTS 134#define CVMX_SCR_SCRATCH 035#define CVMX_PKO_QUEUES_PER_PORT_INTERFACE0 236#define CVMX_PKO_QUEUES_PER_PORT_INTERFACE1 237#define CVMX_IPD_SUB_PORT_FCS 038#define CVMX_SSO_WQ_IQ_DIS 039#define CVMX_SSO_WQ_INT 040#define CVMX_POW_WQ_INT 041#define CVMX_SSO_WQ_INT_PC 042#define CVMX_NPI_RSL_INT_BLOCKS 043#define CVMX_POW_WQ_INT_PC 044 45union cvmx_pip_wqe_word2 {46 uint64_t u64;47 struct {48 uint64_t bufs:8;49 uint64_t ip_offset:8;50 uint64_t vlan_valid:1;51 uint64_t vlan_stacked:1;52 uint64_t unassigned:1;53 uint64_t vlan_cfi:1;54 uint64_t vlan_id:12;55 uint64_t pr:4;56 uint64_t unassigned2:8;57 uint64_t dec_ipcomp:1;58 uint64_t tcp_or_udp:1;59 uint64_t dec_ipsec:1;60 uint64_t is_v6:1;61 uint64_t software:1;62 uint64_t L4_error:1;63 uint64_t is_frag:1;64 uint64_t IP_exc:1;65 uint64_t is_bcast:1;66 uint64_t is_mcast:1;67 uint64_t not_IP:1;68 uint64_t rcv_error:1;69 uint64_t err_code:8;70 } s;71 struct {72 uint64_t bufs:8;73 uint64_t ip_offset:8;74 uint64_t vlan_valid:1;75 uint64_t vlan_stacked:1;76 uint64_t unassigned:1;77 uint64_t vlan_cfi:1;78 uint64_t vlan_id:12;79 uint64_t port:12;80 uint64_t dec_ipcomp:1;81 uint64_t tcp_or_udp:1;82 uint64_t dec_ipsec:1;83 uint64_t is_v6:1;84 uint64_t software:1;85 uint64_t L4_error:1;86 uint64_t is_frag:1;87 uint64_t IP_exc:1;88 uint64_t is_bcast:1;89 uint64_t is_mcast:1;90 uint64_t not_IP:1;91 uint64_t rcv_error:1;92 uint64_t err_code:8;93 } s_cn68xx;94 95 struct {96 uint64_t unused1:16;97 uint64_t vlan:16;98 uint64_t unused2:32;99 } svlan;100 struct {101 uint64_t bufs:8;102 uint64_t unused:8;103 uint64_t vlan_valid:1;104 uint64_t vlan_stacked:1;105 uint64_t unassigned:1;106 uint64_t vlan_cfi:1;107 uint64_t vlan_id:12;108 uint64_t pr:4;109 uint64_t unassigned2:12;110 uint64_t software:1;111 uint64_t unassigned3:1;112 uint64_t is_rarp:1;113 uint64_t is_arp:1;114 uint64_t is_bcast:1;115 uint64_t is_mcast:1;116 uint64_t not_IP:1;117 uint64_t rcv_error:1;118 uint64_t err_code:8;119 } snoip;120 121};122 123union cvmx_pip_wqe_word0 {124 struct {125 uint64_t next_ptr:40;126 uint8_t unused;127 __wsum hw_chksum;128 } cn38xx;129 struct {130 uint64_t pknd:6; /* 0..5 */131 uint64_t unused2:2; /* 6..7 */132 uint64_t bpid:6; /* 8..13 */133 uint64_t unused1:18; /* 14..31 */134 uint64_t l2ptr:8; /* 32..39 */135 uint64_t l3ptr:8; /* 40..47 */136 uint64_t unused0:8; /* 48..55 */137 uint64_t l4ptr:8; /* 56..63 */138 } cn68xx;139};140 141union cvmx_wqe_word0 {142 uint64_t u64;143 union cvmx_pip_wqe_word0 pip;144};145 146union cvmx_wqe_word1 {147 uint64_t u64;148 struct {149 uint64_t tag:32;150 uint64_t tag_type:2;151 uint64_t varies:14;152 uint64_t len:16;153 };154 struct {155 uint64_t tag:32;156 uint64_t tag_type:2;157 uint64_t zero_2:3;158 uint64_t grp:6;159 uint64_t zero_1:1;160 uint64_t qos:3;161 uint64_t zero_0:1;162 uint64_t len:16;163 } cn68xx;164 struct {165 uint64_t tag:32;166 uint64_t tag_type:2;167 uint64_t zero_2:1;168 uint64_t grp:4;169 uint64_t qos:3;170 uint64_t ipprt:6;171 uint64_t len:16;172 } cn38xx;173};174 175union cvmx_buf_ptr {176 void *ptr;177 uint64_t u64;178 struct {179 uint64_t i:1;180 uint64_t back:4;181 uint64_t pool:3;182 uint64_t size:16;183 uint64_t addr:40;184 } s;185};186 187struct cvmx_wqe {188 union cvmx_wqe_word0 word0;189 union cvmx_wqe_word1 word1;190 union cvmx_pip_wqe_word2 word2;191 union cvmx_buf_ptr packet_ptr;192 uint8_t packet_data[96];193};194 195union cvmx_helper_link_info {196 uint64_t u64;197 struct {198 uint64_t reserved_20_63:44;199 uint64_t link_up:1; /**< Is the physical link up? */200 uint64_t full_duplex:1; /**< 1 if the link is full duplex */201 uint64_t speed:18; /**< Speed of the link in Mbps */202 } s;203};204 205enum cvmx_fau_reg_32 {206 CVMX_FAU_REG_32_START = 0,207};208 209enum cvmx_fau_op_size {210 CVMX_FAU_OP_SIZE_8 = 0,211 CVMX_FAU_OP_SIZE_16 = 1,212 CVMX_FAU_OP_SIZE_32 = 2,213 CVMX_FAU_OP_SIZE_64 = 3214};215 216typedef enum {217 CVMX_SPI_MODE_UNKNOWN = 0,218 CVMX_SPI_MODE_TX_HALFPLEX = 1,219 CVMX_SPI_MODE_RX_HALFPLEX = 2,220 CVMX_SPI_MODE_DUPLEX = 3221} cvmx_spi_mode_t;222 223typedef enum {224 CVMX_HELPER_INTERFACE_MODE_DISABLED,225 CVMX_HELPER_INTERFACE_MODE_RGMII,226 CVMX_HELPER_INTERFACE_MODE_GMII,227 CVMX_HELPER_INTERFACE_MODE_SPI,228 CVMX_HELPER_INTERFACE_MODE_PCIE,229 CVMX_HELPER_INTERFACE_MODE_XAUI,230 CVMX_HELPER_INTERFACE_MODE_SGMII,231 CVMX_HELPER_INTERFACE_MODE_PICMG,232 CVMX_HELPER_INTERFACE_MODE_NPI,233 CVMX_HELPER_INTERFACE_MODE_LOOP,234} cvmx_helper_interface_mode_t;235 236typedef enum {237 CVMX_POW_WAIT = 1,238 CVMX_POW_NO_WAIT = 0,239} cvmx_pow_wait_t;240 241typedef enum {242 CVMX_PKO_LOCK_NONE = 0,243 CVMX_PKO_LOCK_ATOMIC_TAG = 1,244 CVMX_PKO_LOCK_CMD_QUEUE = 2,245} cvmx_pko_lock_t;246 247typedef enum {248 CVMX_PKO_SUCCESS,249 CVMX_PKO_INVALID_PORT,250 CVMX_PKO_INVALID_QUEUE,251 CVMX_PKO_INVALID_PRIORITY,252 CVMX_PKO_NO_MEMORY,253 CVMX_PKO_PORT_ALREADY_SETUP,254 CVMX_PKO_CMD_QUEUE_INIT_ERROR255} cvmx_pko_status_t;256 257enum cvmx_pow_tag_type {258 CVMX_POW_TAG_TYPE_ORDERED = 0L,259 CVMX_POW_TAG_TYPE_ATOMIC = 1L,260 CVMX_POW_TAG_TYPE_NULL = 2L,261 CVMX_POW_TAG_TYPE_NULL_NULL = 3L262};263 264union cvmx_ipd_ctl_status {265 uint64_t u64;266 struct cvmx_ipd_ctl_status_s {267 uint64_t reserved_18_63:46;268 uint64_t use_sop:1;269 uint64_t rst_done:1;270 uint64_t clken:1;271 uint64_t no_wptr:1;272 uint64_t pq_apkt:1;273 uint64_t pq_nabuf:1;274 uint64_t ipd_full:1;275 uint64_t pkt_off:1;276 uint64_t len_m8:1;277 uint64_t reset:1;278 uint64_t addpkt:1;279 uint64_t naddbuf:1;280 uint64_t pkt_lend:1;281 uint64_t wqe_lend:1;282 uint64_t pbp_en:1;283 uint64_t opc_mode:2;284 uint64_t ipd_en:1;285 } s;286 struct cvmx_ipd_ctl_status_cn30xx {287 uint64_t reserved_10_63:54;288 uint64_t len_m8:1;289 uint64_t reset:1;290 uint64_t addpkt:1;291 uint64_t naddbuf:1;292 uint64_t pkt_lend:1;293 uint64_t wqe_lend:1;294 uint64_t pbp_en:1;295 uint64_t opc_mode:2;296 uint64_t ipd_en:1;297 } cn30xx;298 struct cvmx_ipd_ctl_status_cn38xxp2 {299 uint64_t reserved_9_63:55;300 uint64_t reset:1;301 uint64_t addpkt:1;302 uint64_t naddbuf:1;303 uint64_t pkt_lend:1;304 uint64_t wqe_lend:1;305 uint64_t pbp_en:1;306 uint64_t opc_mode:2;307 uint64_t ipd_en:1;308 } cn38xxp2;309 struct cvmx_ipd_ctl_status_cn50xx {310 uint64_t reserved_15_63:49;311 uint64_t no_wptr:1;312 uint64_t pq_apkt:1;313 uint64_t pq_nabuf:1;314 uint64_t ipd_full:1;315 uint64_t pkt_off:1;316 uint64_t len_m8:1;317 uint64_t reset:1;318 uint64_t addpkt:1;319 uint64_t naddbuf:1;320 uint64_t pkt_lend:1;321 uint64_t wqe_lend:1;322 uint64_t pbp_en:1;323 uint64_t opc_mode:2;324 uint64_t ipd_en:1;325 } cn50xx;326 struct cvmx_ipd_ctl_status_cn58xx {327 uint64_t reserved_12_63:52;328 uint64_t ipd_full:1;329 uint64_t pkt_off:1;330 uint64_t len_m8:1;331 uint64_t reset:1;332 uint64_t addpkt:1;333 uint64_t naddbuf:1;334 uint64_t pkt_lend:1;335 uint64_t wqe_lend:1;336 uint64_t pbp_en:1;337 uint64_t opc_mode:2;338 uint64_t ipd_en:1;339 } cn58xx;340 struct cvmx_ipd_ctl_status_cn63xxp1 {341 uint64_t reserved_16_63:48;342 uint64_t clken:1;343 uint64_t no_wptr:1;344 uint64_t pq_apkt:1;345 uint64_t pq_nabuf:1;346 uint64_t ipd_full:1;347 uint64_t pkt_off:1;348 uint64_t len_m8:1;349 uint64_t reset:1;350 uint64_t addpkt:1;351 uint64_t naddbuf:1;352 uint64_t pkt_lend:1;353 uint64_t wqe_lend:1;354 uint64_t pbp_en:1;355 uint64_t opc_mode:2;356 uint64_t ipd_en:1;357 } cn63xxp1;358};359 360union cvmx_ipd_sub_port_fcs {361 uint64_t u64;362 struct cvmx_ipd_sub_port_fcs_s {363 uint64_t port_bit:32;364 uint64_t reserved_32_35:4;365 uint64_t port_bit2:4;366 uint64_t reserved_40_63:24;367 } s;368 struct cvmx_ipd_sub_port_fcs_cn30xx {369 uint64_t port_bit:3;370 uint64_t reserved_3_63:61;371 } cn30xx;372 struct cvmx_ipd_sub_port_fcs_cn38xx {373 uint64_t port_bit:32;374 uint64_t reserved_32_63:32;375 } cn38xx;376};377 378union cvmx_ipd_sub_port_qos_cnt {379 uint64_t u64;380 struct cvmx_ipd_sub_port_qos_cnt_s {381 uint64_t cnt:32;382 uint64_t port_qos:9;383 uint64_t reserved_41_63:23;384 } s;385};386 387typedef struct {388 uint32_t dropped_octets;389 uint32_t dropped_packets;390 uint32_t pci_raw_packets;391 uint32_t octets;392 uint32_t packets;393 uint32_t multicast_packets;394 uint32_t broadcast_packets;395 uint32_t len_64_packets;396 uint32_t len_65_127_packets;397 uint32_t len_128_255_packets;398 uint32_t len_256_511_packets;399 uint32_t len_512_1023_packets;400 uint32_t len_1024_1518_packets;401 uint32_t len_1519_max_packets;402 uint32_t fcs_align_err_packets;403 uint32_t runt_packets;404 uint32_t runt_crc_packets;405 uint32_t oversize_packets;406 uint32_t oversize_crc_packets;407 uint32_t inb_packets;408 uint64_t inb_octets;409 uint16_t inb_errors;410} cvmx_pip_port_status_t;411 412typedef struct {413 uint32_t packets;414 uint64_t octets;415 uint64_t doorbell;416} cvmx_pko_port_status_t;417 418union cvmx_pip_frm_len_chkx {419 uint64_t u64;420 struct cvmx_pip_frm_len_chkx_s {421 uint64_t reserved_32_63:32;422 uint64_t maxlen:16;423 uint64_t minlen:16;424 } s;425};426 427union cvmx_gmxx_rxx_frm_ctl {428 uint64_t u64;429 struct cvmx_gmxx_rxx_frm_ctl_s {430 uint64_t pre_chk:1;431 uint64_t pre_strp:1;432 uint64_t ctl_drp:1;433 uint64_t ctl_bck:1;434 uint64_t ctl_mcst:1;435 uint64_t ctl_smac:1;436 uint64_t pre_free:1;437 uint64_t vlan_len:1;438 uint64_t pad_len:1;439 uint64_t pre_align:1;440 uint64_t null_dis:1;441 uint64_t reserved_11_11:1;442 uint64_t ptp_mode:1;443 uint64_t reserved_13_63:51;444 } s;445 struct cvmx_gmxx_rxx_frm_ctl_cn30xx {446 uint64_t pre_chk:1;447 uint64_t pre_strp:1;448 uint64_t ctl_drp:1;449 uint64_t ctl_bck:1;450 uint64_t ctl_mcst:1;451 uint64_t ctl_smac:1;452 uint64_t pre_free:1;453 uint64_t vlan_len:1;454 uint64_t pad_len:1;455 uint64_t reserved_9_63:55;456 } cn30xx;457 struct cvmx_gmxx_rxx_frm_ctl_cn31xx {458 uint64_t pre_chk:1;459 uint64_t pre_strp:1;460 uint64_t ctl_drp:1;461 uint64_t ctl_bck:1;462 uint64_t ctl_mcst:1;463 uint64_t ctl_smac:1;464 uint64_t pre_free:1;465 uint64_t vlan_len:1;466 uint64_t reserved_8_63:56;467 } cn31xx;468 struct cvmx_gmxx_rxx_frm_ctl_cn50xx {469 uint64_t pre_chk:1;470 uint64_t pre_strp:1;471 uint64_t ctl_drp:1;472 uint64_t ctl_bck:1;473 uint64_t ctl_mcst:1;474 uint64_t ctl_smac:1;475 uint64_t pre_free:1;476 uint64_t reserved_7_8:2;477 uint64_t pre_align:1;478 uint64_t null_dis:1;479 uint64_t reserved_11_63:53;480 } cn50xx;481 struct cvmx_gmxx_rxx_frm_ctl_cn56xxp1 {482 uint64_t pre_chk:1;483 uint64_t pre_strp:1;484 uint64_t ctl_drp:1;485 uint64_t ctl_bck:1;486 uint64_t ctl_mcst:1;487 uint64_t ctl_smac:1;488 uint64_t pre_free:1;489 uint64_t reserved_7_8:2;490 uint64_t pre_align:1;491 uint64_t reserved_10_63:54;492 } cn56xxp1;493 struct cvmx_gmxx_rxx_frm_ctl_cn58xx {494 uint64_t pre_chk:1;495 uint64_t pre_strp:1;496 uint64_t ctl_drp:1;497 uint64_t ctl_bck:1;498 uint64_t ctl_mcst:1;499 uint64_t ctl_smac:1;500 uint64_t pre_free:1;501 uint64_t vlan_len:1;502 uint64_t pad_len:1;503 uint64_t pre_align:1;504 uint64_t null_dis:1;505 uint64_t reserved_11_63:53;506 } cn58xx;507 struct cvmx_gmxx_rxx_frm_ctl_cn61xx {508 uint64_t pre_chk:1;509 uint64_t pre_strp:1;510 uint64_t ctl_drp:1;511 uint64_t ctl_bck:1;512 uint64_t ctl_mcst:1;513 uint64_t ctl_smac:1;514 uint64_t pre_free:1;515 uint64_t reserved_7_8:2;516 uint64_t pre_align:1;517 uint64_t null_dis:1;518 uint64_t reserved_11_11:1;519 uint64_t ptp_mode:1;520 uint64_t reserved_13_63:51;521 } cn61xx;522};523 524union cvmx_gmxx_rxx_int_reg {525 uint64_t u64;526 struct cvmx_gmxx_rxx_int_reg_s {527 uint64_t minerr:1;528 uint64_t carext:1;529 uint64_t maxerr:1;530 uint64_t jabber:1;531 uint64_t fcserr:1;532 uint64_t alnerr:1;533 uint64_t lenerr:1;534 uint64_t rcverr:1;535 uint64_t skperr:1;536 uint64_t niberr:1;537 uint64_t ovrerr:1;538 uint64_t pcterr:1;539 uint64_t rsverr:1;540 uint64_t falerr:1;541 uint64_t coldet:1;542 uint64_t ifgerr:1;543 uint64_t phy_link:1;544 uint64_t phy_spd:1;545 uint64_t phy_dupx:1;546 uint64_t pause_drp:1;547 uint64_t loc_fault:1;548 uint64_t rem_fault:1;549 uint64_t bad_seq:1;550 uint64_t bad_term:1;551 uint64_t unsop:1;552 uint64_t uneop:1;553 uint64_t undat:1;554 uint64_t hg2fld:1;555 uint64_t hg2cc:1;556 uint64_t reserved_29_63:35;557 } s;558 struct cvmx_gmxx_rxx_int_reg_cn30xx {559 uint64_t minerr:1;560 uint64_t carext:1;561 uint64_t maxerr:1;562 uint64_t jabber:1;563 uint64_t fcserr:1;564 uint64_t alnerr:1;565 uint64_t lenerr:1;566 uint64_t rcverr:1;567 uint64_t skperr:1;568 uint64_t niberr:1;569 uint64_t ovrerr:1;570 uint64_t pcterr:1;571 uint64_t rsverr:1;572 uint64_t falerr:1;573 uint64_t coldet:1;574 uint64_t ifgerr:1;575 uint64_t phy_link:1;576 uint64_t phy_spd:1;577 uint64_t phy_dupx:1;578 uint64_t reserved_19_63:45;579 } cn30xx;580 struct cvmx_gmxx_rxx_int_reg_cn50xx {581 uint64_t reserved_0_0:1;582 uint64_t carext:1;583 uint64_t reserved_2_2:1;584 uint64_t jabber:1;585 uint64_t fcserr:1;586 uint64_t alnerr:1;587 uint64_t reserved_6_6:1;588 uint64_t rcverr:1;589 uint64_t skperr:1;590 uint64_t niberr:1;591 uint64_t ovrerr:1;592 uint64_t pcterr:1;593 uint64_t rsverr:1;594 uint64_t falerr:1;595 uint64_t coldet:1;596 uint64_t ifgerr:1;597 uint64_t phy_link:1;598 uint64_t phy_spd:1;599 uint64_t phy_dupx:1;600 uint64_t pause_drp:1;601 uint64_t reserved_20_63:44;602 } cn50xx;603 struct cvmx_gmxx_rxx_int_reg_cn52xx {604 uint64_t reserved_0_0:1;605 uint64_t carext:1;606 uint64_t reserved_2_2:1;607 uint64_t jabber:1;608 uint64_t fcserr:1;609 uint64_t reserved_5_6:2;610 uint64_t rcverr:1;611 uint64_t skperr:1;612 uint64_t reserved_9_9:1;613 uint64_t ovrerr:1;614 uint64_t pcterr:1;615 uint64_t rsverr:1;616 uint64_t falerr:1;617 uint64_t coldet:1;618 uint64_t ifgerr:1;619 uint64_t reserved_16_18:3;620 uint64_t pause_drp:1;621 uint64_t loc_fault:1;622 uint64_t rem_fault:1;623 uint64_t bad_seq:1;624 uint64_t bad_term:1;625 uint64_t unsop:1;626 uint64_t uneop:1;627 uint64_t undat:1;628 uint64_t hg2fld:1;629 uint64_t hg2cc:1;630 uint64_t reserved_29_63:35;631 } cn52xx;632 struct cvmx_gmxx_rxx_int_reg_cn56xxp1 {633 uint64_t reserved_0_0:1;634 uint64_t carext:1;635 uint64_t reserved_2_2:1;636 uint64_t jabber:1;637 uint64_t fcserr:1;638 uint64_t reserved_5_6:2;639 uint64_t rcverr:1;640 uint64_t skperr:1;641 uint64_t reserved_9_9:1;642 uint64_t ovrerr:1;643 uint64_t pcterr:1;644 uint64_t rsverr:1;645 uint64_t falerr:1;646 uint64_t coldet:1;647 uint64_t ifgerr:1;648 uint64_t reserved_16_18:3;649 uint64_t pause_drp:1;650 uint64_t loc_fault:1;651 uint64_t rem_fault:1;652 uint64_t bad_seq:1;653 uint64_t bad_term:1;654 uint64_t unsop:1;655 uint64_t uneop:1;656 uint64_t undat:1;657 uint64_t reserved_27_63:37;658 } cn56xxp1;659 struct cvmx_gmxx_rxx_int_reg_cn58xx {660 uint64_t minerr:1;661 uint64_t carext:1;662 uint64_t maxerr:1;663 uint64_t jabber:1;664 uint64_t fcserr:1;665 uint64_t alnerr:1;666 uint64_t lenerr:1;667 uint64_t rcverr:1;668 uint64_t skperr:1;669 uint64_t niberr:1;670 uint64_t ovrerr:1;671 uint64_t pcterr:1;672 uint64_t rsverr:1;673 uint64_t falerr:1;674 uint64_t coldet:1;675 uint64_t ifgerr:1;676 uint64_t phy_link:1;677 uint64_t phy_spd:1;678 uint64_t phy_dupx:1;679 uint64_t pause_drp:1;680 uint64_t reserved_20_63:44;681 } cn58xx;682 struct cvmx_gmxx_rxx_int_reg_cn61xx {683 uint64_t minerr:1;684 uint64_t carext:1;685 uint64_t reserved_2_2:1;686 uint64_t jabber:1;687 uint64_t fcserr:1;688 uint64_t reserved_5_6:2;689 uint64_t rcverr:1;690 uint64_t skperr:1;691 uint64_t reserved_9_9:1;692 uint64_t ovrerr:1;693 uint64_t pcterr:1;694 uint64_t rsverr:1;695 uint64_t falerr:1;696 uint64_t coldet:1;697 uint64_t ifgerr:1;698 uint64_t reserved_16_18:3;699 uint64_t pause_drp:1;700 uint64_t loc_fault:1;701 uint64_t rem_fault:1;702 uint64_t bad_seq:1;703 uint64_t bad_term:1;704 uint64_t unsop:1;705 uint64_t uneop:1;706 uint64_t undat:1;707 uint64_t hg2fld:1;708 uint64_t hg2cc:1;709 uint64_t reserved_29_63:35;710 } cn61xx;711};712 713union cvmx_gmxx_prtx_cfg {714 uint64_t u64;715 struct cvmx_gmxx_prtx_cfg_s {716 uint64_t reserved_22_63:42;717 uint64_t pknd:6;718 uint64_t reserved_14_15:2;719 uint64_t tx_idle:1;720 uint64_t rx_idle:1;721 uint64_t reserved_9_11:3;722 uint64_t speed_msb:1;723 uint64_t reserved_4_7:4;724 uint64_t slottime:1;725 uint64_t duplex:1;726 uint64_t speed:1;727 uint64_t en:1;728 } s;729 struct cvmx_gmxx_prtx_cfg_cn30xx {730 uint64_t reserved_4_63:60;731 uint64_t slottime:1;732 uint64_t duplex:1;733 uint64_t speed:1;734 uint64_t en:1;735 } cn30xx;736 struct cvmx_gmxx_prtx_cfg_cn52xx {737 uint64_t reserved_14_63:50;738 uint64_t tx_idle:1;739 uint64_t rx_idle:1;740 uint64_t reserved_9_11:3;741 uint64_t speed_msb:1;742 uint64_t reserved_4_7:4;743 uint64_t slottime:1;744 uint64_t duplex:1;745 uint64_t speed:1;746 uint64_t en:1;747 } cn52xx;748};749 750union cvmx_gmxx_rxx_adr_ctl {751 uint64_t u64;752 struct cvmx_gmxx_rxx_adr_ctl_s {753 uint64_t reserved_4_63:60;754 uint64_t cam_mode:1;755 uint64_t mcst:2;756 uint64_t bcst:1;757 } s;758};759 760union cvmx_pip_prt_tagx {761 uint64_t u64;762 struct cvmx_pip_prt_tagx_s {763 uint64_t reserved_54_63:10;764 uint64_t portadd_en:1;765 uint64_t inc_hwchk:1;766 uint64_t reserved_50_51:2;767 uint64_t grptagbase_msb:2;768 uint64_t reserved_46_47:2;769 uint64_t grptagmask_msb:2;770 uint64_t reserved_42_43:2;771 uint64_t grp_msb:2;772 uint64_t grptagbase:4;773 uint64_t grptagmask:4;774 uint64_t grptag:1;775 uint64_t grptag_mskip:1;776 uint64_t tag_mode:2;777 uint64_t inc_vs:2;778 uint64_t inc_vlan:1;779 uint64_t inc_prt_flag:1;780 uint64_t ip6_dprt_flag:1;781 uint64_t ip4_dprt_flag:1;782 uint64_t ip6_sprt_flag:1;783 uint64_t ip4_sprt_flag:1;784 uint64_t ip6_nxth_flag:1;785 uint64_t ip4_pctl_flag:1;786 uint64_t ip6_dst_flag:1;787 uint64_t ip4_dst_flag:1;788 uint64_t ip6_src_flag:1;789 uint64_t ip4_src_flag:1;790 uint64_t tcp6_tag_type:2;791 uint64_t tcp4_tag_type:2;792 uint64_t ip6_tag_type:2;793 uint64_t ip4_tag_type:2;794 uint64_t non_tag_type:2;795 uint64_t grp:4;796 } s;797 struct cvmx_pip_prt_tagx_cn30xx {798 uint64_t reserved_40_63:24;799 uint64_t grptagbase:4;800 uint64_t grptagmask:4;801 uint64_t grptag:1;802 uint64_t reserved_30_30:1;803 uint64_t tag_mode:2;804 uint64_t inc_vs:2;805 uint64_t inc_vlan:1;806 uint64_t inc_prt_flag:1;807 uint64_t ip6_dprt_flag:1;808 uint64_t ip4_dprt_flag:1;809 uint64_t ip6_sprt_flag:1;810 uint64_t ip4_sprt_flag:1;811 uint64_t ip6_nxth_flag:1;812 uint64_t ip4_pctl_flag:1;813 uint64_t ip6_dst_flag:1;814 uint64_t ip4_dst_flag:1;815 uint64_t ip6_src_flag:1;816 uint64_t ip4_src_flag:1;817 uint64_t tcp6_tag_type:2;818 uint64_t tcp4_tag_type:2;819 uint64_t ip6_tag_type:2;820 uint64_t ip4_tag_type:2;821 uint64_t non_tag_type:2;822 uint64_t grp:4;823 } cn30xx;824 struct cvmx_pip_prt_tagx_cn50xx {825 uint64_t reserved_40_63:24;826 uint64_t grptagbase:4;827 uint64_t grptagmask:4;828 uint64_t grptag:1;829 uint64_t grptag_mskip:1;830 uint64_t tag_mode:2;831 uint64_t inc_vs:2;832 uint64_t inc_vlan:1;833 uint64_t inc_prt_flag:1;834 uint64_t ip6_dprt_flag:1;835 uint64_t ip4_dprt_flag:1;836 uint64_t ip6_sprt_flag:1;837 uint64_t ip4_sprt_flag:1;838 uint64_t ip6_nxth_flag:1;839 uint64_t ip4_pctl_flag:1;840 uint64_t ip6_dst_flag:1;841 uint64_t ip4_dst_flag:1;842 uint64_t ip6_src_flag:1;843 uint64_t ip4_src_flag:1;844 uint64_t tcp6_tag_type:2;845 uint64_t tcp4_tag_type:2;846 uint64_t ip6_tag_type:2;847 uint64_t ip4_tag_type:2;848 uint64_t non_tag_type:2;849 uint64_t grp:4;850 } cn50xx;851};852 853union cvmx_spxx_int_reg {854 uint64_t u64;855 struct cvmx_spxx_int_reg_s {856 uint64_t reserved_32_63:32;857 uint64_t spf:1;858 uint64_t reserved_12_30:19;859 uint64_t calerr:1;860 uint64_t syncerr:1;861 uint64_t diperr:1;862 uint64_t tpaovr:1;863 uint64_t rsverr:1;864 uint64_t drwnng:1;865 uint64_t clserr:1;866 uint64_t spiovr:1;867 uint64_t reserved_2_3:2;868 uint64_t abnorm:1;869 uint64_t prtnxa:1;870 } s;871};872 873union cvmx_spxx_int_msk {874 uint64_t u64;875 struct cvmx_spxx_int_msk_s {876 uint64_t reserved_12_63:52;877 uint64_t calerr:1;878 uint64_t syncerr:1;879 uint64_t diperr:1;880 uint64_t tpaovr:1;881 uint64_t rsverr:1;882 uint64_t drwnng:1;883 uint64_t clserr:1;884 uint64_t spiovr:1;885 uint64_t reserved_2_3:2;886 uint64_t abnorm:1;887 uint64_t prtnxa:1;888 } s;889};890 891union cvmx_pow_wq_int {892 uint64_t u64;893 struct cvmx_pow_wq_int_s {894 uint64_t wq_int:16;895 uint64_t iq_dis:16;896 uint64_t reserved_32_63:32;897 } s;898};899 900union cvmx_sso_wq_int_thrx {901 uint64_t u64;902 struct {903 uint64_t iq_thr:12;904 uint64_t reserved_12_13:2;905 uint64_t ds_thr:12;906 uint64_t reserved_26_27:2;907 uint64_t tc_thr:4;908 uint64_t tc_en:1;909 uint64_t reserved_33_63:31;910 } s;911};912 913union cvmx_stxx_int_reg {914 uint64_t u64;915 struct cvmx_stxx_int_reg_s {916 uint64_t reserved_9_63:55;917 uint64_t syncerr:1;918 uint64_t frmerr:1;919 uint64_t unxfrm:1;920 uint64_t nosync:1;921 uint64_t diperr:1;922 uint64_t datovr:1;923 uint64_t ovrbst:1;924 uint64_t calpar1:1;925 uint64_t calpar0:1;926 } s;927};928 929union cvmx_stxx_int_msk {930 uint64_t u64;931 struct cvmx_stxx_int_msk_s {932 uint64_t reserved_8_63:56;933 uint64_t frmerr:1;934 uint64_t unxfrm:1;935 uint64_t nosync:1;936 uint64_t diperr:1;937 uint64_t datovr:1;938 uint64_t ovrbst:1;939 uint64_t calpar1:1;940 uint64_t calpar0:1;941 } s;942};943 944union cvmx_pow_wq_int_pc {945 uint64_t u64;946 struct cvmx_pow_wq_int_pc_s {947 uint64_t reserved_0_7:8;948 uint64_t pc_thr:20;949 uint64_t reserved_28_31:4;950 uint64_t pc:28;951 uint64_t reserved_60_63:4;952 } s;953};954 955union cvmx_pow_wq_int_thrx {956 uint64_t u64;957 struct cvmx_pow_wq_int_thrx_s {958 uint64_t reserved_29_63:35;959 uint64_t tc_en:1;960 uint64_t tc_thr:4;961 uint64_t reserved_23_23:1;962 uint64_t ds_thr:11;963 uint64_t reserved_11_11:1;964 uint64_t iq_thr:11;965 } s;966 struct cvmx_pow_wq_int_thrx_cn30xx {967 uint64_t reserved_29_63:35;968 uint64_t tc_en:1;969 uint64_t tc_thr:4;970 uint64_t reserved_18_23:6;971 uint64_t ds_thr:6;972 uint64_t reserved_6_11:6;973 uint64_t iq_thr:6;974 } cn30xx;975 struct cvmx_pow_wq_int_thrx_cn31xx {976 uint64_t reserved_29_63:35;977 uint64_t tc_en:1;978 uint64_t tc_thr:4;979 uint64_t reserved_20_23:4;980 uint64_t ds_thr:8;981 uint64_t reserved_8_11:4;982 uint64_t iq_thr:8;983 } cn31xx;984 struct cvmx_pow_wq_int_thrx_cn52xx {985 uint64_t reserved_29_63:35;986 uint64_t tc_en:1;987 uint64_t tc_thr:4;988 uint64_t reserved_21_23:3;989 uint64_t ds_thr:9;990 uint64_t reserved_9_11:3;991 uint64_t iq_thr:9;992 } cn52xx;993 struct cvmx_pow_wq_int_thrx_cn63xx {994 uint64_t reserved_29_63:35;995 uint64_t tc_en:1;996 uint64_t tc_thr:4;997 uint64_t reserved_22_23:2;998 uint64_t ds_thr:10;999 uint64_t reserved_10_11:2;1000 uint64_t iq_thr:10;1001 } cn63xx;1002};1003 1004union cvmx_npi_rsl_int_blocks {1005 uint64_t u64;1006 struct cvmx_npi_rsl_int_blocks_s {1007 uint64_t reserved_32_63:32;1008 uint64_t rint_31:1;1009 uint64_t iob:1;1010 uint64_t reserved_28_29:2;1011 uint64_t rint_27:1;1012 uint64_t rint_26:1;1013 uint64_t rint_25:1;1014 uint64_t rint_24:1;1015 uint64_t asx1:1;1016 uint64_t asx0:1;1017 uint64_t rint_21:1;1018 uint64_t pip:1;1019 uint64_t spx1:1;1020 uint64_t spx0:1;1021 uint64_t lmc:1;1022 uint64_t l2c:1;1023 uint64_t rint_15:1;1024 uint64_t reserved_13_14:2;1025 uint64_t pow:1;1026 uint64_t tim:1;1027 uint64_t pko:1;1028 uint64_t ipd:1;1029 uint64_t rint_8:1;1030 uint64_t zip:1;1031 uint64_t dfa:1;1032 uint64_t fpa:1;1033 uint64_t key:1;1034 uint64_t npi:1;1035 uint64_t gmx1:1;1036 uint64_t gmx0:1;1037 uint64_t mio:1;1038 } s;1039 struct cvmx_npi_rsl_int_blocks_cn30xx {1040 uint64_t reserved_32_63:32;1041 uint64_t rint_31:1;1042 uint64_t iob:1;1043 uint64_t rint_29:1;1044 uint64_t rint_28:1;1045 uint64_t rint_27:1;1046 uint64_t rint_26:1;1047 uint64_t rint_25:1;1048 uint64_t rint_24:1;1049 uint64_t asx1:1;1050 uint64_t asx0:1;1051 uint64_t rint_21:1;1052 uint64_t pip:1;1053 uint64_t spx1:1;1054 uint64_t spx0:1;1055 uint64_t lmc:1;1056 uint64_t l2c:1;1057 uint64_t rint_15:1;1058 uint64_t rint_14:1;1059 uint64_t usb:1;1060 uint64_t pow:1;1061 uint64_t tim:1;1062 uint64_t pko:1;1063 uint64_t ipd:1;1064 uint64_t rint_8:1;1065 uint64_t zip:1;1066 uint64_t dfa:1;1067 uint64_t fpa:1;1068 uint64_t key:1;1069 uint64_t npi:1;1070 uint64_t gmx1:1;1071 uint64_t gmx0:1;1072 uint64_t mio:1;1073 } cn30xx;1074 struct cvmx_npi_rsl_int_blocks_cn38xx {1075 uint64_t reserved_32_63:32;1076 uint64_t rint_31:1;1077 uint64_t iob:1;1078 uint64_t rint_29:1;1079 uint64_t rint_28:1;1080 uint64_t rint_27:1;1081 uint64_t rint_26:1;1082 uint64_t rint_25:1;1083 uint64_t rint_24:1;1084 uint64_t asx1:1;1085 uint64_t asx0:1;1086 uint64_t rint_21:1;1087 uint64_t pip:1;1088 uint64_t spx1:1;1089 uint64_t spx0:1;1090 uint64_t lmc:1;1091 uint64_t l2c:1;1092 uint64_t rint_15:1;1093 uint64_t rint_14:1;1094 uint64_t rint_13:1;1095 uint64_t pow:1;1096 uint64_t tim:1;1097 uint64_t pko:1;1098 uint64_t ipd:1;1099 uint64_t rint_8:1;1100 uint64_t zip:1;1101 uint64_t dfa:1;1102 uint64_t fpa:1;1103 uint64_t key:1;1104 uint64_t npi:1;1105 uint64_t gmx1:1;1106 uint64_t gmx0:1;1107 uint64_t mio:1;1108 } cn38xx;1109 struct cvmx_npi_rsl_int_blocks_cn50xx {1110 uint64_t reserved_31_63:33;1111 uint64_t iob:1;1112 uint64_t lmc1:1;1113 uint64_t agl:1;1114 uint64_t reserved_24_27:4;1115 uint64_t asx1:1;1116 uint64_t asx0:1;1117 uint64_t reserved_21_21:1;1118 uint64_t pip:1;1119 uint64_t spx1:1;1120 uint64_t spx0:1;1121 uint64_t lmc:1;1122 uint64_t l2c:1;1123 uint64_t reserved_15_15:1;1124 uint64_t rad:1;1125 uint64_t usb:1;1126 uint64_t pow:1;1127 uint64_t tim:1;1128 uint64_t pko:1;1129 uint64_t ipd:1;1130 uint64_t reserved_8_8:1;1131 uint64_t zip:1;1132 uint64_t dfa:1;1133 uint64_t fpa:1;1134 uint64_t key:1;1135 uint64_t npi:1;1136 uint64_t gmx1:1;1137 uint64_t gmx0:1;1138 uint64_t mio:1;1139 } cn50xx;1140};1141 1142union cvmx_pko_command_word0 {1143 uint64_t u64;1144 struct {1145 uint64_t total_bytes:16;1146 uint64_t segs:6;1147 uint64_t dontfree:1;1148 uint64_t ignore_i:1;1149 uint64_t ipoffp1:7;1150 uint64_t gather:1;1151 uint64_t rsp:1;1152 uint64_t wqp:1;1153 uint64_t n2:1;1154 uint64_t le:1;1155 uint64_t reg0:11;1156 uint64_t subone0:1;1157 uint64_t reg1:11;1158 uint64_t subone1:1;1159 uint64_t size0:2;1160 uint64_t size1:2;1161 } s;1162};1163 1164union cvmx_ciu_timx {1165 uint64_t u64;1166 struct cvmx_ciu_timx_s {1167 uint64_t reserved_37_63:27;1168 uint64_t one_shot:1;1169 uint64_t len:36;1170 } s;1171};1172 1173union cvmx_gmxx_rxx_rx_inbnd {1174 uint64_t u64;1175 struct cvmx_gmxx_rxx_rx_inbnd_s {1176 uint64_t status:1;1177 uint64_t speed:2;1178 uint64_t duplex:1;1179 uint64_t reserved_4_63:60;1180 } s;1181};1182 1183static inline int32_t cvmx_fau_fetch_and_add32(enum cvmx_fau_reg_32 reg,1184 int32_t value)1185{1186 return value;1187}1188 1189static inline void cvmx_fau_atomic_add32(enum cvmx_fau_reg_32 reg,1190 int32_t value)1191{ }1192 1193static inline void cvmx_fau_atomic_write32(enum cvmx_fau_reg_32 reg,1194 int32_t value)1195{ }1196 1197static inline uint64_t cvmx_scratch_read64(uint64_t address)1198{1199 return 0;1200}1201 1202static inline void cvmx_scratch_write64(uint64_t address, uint64_t value)1203{ }1204 1205static inline int cvmx_wqe_get_grp(struct cvmx_wqe *work)1206{1207 return 0;1208}1209 1210static inline void *cvmx_phys_to_ptr(uint64_t physical_address)1211{1212 return (void *)(uintptr_t)(physical_address);1213}1214 1215static inline phys_addr_t cvmx_ptr_to_phys(void *ptr)1216{1217 return (unsigned long)ptr;1218}1219 1220static inline int cvmx_helper_get_interface_num(int ipd_port)1221{1222 return ipd_port;1223}1224 1225static inline int cvmx_helper_get_interface_index_num(int ipd_port)1226{1227 return ipd_port;1228}1229 1230static inline void cvmx_fpa_enable(void)1231{ }1232 1233static inline uint64_t cvmx_read_csr(uint64_t csr_addr)1234{1235 return 0;1236}1237 1238static inline void cvmx_write_csr(uint64_t csr_addr, uint64_t val)1239{ }1240 1241static inline int cvmx_helper_setup_red(int pass_thresh, int drop_thresh)1242{1243 return 0;1244}1245 1246static inline void *cvmx_fpa_alloc(uint64_t pool)1247{1248 return NULL;1249}1250 1251static inline void cvmx_fpa_free(void *ptr, uint64_t pool,1252 uint64_t num_cache_lines)1253{ }1254 1255static inline int octeon_is_simulation(void)1256{1257 return 1;1258}1259 1260static inline void cvmx_pip_get_port_status(uint64_t port_num, uint64_t clear,1261 cvmx_pip_port_status_t *status)1262{ }1263 1264static inline void cvmx_pko_get_port_status(uint64_t port_num, uint64_t clear,1265 cvmx_pko_port_status_t *status)1266{ }1267 1268static inline cvmx_helper_interface_mode_t cvmx_helper_interface_get_mode(int1269 interface)1270{1271 return 0;1272}1273 1274static inline union cvmx_helper_link_info cvmx_helper_link_get(int ipd_port)1275{1276 union cvmx_helper_link_info ret = { .u64 = 0 };1277 1278 return ret;1279}1280 1281static inline int cvmx_helper_link_set(int ipd_port,1282 union cvmx_helper_link_info link_info)1283{1284 return 0;1285}1286 1287static inline int cvmx_helper_initialize_packet_io_global(void)1288{1289 return 0;1290}1291 1292static inline int cvmx_helper_get_number_of_interfaces(void)1293{1294 return 2;1295}1296 1297static inline int cvmx_helper_ports_on_interface(int interface)1298{1299 return 1;1300}1301 1302static inline int cvmx_helper_get_ipd_port(int interface, int port)1303{1304 return 0;1305}1306 1307static inline int cvmx_helper_ipd_and_packet_input_enable(void)1308{1309 return 0;1310}1311 1312static inline void cvmx_ipd_disable(void)1313{ }1314 1315static inline void cvmx_ipd_free_ptr(void)1316{ }1317 1318static inline void cvmx_pko_disable(void)1319{ }1320 1321static inline void cvmx_pko_shutdown(void)1322{ }1323 1324static inline int cvmx_pko_get_base_queue_per_core(int port, int core)1325{1326 return port;1327}1328 1329static inline int cvmx_pko_get_base_queue(int port)1330{1331 return port;1332}1333 1334static inline int cvmx_pko_get_num_queues(int port)1335{1336 return port;1337}1338 1339static inline unsigned int cvmx_get_core_num(void)1340{1341 return 0;1342}1343 1344static inline void cvmx_pow_work_request_async_nocheck(int scr_addr,1345 cvmx_pow_wait_t wait)1346{ }1347 1348static inline void cvmx_pow_work_request_async(int scr_addr,1349 cvmx_pow_wait_t wait)1350{ }1351 1352static inline struct cvmx_wqe *cvmx_pow_work_response_async(int scr_addr)1353{1354 struct cvmx_wqe *wqe = (void *)(unsigned long)scr_addr;1355 1356 return wqe;1357}1358 1359static inline struct cvmx_wqe *cvmx_pow_work_request_sync(cvmx_pow_wait_t wait)1360{1361 return (void *)(unsigned long)wait;1362}1363 1364static inline int cvmx_spi_restart_interface(int interface,1365 cvmx_spi_mode_t mode, int timeout)1366{1367 return 0;1368}1369 1370static inline void cvmx_fau_async_fetch_and_add32(uint64_t scraddr,1371 enum cvmx_fau_reg_32 reg,1372 int32_t value)1373{ }1374 1375static inline union cvmx_gmxx_rxx_rx_inbnd cvmx_spi4000_check_speed(int interface, int port)1376{1377 union cvmx_gmxx_rxx_rx_inbnd r;1378 1379 r.u64 = 0;1380 return r;1381}1382 1383static inline void cvmx_pko_send_packet_prepare(uint64_t port, uint64_t queue,1384 cvmx_pko_lock_t use_locking)1385{ }1386 1387static inline cvmx_pko_status_t cvmx_pko_send_packet_finish(uint64_t port,1388 uint64_t queue, union cvmx_pko_command_word0 pko_command,1389 union cvmx_buf_ptr packet, cvmx_pko_lock_t use_locking)1390{1391 return 0;1392}1393 1394static inline void cvmx_wqe_set_port(struct cvmx_wqe *work, int port)1395{ }1396 1397static inline void cvmx_wqe_set_qos(struct cvmx_wqe *work, int qos)1398{ }1399 1400static inline int cvmx_wqe_get_qos(struct cvmx_wqe *work)1401{1402 return 0;1403}1404 1405static inline void cvmx_wqe_set_grp(struct cvmx_wqe *work, int grp)1406{ }1407 1408static inline void cvmx_pow_work_submit(struct cvmx_wqe *wqp, uint32_t tag,1409 enum cvmx_pow_tag_type tag_type,1410 uint64_t qos, uint64_t grp)1411{ }1412 1413#define CVMX_ASXX_RX_CLK_SETX(a, b) ((a) + (b))1414#define CVMX_ASXX_TX_CLK_SETX(a, b) ((a) + (b))1415#define CVMX_CIU_TIMX(a) (a)1416#define CVMX_GMXX_RXX_ADR_CAM0(a, b) ((a) + (b))1417#define CVMX_GMXX_RXX_ADR_CAM1(a, b) ((a) + (b))1418#define CVMX_GMXX_RXX_ADR_CAM2(a, b) ((a) + (b))1419#define CVMX_GMXX_RXX_ADR_CAM3(a, b) ((a) + (b))1420#define CVMX_GMXX_RXX_ADR_CAM4(a, b) ((a) + (b))1421#define CVMX_GMXX_RXX_ADR_CAM5(a, b) ((a) + (b))1422#define CVMX_GMXX_RXX_FRM_CTL(a, b) ((a) + (b))1423#define CVMX_GMXX_RXX_INT_REG(a, b) ((a) + (b))1424#define CVMX_GMXX_SMACX(a, b) ((a) + (b))1425#define CVMX_PIP_PRT_TAGX(a) (a)1426#define CVMX_POW_PP_GRP_MSKX(a) (a)1427#define CVMX_POW_WQ_INT_THRX(a) (a)1428#define CVMX_SPXX_INT_MSK(a) (a)1429#define CVMX_SPXX_INT_REG(a) (a)1430#define CVMX_SSO_PPX_GRP_MSK(a) (a)1431#define CVMX_SSO_WQ_INT_THRX(a) (a)1432#define CVMX_STXX_INT_MSK(a) (a)1433#define CVMX_STXX_INT_REG(a) (a)1434