1 /***********************license start*************** 2 * Author: Cavium Networks 3 * 4 * Contact: support@caviumnetworks.com 5 * This file is part of the OCTEON SDK 6 * 7 * Copyright (c) 2003-2012 Cavium Networks 8 * 9 * This file is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License, Version 2, as 11 * published by the Free Software Foundation. 12 * 13 * This file is distributed in the hope that it will be useful, but 14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty 15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or 16 * NONINFRINGEMENT. See the GNU General Public License for more 17 * details. 18 * 19 * You should have received a copy of the GNU General Public License 20 * along with this file; if not, write to the Free Software 21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 22 * or visit http://www.gnu.org/licenses/. 23 * 24 * This file may also be available under a different license from Cavium. 25 * Contact Cavium Networks for more information 26 ***********************license end**************************************/ 27 28 #ifndef __CVMX_ASXX_DEFS_H__ 29 #define __CVMX_ASXX_DEFS_H__ 30 31 #define CVMX_ASXX_GMII_RX_CLK_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000180ull)) 32 #define CVMX_ASXX_GMII_RX_DAT_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000188ull)) 33 #define CVMX_ASXX_INT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000018ull) + ((block_id) & 1) * 0x8000000ull) 34 #define CVMX_ASXX_INT_REG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000010ull) + ((block_id) & 1) * 0x8000000ull) 35 #define CVMX_ASXX_MII_RX_DAT_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000190ull)) 36 #define CVMX_ASXX_PRT_LOOP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000040ull) + ((block_id) & 1) * 0x8000000ull) 37 #define CVMX_ASXX_RLD_BYPASS(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000248ull) + ((block_id) & 1) * 0x8000000ull) 38 #define CVMX_ASXX_RLD_BYPASS_SETTING(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000250ull) + ((block_id) & 1) * 0x8000000ull) 39 #define CVMX_ASXX_RLD_COMP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000220ull) + ((block_id) & 1) * 0x8000000ull) 40 #define CVMX_ASXX_RLD_DATA_DRV(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000218ull) + ((block_id) & 1) * 0x8000000ull) 41 #define CVMX_ASXX_RLD_FCRAM_MODE(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000210ull) + ((block_id) & 1) * 0x8000000ull) 42 #define CVMX_ASXX_RLD_NCTL_STRONG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000230ull) + ((block_id) & 1) * 0x8000000ull) 43 #define CVMX_ASXX_RLD_NCTL_WEAK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000240ull) + ((block_id) & 1) * 0x8000000ull) 44 #define CVMX_ASXX_RLD_PCTL_STRONG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000228ull) + ((block_id) & 1) * 0x8000000ull) 45 #define CVMX_ASXX_RLD_PCTL_WEAK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000238ull) + ((block_id) & 1) * 0x8000000ull) 46 #define CVMX_ASXX_RLD_SETTING(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000258ull) + ((block_id) & 1) * 0x8000000ull) 47 #define CVMX_ASXX_RX_CLK_SETX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000020ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8) 48 #define CVMX_ASXX_RX_PRT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000000ull) + ((block_id) & 1) * 0x8000000ull) 49 #define CVMX_ASXX_RX_WOL(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000100ull) + ((block_id) & 1) * 0x8000000ull) 50 #define CVMX_ASXX_RX_WOL_MSK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000108ull) + ((block_id) & 1) * 0x8000000ull) 51 #define CVMX_ASXX_RX_WOL_POWOK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000118ull) + ((block_id) & 1) * 0x8000000ull) 52 #define CVMX_ASXX_RX_WOL_SIG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000110ull) + ((block_id) & 1) * 0x8000000ull) 53 #define CVMX_ASXX_TX_CLK_SETX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000048ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8) 54 #define CVMX_ASXX_TX_COMP_BYP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000068ull) + ((block_id) & 1) * 0x8000000ull) 55 #define CVMX_ASXX_TX_HI_WATERX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000080ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8) 56 #define CVMX_ASXX_TX_PRT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000008ull) + ((block_id) & 1) * 0x8000000ull) 57 58 union cvmx_asxx_gmii_rx_clk_set { 59 uint64_t u64; 60 struct cvmx_asxx_gmii_rx_clk_set_s { 61 #ifdef __BIG_ENDIAN_BITFIELD 62 uint64_t reserved_5_63:59; 63 uint64_t setting:5; 64 #else 65 uint64_t setting:5; 66 uint64_t reserved_5_63:59; 67 #endif 68 } s; 69 struct cvmx_asxx_gmii_rx_clk_set_s cn30xx; 70 struct cvmx_asxx_gmii_rx_clk_set_s cn31xx; 71 struct cvmx_asxx_gmii_rx_clk_set_s cn50xx; 72 }; 73 74 union cvmx_asxx_gmii_rx_dat_set { 75 uint64_t u64; 76 struct cvmx_asxx_gmii_rx_dat_set_s { 77 #ifdef __BIG_ENDIAN_BITFIELD 78 uint64_t reserved_5_63:59; 79 uint64_t setting:5; 80 #else 81 uint64_t setting:5; 82 uint64_t reserved_5_63:59; 83 #endif 84 } s; 85 struct cvmx_asxx_gmii_rx_dat_set_s cn30xx; 86 struct cvmx_asxx_gmii_rx_dat_set_s cn31xx; 87 struct cvmx_asxx_gmii_rx_dat_set_s cn50xx; 88 }; 89 90 union cvmx_asxx_int_en { 91 uint64_t u64; 92 struct cvmx_asxx_int_en_s { 93 #ifdef __BIG_ENDIAN_BITFIELD 94 uint64_t reserved_12_63:52; 95 uint64_t txpsh:4; 96 uint64_t txpop:4; 97 uint64_t ovrflw:4; 98 #else 99 uint64_t ovrflw:4; 100 uint64_t txpop:4; 101 uint64_t txpsh:4; 102 uint64_t reserved_12_63:52; 103 #endif 104 } s; 105 struct cvmx_asxx_int_en_cn30xx { 106 #ifdef __BIG_ENDIAN_BITFIELD 107 uint64_t reserved_11_63:53; 108 uint64_t txpsh:3; 109 uint64_t reserved_7_7:1; 110 uint64_t txpop:3; 111 uint64_t reserved_3_3:1; 112 uint64_t ovrflw:3; 113 #else 114 uint64_t ovrflw:3; 115 uint64_t reserved_3_3:1; 116 uint64_t txpop:3; 117 uint64_t reserved_7_7:1; 118 uint64_t txpsh:3; 119 uint64_t reserved_11_63:53; 120 #endif 121 } cn30xx; 122 struct cvmx_asxx_int_en_cn30xx cn31xx; 123 struct cvmx_asxx_int_en_s cn38xx; 124 struct cvmx_asxx_int_en_s cn38xxp2; 125 struct cvmx_asxx_int_en_cn30xx cn50xx; 126 struct cvmx_asxx_int_en_s cn58xx; 127 struct cvmx_asxx_int_en_s cn58xxp1; 128 }; 129 130 union cvmx_asxx_int_reg { 131 uint64_t u64; 132 struct cvmx_asxx_int_reg_s { 133 #ifdef __BIG_ENDIAN_BITFIELD 134 uint64_t reserved_12_63:52; 135 uint64_t txpsh:4; 136 uint64_t txpop:4; 137 uint64_t ovrflw:4; 138 #else 139 uint64_t ovrflw:4; 140 uint64_t txpop:4; 141 uint64_t txpsh:4; 142 uint64_t reserved_12_63:52; 143 #endif 144 } s; 145 struct cvmx_asxx_int_reg_cn30xx { 146 #ifdef __BIG_ENDIAN_BITFIELD 147 uint64_t reserved_11_63:53; 148 uint64_t txpsh:3; 149 uint64_t reserved_7_7:1; 150 uint64_t txpop:3; 151 uint64_t reserved_3_3:1; 152 uint64_t ovrflw:3; 153 #else 154 uint64_t ovrflw:3; 155 uint64_t reserved_3_3:1; 156 uint64_t txpop:3; 157 uint64_t reserved_7_7:1; 158 uint64_t txpsh:3; 159 uint64_t reserved_11_63:53; 160 #endif 161 } cn30xx; 162 struct cvmx_asxx_int_reg_cn30xx cn31xx; 163 struct cvmx_asxx_int_reg_s cn38xx; 164 struct cvmx_asxx_int_reg_s cn38xxp2; 165 struct cvmx_asxx_int_reg_cn30xx cn50xx; 166 struct cvmx_asxx_int_reg_s cn58xx; 167 struct cvmx_asxx_int_reg_s cn58xxp1; 168 }; 169 170 union cvmx_asxx_mii_rx_dat_set { 171 uint64_t u64; 172 struct cvmx_asxx_mii_rx_dat_set_s { 173 #ifdef __BIG_ENDIAN_BITFIELD 174 uint64_t reserved_5_63:59; 175 uint64_t setting:5; 176 #else 177 uint64_t setting:5; 178 uint64_t reserved_5_63:59; 179 #endif 180 } s; 181 struct cvmx_asxx_mii_rx_dat_set_s cn30xx; 182 struct cvmx_asxx_mii_rx_dat_set_s cn50xx; 183 }; 184 185 union cvmx_asxx_prt_loop { 186 uint64_t u64; 187 struct cvmx_asxx_prt_loop_s { 188 #ifdef __BIG_ENDIAN_BITFIELD 189 uint64_t reserved_8_63:56; 190 uint64_t ext_loop:4; 191 uint64_t int_loop:4; 192 #else 193 uint64_t int_loop:4; 194 uint64_t ext_loop:4; 195 uint64_t reserved_8_63:56; 196 #endif 197 } s; 198 struct cvmx_asxx_prt_loop_cn30xx { 199 #ifdef __BIG_ENDIAN_BITFIELD 200 uint64_t reserved_7_63:57; 201 uint64_t ext_loop:3; 202 uint64_t reserved_3_3:1; 203 uint64_t int_loop:3; 204 #else 205 uint64_t int_loop:3; 206 uint64_t reserved_3_3:1; 207 uint64_t ext_loop:3; 208 uint64_t reserved_7_63:57; 209 #endif 210 } cn30xx; 211 struct cvmx_asxx_prt_loop_cn30xx cn31xx; 212 struct cvmx_asxx_prt_loop_s cn38xx; 213 struct cvmx_asxx_prt_loop_s cn38xxp2; 214 struct cvmx_asxx_prt_loop_cn30xx cn50xx; 215 struct cvmx_asxx_prt_loop_s cn58xx; 216 struct cvmx_asxx_prt_loop_s cn58xxp1; 217 }; 218 219 union cvmx_asxx_rld_bypass { 220 uint64_t u64; 221 struct cvmx_asxx_rld_bypass_s { 222 #ifdef __BIG_ENDIAN_BITFIELD 223 uint64_t reserved_1_63:63; 224 uint64_t bypass:1; 225 #else 226 uint64_t bypass:1; 227 uint64_t reserved_1_63:63; 228 #endif 229 } s; 230 struct cvmx_asxx_rld_bypass_s cn38xx; 231 struct cvmx_asxx_rld_bypass_s cn38xxp2; 232 struct cvmx_asxx_rld_bypass_s cn58xx; 233 struct cvmx_asxx_rld_bypass_s cn58xxp1; 234 }; 235 236 union cvmx_asxx_rld_bypass_setting { 237 uint64_t u64; 238 struct cvmx_asxx_rld_bypass_setting_s { 239 #ifdef __BIG_ENDIAN_BITFIELD 240 uint64_t reserved_5_63:59; 241 uint64_t setting:5; 242 #else 243 uint64_t setting:5; 244 uint64_t reserved_5_63:59; 245 #endif 246 } s; 247 struct cvmx_asxx_rld_bypass_setting_s cn38xx; 248 struct cvmx_asxx_rld_bypass_setting_s cn38xxp2; 249 struct cvmx_asxx_rld_bypass_setting_s cn58xx; 250 struct cvmx_asxx_rld_bypass_setting_s cn58xxp1; 251 }; 252 253 union cvmx_asxx_rld_comp { 254 uint64_t u64; 255 struct cvmx_asxx_rld_comp_s { 256 #ifdef __BIG_ENDIAN_BITFIELD 257 uint64_t reserved_9_63:55; 258 uint64_t pctl:5; 259 uint64_t nctl:4; 260 #else 261 uint64_t nctl:4; 262 uint64_t pctl:5; 263 uint64_t reserved_9_63:55; 264 #endif 265 } s; 266 struct cvmx_asxx_rld_comp_cn38xx { 267 #ifdef __BIG_ENDIAN_BITFIELD 268 uint64_t reserved_8_63:56; 269 uint64_t pctl:4; 270 uint64_t nctl:4; 271 #else 272 uint64_t nctl:4; 273 uint64_t pctl:4; 274 uint64_t reserved_8_63:56; 275 #endif 276 } cn38xx; 277 struct cvmx_asxx_rld_comp_cn38xx cn38xxp2; 278 struct cvmx_asxx_rld_comp_s cn58xx; 279 struct cvmx_asxx_rld_comp_s cn58xxp1; 280 }; 281 282 union cvmx_asxx_rld_data_drv { 283 uint64_t u64; 284 struct cvmx_asxx_rld_data_drv_s { 285 #ifdef __BIG_ENDIAN_BITFIELD 286 uint64_t reserved_8_63:56; 287 uint64_t pctl:4; 288 uint64_t nctl:4; 289 #else 290 uint64_t nctl:4; 291 uint64_t pctl:4; 292 uint64_t reserved_8_63:56; 293 #endif 294 } s; 295 struct cvmx_asxx_rld_data_drv_s cn38xx; 296 struct cvmx_asxx_rld_data_drv_s cn38xxp2; 297 struct cvmx_asxx_rld_data_drv_s cn58xx; 298 struct cvmx_asxx_rld_data_drv_s cn58xxp1; 299 }; 300 301 union cvmx_asxx_rld_fcram_mode { 302 uint64_t u64; 303 struct cvmx_asxx_rld_fcram_mode_s { 304 #ifdef __BIG_ENDIAN_BITFIELD 305 uint64_t reserved_1_63:63; 306 uint64_t mode:1; 307 #else 308 uint64_t mode:1; 309 uint64_t reserved_1_63:63; 310 #endif 311 } s; 312 struct cvmx_asxx_rld_fcram_mode_s cn38xx; 313 struct cvmx_asxx_rld_fcram_mode_s cn38xxp2; 314 }; 315 316 union cvmx_asxx_rld_nctl_strong { 317 uint64_t u64; 318 struct cvmx_asxx_rld_nctl_strong_s { 319 #ifdef __BIG_ENDIAN_BITFIELD 320 uint64_t reserved_5_63:59; 321 uint64_t nctl:5; 322 #else 323 uint64_t nctl:5; 324 uint64_t reserved_5_63:59; 325 #endif 326 } s; 327 struct cvmx_asxx_rld_nctl_strong_s cn38xx; 328 struct cvmx_asxx_rld_nctl_strong_s cn38xxp2; 329 struct cvmx_asxx_rld_nctl_strong_s cn58xx; 330 struct cvmx_asxx_rld_nctl_strong_s cn58xxp1; 331 }; 332 333 union cvmx_asxx_rld_nctl_weak { 334 uint64_t u64; 335 struct cvmx_asxx_rld_nctl_weak_s { 336 #ifdef __BIG_ENDIAN_BITFIELD 337 uint64_t reserved_5_63:59; 338 uint64_t nctl:5; 339 #else 340 uint64_t nctl:5; 341 uint64_t reserved_5_63:59; 342 #endif 343 } s; 344 struct cvmx_asxx_rld_nctl_weak_s cn38xx; 345 struct cvmx_asxx_rld_nctl_weak_s cn38xxp2; 346 struct cvmx_asxx_rld_nctl_weak_s cn58xx; 347 struct cvmx_asxx_rld_nctl_weak_s cn58xxp1; 348 }; 349 350 union cvmx_asxx_rld_pctl_strong { 351 uint64_t u64; 352 struct cvmx_asxx_rld_pctl_strong_s { 353 #ifdef __BIG_ENDIAN_BITFIELD 354 uint64_t reserved_5_63:59; 355 uint64_t pctl:5; 356 #else 357 uint64_t pctl:5; 358 uint64_t reserved_5_63:59; 359 #endif 360 } s; 361 struct cvmx_asxx_rld_pctl_strong_s cn38xx; 362 struct cvmx_asxx_rld_pctl_strong_s cn38xxp2; 363 struct cvmx_asxx_rld_pctl_strong_s cn58xx; 364 struct cvmx_asxx_rld_pctl_strong_s cn58xxp1; 365 }; 366 367 union cvmx_asxx_rld_pctl_weak { 368 uint64_t u64; 369 struct cvmx_asxx_rld_pctl_weak_s { 370 #ifdef __BIG_ENDIAN_BITFIELD 371 uint64_t reserved_5_63:59; 372 uint64_t pctl:5; 373 #else 374 uint64_t pctl:5; 375 uint64_t reserved_5_63:59; 376 #endif 377 } s; 378 struct cvmx_asxx_rld_pctl_weak_s cn38xx; 379 struct cvmx_asxx_rld_pctl_weak_s cn38xxp2; 380 struct cvmx_asxx_rld_pctl_weak_s cn58xx; 381 struct cvmx_asxx_rld_pctl_weak_s cn58xxp1; 382 }; 383 384 union cvmx_asxx_rld_setting { 385 uint64_t u64; 386 struct cvmx_asxx_rld_setting_s { 387 #ifdef __BIG_ENDIAN_BITFIELD 388 uint64_t reserved_13_63:51; 389 uint64_t dfaset:5; 390 uint64_t dfalag:1; 391 uint64_t dfalead:1; 392 uint64_t dfalock:1; 393 uint64_t setting:5; 394 #else 395 uint64_t setting:5; 396 uint64_t dfalock:1; 397 uint64_t dfalead:1; 398 uint64_t dfalag:1; 399 uint64_t dfaset:5; 400 uint64_t reserved_13_63:51; 401 #endif 402 } s; 403 struct cvmx_asxx_rld_setting_cn38xx { 404 #ifdef __BIG_ENDIAN_BITFIELD 405 uint64_t reserved_5_63:59; 406 uint64_t setting:5; 407 #else 408 uint64_t setting:5; 409 uint64_t reserved_5_63:59; 410 #endif 411 } cn38xx; 412 struct cvmx_asxx_rld_setting_cn38xx cn38xxp2; 413 struct cvmx_asxx_rld_setting_s cn58xx; 414 struct cvmx_asxx_rld_setting_s cn58xxp1; 415 }; 416 417 union cvmx_asxx_rx_clk_setx { 418 uint64_t u64; 419 struct cvmx_asxx_rx_clk_setx_s { 420 #ifdef __BIG_ENDIAN_BITFIELD 421 uint64_t reserved_5_63:59; 422 uint64_t setting:5; 423 #else 424 uint64_t setting:5; 425 uint64_t reserved_5_63:59; 426 #endif 427 } s; 428 struct cvmx_asxx_rx_clk_setx_s cn30xx; 429 struct cvmx_asxx_rx_clk_setx_s cn31xx; 430 struct cvmx_asxx_rx_clk_setx_s cn38xx; 431 struct cvmx_asxx_rx_clk_setx_s cn38xxp2; 432 struct cvmx_asxx_rx_clk_setx_s cn50xx; 433 struct cvmx_asxx_rx_clk_setx_s cn58xx; 434 struct cvmx_asxx_rx_clk_setx_s cn58xxp1; 435 }; 436 437 union cvmx_asxx_rx_prt_en { 438 uint64_t u64; 439 struct cvmx_asxx_rx_prt_en_s { 440 #ifdef __BIG_ENDIAN_BITFIELD 441 uint64_t reserved_4_63:60; 442 uint64_t prt_en:4; 443 #else 444 uint64_t prt_en:4; 445 uint64_t reserved_4_63:60; 446 #endif 447 } s; 448 struct cvmx_asxx_rx_prt_en_cn30xx { 449 #ifdef __BIG_ENDIAN_BITFIELD 450 uint64_t reserved_3_63:61; 451 uint64_t prt_en:3; 452 #else 453 uint64_t prt_en:3; 454 uint64_t reserved_3_63:61; 455 #endif 456 } cn30xx; 457 struct cvmx_asxx_rx_prt_en_cn30xx cn31xx; 458 struct cvmx_asxx_rx_prt_en_s cn38xx; 459 struct cvmx_asxx_rx_prt_en_s cn38xxp2; 460 struct cvmx_asxx_rx_prt_en_cn30xx cn50xx; 461 struct cvmx_asxx_rx_prt_en_s cn58xx; 462 struct cvmx_asxx_rx_prt_en_s cn58xxp1; 463 }; 464 465 union cvmx_asxx_rx_wol { 466 uint64_t u64; 467 struct cvmx_asxx_rx_wol_s { 468 #ifdef __BIG_ENDIAN_BITFIELD 469 uint64_t reserved_2_63:62; 470 uint64_t status:1; 471 uint64_t enable:1; 472 #else 473 uint64_t enable:1; 474 uint64_t status:1; 475 uint64_t reserved_2_63:62; 476 #endif 477 } s; 478 struct cvmx_asxx_rx_wol_s cn38xx; 479 struct cvmx_asxx_rx_wol_s cn38xxp2; 480 }; 481 482 union cvmx_asxx_rx_wol_msk { 483 uint64_t u64; 484 struct cvmx_asxx_rx_wol_msk_s { 485 #ifdef __BIG_ENDIAN_BITFIELD 486 uint64_t msk:64; 487 #else 488 uint64_t msk:64; 489 #endif 490 } s; 491 struct cvmx_asxx_rx_wol_msk_s cn38xx; 492 struct cvmx_asxx_rx_wol_msk_s cn38xxp2; 493 }; 494 495 union cvmx_asxx_rx_wol_powok { 496 uint64_t u64; 497 struct cvmx_asxx_rx_wol_powok_s { 498 #ifdef __BIG_ENDIAN_BITFIELD 499 uint64_t reserved_1_63:63; 500 uint64_t powerok:1; 501 #else 502 uint64_t powerok:1; 503 uint64_t reserved_1_63:63; 504 #endif 505 } s; 506 struct cvmx_asxx_rx_wol_powok_s cn38xx; 507 struct cvmx_asxx_rx_wol_powok_s cn38xxp2; 508 }; 509 510 union cvmx_asxx_rx_wol_sig { 511 uint64_t u64; 512 struct cvmx_asxx_rx_wol_sig_s { 513 #ifdef __BIG_ENDIAN_BITFIELD 514 uint64_t reserved_32_63:32; 515 uint64_t sig:32; 516 #else 517 uint64_t sig:32; 518 uint64_t reserved_32_63:32; 519 #endif 520 } s; 521 struct cvmx_asxx_rx_wol_sig_s cn38xx; 522 struct cvmx_asxx_rx_wol_sig_s cn38xxp2; 523 }; 524 525 union cvmx_asxx_tx_clk_setx { 526 uint64_t u64; 527 struct cvmx_asxx_tx_clk_setx_s { 528 #ifdef __BIG_ENDIAN_BITFIELD 529 uint64_t reserved_5_63:59; 530 uint64_t setting:5; 531 #else 532 uint64_t setting:5; 533 uint64_t reserved_5_63:59; 534 #endif 535 } s; 536 struct cvmx_asxx_tx_clk_setx_s cn30xx; 537 struct cvmx_asxx_tx_clk_setx_s cn31xx; 538 struct cvmx_asxx_tx_clk_setx_s cn38xx; 539 struct cvmx_asxx_tx_clk_setx_s cn38xxp2; 540 struct cvmx_asxx_tx_clk_setx_s cn50xx; 541 struct cvmx_asxx_tx_clk_setx_s cn58xx; 542 struct cvmx_asxx_tx_clk_setx_s cn58xxp1; 543 }; 544 545 union cvmx_asxx_tx_comp_byp { 546 uint64_t u64; 547 struct cvmx_asxx_tx_comp_byp_s { 548 #ifdef __BIG_ENDIAN_BITFIELD 549 uint64_t reserved_0_63:64; 550 #else 551 uint64_t reserved_0_63:64; 552 #endif 553 } s; 554 struct cvmx_asxx_tx_comp_byp_cn30xx { 555 #ifdef __BIG_ENDIAN_BITFIELD 556 uint64_t reserved_9_63:55; 557 uint64_t bypass:1; 558 uint64_t pctl:4; 559 uint64_t nctl:4; 560 #else 561 uint64_t nctl:4; 562 uint64_t pctl:4; 563 uint64_t bypass:1; 564 uint64_t reserved_9_63:55; 565 #endif 566 } cn30xx; 567 struct cvmx_asxx_tx_comp_byp_cn30xx cn31xx; 568 struct cvmx_asxx_tx_comp_byp_cn38xx { 569 #ifdef __BIG_ENDIAN_BITFIELD 570 uint64_t reserved_8_63:56; 571 uint64_t pctl:4; 572 uint64_t nctl:4; 573 #else 574 uint64_t nctl:4; 575 uint64_t pctl:4; 576 uint64_t reserved_8_63:56; 577 #endif 578 } cn38xx; 579 struct cvmx_asxx_tx_comp_byp_cn38xx cn38xxp2; 580 struct cvmx_asxx_tx_comp_byp_cn50xx { 581 #ifdef __BIG_ENDIAN_BITFIELD 582 uint64_t reserved_17_63:47; 583 uint64_t bypass:1; 584 uint64_t reserved_13_15:3; 585 uint64_t pctl:5; 586 uint64_t reserved_5_7:3; 587 uint64_t nctl:5; 588 #else 589 uint64_t nctl:5; 590 uint64_t reserved_5_7:3; 591 uint64_t pctl:5; 592 uint64_t reserved_13_15:3; 593 uint64_t bypass:1; 594 uint64_t reserved_17_63:47; 595 #endif 596 } cn50xx; 597 struct cvmx_asxx_tx_comp_byp_cn58xx { 598 #ifdef __BIG_ENDIAN_BITFIELD 599 uint64_t reserved_13_63:51; 600 uint64_t pctl:5; 601 uint64_t reserved_5_7:3; 602 uint64_t nctl:5; 603 #else 604 uint64_t nctl:5; 605 uint64_t reserved_5_7:3; 606 uint64_t pctl:5; 607 uint64_t reserved_13_63:51; 608 #endif 609 } cn58xx; 610 struct cvmx_asxx_tx_comp_byp_cn58xx cn58xxp1; 611 }; 612 613 union cvmx_asxx_tx_hi_waterx { 614 uint64_t u64; 615 struct cvmx_asxx_tx_hi_waterx_s { 616 #ifdef __BIG_ENDIAN_BITFIELD 617 uint64_t reserved_4_63:60; 618 uint64_t mark:4; 619 #else 620 uint64_t mark:4; 621 uint64_t reserved_4_63:60; 622 #endif 623 } s; 624 struct cvmx_asxx_tx_hi_waterx_cn30xx { 625 #ifdef __BIG_ENDIAN_BITFIELD 626 uint64_t reserved_3_63:61; 627 uint64_t mark:3; 628 #else 629 uint64_t mark:3; 630 uint64_t reserved_3_63:61; 631 #endif 632 } cn30xx; 633 struct cvmx_asxx_tx_hi_waterx_cn30xx cn31xx; 634 struct cvmx_asxx_tx_hi_waterx_s cn38xx; 635 struct cvmx_asxx_tx_hi_waterx_s cn38xxp2; 636 struct cvmx_asxx_tx_hi_waterx_cn30xx cn50xx; 637 struct cvmx_asxx_tx_hi_waterx_s cn58xx; 638 struct cvmx_asxx_tx_hi_waterx_s cn58xxp1; 639 }; 640 641 union cvmx_asxx_tx_prt_en { 642 uint64_t u64; 643 struct cvmx_asxx_tx_prt_en_s { 644 #ifdef __BIG_ENDIAN_BITFIELD 645 uint64_t reserved_4_63:60; 646 uint64_t prt_en:4; 647 #else 648 uint64_t prt_en:4; 649 uint64_t reserved_4_63:60; 650 #endif 651 } s; 652 struct cvmx_asxx_tx_prt_en_cn30xx { 653 #ifdef __BIG_ENDIAN_BITFIELD 654 uint64_t reserved_3_63:61; 655 uint64_t prt_en:3; 656 #else 657 uint64_t prt_en:3; 658 uint64_t reserved_3_63:61; 659 #endif 660 } cn30xx; 661 struct cvmx_asxx_tx_prt_en_cn30xx cn31xx; 662 struct cvmx_asxx_tx_prt_en_s cn38xx; 663 struct cvmx_asxx_tx_prt_en_s cn38xxp2; 664 struct cvmx_asxx_tx_prt_en_cn30xx cn50xx; 665 struct cvmx_asxx_tx_prt_en_s cn58xx; 666 struct cvmx_asxx_tx_prt_en_s cn58xxp1; 667 }; 668 669 #endif 670