1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #define CONFIG_CAVIUM_OCTEON_CVMSEG_SIZE 512 3 4 #ifndef XKPHYS_TO_PHYS 5 # define XKPHYS_TO_PHYS(p) (p) 6 #endif 7 8 #define OCTEON_IRQ_WORKQ0 0 9 #define OCTEON_IRQ_RML 0 10 #define OCTEON_IRQ_TIMER1 0 11 #define OCTEON_IS_MODEL(x) 0 12 #define octeon_has_feature(x) 0 13 #define octeon_get_clock_rate() 0 14 15 #define CVMX_SYNCIOBDMA do { } while (0) 16 17 #define CVMX_HELPER_INPUT_TAG_TYPE 0 18 #define CVMX_HELPER_FIRST_MBUFF_SKIP 7 19 #define CVMX_FAU_REG_END (2048) 20 #define CVMX_FPA_OUTPUT_BUFFER_POOL (2) 21 #define CVMX_FPA_OUTPUT_BUFFER_POOL_SIZE 16 22 #define CVMX_FPA_PACKET_POOL (0) 23 #define CVMX_FPA_PACKET_POOL_SIZE 16 24 #define CVMX_FPA_WQE_POOL (1) 25 #define CVMX_FPA_WQE_POOL_SIZE 16 26 #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 0 32 #define CVMX_PIP_FRM_LEN_CHKX(a) (a) 33 #define CVMX_PIP_NUM_INPUT_PORTS 1 34 #define CVMX_SCR_SCRATCH 0 35 #define CVMX_PKO_QUEUES_PER_PORT_INTERFACE0 2 36 #define CVMX_PKO_QUEUES_PER_PORT_INTERFACE1 2 37 #define CVMX_IPD_SUB_PORT_FCS 0 38 #define CVMX_SSO_WQ_IQ_DIS 0 39 #define CVMX_SSO_WQ_INT 0 40 #define CVMX_POW_WQ_INT 0 41 #define CVMX_SSO_WQ_INT_PC 0 42 #define CVMX_NPI_RSL_INT_BLOCKS 0 43 #define CVMX_POW_WQ_INT_PC 0 44 45 union 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 123 union 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 141 union cvmx_wqe_word0 { 142 uint64_t u64; 143 union cvmx_pip_wqe_word0 pip; 144 }; 145 146 union 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 175 union 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 187 struct 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 195 union 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 205 enum cvmx_fau_reg_32 { 206 CVMX_FAU_REG_32_START = 0, 207 }; 208 209 enum 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 = 3 214 }; 215 216 typedef 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 = 3 221 } cvmx_spi_mode_t; 222 223 typedef 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 236 typedef enum { 237 CVMX_POW_WAIT = 1, 238 CVMX_POW_NO_WAIT = 0, 239 } cvmx_pow_wait_t; 240 241 typedef 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 247 typedef 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_ERROR 255 } cvmx_pko_status_t; 256 257 enum 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 = 3L 262 }; 263 264 union 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 360 union 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 378 union 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 387 typedef 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 412 typedef struct { 413 uint32_t packets; 414 uint64_t octets; 415 uint64_t doorbell; 416 } cvmx_pko_port_status_t; 417 418 union 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 427 union 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 524 union 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 713 union 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 750 union 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 760 union 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 853 union 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 873 union 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 891 union 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 900 union 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 913 union 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 929 union 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 944 union 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 955 union 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 1004 union 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 1142 union 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 1164 union 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 1173 union 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 1183 static inline int32_t cvmx_fau_fetch_and_add32(enum cvmx_fau_reg_32 reg, 1184 int32_t value) 1185 { 1186 return value; 1187 } 1188 1189 static inline void cvmx_fau_atomic_add32(enum cvmx_fau_reg_32 reg, 1190 int32_t value) 1191 { } 1192 1193 static inline void cvmx_fau_atomic_write32(enum cvmx_fau_reg_32 reg, 1194 int32_t value) 1195 { } 1196 1197 static inline uint64_t cvmx_scratch_read64(uint64_t address) 1198 { 1199 return 0; 1200 } 1201 1202 static inline void cvmx_scratch_write64(uint64_t address, uint64_t value) 1203 { } 1204 1205 static inline int cvmx_wqe_get_grp(struct cvmx_wqe *work) 1206 { 1207 return 0; 1208 } 1209 1210 static inline void *cvmx_phys_to_ptr(uint64_t physical_address) 1211 { 1212 return (void *)(uintptr_t)(physical_address); 1213 } 1214 1215 static inline phys_addr_t cvmx_ptr_to_phys(void *ptr) 1216 { 1217 return (unsigned long)ptr; 1218 } 1219 1220 static inline int cvmx_helper_get_interface_num(int ipd_port) 1221 { 1222 return ipd_port; 1223 } 1224 1225 static inline int cvmx_helper_get_interface_index_num(int ipd_port) 1226 { 1227 return ipd_port; 1228 } 1229 1230 static inline void cvmx_fpa_enable(void) 1231 { } 1232 1233 static inline uint64_t cvmx_read_csr(uint64_t csr_addr) 1234 { 1235 return 0; 1236 } 1237 1238 static inline void cvmx_write_csr(uint64_t csr_addr, uint64_t val) 1239 { } 1240 1241 static inline int cvmx_helper_setup_red(int pass_thresh, int drop_thresh) 1242 { 1243 return 0; 1244 } 1245 1246 static inline void *cvmx_fpa_alloc(uint64_t pool) 1247 { 1248 return NULL; 1249 } 1250 1251 static inline void cvmx_fpa_free(void *ptr, uint64_t pool, 1252 uint64_t num_cache_lines) 1253 { } 1254 1255 static inline int octeon_is_simulation(void) 1256 { 1257 return 1; 1258 } 1259 1260 static inline void cvmx_pip_get_port_status(uint64_t port_num, uint64_t clear, 1261 cvmx_pip_port_status_t *status) 1262 { } 1263 1264 static inline void cvmx_pko_get_port_status(uint64_t port_num, uint64_t clear, 1265 cvmx_pko_port_status_t *status) 1266 { } 1267 1268 static inline cvmx_helper_interface_mode_t cvmx_helper_interface_get_mode(int 1269 interface) 1270 { 1271 return 0; 1272 } 1273 1274 static 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 1281 static inline int cvmx_helper_link_set(int ipd_port, 1282 union cvmx_helper_link_info link_info) 1283 { 1284 return 0; 1285 } 1286 1287 static inline int cvmx_helper_initialize_packet_io_global(void) 1288 { 1289 return 0; 1290 } 1291 1292 static inline int cvmx_helper_get_number_of_interfaces(void) 1293 { 1294 return 2; 1295 } 1296 1297 static inline int cvmx_helper_ports_on_interface(int interface) 1298 { 1299 return 1; 1300 } 1301 1302 static inline int cvmx_helper_get_ipd_port(int interface, int port) 1303 { 1304 return 0; 1305 } 1306 1307 static inline int cvmx_helper_ipd_and_packet_input_enable(void) 1308 { 1309 return 0; 1310 } 1311 1312 static inline void cvmx_ipd_disable(void) 1313 { } 1314 1315 static inline void cvmx_ipd_free_ptr(void) 1316 { } 1317 1318 static inline void cvmx_pko_disable(void) 1319 { } 1320 1321 static inline void cvmx_pko_shutdown(void) 1322 { } 1323 1324 static inline int cvmx_pko_get_base_queue_per_core(int port, int core) 1325 { 1326 return port; 1327 } 1328 1329 static inline int cvmx_pko_get_base_queue(int port) 1330 { 1331 return port; 1332 } 1333 1334 static inline int cvmx_pko_get_num_queues(int port) 1335 { 1336 return port; 1337 } 1338 1339 static inline unsigned int cvmx_get_core_num(void) 1340 { 1341 return 0; 1342 } 1343 1344 static inline void cvmx_pow_work_request_async_nocheck(int scr_addr, 1345 cvmx_pow_wait_t wait) 1346 { } 1347 1348 static inline void cvmx_pow_work_request_async(int scr_addr, 1349 cvmx_pow_wait_t wait) 1350 { } 1351 1352 static 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 1359 static inline struct cvmx_wqe *cvmx_pow_work_request_sync(cvmx_pow_wait_t wait) 1360 { 1361 return (void *)(unsigned long)wait; 1362 } 1363 1364 static inline int cvmx_spi_restart_interface(int interface, 1365 cvmx_spi_mode_t mode, int timeout) 1366 { 1367 return 0; 1368 } 1369 1370 static inline void cvmx_fau_async_fetch_and_add32(uint64_t scraddr, 1371 enum cvmx_fau_reg_32 reg, 1372 int32_t value) 1373 { } 1374 1375 static inline union cvmx_gmxx_rxx_rx_inbnd cvmx_spi4000_check_speed( 1376 int interface, 1377 int port) 1378 { 1379 union cvmx_gmxx_rxx_rx_inbnd r; 1380 1381 r.u64 = 0; 1382 return r; 1383 } 1384 1385 static inline void cvmx_pko_send_packet_prepare(uint64_t port, uint64_t queue, 1386 cvmx_pko_lock_t use_locking) 1387 { } 1388 1389 static inline cvmx_pko_status_t cvmx_pko_send_packet_finish(uint64_t port, 1390 uint64_t queue, union cvmx_pko_command_word0 pko_command, 1391 union cvmx_buf_ptr packet, cvmx_pko_lock_t use_locking) 1392 { 1393 return 0; 1394 } 1395 1396 static inline void cvmx_wqe_set_port(struct cvmx_wqe *work, int port) 1397 { } 1398 1399 static inline void cvmx_wqe_set_qos(struct cvmx_wqe *work, int qos) 1400 { } 1401 1402 static inline int cvmx_wqe_get_qos(struct cvmx_wqe *work) 1403 { 1404 return 0; 1405 } 1406 1407 static inline void cvmx_wqe_set_grp(struct cvmx_wqe *work, int grp) 1408 { } 1409 1410 static inline void cvmx_pow_work_submit(struct cvmx_wqe *wqp, uint32_t tag, 1411 enum cvmx_pow_tag_type tag_type, 1412 uint64_t qos, uint64_t grp) 1413 { } 1414 1415 #define CVMX_ASXX_RX_CLK_SETX(a, b) ((a) + (b)) 1416 #define CVMX_ASXX_TX_CLK_SETX(a, b) ((a) + (b)) 1417 #define CVMX_CIU_TIMX(a) (a) 1418 #define CVMX_GMXX_RXX_ADR_CAM0(a, b) ((a) + (b)) 1419 #define CVMX_GMXX_RXX_ADR_CAM1(a, b) ((a) + (b)) 1420 #define CVMX_GMXX_RXX_ADR_CAM2(a, b) ((a) + (b)) 1421 #define CVMX_GMXX_RXX_ADR_CAM3(a, b) ((a) + (b)) 1422 #define CVMX_GMXX_RXX_ADR_CAM4(a, b) ((a) + (b)) 1423 #define CVMX_GMXX_RXX_ADR_CAM5(a, b) ((a) + (b)) 1424 #define CVMX_GMXX_RXX_FRM_CTL(a, b) ((a) + (b)) 1425 #define CVMX_GMXX_RXX_INT_REG(a, b) ((a) + (b)) 1426 #define CVMX_GMXX_SMACX(a, b) ((a) + (b)) 1427 #define CVMX_PIP_PRT_TAGX(a) (a) 1428 #define CVMX_POW_PP_GRP_MSKX(a) (a) 1429 #define CVMX_POW_WQ_INT_THRX(a) (a) 1430 #define CVMX_SPXX_INT_MSK(a) (a) 1431 #define CVMX_SPXX_INT_REG(a) (a) 1432 #define CVMX_SSO_PPX_GRP_MSK(a) (a) 1433 #define CVMX_SSO_WQ_INT_THRX(a) (a) 1434 #define CVMX_STXX_INT_MSK(a) (a) 1435 #define CVMX_STXX_INT_REG(a) (a) 1436