cvmx-trax-defs.h revision 259065
1/***********************license start*************** 2 * Copyright (c) 2003-2012 Cavium Inc. (support@cavium.com). All rights 3 * reserved. 4 * 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: 9 * 10 * * Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 13 * * Redistributions in binary form must reproduce the above 14 * copyright notice, this list of conditions and the following 15 * disclaimer in the documentation and/or other materials provided 16 * with the distribution. 17 18 * * Neither the name of Cavium Inc. nor the names of 19 * its contributors may be used to endorse or promote products 20 * derived from this software without specific prior written 21 * permission. 22 23 * This Software, including technical data, may be subject to U.S. export control 24 * laws, including the U.S. Export Administration Act and its associated 25 * regulations, and may be subject to export or import regulations in other 26 * countries. 27 28 * TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS" 29 * AND WITH ALL FAULTS AND CAVIUM INC. MAKES NO PROMISES, REPRESENTATIONS OR 30 * WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO 31 * THE SOFTWARE, INCLUDING ITS CONDITION, ITS CONFORMITY TO ANY REPRESENTATION OR 32 * DESCRIPTION, OR THE EXISTENCE OF ANY LATENT OR PATENT DEFECTS, AND CAVIUM 33 * SPECIFICALLY DISCLAIMS ALL IMPLIED (IF ANY) WARRANTIES OF TITLE, 34 * MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, LACK OF 35 * VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR 36 * CORRESPONDENCE TO DESCRIPTION. THE ENTIRE RISK ARISING OUT OF USE OR 37 * PERFORMANCE OF THE SOFTWARE LIES WITH YOU. 38 ***********************license end**************************************/ 39 40 41/** 42 * cvmx-trax-defs.h 43 * 44 * Configuration and status register (CSR) type definitions for 45 * Octeon trax. 46 * 47 * This file is auto generated. Do not edit. 48 * 49 * <hr>$Revision$<hr> 50 * 51 */ 52#ifndef __CVMX_TRAX_DEFS_H__ 53#define __CVMX_TRAX_DEFS_H__ 54 55#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 56static inline uint64_t CVMX_TRAX_BIST_STATUS(unsigned long block_id) 57{ 58 if (!( 59 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) || 60 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) || 61 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 62 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 63 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 64 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 65 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 66 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 67 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 68 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 69 cvmx_warn("CVMX_TRAX_BIST_STATUS(%lu) is invalid on this chip\n", block_id); 70 return CVMX_ADD_IO_SEG(0x00011800A8000010ull) + ((block_id) & 3) * 0x100000ull; 71} 72#else 73#define CVMX_TRAX_BIST_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800A8000010ull) + ((block_id) & 3) * 0x100000ull) 74#endif 75#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 76static inline uint64_t CVMX_TRAX_CTL(unsigned long block_id) 77{ 78 if (!( 79 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) || 80 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) || 81 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 82 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 83 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 84 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 85 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 86 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 87 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 88 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 89 cvmx_warn("CVMX_TRAX_CTL(%lu) is invalid on this chip\n", block_id); 90 return CVMX_ADD_IO_SEG(0x00011800A8000000ull) + ((block_id) & 3) * 0x100000ull; 91} 92#else 93#define CVMX_TRAX_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800A8000000ull) + ((block_id) & 3) * 0x100000ull) 94#endif 95#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 96static inline uint64_t CVMX_TRAX_CYCLES_SINCE(unsigned long block_id) 97{ 98 if (!( 99 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) || 100 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) || 101 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 102 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 103 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 104 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 105 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 106 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 107 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 108 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 109 cvmx_warn("CVMX_TRAX_CYCLES_SINCE(%lu) is invalid on this chip\n", block_id); 110 return CVMX_ADD_IO_SEG(0x00011800A8000018ull) + ((block_id) & 3) * 0x100000ull; 111} 112#else 113#define CVMX_TRAX_CYCLES_SINCE(block_id) (CVMX_ADD_IO_SEG(0x00011800A8000018ull) + ((block_id) & 3) * 0x100000ull) 114#endif 115#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 116static inline uint64_t CVMX_TRAX_CYCLES_SINCE1(unsigned long block_id) 117{ 118 if (!( 119 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 120 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 121 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 122 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 123 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 124 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 125 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 126 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 127 cvmx_warn("CVMX_TRAX_CYCLES_SINCE1(%lu) is invalid on this chip\n", block_id); 128 return CVMX_ADD_IO_SEG(0x00011800A8000028ull) + ((block_id) & 3) * 0x100000ull; 129} 130#else 131#define CVMX_TRAX_CYCLES_SINCE1(block_id) (CVMX_ADD_IO_SEG(0x00011800A8000028ull) + ((block_id) & 3) * 0x100000ull) 132#endif 133#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 134static inline uint64_t CVMX_TRAX_FILT_ADR_ADR(unsigned long block_id) 135{ 136 if (!( 137 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) || 138 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) || 139 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 140 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 141 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 142 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 143 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 144 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 145 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 146 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 147 cvmx_warn("CVMX_TRAX_FILT_ADR_ADR(%lu) is invalid on this chip\n", block_id); 148 return CVMX_ADD_IO_SEG(0x00011800A8000058ull) + ((block_id) & 3) * 0x100000ull; 149} 150#else 151#define CVMX_TRAX_FILT_ADR_ADR(block_id) (CVMX_ADD_IO_SEG(0x00011800A8000058ull) + ((block_id) & 3) * 0x100000ull) 152#endif 153#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 154static inline uint64_t CVMX_TRAX_FILT_ADR_MSK(unsigned long block_id) 155{ 156 if (!( 157 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) || 158 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) || 159 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 160 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 161 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 162 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 163 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 164 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 165 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 166 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 167 cvmx_warn("CVMX_TRAX_FILT_ADR_MSK(%lu) is invalid on this chip\n", block_id); 168 return CVMX_ADD_IO_SEG(0x00011800A8000060ull) + ((block_id) & 3) * 0x100000ull; 169} 170#else 171#define CVMX_TRAX_FILT_ADR_MSK(block_id) (CVMX_ADD_IO_SEG(0x00011800A8000060ull) + ((block_id) & 3) * 0x100000ull) 172#endif 173#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 174static inline uint64_t CVMX_TRAX_FILT_CMD(unsigned long block_id) 175{ 176 if (!( 177 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) || 178 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) || 179 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 180 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 181 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 182 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 183 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 184 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 185 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 186 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 187 cvmx_warn("CVMX_TRAX_FILT_CMD(%lu) is invalid on this chip\n", block_id); 188 return CVMX_ADD_IO_SEG(0x00011800A8000040ull) + ((block_id) & 3) * 0x100000ull; 189} 190#else 191#define CVMX_TRAX_FILT_CMD(block_id) (CVMX_ADD_IO_SEG(0x00011800A8000040ull) + ((block_id) & 3) * 0x100000ull) 192#endif 193#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 194static inline uint64_t CVMX_TRAX_FILT_DID(unsigned long block_id) 195{ 196 if (!( 197 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) || 198 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) || 199 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 200 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 201 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 202 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 203 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 204 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 205 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 206 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 207 cvmx_warn("CVMX_TRAX_FILT_DID(%lu) is invalid on this chip\n", block_id); 208 return CVMX_ADD_IO_SEG(0x00011800A8000050ull) + ((block_id) & 3) * 0x100000ull; 209} 210#else 211#define CVMX_TRAX_FILT_DID(block_id) (CVMX_ADD_IO_SEG(0x00011800A8000050ull) + ((block_id) & 3) * 0x100000ull) 212#endif 213#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 214static inline uint64_t CVMX_TRAX_FILT_SID(unsigned long block_id) 215{ 216 if (!( 217 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) || 218 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) || 219 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 220 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 221 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 222 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 223 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 224 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 225 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 226 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 227 cvmx_warn("CVMX_TRAX_FILT_SID(%lu) is invalid on this chip\n", block_id); 228 return CVMX_ADD_IO_SEG(0x00011800A8000048ull) + ((block_id) & 3) * 0x100000ull; 229} 230#else 231#define CVMX_TRAX_FILT_SID(block_id) (CVMX_ADD_IO_SEG(0x00011800A8000048ull) + ((block_id) & 3) * 0x100000ull) 232#endif 233#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 234static inline uint64_t CVMX_TRAX_INT_STATUS(unsigned long block_id) 235{ 236 if (!( 237 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) || 238 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) || 239 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 240 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 241 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 242 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 243 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 244 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 245 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 246 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 247 cvmx_warn("CVMX_TRAX_INT_STATUS(%lu) is invalid on this chip\n", block_id); 248 return CVMX_ADD_IO_SEG(0x00011800A8000008ull) + ((block_id) & 3) * 0x100000ull; 249} 250#else 251#define CVMX_TRAX_INT_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800A8000008ull) + ((block_id) & 3) * 0x100000ull) 252#endif 253#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 254static inline uint64_t CVMX_TRAX_READ_DAT(unsigned long block_id) 255{ 256 if (!( 257 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) || 258 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) || 259 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 260 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 261 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 262 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 263 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 264 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 265 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 266 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 267 cvmx_warn("CVMX_TRAX_READ_DAT(%lu) is invalid on this chip\n", block_id); 268 return CVMX_ADD_IO_SEG(0x00011800A8000020ull) + ((block_id) & 3) * 0x100000ull; 269} 270#else 271#define CVMX_TRAX_READ_DAT(block_id) (CVMX_ADD_IO_SEG(0x00011800A8000020ull) + ((block_id) & 3) * 0x100000ull) 272#endif 273#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 274static inline uint64_t CVMX_TRAX_READ_DAT_HI(unsigned long block_id) 275{ 276 if (!( 277 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 278 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 279 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 280 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 281 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 282 cvmx_warn("CVMX_TRAX_READ_DAT_HI(%lu) is invalid on this chip\n", block_id); 283 return CVMX_ADD_IO_SEG(0x00011800A8000030ull) + ((block_id) & 3) * 0x100000ull; 284} 285#else 286#define CVMX_TRAX_READ_DAT_HI(block_id) (CVMX_ADD_IO_SEG(0x00011800A8000030ull) + ((block_id) & 3) * 0x100000ull) 287#endif 288#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 289static inline uint64_t CVMX_TRAX_TRIG0_ADR_ADR(unsigned long block_id) 290{ 291 if (!( 292 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) || 293 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) || 294 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 295 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 296 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 297 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 298 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 299 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 300 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 301 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 302 cvmx_warn("CVMX_TRAX_TRIG0_ADR_ADR(%lu) is invalid on this chip\n", block_id); 303 return CVMX_ADD_IO_SEG(0x00011800A8000098ull) + ((block_id) & 3) * 0x100000ull; 304} 305#else 306#define CVMX_TRAX_TRIG0_ADR_ADR(block_id) (CVMX_ADD_IO_SEG(0x00011800A8000098ull) + ((block_id) & 3) * 0x100000ull) 307#endif 308#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 309static inline uint64_t CVMX_TRAX_TRIG0_ADR_MSK(unsigned long block_id) 310{ 311 if (!( 312 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) || 313 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) || 314 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 315 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 316 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 317 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 318 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 319 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 320 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 321 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 322 cvmx_warn("CVMX_TRAX_TRIG0_ADR_MSK(%lu) is invalid on this chip\n", block_id); 323 return CVMX_ADD_IO_SEG(0x00011800A80000A0ull) + ((block_id) & 3) * 0x100000ull; 324} 325#else 326#define CVMX_TRAX_TRIG0_ADR_MSK(block_id) (CVMX_ADD_IO_SEG(0x00011800A80000A0ull) + ((block_id) & 3) * 0x100000ull) 327#endif 328#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 329static inline uint64_t CVMX_TRAX_TRIG0_CMD(unsigned long block_id) 330{ 331 if (!( 332 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) || 333 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) || 334 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 335 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 336 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 337 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 338 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 339 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 340 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 341 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 342 cvmx_warn("CVMX_TRAX_TRIG0_CMD(%lu) is invalid on this chip\n", block_id); 343 return CVMX_ADD_IO_SEG(0x00011800A8000080ull) + ((block_id) & 3) * 0x100000ull; 344} 345#else 346#define CVMX_TRAX_TRIG0_CMD(block_id) (CVMX_ADD_IO_SEG(0x00011800A8000080ull) + ((block_id) & 3) * 0x100000ull) 347#endif 348#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 349static inline uint64_t CVMX_TRAX_TRIG0_DID(unsigned long block_id) 350{ 351 if (!( 352 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) || 353 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) || 354 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 355 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 356 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 357 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 358 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 359 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 360 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 361 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 362 cvmx_warn("CVMX_TRAX_TRIG0_DID(%lu) is invalid on this chip\n", block_id); 363 return CVMX_ADD_IO_SEG(0x00011800A8000090ull) + ((block_id) & 3) * 0x100000ull; 364} 365#else 366#define CVMX_TRAX_TRIG0_DID(block_id) (CVMX_ADD_IO_SEG(0x00011800A8000090ull) + ((block_id) & 3) * 0x100000ull) 367#endif 368#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 369static inline uint64_t CVMX_TRAX_TRIG0_SID(unsigned long block_id) 370{ 371 if (!( 372 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) || 373 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) || 374 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 375 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 376 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 377 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 378 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 379 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 380 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 381 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 382 cvmx_warn("CVMX_TRAX_TRIG0_SID(%lu) is invalid on this chip\n", block_id); 383 return CVMX_ADD_IO_SEG(0x00011800A8000088ull) + ((block_id) & 3) * 0x100000ull; 384} 385#else 386#define CVMX_TRAX_TRIG0_SID(block_id) (CVMX_ADD_IO_SEG(0x00011800A8000088ull) + ((block_id) & 3) * 0x100000ull) 387#endif 388#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 389static inline uint64_t CVMX_TRAX_TRIG1_ADR_ADR(unsigned long block_id) 390{ 391 if (!( 392 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) || 393 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) || 394 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 395 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 396 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 397 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 398 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 399 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 400 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 401 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 402 cvmx_warn("CVMX_TRAX_TRIG1_ADR_ADR(%lu) is invalid on this chip\n", block_id); 403 return CVMX_ADD_IO_SEG(0x00011800A80000D8ull) + ((block_id) & 3) * 0x100000ull; 404} 405#else 406#define CVMX_TRAX_TRIG1_ADR_ADR(block_id) (CVMX_ADD_IO_SEG(0x00011800A80000D8ull) + ((block_id) & 3) * 0x100000ull) 407#endif 408#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 409static inline uint64_t CVMX_TRAX_TRIG1_ADR_MSK(unsigned long block_id) 410{ 411 if (!( 412 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) || 413 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) || 414 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 415 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 416 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 417 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 418 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 419 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 420 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 421 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 422 cvmx_warn("CVMX_TRAX_TRIG1_ADR_MSK(%lu) is invalid on this chip\n", block_id); 423 return CVMX_ADD_IO_SEG(0x00011800A80000E0ull) + ((block_id) & 3) * 0x100000ull; 424} 425#else 426#define CVMX_TRAX_TRIG1_ADR_MSK(block_id) (CVMX_ADD_IO_SEG(0x00011800A80000E0ull) + ((block_id) & 3) * 0x100000ull) 427#endif 428#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 429static inline uint64_t CVMX_TRAX_TRIG1_CMD(unsigned long block_id) 430{ 431 if (!( 432 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) || 433 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) || 434 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 435 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 436 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 437 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 438 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 439 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 440 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 441 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 442 cvmx_warn("CVMX_TRAX_TRIG1_CMD(%lu) is invalid on this chip\n", block_id); 443 return CVMX_ADD_IO_SEG(0x00011800A80000C0ull) + ((block_id) & 3) * 0x100000ull; 444} 445#else 446#define CVMX_TRAX_TRIG1_CMD(block_id) (CVMX_ADD_IO_SEG(0x00011800A80000C0ull) + ((block_id) & 3) * 0x100000ull) 447#endif 448#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 449static inline uint64_t CVMX_TRAX_TRIG1_DID(unsigned long block_id) 450{ 451 if (!( 452 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) || 453 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) || 454 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 455 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 456 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 457 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 458 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 459 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 460 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 461 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 462 cvmx_warn("CVMX_TRAX_TRIG1_DID(%lu) is invalid on this chip\n", block_id); 463 return CVMX_ADD_IO_SEG(0x00011800A80000D0ull) + ((block_id) & 3) * 0x100000ull; 464} 465#else 466#define CVMX_TRAX_TRIG1_DID(block_id) (CVMX_ADD_IO_SEG(0x00011800A80000D0ull) + ((block_id) & 3) * 0x100000ull) 467#endif 468#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 469static inline uint64_t CVMX_TRAX_TRIG1_SID(unsigned long block_id) 470{ 471 if (!( 472 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) || 473 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) || 474 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) || 475 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) || 476 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) || 477 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id == 0))) || 478 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id == 0))) || 479 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id == 0))) || 480 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 3))) || 481 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id == 0))))) 482 cvmx_warn("CVMX_TRAX_TRIG1_SID(%lu) is invalid on this chip\n", block_id); 483 return CVMX_ADD_IO_SEG(0x00011800A80000C8ull) + ((block_id) & 3) * 0x100000ull; 484} 485#else 486#define CVMX_TRAX_TRIG1_SID(block_id) (CVMX_ADD_IO_SEG(0x00011800A80000C8ull) + ((block_id) & 3) * 0x100000ull) 487#endif 488 489/** 490 * cvmx_tra#_bist_status 491 * 492 * TRA_BIST_STATUS = Trace Buffer BiST Status 493 * 494 * Description: 495 */ 496union cvmx_trax_bist_status { 497 uint64_t u64; 498 struct cvmx_trax_bist_status_s { 499#ifdef __BIG_ENDIAN_BITFIELD 500 uint64_t reserved_3_63 : 61; 501 uint64_t tcf : 1; /**< Bist Results for TCF memory 502 - 0: GOOD (or bist in progress/never run) 503 - 1: BAD */ 504 uint64_t tdf1 : 1; /**< Bist Results for TDF memory 1 505 - 0: GOOD (or bist in progress/never run) 506 - 1: BAD */ 507 uint64_t reserved_0_0 : 1; 508#else 509 uint64_t reserved_0_0 : 1; 510 uint64_t tdf1 : 1; 511 uint64_t tcf : 1; 512 uint64_t reserved_3_63 : 61; 513#endif 514 } s; 515 struct cvmx_trax_bist_status_cn31xx { 516#ifdef __BIG_ENDIAN_BITFIELD 517 uint64_t reserved_3_63 : 61; 518 uint64_t tcf : 1; /**< Bist Results for TCF memory 519 - 0: GOOD (or bist in progress/never run) 520 - 1: BAD */ 521 uint64_t tdf1 : 1; /**< Bist Results for TDF memory 1 522 - 0: GOOD (or bist in progress/never run) 523 - 1: BAD */ 524 uint64_t tdf0 : 1; /**< Bist Results for TCF memory 0 525 - 0: GOOD (or bist in progress/never run) 526 - 1: BAD */ 527#else 528 uint64_t tdf0 : 1; 529 uint64_t tdf1 : 1; 530 uint64_t tcf : 1; 531 uint64_t reserved_3_63 : 61; 532#endif 533 } cn31xx; 534 struct cvmx_trax_bist_status_cn31xx cn38xx; 535 struct cvmx_trax_bist_status_cn31xx cn38xxp2; 536 struct cvmx_trax_bist_status_cn31xx cn52xx; 537 struct cvmx_trax_bist_status_cn31xx cn52xxp1; 538 struct cvmx_trax_bist_status_cn31xx cn56xx; 539 struct cvmx_trax_bist_status_cn31xx cn56xxp1; 540 struct cvmx_trax_bist_status_cn31xx cn58xx; 541 struct cvmx_trax_bist_status_cn31xx cn58xxp1; 542 struct cvmx_trax_bist_status_cn61xx { 543#ifdef __BIG_ENDIAN_BITFIELD 544 uint64_t reserved_1_63 : 63; 545 uint64_t tdf : 1; /**< Bist Results for TCF memory 546 - 0: GOOD (or bist in progress/never run) 547 - 1: BAD */ 548#else 549 uint64_t tdf : 1; 550 uint64_t reserved_1_63 : 63; 551#endif 552 } cn61xx; 553 struct cvmx_trax_bist_status_cn61xx cn63xx; 554 struct cvmx_trax_bist_status_cn61xx cn63xxp1; 555 struct cvmx_trax_bist_status_cn61xx cn66xx; 556 struct cvmx_trax_bist_status_cn61xx cn68xx; 557 struct cvmx_trax_bist_status_cn61xx cn68xxp1; 558 struct cvmx_trax_bist_status_cn61xx cnf71xx; 559}; 560typedef union cvmx_trax_bist_status cvmx_trax_bist_status_t; 561 562/** 563 * cvmx_tra#_ctl 564 * 565 * TRA_CTL = Trace Buffer Control 566 * 567 * Description: 568 * 569 * Notes: 570 * It is illegal to change the values of WRAP, TRIG_CTL, IGNORE_O while tracing (i.e. when ENA=1). 571 * Note that the following fields are present only in chip revisions beginning with pass2: IGNORE_O 572 */ 573union cvmx_trax_ctl { 574 uint64_t u64; 575 struct cvmx_trax_ctl_s { 576#ifdef __BIG_ENDIAN_BITFIELD 577 uint64_t reserved_17_63 : 47; 578 uint64_t rdat_md : 1; /**< TRA_READ_DAT mode bit 579 If set, the TRA_READ_DAT reads will return the lower 580 64 bits of the TRA entry and the upper bits must be 581 read through TRA_READ_DAT_HI. If not set the return 582 value from TRA_READ_DAT accesses will switch between 583 the lower bits and the upper bits of the TRA entry. */ 584 uint64_t clkalways : 1; /**< Conditional clock enable 585 If set, the TRA clock is never disabled. */ 586 uint64_t ignore_o : 1; /**< Ignore overflow during wrap mode 587 If set and wrapping mode is enabled, then tracing 588 will not stop at the overflow condition. Each 589 write during an overflow will overwrite the 590 oldest, unread entry and the read pointer is 591 incremented by one entry. This bit has no effect 592 if WRAP=0. */ 593 uint64_t mcd0_ena : 1; /**< MCD0 enable 594 If set and any PP sends the MCD0 signal, the 595 tracing is disabled. */ 596 uint64_t mcd0_thr : 1; /**< MCD0_threshold 597 At a fill threshold event, sends an MCD0 598 wire pulse that can cause cores to enter debug 599 mode, if enabled. This MCD0 wire pulse will not 600 occur while (TRA_INT_STATUS.MCD0_THR == 1). */ 601 uint64_t mcd0_trg : 1; /**< MCD0_trigger 602 At an end trigger event, sends an MCD0 603 wire pulse that can cause cores to enter debug 604 mode, if enabled. This MCD0 wire pulse will not 605 occur while (TRA_INT_STATUS.MCD0_TRG == 1). */ 606 uint64_t ciu_thr : 1; /**< CIU_threshold 607 When set during a fill threshold event, 608 TRA_INT_STATUS[CIU_THR] is set, which can cause 609 core interrupts, if enabled. */ 610 uint64_t ciu_trg : 1; /**< CIU_trigger 611 When set during an end trigger event, 612 TRA_INT_STATUS[CIU_TRG] is set, which can cause 613 core interrupts, if enabled. */ 614 uint64_t full_thr : 2; /**< Full Threshhold 615 0=none 616 1=1/2 full 617 2=3/4 full 618 3=4/4 full */ 619 uint64_t time_grn : 3; /**< Timestamp granularity 620 granularity=8^n cycles, n=0,1,2,3,4,5,6,7 */ 621 uint64_t trig_ctl : 2; /**< Trigger Control 622 Note: trigger events are written to the trace 623 0=no triggers 624 1=trigger0=start trigger, trigger1=stop trigger 625 2=(trigger0 || trigger1)=start trigger 626 3=(trigger0 || trigger1)=stop trigger */ 627 uint64_t wrap : 1; /**< Wrap mode 628 When WRAP=0, the trace buffer will disable itself 629 after having logged 1024 entries. When WRAP=1, 630 the trace buffer will never disable itself. 631 In this case, tracing may or may not be 632 temporarily suspended during the overflow 633 condition (see IGNORE_O above). 634 0=do not wrap 635 1=wrap */ 636 uint64_t ena : 1; /**< Enable Trace 637 Master enable. Tracing only happens when ENA=1. 638 When ENA changes from 0 to 1, the read and write 639 pointers are reset to 0x00 to begin a new trace. 640 The MCD0 event may set ENA=0 (see MCD0_ENA 641 above). When using triggers, tracing occurs only 642 between start and stop triggers (including the 643 triggers themselves). 644 0=disable 645 1=enable */ 646#else 647 uint64_t ena : 1; 648 uint64_t wrap : 1; 649 uint64_t trig_ctl : 2; 650 uint64_t time_grn : 3; 651 uint64_t full_thr : 2; 652 uint64_t ciu_trg : 1; 653 uint64_t ciu_thr : 1; 654 uint64_t mcd0_trg : 1; 655 uint64_t mcd0_thr : 1; 656 uint64_t mcd0_ena : 1; 657 uint64_t ignore_o : 1; 658 uint64_t clkalways : 1; 659 uint64_t rdat_md : 1; 660 uint64_t reserved_17_63 : 47; 661#endif 662 } s; 663 struct cvmx_trax_ctl_cn31xx { 664#ifdef __BIG_ENDIAN_BITFIELD 665 uint64_t reserved_15_63 : 49; 666 uint64_t ignore_o : 1; /**< Ignore overflow during wrap mode 667 If set and wrapping mode is enabled, then tracing 668 will not stop at the overflow condition. Each 669 write during an overflow will overwrite the 670 oldest, unread entry and the read pointer is 671 incremented by one entry. This bit has no effect 672 if WRAP=0. */ 673 uint64_t mcd0_ena : 1; /**< MCD0 enable 674 If set and any PP sends the MCD0 signal, the 675 tracing is disabled. */ 676 uint64_t mcd0_thr : 1; /**< MCD0_threshold 677 At a fill threshold event, sends an MCD0 678 wire pulse that can cause cores to enter debug 679 mode, if enabled. This MCD0 wire pulse will not 680 occur while (TRA(0..0)_INT_STATUS.MCD0_THR == 1). */ 681 uint64_t mcd0_trg : 1; /**< MCD0_trigger 682 At an end trigger event, sends an MCD0 683 wire pulse that can cause cores to enter debug 684 mode, if enabled. This MCD0 wire pulse will not 685 occur while (TRA(0..0)_INT_STATUS.MCD0_TRG == 1). */ 686 uint64_t ciu_thr : 1; /**< CIU_threshold 687 When set during a fill threshold event, 688 TRA(0..0)_INT_STATUS[CIU_THR] is set, which can cause 689 core interrupts, if enabled. */ 690 uint64_t ciu_trg : 1; /**< CIU_trigger 691 When set during an end trigger event, 692 TRA(0..0)_INT_STATUS[CIU_TRG] is set, which can cause 693 core interrupts, if enabled. */ 694 uint64_t full_thr : 2; /**< Full Threshhold 695 0=none 696 1=1/2 full 697 2=3/4 full 698 3=4/4 full */ 699 uint64_t time_grn : 3; /**< Timestamp granularity 700 granularity=8^n cycles, n=0,1,2,3,4,5,6,7 */ 701 uint64_t trig_ctl : 2; /**< Trigger Control 702 Note: trigger events are written to the trace 703 0=no triggers 704 1=trigger0=start trigger, trigger1=stop trigger 705 2=(trigger0 || trigger1)=start trigger 706 3=(trigger0 || trigger1)=stop trigger */ 707 uint64_t wrap : 1; /**< Wrap mode 708 When WRAP=0, the trace buffer will disable itself 709 after having logged 256 entries. When WRAP=1, 710 the trace buffer will never disable itself. 711 In this case, tracing may or may not be 712 temporarily suspended during the overflow 713 condition (see IGNORE_O above). 714 0=do not wrap 715 1=wrap */ 716 uint64_t ena : 1; /**< Enable Trace 717 Master enable. Tracing only happens when ENA=1. 718 When ENA changes from 0 to 1, the read and write 719 pointers are reset to 0x00 to begin a new trace. 720 The MCD0 event may set ENA=0 (see MCD0_ENA 721 above). When using triggers, tracing occurs only 722 between start and stop triggers (including the 723 triggers themselves). 724 0=disable 725 1=enable */ 726#else 727 uint64_t ena : 1; 728 uint64_t wrap : 1; 729 uint64_t trig_ctl : 2; 730 uint64_t time_grn : 3; 731 uint64_t full_thr : 2; 732 uint64_t ciu_trg : 1; 733 uint64_t ciu_thr : 1; 734 uint64_t mcd0_trg : 1; 735 uint64_t mcd0_thr : 1; 736 uint64_t mcd0_ena : 1; 737 uint64_t ignore_o : 1; 738 uint64_t reserved_15_63 : 49; 739#endif 740 } cn31xx; 741 struct cvmx_trax_ctl_cn31xx cn38xx; 742 struct cvmx_trax_ctl_cn31xx cn38xxp2; 743 struct cvmx_trax_ctl_cn31xx cn52xx; 744 struct cvmx_trax_ctl_cn31xx cn52xxp1; 745 struct cvmx_trax_ctl_cn31xx cn56xx; 746 struct cvmx_trax_ctl_cn31xx cn56xxp1; 747 struct cvmx_trax_ctl_cn31xx cn58xx; 748 struct cvmx_trax_ctl_cn31xx cn58xxp1; 749 struct cvmx_trax_ctl_s cn61xx; 750 struct cvmx_trax_ctl_s cn63xx; 751 struct cvmx_trax_ctl_cn63xxp1 { 752#ifdef __BIG_ENDIAN_BITFIELD 753 uint64_t reserved_16_63 : 48; 754 uint64_t clkalways : 1; /**< Conditional clock enable 755 If set, the TRA clock is never disabled. */ 756 uint64_t ignore_o : 1; /**< Ignore overflow during wrap mode 757 If set and wrapping mode is enabled, then tracing 758 will not stop at the overflow condition. Each 759 write during an overflow will overwrite the 760 oldest, unread entry and the read pointer is 761 incremented by one entry. This bit has no effect 762 if WRAP=0. */ 763 uint64_t mcd0_ena : 1; /**< MCD0 enable 764 If set and any PP sends the MCD0 signal, the 765 tracing is disabled. */ 766 uint64_t mcd0_thr : 1; /**< MCD0_threshold 767 At a fill threshold event, sends an MCD0 768 wire pulse that can cause cores to enter debug 769 mode, if enabled. This MCD0 wire pulse will not 770 occur while (TRA_INT_STATUS.MCD0_THR == 1). */ 771 uint64_t mcd0_trg : 1; /**< MCD0_trigger 772 At an end trigger event, sends an MCD0 773 wire pulse that can cause cores to enter debug 774 mode, if enabled. This MCD0 wire pulse will not 775 occur while (TRA_INT_STATUS.MCD0_TRG == 1). */ 776 uint64_t ciu_thr : 1; /**< CIU_threshold 777 When set during a fill threshold event, 778 TRA_INT_STATUS[CIU_THR] is set, which can cause 779 core interrupts, if enabled. */ 780 uint64_t ciu_trg : 1; /**< CIU_trigger 781 When set during an end trigger event, 782 TRA_INT_STATUS[CIU_TRG] is set, which can cause 783 core interrupts, if enabled. */ 784 uint64_t full_thr : 2; /**< Full Threshhold 785 0=none 786 1=1/2 full 787 2=3/4 full 788 3=4/4 full */ 789 uint64_t time_grn : 3; /**< Timestamp granularity 790 granularity=8^n cycles, n=0,1,2,3,4,5,6,7 */ 791 uint64_t trig_ctl : 2; /**< Trigger Control 792 Note: trigger events are written to the trace 793 0=no triggers 794 1=trigger0=start trigger, trigger1=stop trigger 795 2=(trigger0 || trigger1)=start trigger 796 3=(trigger0 || trigger1)=stop trigger */ 797 uint64_t wrap : 1; /**< Wrap mode 798 When WRAP=0, the trace buffer will disable itself 799 after having logged 1024 entries. When WRAP=1, 800 the trace buffer will never disable itself. 801 In this case, tracing may or may not be 802 temporarily suspended during the overflow 803 condition (see IGNORE_O above). 804 0=do not wrap 805 1=wrap */ 806 uint64_t ena : 1; /**< Enable Trace 807 Master enable. Tracing only happens when ENA=1. 808 When ENA changes from 0 to 1, the read and write 809 pointers are reset to 0x00 to begin a new trace. 810 The MCD0 event may set ENA=0 (see MCD0_ENA 811 above). When using triggers, tracing occurs only 812 between start and stop triggers (including the 813 triggers themselves). 814 0=disable 815 1=enable */ 816#else 817 uint64_t ena : 1; 818 uint64_t wrap : 1; 819 uint64_t trig_ctl : 2; 820 uint64_t time_grn : 3; 821 uint64_t full_thr : 2; 822 uint64_t ciu_trg : 1; 823 uint64_t ciu_thr : 1; 824 uint64_t mcd0_trg : 1; 825 uint64_t mcd0_thr : 1; 826 uint64_t mcd0_ena : 1; 827 uint64_t ignore_o : 1; 828 uint64_t clkalways : 1; 829 uint64_t reserved_16_63 : 48; 830#endif 831 } cn63xxp1; 832 struct cvmx_trax_ctl_s cn66xx; 833 struct cvmx_trax_ctl_s cn68xx; 834 struct cvmx_trax_ctl_s cn68xxp1; 835 struct cvmx_trax_ctl_s cnf71xx; 836}; 837typedef union cvmx_trax_ctl cvmx_trax_ctl_t; 838 839/** 840 * cvmx_tra#_cycles_since 841 * 842 * TRA_CYCLES_SINCE = Trace Buffer Cycles Since Last Write, Read/Write pointers 843 * 844 * Description: 845 * 846 * Notes: 847 * This CSR is obsolete. Use TRA_CYCLES_SINCE1 instead. 848 * 849 */ 850union cvmx_trax_cycles_since { 851 uint64_t u64; 852 struct cvmx_trax_cycles_since_s { 853#ifdef __BIG_ENDIAN_BITFIELD 854 uint64_t cycles : 48; /**< Cycles since the last entry was written */ 855 uint64_t rptr : 8; /**< Read pointer */ 856 uint64_t wptr : 8; /**< Write pointer */ 857#else 858 uint64_t wptr : 8; 859 uint64_t rptr : 8; 860 uint64_t cycles : 48; 861#endif 862 } s; 863 struct cvmx_trax_cycles_since_s cn31xx; 864 struct cvmx_trax_cycles_since_s cn38xx; 865 struct cvmx_trax_cycles_since_s cn38xxp2; 866 struct cvmx_trax_cycles_since_s cn52xx; 867 struct cvmx_trax_cycles_since_s cn52xxp1; 868 struct cvmx_trax_cycles_since_s cn56xx; 869 struct cvmx_trax_cycles_since_s cn56xxp1; 870 struct cvmx_trax_cycles_since_s cn58xx; 871 struct cvmx_trax_cycles_since_s cn58xxp1; 872 struct cvmx_trax_cycles_since_s cn61xx; 873 struct cvmx_trax_cycles_since_s cn63xx; 874 struct cvmx_trax_cycles_since_s cn63xxp1; 875 struct cvmx_trax_cycles_since_s cn66xx; 876 struct cvmx_trax_cycles_since_s cn68xx; 877 struct cvmx_trax_cycles_since_s cn68xxp1; 878 struct cvmx_trax_cycles_since_s cnf71xx; 879}; 880typedef union cvmx_trax_cycles_since cvmx_trax_cycles_since_t; 881 882/** 883 * cvmx_tra#_cycles_since1 884 * 885 * TRA_CYCLES_SINCE1 = Trace Buffer Cycles Since Last Write, Read/Write pointers 886 * 887 * Description: 888 */ 889union cvmx_trax_cycles_since1 { 890 uint64_t u64; 891 struct cvmx_trax_cycles_since1_s { 892#ifdef __BIG_ENDIAN_BITFIELD 893 uint64_t cycles : 40; /**< Cycles since the last entry was written */ 894 uint64_t reserved_22_23 : 2; 895 uint64_t rptr : 10; /**< Read pointer */ 896 uint64_t reserved_10_11 : 2; 897 uint64_t wptr : 10; /**< Write pointer */ 898#else 899 uint64_t wptr : 10; 900 uint64_t reserved_10_11 : 2; 901 uint64_t rptr : 10; 902 uint64_t reserved_22_23 : 2; 903 uint64_t cycles : 40; 904#endif 905 } s; 906 struct cvmx_trax_cycles_since1_s cn52xx; 907 struct cvmx_trax_cycles_since1_s cn52xxp1; 908 struct cvmx_trax_cycles_since1_s cn56xx; 909 struct cvmx_trax_cycles_since1_s cn56xxp1; 910 struct cvmx_trax_cycles_since1_s cn58xx; 911 struct cvmx_trax_cycles_since1_s cn58xxp1; 912 struct cvmx_trax_cycles_since1_s cn61xx; 913 struct cvmx_trax_cycles_since1_s cn63xx; 914 struct cvmx_trax_cycles_since1_s cn63xxp1; 915 struct cvmx_trax_cycles_since1_s cn66xx; 916 struct cvmx_trax_cycles_since1_s cn68xx; 917 struct cvmx_trax_cycles_since1_s cn68xxp1; 918 struct cvmx_trax_cycles_since1_s cnf71xx; 919}; 920typedef union cvmx_trax_cycles_since1 cvmx_trax_cycles_since1_t; 921 922/** 923 * cvmx_tra#_filt_adr_adr 924 * 925 * TRA_FILT_ADR_ADR = Trace Buffer Filter Address Address 926 * 927 * Description: 928 */ 929union cvmx_trax_filt_adr_adr { 930 uint64_t u64; 931 struct cvmx_trax_filt_adr_adr_s { 932#ifdef __BIG_ENDIAN_BITFIELD 933 uint64_t reserved_38_63 : 26; 934 uint64_t adr : 38; /**< Unmasked Address 935 The combination of TRA_FILT_ADR_ADR and 936 TRA_FILT_ADR_MSK is a masked address to 937 enable tracing of only those commands whose 938 masked address matches */ 939#else 940 uint64_t adr : 38; 941 uint64_t reserved_38_63 : 26; 942#endif 943 } s; 944 struct cvmx_trax_filt_adr_adr_cn31xx { 945#ifdef __BIG_ENDIAN_BITFIELD 946 uint64_t reserved_36_63 : 28; 947 uint64_t adr : 36; /**< Unmasked Address 948 The combination of TRA(0..0)_FILT_ADR_ADR and 949 TRA(0..0)_FILT_ADR_MSK is a masked address to 950 enable tracing of only those commands whose 951 masked address matches */ 952#else 953 uint64_t adr : 36; 954 uint64_t reserved_36_63 : 28; 955#endif 956 } cn31xx; 957 struct cvmx_trax_filt_adr_adr_cn31xx cn38xx; 958 struct cvmx_trax_filt_adr_adr_cn31xx cn38xxp2; 959 struct cvmx_trax_filt_adr_adr_cn31xx cn52xx; 960 struct cvmx_trax_filt_adr_adr_cn31xx cn52xxp1; 961 struct cvmx_trax_filt_adr_adr_cn31xx cn56xx; 962 struct cvmx_trax_filt_adr_adr_cn31xx cn56xxp1; 963 struct cvmx_trax_filt_adr_adr_cn31xx cn58xx; 964 struct cvmx_trax_filt_adr_adr_cn31xx cn58xxp1; 965 struct cvmx_trax_filt_adr_adr_s cn61xx; 966 struct cvmx_trax_filt_adr_adr_s cn63xx; 967 struct cvmx_trax_filt_adr_adr_s cn63xxp1; 968 struct cvmx_trax_filt_adr_adr_s cn66xx; 969 struct cvmx_trax_filt_adr_adr_s cn68xx; 970 struct cvmx_trax_filt_adr_adr_s cn68xxp1; 971 struct cvmx_trax_filt_adr_adr_s cnf71xx; 972}; 973typedef union cvmx_trax_filt_adr_adr cvmx_trax_filt_adr_adr_t; 974 975/** 976 * cvmx_tra#_filt_adr_msk 977 * 978 * TRA_FILT_ADR_MSK = Trace Buffer Filter Address Mask 979 * 980 * Description: 981 */ 982union cvmx_trax_filt_adr_msk { 983 uint64_t u64; 984 struct cvmx_trax_filt_adr_msk_s { 985#ifdef __BIG_ENDIAN_BITFIELD 986 uint64_t reserved_38_63 : 26; 987 uint64_t adr : 38; /**< Address Mask 988 The combination of TRA_FILT_ADR_ADR and 989 TRA_FILT_ADR_MSK is a masked address to 990 enable tracing of only those commands whose 991 masked address matches. When a mask bit is not 992 set, the corresponding address bits are assumed 993 to match. Also, note that IOBDMAs do not have 994 proper addresses, so when TRA_FILT_CMD[IOBDMA] 995 is set, TRA_FILT_ADR_MSK must be zero to 996 guarantee that any IOBDMAs enter the trace. */ 997#else 998 uint64_t adr : 38; 999 uint64_t reserved_38_63 : 26; 1000#endif 1001 } s; 1002 struct cvmx_trax_filt_adr_msk_cn31xx { 1003#ifdef __BIG_ENDIAN_BITFIELD 1004 uint64_t reserved_36_63 : 28; 1005 uint64_t adr : 36; /**< Address Mask 1006 The combination of TRA(0..0)_FILT_ADR_ADR and 1007 TRA(0..0)_FILT_ADR_MSK is a masked address to 1008 enable tracing of only those commands whose 1009 masked address matches. When a mask bit is not 1010 set, the corresponding address bits are assumed 1011 to match. Also, note that IOBDMAs do not have 1012 proper addresses, so when TRA(0..0)_FILT_CMD[IOBDMA] 1013 is set, TRA(0..0)_FILT_ADR_MSK must be zero to 1014 guarantee that any IOBDMAs enter the trace. */ 1015#else 1016 uint64_t adr : 36; 1017 uint64_t reserved_36_63 : 28; 1018#endif 1019 } cn31xx; 1020 struct cvmx_trax_filt_adr_msk_cn31xx cn38xx; 1021 struct cvmx_trax_filt_adr_msk_cn31xx cn38xxp2; 1022 struct cvmx_trax_filt_adr_msk_cn31xx cn52xx; 1023 struct cvmx_trax_filt_adr_msk_cn31xx cn52xxp1; 1024 struct cvmx_trax_filt_adr_msk_cn31xx cn56xx; 1025 struct cvmx_trax_filt_adr_msk_cn31xx cn56xxp1; 1026 struct cvmx_trax_filt_adr_msk_cn31xx cn58xx; 1027 struct cvmx_trax_filt_adr_msk_cn31xx cn58xxp1; 1028 struct cvmx_trax_filt_adr_msk_s cn61xx; 1029 struct cvmx_trax_filt_adr_msk_s cn63xx; 1030 struct cvmx_trax_filt_adr_msk_s cn63xxp1; 1031 struct cvmx_trax_filt_adr_msk_s cn66xx; 1032 struct cvmx_trax_filt_adr_msk_s cn68xx; 1033 struct cvmx_trax_filt_adr_msk_s cn68xxp1; 1034 struct cvmx_trax_filt_adr_msk_s cnf71xx; 1035}; 1036typedef union cvmx_trax_filt_adr_msk cvmx_trax_filt_adr_msk_t; 1037 1038/** 1039 * cvmx_tra#_filt_cmd 1040 * 1041 * TRA_FILT_CMD = Trace Buffer Filter Command Mask 1042 * 1043 * Description: 1044 * 1045 * Notes: 1046 * Note that the trace buffer does not do proper IOBDMA address compares. Thus, if IOBDMA is set, then 1047 * the address compare must be disabled (i.e. TRA_FILT_ADR_MSK set to zero) to guarantee that IOBDMAs 1048 * enter the trace. 1049 */ 1050union cvmx_trax_filt_cmd { 1051 uint64_t u64; 1052 struct cvmx_trax_filt_cmd_s { 1053#ifdef __BIG_ENDIAN_BITFIELD 1054 uint64_t saa64 : 1; /**< Enable SAA64 tracing 1055 0=disable, 1=enable */ 1056 uint64_t saa32 : 1; /**< Enable SAA32 tracing 1057 0=disable, 1=enable */ 1058 uint64_t reserved_60_61 : 2; 1059 uint64_t faa64 : 1; /**< Enable FAA64 tracing 1060 0=disable, 1=enable */ 1061 uint64_t faa32 : 1; /**< Enable FAA32 tracing 1062 0=disable, 1=enable */ 1063 uint64_t reserved_56_57 : 2; 1064 uint64_t decr64 : 1; /**< Enable DECR64 tracing 1065 0=disable, 1=enable */ 1066 uint64_t decr32 : 1; /**< Enable DECR32 tracing 1067 0=disable, 1=enable */ 1068 uint64_t decr16 : 1; /**< Enable DECR16 tracing 1069 0=disable, 1=enable */ 1070 uint64_t decr8 : 1; /**< Enable DECR8 tracing 1071 0=disable, 1=enable */ 1072 uint64_t incr64 : 1; /**< Enable INCR64 tracing 1073 0=disable, 1=enable */ 1074 uint64_t incr32 : 1; /**< Enable INCR32 tracing 1075 0=disable, 1=enable */ 1076 uint64_t incr16 : 1; /**< Enable INCR16 tracing 1077 0=disable, 1=enable */ 1078 uint64_t incr8 : 1; /**< Enable INCR8 tracing 1079 0=disable, 1=enable */ 1080 uint64_t clr64 : 1; /**< Enable CLR64 tracing 1081 0=disable, 1=enable */ 1082 uint64_t clr32 : 1; /**< Enable CLR32 tracing 1083 0=disable, 1=enable */ 1084 uint64_t clr16 : 1; /**< Enable CLR16 tracing 1085 0=disable, 1=enable */ 1086 uint64_t clr8 : 1; /**< Enable CLR8 tracing 1087 0=disable, 1=enable */ 1088 uint64_t set64 : 1; /**< Enable SET64 tracing 1089 0=disable, 1=enable */ 1090 uint64_t set32 : 1; /**< Enable SET32 tracing 1091 0=disable, 1=enable */ 1092 uint64_t set16 : 1; /**< Enable SET16 tracing 1093 0=disable, 1=enable */ 1094 uint64_t set8 : 1; /**< Enable SET8 tracing 1095 0=disable, 1=enable */ 1096 uint64_t iobst64 : 1; /**< Enable IOBST64 tracing 1097 0=disable, 1=enable */ 1098 uint64_t iobst32 : 1; /**< Enable IOBST32 tracing 1099 0=disable, 1=enable */ 1100 uint64_t iobst16 : 1; /**< Enable IOBST16 tracing 1101 0=disable, 1=enable */ 1102 uint64_t iobst8 : 1; /**< Enable IOBST8 tracing 1103 0=disable, 1=enable */ 1104 uint64_t reserved_32_35 : 4; 1105 uint64_t lckl2 : 1; /**< Enable LCKL2 tracing 1106 0=disable, 1=enable */ 1107 uint64_t wbl2 : 1; /**< Enable WBL2 tracing 1108 0=disable, 1=enable */ 1109 uint64_t wbil2 : 1; /**< Enable WBIL2 tracing 1110 0=disable, 1=enable */ 1111 uint64_t invl2 : 1; /**< Enable INVL2 tracing 1112 0=disable, 1=enable */ 1113 uint64_t reserved_27_27 : 1; 1114 uint64_t stgl2i : 1; /**< Enable STGL2I tracing 1115 0=disable, 1=enable */ 1116 uint64_t ltgl2i : 1; /**< Enable LTGL2I tracing 1117 0=disable, 1=enable */ 1118 uint64_t wbil2i : 1; /**< Enable WBIL2I tracing 1119 0=disable, 1=enable */ 1120 uint64_t fas64 : 1; /**< Enable FAS64 tracing 1121 0=disable, 1=enable */ 1122 uint64_t fas32 : 1; /**< Enable FAS32 tracing 1123 0=disable, 1=enable */ 1124 uint64_t sttil1 : 1; /**< Enable STTIL1 tracing 1125 0=disable, 1=enable */ 1126 uint64_t stfil1 : 1; /**< Enable STFIL1 tracing 1127 0=disable, 1=enable */ 1128 uint64_t reserved_16_19 : 4; 1129 uint64_t iobdma : 1; /**< Enable IOBDMA tracing 1130 0=disable, 1=enable */ 1131 uint64_t iobst : 1; /**< Enable IOBST tracing 1132 0=disable, 1=enable */ 1133 uint64_t reserved_0_13 : 14; 1134#else 1135 uint64_t reserved_0_13 : 14; 1136 uint64_t iobst : 1; 1137 uint64_t iobdma : 1; 1138 uint64_t reserved_16_19 : 4; 1139 uint64_t stfil1 : 1; 1140 uint64_t sttil1 : 1; 1141 uint64_t fas32 : 1; 1142 uint64_t fas64 : 1; 1143 uint64_t wbil2i : 1; 1144 uint64_t ltgl2i : 1; 1145 uint64_t stgl2i : 1; 1146 uint64_t reserved_27_27 : 1; 1147 uint64_t invl2 : 1; 1148 uint64_t wbil2 : 1; 1149 uint64_t wbl2 : 1; 1150 uint64_t lckl2 : 1; 1151 uint64_t reserved_32_35 : 4; 1152 uint64_t iobst8 : 1; 1153 uint64_t iobst16 : 1; 1154 uint64_t iobst32 : 1; 1155 uint64_t iobst64 : 1; 1156 uint64_t set8 : 1; 1157 uint64_t set16 : 1; 1158 uint64_t set32 : 1; 1159 uint64_t set64 : 1; 1160 uint64_t clr8 : 1; 1161 uint64_t clr16 : 1; 1162 uint64_t clr32 : 1; 1163 uint64_t clr64 : 1; 1164 uint64_t incr8 : 1; 1165 uint64_t incr16 : 1; 1166 uint64_t incr32 : 1; 1167 uint64_t incr64 : 1; 1168 uint64_t decr8 : 1; 1169 uint64_t decr16 : 1; 1170 uint64_t decr32 : 1; 1171 uint64_t decr64 : 1; 1172 uint64_t reserved_56_57 : 2; 1173 uint64_t faa32 : 1; 1174 uint64_t faa64 : 1; 1175 uint64_t reserved_60_61 : 2; 1176 uint64_t saa32 : 1; 1177 uint64_t saa64 : 1; 1178#endif 1179 } s; 1180 struct cvmx_trax_filt_cmd_cn31xx { 1181#ifdef __BIG_ENDIAN_BITFIELD 1182 uint64_t reserved_16_63 : 48; 1183 uint64_t iobdma : 1; /**< Enable IOBDMA tracing 1184 0=disable, 1=enable */ 1185 uint64_t iobst : 1; /**< Enable IOBST tracing 1186 0=disable, 1=enable */ 1187 uint64_t iobld64 : 1; /**< Enable IOBLD64 tracing 1188 0=disable, 1=enable */ 1189 uint64_t iobld32 : 1; /**< Enable IOBLD32 tracing 1190 0=disable, 1=enable */ 1191 uint64_t iobld16 : 1; /**< Enable IOBLD16 tracing 1192 0=disable, 1=enable */ 1193 uint64_t iobld8 : 1; /**< Enable IOBLD8 tracing 1194 0=disable, 1=enable */ 1195 uint64_t stt : 1; /**< Enable STT tracing 1196 0=disable, 1=enable */ 1197 uint64_t stp : 1; /**< Enable STP tracing 1198 0=disable, 1=enable */ 1199 uint64_t stc : 1; /**< Enable STC tracing 1200 0=disable, 1=enable */ 1201 uint64_t stf : 1; /**< Enable STF tracing 1202 0=disable, 1=enable */ 1203 uint64_t ldt : 1; /**< Enable LDT tracing 1204 0=disable, 1=enable */ 1205 uint64_t ldi : 1; /**< Enable LDI tracing 1206 0=disable, 1=enable */ 1207 uint64_t ldd : 1; /**< Enable LDD tracing 1208 0=disable, 1=enable */ 1209 uint64_t psl1 : 1; /**< Enable PSL1 tracing 1210 0=disable, 1=enable */ 1211 uint64_t pl2 : 1; /**< Enable PL2 tracing 1212 0=disable, 1=enable */ 1213 uint64_t dwb : 1; /**< Enable DWB tracing 1214 0=disable, 1=enable */ 1215#else 1216 uint64_t dwb : 1; 1217 uint64_t pl2 : 1; 1218 uint64_t psl1 : 1; 1219 uint64_t ldd : 1; 1220 uint64_t ldi : 1; 1221 uint64_t ldt : 1; 1222 uint64_t stf : 1; 1223 uint64_t stc : 1; 1224 uint64_t stp : 1; 1225 uint64_t stt : 1; 1226 uint64_t iobld8 : 1; 1227 uint64_t iobld16 : 1; 1228 uint64_t iobld32 : 1; 1229 uint64_t iobld64 : 1; 1230 uint64_t iobst : 1; 1231 uint64_t iobdma : 1; 1232 uint64_t reserved_16_63 : 48; 1233#endif 1234 } cn31xx; 1235 struct cvmx_trax_filt_cmd_cn31xx cn38xx; 1236 struct cvmx_trax_filt_cmd_cn31xx cn38xxp2; 1237 struct cvmx_trax_filt_cmd_cn52xx { 1238#ifdef __BIG_ENDIAN_BITFIELD 1239 uint64_t reserved_17_63 : 47; 1240 uint64_t saa : 1; /**< Enable SAA tracing 1241 0=disable, 1=enable */ 1242 uint64_t iobdma : 1; /**< Enable IOBDMA tracing 1243 0=disable, 1=enable */ 1244 uint64_t iobst : 1; /**< Enable IOBST tracing 1245 0=disable, 1=enable */ 1246 uint64_t iobld64 : 1; /**< Enable IOBLD64 tracing 1247 0=disable, 1=enable */ 1248 uint64_t iobld32 : 1; /**< Enable IOBLD32 tracing 1249 0=disable, 1=enable */ 1250 uint64_t iobld16 : 1; /**< Enable IOBLD16 tracing 1251 0=disable, 1=enable */ 1252 uint64_t iobld8 : 1; /**< Enable IOBLD8 tracing 1253 0=disable, 1=enable */ 1254 uint64_t stt : 1; /**< Enable STT tracing 1255 0=disable, 1=enable */ 1256 uint64_t stp : 1; /**< Enable STP tracing 1257 0=disable, 1=enable */ 1258 uint64_t stc : 1; /**< Enable STC tracing 1259 0=disable, 1=enable */ 1260 uint64_t stf : 1; /**< Enable STF tracing 1261 0=disable, 1=enable */ 1262 uint64_t ldt : 1; /**< Enable LDT tracing 1263 0=disable, 1=enable */ 1264 uint64_t ldi : 1; /**< Enable LDI tracing 1265 0=disable, 1=enable */ 1266 uint64_t ldd : 1; /**< Enable LDD tracing 1267 0=disable, 1=enable */ 1268 uint64_t psl1 : 1; /**< Enable PSL1 tracing 1269 0=disable, 1=enable */ 1270 uint64_t pl2 : 1; /**< Enable PL2 tracing 1271 0=disable, 1=enable */ 1272 uint64_t dwb : 1; /**< Enable DWB tracing 1273 0=disable, 1=enable */ 1274#else 1275 uint64_t dwb : 1; 1276 uint64_t pl2 : 1; 1277 uint64_t psl1 : 1; 1278 uint64_t ldd : 1; 1279 uint64_t ldi : 1; 1280 uint64_t ldt : 1; 1281 uint64_t stf : 1; 1282 uint64_t stc : 1; 1283 uint64_t stp : 1; 1284 uint64_t stt : 1; 1285 uint64_t iobld8 : 1; 1286 uint64_t iobld16 : 1; 1287 uint64_t iobld32 : 1; 1288 uint64_t iobld64 : 1; 1289 uint64_t iobst : 1; 1290 uint64_t iobdma : 1; 1291 uint64_t saa : 1; 1292 uint64_t reserved_17_63 : 47; 1293#endif 1294 } cn52xx; 1295 struct cvmx_trax_filt_cmd_cn52xx cn52xxp1; 1296 struct cvmx_trax_filt_cmd_cn52xx cn56xx; 1297 struct cvmx_trax_filt_cmd_cn52xx cn56xxp1; 1298 struct cvmx_trax_filt_cmd_cn52xx cn58xx; 1299 struct cvmx_trax_filt_cmd_cn52xx cn58xxp1; 1300 struct cvmx_trax_filt_cmd_cn61xx { 1301#ifdef __BIG_ENDIAN_BITFIELD 1302 uint64_t saa64 : 1; /**< Enable SAA64 tracing 1303 0=disable, 1=enable */ 1304 uint64_t saa32 : 1; /**< Enable SAA32 tracing 1305 0=disable, 1=enable */ 1306 uint64_t reserved_60_61 : 2; 1307 uint64_t faa64 : 1; /**< Enable FAA64 tracing 1308 0=disable, 1=enable */ 1309 uint64_t faa32 : 1; /**< Enable FAA32 tracing 1310 0=disable, 1=enable */ 1311 uint64_t reserved_56_57 : 2; 1312 uint64_t decr64 : 1; /**< Enable DECR64 tracing 1313 0=disable, 1=enable */ 1314 uint64_t decr32 : 1; /**< Enable DECR32 tracing 1315 0=disable, 1=enable */ 1316 uint64_t decr16 : 1; /**< Enable DECR16 tracing 1317 0=disable, 1=enable */ 1318 uint64_t decr8 : 1; /**< Enable DECR8 tracing 1319 0=disable, 1=enable */ 1320 uint64_t incr64 : 1; /**< Enable INCR64 tracing 1321 0=disable, 1=enable */ 1322 uint64_t incr32 : 1; /**< Enable INCR32 tracing 1323 0=disable, 1=enable */ 1324 uint64_t incr16 : 1; /**< Enable INCR16 tracing 1325 0=disable, 1=enable */ 1326 uint64_t incr8 : 1; /**< Enable INCR8 tracing 1327 0=disable, 1=enable */ 1328 uint64_t clr64 : 1; /**< Enable CLR64 tracing 1329 0=disable, 1=enable */ 1330 uint64_t clr32 : 1; /**< Enable CLR32 tracing 1331 0=disable, 1=enable */ 1332 uint64_t clr16 : 1; /**< Enable CLR16 tracing 1333 0=disable, 1=enable */ 1334 uint64_t clr8 : 1; /**< Enable CLR8 tracing 1335 0=disable, 1=enable */ 1336 uint64_t set64 : 1; /**< Enable SET64 tracing 1337 0=disable, 1=enable */ 1338 uint64_t set32 : 1; /**< Enable SET32 tracing 1339 0=disable, 1=enable */ 1340 uint64_t set16 : 1; /**< Enable SET16 tracing 1341 0=disable, 1=enable */ 1342 uint64_t set8 : 1; /**< Enable SET8 tracing 1343 0=disable, 1=enable */ 1344 uint64_t iobst64 : 1; /**< Enable IOBST64 tracing 1345 0=disable, 1=enable */ 1346 uint64_t iobst32 : 1; /**< Enable IOBST32 tracing 1347 0=disable, 1=enable */ 1348 uint64_t iobst16 : 1; /**< Enable IOBST16 tracing 1349 0=disable, 1=enable */ 1350 uint64_t iobst8 : 1; /**< Enable IOBST8 tracing 1351 0=disable, 1=enable */ 1352 uint64_t iobld64 : 1; /**< Enable IOBLD64 tracing 1353 0=disable, 1=enable */ 1354 uint64_t iobld32 : 1; /**< Enable IOBLD32 tracing 1355 0=disable, 1=enable */ 1356 uint64_t iobld16 : 1; /**< Enable IOBLD16 tracing 1357 0=disable, 1=enable */ 1358 uint64_t iobld8 : 1; /**< Enable IOBLD8 tracing 1359 0=disable, 1=enable */ 1360 uint64_t lckl2 : 1; /**< Enable LCKL2 tracing 1361 0=disable, 1=enable */ 1362 uint64_t wbl2 : 1; /**< Enable WBL2 tracing 1363 0=disable, 1=enable */ 1364 uint64_t wbil2 : 1; /**< Enable WBIL2 tracing 1365 0=disable, 1=enable */ 1366 uint64_t invl2 : 1; /**< Enable INVL2 tracing 1367 0=disable, 1=enable */ 1368 uint64_t reserved_27_27 : 1; 1369 uint64_t stgl2i : 1; /**< Enable STGL2I tracing 1370 0=disable, 1=enable */ 1371 uint64_t ltgl2i : 1; /**< Enable LTGL2I tracing 1372 0=disable, 1=enable */ 1373 uint64_t wbil2i : 1; /**< Enable WBIL2I tracing 1374 0=disable, 1=enable */ 1375 uint64_t fas64 : 1; /**< Enable FAS64 tracing 1376 0=disable, 1=enable */ 1377 uint64_t fas32 : 1; /**< Enable FAS32 tracing 1378 0=disable, 1=enable */ 1379 uint64_t sttil1 : 1; /**< Enable STTIL1 tracing 1380 0=disable, 1=enable */ 1381 uint64_t stfil1 : 1; /**< Enable STFIL1 tracing 1382 0=disable, 1=enable */ 1383 uint64_t stc : 1; /**< Enable STC tracing 1384 0=disable, 1=enable */ 1385 uint64_t stp : 1; /**< Enable STP tracing 1386 0=disable, 1=enable */ 1387 uint64_t stt : 1; /**< Enable STT tracing 1388 0=disable, 1=enable */ 1389 uint64_t stf : 1; /**< Enable STF tracing 1390 0=disable, 1=enable */ 1391 uint64_t iobdma : 1; /**< Enable IOBDMA tracing 1392 0=disable, 1=enable */ 1393 uint64_t reserved_10_14 : 5; 1394 uint64_t psl1 : 1; /**< Enable PSL1 tracing 1395 0=disable, 1=enable */ 1396 uint64_t ldd : 1; /**< Enable LDD tracing 1397 0=disable, 1=enable */ 1398 uint64_t reserved_6_7 : 2; 1399 uint64_t dwb : 1; /**< Enable DWB tracing 1400 0=disable, 1=enable */ 1401 uint64_t rpl2 : 1; /**< Enable RPL2 tracing 1402 0=disable, 1=enable */ 1403 uint64_t pl2 : 1; /**< Enable PL2 tracing 1404 0=disable, 1=enable */ 1405 uint64_t ldi : 1; /**< Enable LDI tracing 1406 0=disable, 1=enable */ 1407 uint64_t ldt : 1; /**< Enable LDT tracing 1408 0=disable, 1=enable */ 1409 uint64_t nop : 1; /**< Enable NOP tracing 1410 0=disable, 1=enable */ 1411#else 1412 uint64_t nop : 1; 1413 uint64_t ldt : 1; 1414 uint64_t ldi : 1; 1415 uint64_t pl2 : 1; 1416 uint64_t rpl2 : 1; 1417 uint64_t dwb : 1; 1418 uint64_t reserved_6_7 : 2; 1419 uint64_t ldd : 1; 1420 uint64_t psl1 : 1; 1421 uint64_t reserved_10_14 : 5; 1422 uint64_t iobdma : 1; 1423 uint64_t stf : 1; 1424 uint64_t stt : 1; 1425 uint64_t stp : 1; 1426 uint64_t stc : 1; 1427 uint64_t stfil1 : 1; 1428 uint64_t sttil1 : 1; 1429 uint64_t fas32 : 1; 1430 uint64_t fas64 : 1; 1431 uint64_t wbil2i : 1; 1432 uint64_t ltgl2i : 1; 1433 uint64_t stgl2i : 1; 1434 uint64_t reserved_27_27 : 1; 1435 uint64_t invl2 : 1; 1436 uint64_t wbil2 : 1; 1437 uint64_t wbl2 : 1; 1438 uint64_t lckl2 : 1; 1439 uint64_t iobld8 : 1; 1440 uint64_t iobld16 : 1; 1441 uint64_t iobld32 : 1; 1442 uint64_t iobld64 : 1; 1443 uint64_t iobst8 : 1; 1444 uint64_t iobst16 : 1; 1445 uint64_t iobst32 : 1; 1446 uint64_t iobst64 : 1; 1447 uint64_t set8 : 1; 1448 uint64_t set16 : 1; 1449 uint64_t set32 : 1; 1450 uint64_t set64 : 1; 1451 uint64_t clr8 : 1; 1452 uint64_t clr16 : 1; 1453 uint64_t clr32 : 1; 1454 uint64_t clr64 : 1; 1455 uint64_t incr8 : 1; 1456 uint64_t incr16 : 1; 1457 uint64_t incr32 : 1; 1458 uint64_t incr64 : 1; 1459 uint64_t decr8 : 1; 1460 uint64_t decr16 : 1; 1461 uint64_t decr32 : 1; 1462 uint64_t decr64 : 1; 1463 uint64_t reserved_56_57 : 2; 1464 uint64_t faa32 : 1; 1465 uint64_t faa64 : 1; 1466 uint64_t reserved_60_61 : 2; 1467 uint64_t saa32 : 1; 1468 uint64_t saa64 : 1; 1469#endif 1470 } cn61xx; 1471 struct cvmx_trax_filt_cmd_cn61xx cn63xx; 1472 struct cvmx_trax_filt_cmd_cn61xx cn63xxp1; 1473 struct cvmx_trax_filt_cmd_cn61xx cn66xx; 1474 struct cvmx_trax_filt_cmd_cn61xx cn68xx; 1475 struct cvmx_trax_filt_cmd_cn61xx cn68xxp1; 1476 struct cvmx_trax_filt_cmd_cn61xx cnf71xx; 1477}; 1478typedef union cvmx_trax_filt_cmd cvmx_trax_filt_cmd_t; 1479 1480/** 1481 * cvmx_tra#_filt_did 1482 * 1483 * TRA_FILT_DID = Trace Buffer Filter DestinationId Mask 1484 * 1485 * Description: 1486 */ 1487union cvmx_trax_filt_did { 1488 uint64_t u64; 1489 struct cvmx_trax_filt_did_s { 1490#ifdef __BIG_ENDIAN_BITFIELD 1491 uint64_t reserved_13_63 : 51; 1492 uint64_t pow : 1; /**< Enable tracing of requests to POW 1493 (get work, add work, status/memory/index 1494 loads, NULLRd loads, CSR's) */ 1495 uint64_t reserved_9_11 : 3; 1496 uint64_t rng : 1; /**< Enable tracing of requests to RNG 1497 (loads/IOBDMA's are legal) */ 1498 uint64_t zip : 1; /**< Enable tracing of requests to ZIP 1499 (doorbell stores are legal) */ 1500 uint64_t dfa : 1; /**< Enable tracing of requests to DFA 1501 (CSR's and operations are legal) */ 1502 uint64_t fpa : 1; /**< Enable tracing of requests to FPA 1503 (alloc's (loads/IOBDMA's), frees (stores) are legal) */ 1504 uint64_t key : 1; /**< Enable tracing of requests to KEY memory 1505 (loads/IOBDMA's/stores are legal) */ 1506 uint64_t reserved_3_3 : 1; 1507 uint64_t illegal3 : 2; /**< Illegal destinations */ 1508 uint64_t mio : 1; /**< Enable tracing of MIO accesses 1509 (CIU and GPIO CSR's, boot bus accesses) */ 1510#else 1511 uint64_t mio : 1; 1512 uint64_t illegal3 : 2; 1513 uint64_t reserved_3_3 : 1; 1514 uint64_t key : 1; 1515 uint64_t fpa : 1; 1516 uint64_t dfa : 1; 1517 uint64_t zip : 1; 1518 uint64_t rng : 1; 1519 uint64_t reserved_9_11 : 3; 1520 uint64_t pow : 1; 1521 uint64_t reserved_13_63 : 51; 1522#endif 1523 } s; 1524 struct cvmx_trax_filt_did_cn31xx { 1525#ifdef __BIG_ENDIAN_BITFIELD 1526 uint64_t reserved_32_63 : 32; 1527 uint64_t illegal : 19; /**< Illegal destinations */ 1528 uint64_t pow : 1; /**< Enable tracing of requests to POW 1529 (get work, add work, status/memory/index 1530 loads, NULLRd loads, CSR's) */ 1531 uint64_t illegal2 : 3; /**< Illegal destinations */ 1532 uint64_t rng : 1; /**< Enable tracing of requests to RNG 1533 (loads/IOBDMA's are legal) */ 1534 uint64_t zip : 1; /**< Enable tracing of requests to ZIP 1535 (doorbell stores are legal) */ 1536 uint64_t dfa : 1; /**< Enable tracing of requests to DFA 1537 (CSR's and operations are legal) */ 1538 uint64_t fpa : 1; /**< Enable tracing of requests to FPA 1539 (alloc's (loads/IOBDMA's), frees (stores) are legal) */ 1540 uint64_t key : 1; /**< Enable tracing of requests to KEY memory 1541 (loads/IOBDMA's/stores are legal) */ 1542 uint64_t pci : 1; /**< Enable tracing of requests to PCI and RSL-type 1543 CSR's (RSL CSR's, PCI bus operations, PCI 1544 CSR's) */ 1545 uint64_t illegal3 : 2; /**< Illegal destinations */ 1546 uint64_t mio : 1; /**< Enable tracing of CIU and GPIO CSR's */ 1547#else 1548 uint64_t mio : 1; 1549 uint64_t illegal3 : 2; 1550 uint64_t pci : 1; 1551 uint64_t key : 1; 1552 uint64_t fpa : 1; 1553 uint64_t dfa : 1; 1554 uint64_t zip : 1; 1555 uint64_t rng : 1; 1556 uint64_t illegal2 : 3; 1557 uint64_t pow : 1; 1558 uint64_t illegal : 19; 1559 uint64_t reserved_32_63 : 32; 1560#endif 1561 } cn31xx; 1562 struct cvmx_trax_filt_did_cn31xx cn38xx; 1563 struct cvmx_trax_filt_did_cn31xx cn38xxp2; 1564 struct cvmx_trax_filt_did_cn31xx cn52xx; 1565 struct cvmx_trax_filt_did_cn31xx cn52xxp1; 1566 struct cvmx_trax_filt_did_cn31xx cn56xx; 1567 struct cvmx_trax_filt_did_cn31xx cn56xxp1; 1568 struct cvmx_trax_filt_did_cn31xx cn58xx; 1569 struct cvmx_trax_filt_did_cn31xx cn58xxp1; 1570 struct cvmx_trax_filt_did_cn61xx { 1571#ifdef __BIG_ENDIAN_BITFIELD 1572 uint64_t reserved_32_63 : 32; 1573 uint64_t illegal5 : 1; /**< Illegal destinations */ 1574 uint64_t fau : 1; /**< Enable tracing of FAU accesses */ 1575 uint64_t illegal4 : 2; /**< Illegal destinations */ 1576 uint64_t dpi : 1; /**< Enable tracing of DPI accesses 1577 (DPI NCB CSRs) */ 1578 uint64_t illegal : 12; /**< Illegal destinations */ 1579 uint64_t rad : 1; /**< Enable tracing of RAD accesses 1580 (doorbells) */ 1581 uint64_t usb0 : 1; /**< Enable tracing of USB0 accesses 1582 (UAHC0 EHCI and OHCI NCB CSRs) */ 1583 uint64_t pow : 1; /**< Enable tracing of requests to POW 1584 (get work, add work, status/memory/index 1585 loads, NULLRd loads, CSR's) */ 1586 uint64_t illegal2 : 1; /**< Illegal destination */ 1587 uint64_t pko : 1; /**< Enable tracing of PKO accesses 1588 (doorbells) */ 1589 uint64_t ipd : 1; /**< Enable tracing of IPD CSR accesses 1590 (IPD CSRs) */ 1591 uint64_t rng : 1; /**< Enable tracing of requests to RNG 1592 (loads/IOBDMA's are legal) */ 1593 uint64_t zip : 1; /**< Enable tracing of requests to ZIP 1594 (doorbell stores are legal) */ 1595 uint64_t dfa : 1; /**< Enable tracing of requests to DFA 1596 (CSR's and operations are legal) */ 1597 uint64_t fpa : 1; /**< Enable tracing of requests to FPA 1598 (alloc's (loads/IOBDMA's), frees (stores) are legal) */ 1599 uint64_t key : 1; /**< Enable tracing of requests to KEY memory 1600 (loads/IOBDMA's/stores are legal) */ 1601 uint64_t sli : 1; /**< Enable tracing of requests to SLI and RSL-type 1602 CSR's (RSL CSR's, PCI/sRIO bus operations, SLI 1603 CSR's) */ 1604 uint64_t illegal3 : 2; /**< Illegal destinations */ 1605 uint64_t mio : 1; /**< Enable tracing of MIO accesses 1606 (CIU and GPIO CSR's, boot bus accesses) */ 1607#else 1608 uint64_t mio : 1; 1609 uint64_t illegal3 : 2; 1610 uint64_t sli : 1; 1611 uint64_t key : 1; 1612 uint64_t fpa : 1; 1613 uint64_t dfa : 1; 1614 uint64_t zip : 1; 1615 uint64_t rng : 1; 1616 uint64_t ipd : 1; 1617 uint64_t pko : 1; 1618 uint64_t illegal2 : 1; 1619 uint64_t pow : 1; 1620 uint64_t usb0 : 1; 1621 uint64_t rad : 1; 1622 uint64_t illegal : 12; 1623 uint64_t dpi : 1; 1624 uint64_t illegal4 : 2; 1625 uint64_t fau : 1; 1626 uint64_t illegal5 : 1; 1627 uint64_t reserved_32_63 : 32; 1628#endif 1629 } cn61xx; 1630 struct cvmx_trax_filt_did_cn61xx cn63xx; 1631 struct cvmx_trax_filt_did_cn61xx cn63xxp1; 1632 struct cvmx_trax_filt_did_cn61xx cn66xx; 1633 struct cvmx_trax_filt_did_cn61xx cn68xx; 1634 struct cvmx_trax_filt_did_cn61xx cn68xxp1; 1635 struct cvmx_trax_filt_did_cn61xx cnf71xx; 1636}; 1637typedef union cvmx_trax_filt_did cvmx_trax_filt_did_t; 1638 1639/** 1640 * cvmx_tra#_filt_sid 1641 * 1642 * TRA_FILT_SID = Trace Buffer Filter SourceId Mask 1643 * 1644 * Description: 1645 */ 1646union cvmx_trax_filt_sid { 1647 uint64_t u64; 1648 struct cvmx_trax_filt_sid_s { 1649#ifdef __BIG_ENDIAN_BITFIELD 1650 uint64_t reserved_20_63 : 44; 1651 uint64_t dwb : 1; /**< Enable tracing of requests from the IOB DWB engine */ 1652 uint64_t iobreq : 1; /**< Enable tracing of requests from FPA,TIM,DFA, 1653 PCI,ZIP,POW, and PKO (writes) */ 1654 uint64_t pko : 1; /**< Enable tracing of read requests from PKO */ 1655 uint64_t pki : 1; /**< Enable tracing of write requests from PIP/IPD */ 1656 uint64_t pp : 16; /**< Enable tracing from PP[N] with matching SourceID 1657 0=disable, 1=enable per bit N where 0<=N<=3 */ 1658#else 1659 uint64_t pp : 16; 1660 uint64_t pki : 1; 1661 uint64_t pko : 1; 1662 uint64_t iobreq : 1; 1663 uint64_t dwb : 1; 1664 uint64_t reserved_20_63 : 44; 1665#endif 1666 } s; 1667 struct cvmx_trax_filt_sid_s cn31xx; 1668 struct cvmx_trax_filt_sid_s cn38xx; 1669 struct cvmx_trax_filt_sid_s cn38xxp2; 1670 struct cvmx_trax_filt_sid_s cn52xx; 1671 struct cvmx_trax_filt_sid_s cn52xxp1; 1672 struct cvmx_trax_filt_sid_s cn56xx; 1673 struct cvmx_trax_filt_sid_s cn56xxp1; 1674 struct cvmx_trax_filt_sid_s cn58xx; 1675 struct cvmx_trax_filt_sid_s cn58xxp1; 1676 struct cvmx_trax_filt_sid_cn61xx { 1677#ifdef __BIG_ENDIAN_BITFIELD 1678 uint64_t reserved_20_63 : 44; 1679 uint64_t dwb : 1; /**< Enable tracing of requests from the IOB DWB engine */ 1680 uint64_t iobreq : 1; /**< Enable tracing of requests from FPA,TIM,DFA, 1681 PCI,ZIP,POW, and PKO (writes) */ 1682 uint64_t pko : 1; /**< Enable tracing of read requests from PKO */ 1683 uint64_t pki : 1; /**< Enable tracing of write requests from PIP/IPD */ 1684 uint64_t reserved_4_15 : 12; 1685 uint64_t pp : 4; /**< Enable tracing from PP[N] with matching SourceID 1686 0=disable, 1=enable per bit N where 0<=N<=3 */ 1687#else 1688 uint64_t pp : 4; 1689 uint64_t reserved_4_15 : 12; 1690 uint64_t pki : 1; 1691 uint64_t pko : 1; 1692 uint64_t iobreq : 1; 1693 uint64_t dwb : 1; 1694 uint64_t reserved_20_63 : 44; 1695#endif 1696 } cn61xx; 1697 struct cvmx_trax_filt_sid_cn63xx { 1698#ifdef __BIG_ENDIAN_BITFIELD 1699 uint64_t reserved_20_63 : 44; 1700 uint64_t dwb : 1; /**< Enable tracing of requests from the IOB DWB engine */ 1701 uint64_t iobreq : 1; /**< Enable tracing of requests from FPA,TIM,DFA, 1702 PCI,ZIP,POW, and PKO (writes) */ 1703 uint64_t pko : 1; /**< Enable tracing of read requests from PKO */ 1704 uint64_t pki : 1; /**< Enable tracing of write requests from PIP/IPD */ 1705 uint64_t reserved_8_15 : 8; 1706 uint64_t pp : 8; /**< Enable tracing from PP[N] with matching SourceID 1707 0=disable, 1=enableper bit N where 0<=N<=15 */ 1708#else 1709 uint64_t pp : 8; 1710 uint64_t reserved_8_15 : 8; 1711 uint64_t pki : 1; 1712 uint64_t pko : 1; 1713 uint64_t iobreq : 1; 1714 uint64_t dwb : 1; 1715 uint64_t reserved_20_63 : 44; 1716#endif 1717 } cn63xx; 1718 struct cvmx_trax_filt_sid_cn63xxp1 { 1719#ifdef __BIG_ENDIAN_BITFIELD 1720 uint64_t reserved_20_63 : 44; 1721 uint64_t dwb : 1; /**< Enable tracing of requests from the IOB DWB engine */ 1722 uint64_t iobreq : 1; /**< Enable tracing of requests from FPA,TIM,DFA, 1723 PCI,ZIP,POW, and PKO (writes) */ 1724 uint64_t pko : 1; /**< Enable tracing of read requests from PKO */ 1725 uint64_t pki : 1; /**< Enable tracing of write requests from PIP/IPD */ 1726 uint64_t reserved_6_15 : 10; 1727 uint64_t pp : 6; /**< Enable tracing from PP[N] with matching SourceID 1728 0=disable, 1=enable per bit N where 0<=N<=5 */ 1729#else 1730 uint64_t pp : 6; 1731 uint64_t reserved_6_15 : 10; 1732 uint64_t pki : 1; 1733 uint64_t pko : 1; 1734 uint64_t iobreq : 1; 1735 uint64_t dwb : 1; 1736 uint64_t reserved_20_63 : 44; 1737#endif 1738 } cn63xxp1; 1739 struct cvmx_trax_filt_sid_cn66xx { 1740#ifdef __BIG_ENDIAN_BITFIELD 1741 uint64_t reserved_20_63 : 44; 1742 uint64_t dwb : 1; /**< Enable tracing of requests from the IOB DWB engine */ 1743 uint64_t iobreq : 1; /**< Enable tracing of requests from FPA,TIM,DFA, 1744 PCI,ZIP,POW, and PKO (writes) */ 1745 uint64_t pko : 1; /**< Enable tracing of read requests from PKO */ 1746 uint64_t pki : 1; /**< Enable tracing of write requests from PIP/IPD */ 1747 uint64_t reserved_10_15 : 6; 1748 uint64_t pp : 10; /**< Enable tracing from PP[N] with matching SourceID 1749 0=disable, 1=enableper bit N where 0<=N<=15 */ 1750#else 1751 uint64_t pp : 10; 1752 uint64_t reserved_10_15 : 6; 1753 uint64_t pki : 1; 1754 uint64_t pko : 1; 1755 uint64_t iobreq : 1; 1756 uint64_t dwb : 1; 1757 uint64_t reserved_20_63 : 44; 1758#endif 1759 } cn66xx; 1760 struct cvmx_trax_filt_sid_cn63xx cn68xx; 1761 struct cvmx_trax_filt_sid_cn63xx cn68xxp1; 1762 struct cvmx_trax_filt_sid_cn61xx cnf71xx; 1763}; 1764typedef union cvmx_trax_filt_sid cvmx_trax_filt_sid_t; 1765 1766/** 1767 * cvmx_tra#_int_status 1768 * 1769 * TRA_INT_STATUS = Trace Buffer Interrupt Status 1770 * 1771 * Description: 1772 * 1773 * Notes: 1774 * During a CSR write to this register, the write data is used as a mask to clear the selected status 1775 * bits (status'[3:0] = status[3:0] & ~write_data[3:0]). 1776 */ 1777union cvmx_trax_int_status { 1778 uint64_t u64; 1779 struct cvmx_trax_int_status_s { 1780#ifdef __BIG_ENDIAN_BITFIELD 1781 uint64_t reserved_4_63 : 60; 1782 uint64_t mcd0_thr : 1; /**< MCD0 full threshold interrupt status 1783 0=trace buffer did not generate MCD0 wire pulse 1784 1=trace buffer did generate MCD0 wire pulse 1785 and prevents additional MCD0_THR MCD0 wire pulses */ 1786 uint64_t mcd0_trg : 1; /**< MCD0 end trigger interrupt status 1787 0=trace buffer did not generate interrupt 1788 1=trace buffer did generate interrupt 1789 and prevents additional MCD0_TRG MCD0 wire pulses */ 1790 uint64_t ciu_thr : 1; /**< CIU full threshold interrupt status 1791 0=trace buffer did not generate interrupt 1792 1=trace buffer did generate interrupt */ 1793 uint64_t ciu_trg : 1; /**< CIU end trigger interrupt status 1794 0=trace buffer did not generate interrupt 1795 1=trace buffer did generate interrupt */ 1796#else 1797 uint64_t ciu_trg : 1; 1798 uint64_t ciu_thr : 1; 1799 uint64_t mcd0_trg : 1; 1800 uint64_t mcd0_thr : 1; 1801 uint64_t reserved_4_63 : 60; 1802#endif 1803 } s; 1804 struct cvmx_trax_int_status_s cn31xx; 1805 struct cvmx_trax_int_status_s cn38xx; 1806 struct cvmx_trax_int_status_s cn38xxp2; 1807 struct cvmx_trax_int_status_s cn52xx; 1808 struct cvmx_trax_int_status_s cn52xxp1; 1809 struct cvmx_trax_int_status_s cn56xx; 1810 struct cvmx_trax_int_status_s cn56xxp1; 1811 struct cvmx_trax_int_status_s cn58xx; 1812 struct cvmx_trax_int_status_s cn58xxp1; 1813 struct cvmx_trax_int_status_s cn61xx; 1814 struct cvmx_trax_int_status_s cn63xx; 1815 struct cvmx_trax_int_status_s cn63xxp1; 1816 struct cvmx_trax_int_status_s cn66xx; 1817 struct cvmx_trax_int_status_s cn68xx; 1818 struct cvmx_trax_int_status_s cn68xxp1; 1819 struct cvmx_trax_int_status_s cnf71xx; 1820}; 1821typedef union cvmx_trax_int_status cvmx_trax_int_status_t; 1822 1823/** 1824 * cvmx_tra#_read_dat 1825 * 1826 * TRA_READ_DAT = Trace Buffer Read Data 1827 * 1828 * Description: 1829 * 1830 * Notes: 1831 * This CSR is a memory of 1024 entries. When the trace was enabled, the read pointer was set to entry 1832 * 0 by hardware. Each read to this address increments the read pointer. 1833 */ 1834union cvmx_trax_read_dat { 1835 uint64_t u64; 1836 struct cvmx_trax_read_dat_s { 1837#ifdef __BIG_ENDIAN_BITFIELD 1838 uint64_t data : 64; /**< Trace buffer data for current entry 1839 if TRA_CTL[16]== 1; returns lower 64 bits of entry 1840 else two access are necessary to get all of 69bits 1841 first access of a pair is the lower 64 bits and 1842 second access is the upper 5 bits. */ 1843#else 1844 uint64_t data : 64; 1845#endif 1846 } s; 1847 struct cvmx_trax_read_dat_s cn31xx; 1848 struct cvmx_trax_read_dat_s cn38xx; 1849 struct cvmx_trax_read_dat_s cn38xxp2; 1850 struct cvmx_trax_read_dat_s cn52xx; 1851 struct cvmx_trax_read_dat_s cn52xxp1; 1852 struct cvmx_trax_read_dat_s cn56xx; 1853 struct cvmx_trax_read_dat_s cn56xxp1; 1854 struct cvmx_trax_read_dat_s cn58xx; 1855 struct cvmx_trax_read_dat_s cn58xxp1; 1856 struct cvmx_trax_read_dat_s cn61xx; 1857 struct cvmx_trax_read_dat_s cn63xx; 1858 struct cvmx_trax_read_dat_s cn63xxp1; 1859 struct cvmx_trax_read_dat_s cn66xx; 1860 struct cvmx_trax_read_dat_s cn68xx; 1861 struct cvmx_trax_read_dat_s cn68xxp1; 1862 struct cvmx_trax_read_dat_s cnf71xx; 1863}; 1864typedef union cvmx_trax_read_dat cvmx_trax_read_dat_t; 1865 1866/** 1867 * cvmx_tra#_read_dat_hi 1868 * 1869 * TRA_READ_DAT_HI = Trace Buffer Read Data- upper 5 bits do not use if TRA_CTL[16]==0 1870 * 1871 * Description: 1872 * 1873 * Notes: 1874 * This CSR is a memory of 1024 entries. Reads to this address do not increment the read pointer. The 1875 * 5 bits read are the upper 5 bits of the TRA entry last read by the TRA_READ_DAT reg. 1876 */ 1877union cvmx_trax_read_dat_hi { 1878 uint64_t u64; 1879 struct cvmx_trax_read_dat_hi_s { 1880#ifdef __BIG_ENDIAN_BITFIELD 1881 uint64_t reserved_5_63 : 59; 1882 uint64_t data : 5; /**< Trace buffer data[68:64] for current entry */ 1883#else 1884 uint64_t data : 5; 1885 uint64_t reserved_5_63 : 59; 1886#endif 1887 } s; 1888 struct cvmx_trax_read_dat_hi_s cn61xx; 1889 struct cvmx_trax_read_dat_hi_s cn63xx; 1890 struct cvmx_trax_read_dat_hi_s cn66xx; 1891 struct cvmx_trax_read_dat_hi_s cn68xx; 1892 struct cvmx_trax_read_dat_hi_s cn68xxp1; 1893 struct cvmx_trax_read_dat_hi_s cnf71xx; 1894}; 1895typedef union cvmx_trax_read_dat_hi cvmx_trax_read_dat_hi_t; 1896 1897/** 1898 * cvmx_tra#_trig0_adr_adr 1899 * 1900 * TRA_TRIG0_ADR_ADR = Trace Buffer Filter Address Address 1901 * 1902 * Description: 1903 */ 1904union cvmx_trax_trig0_adr_adr { 1905 uint64_t u64; 1906 struct cvmx_trax_trig0_adr_adr_s { 1907#ifdef __BIG_ENDIAN_BITFIELD 1908 uint64_t reserved_38_63 : 26; 1909 uint64_t adr : 38; /**< Unmasked Address 1910 The combination of TRA_TRIG0_ADR_ADR and 1911 TRA_TRIG0_ADR_MSK is a masked address to 1912 enable tracing of only those commands whose 1913 masked address matches */ 1914#else 1915 uint64_t adr : 38; 1916 uint64_t reserved_38_63 : 26; 1917#endif 1918 } s; 1919 struct cvmx_trax_trig0_adr_adr_cn31xx { 1920#ifdef __BIG_ENDIAN_BITFIELD 1921 uint64_t reserved_36_63 : 28; 1922 uint64_t adr : 36; /**< Unmasked Address 1923 The combination of TRA(0..0)_TRIG0_ADR_ADR and 1924 TRA(0..0)_TRIG0_ADR_MSK is a masked address to 1925 enable tracing of only those commands whose 1926 masked address matches */ 1927#else 1928 uint64_t adr : 36; 1929 uint64_t reserved_36_63 : 28; 1930#endif 1931 } cn31xx; 1932 struct cvmx_trax_trig0_adr_adr_cn31xx cn38xx; 1933 struct cvmx_trax_trig0_adr_adr_cn31xx cn38xxp2; 1934 struct cvmx_trax_trig0_adr_adr_cn31xx cn52xx; 1935 struct cvmx_trax_trig0_adr_adr_cn31xx cn52xxp1; 1936 struct cvmx_trax_trig0_adr_adr_cn31xx cn56xx; 1937 struct cvmx_trax_trig0_adr_adr_cn31xx cn56xxp1; 1938 struct cvmx_trax_trig0_adr_adr_cn31xx cn58xx; 1939 struct cvmx_trax_trig0_adr_adr_cn31xx cn58xxp1; 1940 struct cvmx_trax_trig0_adr_adr_s cn61xx; 1941 struct cvmx_trax_trig0_adr_adr_s cn63xx; 1942 struct cvmx_trax_trig0_adr_adr_s cn63xxp1; 1943 struct cvmx_trax_trig0_adr_adr_s cn66xx; 1944 struct cvmx_trax_trig0_adr_adr_s cn68xx; 1945 struct cvmx_trax_trig0_adr_adr_s cn68xxp1; 1946 struct cvmx_trax_trig0_adr_adr_s cnf71xx; 1947}; 1948typedef union cvmx_trax_trig0_adr_adr cvmx_trax_trig0_adr_adr_t; 1949 1950/** 1951 * cvmx_tra#_trig0_adr_msk 1952 * 1953 * TRA_TRIG0_ADR_MSK = Trace Buffer Filter Address Mask 1954 * 1955 * Description: 1956 */ 1957union cvmx_trax_trig0_adr_msk { 1958 uint64_t u64; 1959 struct cvmx_trax_trig0_adr_msk_s { 1960#ifdef __BIG_ENDIAN_BITFIELD 1961 uint64_t reserved_38_63 : 26; 1962 uint64_t adr : 38; /**< Address Mask 1963 The combination of TRA_TRIG0_ADR_ADR and 1964 TRA_TRIG0_ADR_MSK is a masked address to 1965 enable tracing of only those commands whose 1966 masked address matches. When a mask bit is not 1967 set, the corresponding address bits are assumed 1968 to match. Also, note that IOBDMAs do not have 1969 proper addresses, so when TRA_TRIG0_CMD[IOBDMA] 1970 is set, TRA_FILT_TRIG0_MSK must be zero to 1971 guarantee that any IOBDMAs are recognized as 1972 triggers. */ 1973#else 1974 uint64_t adr : 38; 1975 uint64_t reserved_38_63 : 26; 1976#endif 1977 } s; 1978 struct cvmx_trax_trig0_adr_msk_cn31xx { 1979#ifdef __BIG_ENDIAN_BITFIELD 1980 uint64_t reserved_36_63 : 28; 1981 uint64_t adr : 36; /**< Address Mask 1982 The combination of TRA(0..0)_TRIG0_ADR_ADR and 1983 TRA(0..0)_TRIG0_ADR_MSK is a masked address to 1984 enable tracing of only those commands whose 1985 masked address matches. When a mask bit is not 1986 set, the corresponding address bits are assumed 1987 to match. Also, note that IOBDMAs do not have 1988 proper addresses, so when TRA(0..0)_TRIG0_CMD[IOBDMA] 1989 is set, TRA(0..0)_FILT_TRIG0_MSK must be zero to 1990 guarantee that any IOBDMAs are recognized as 1991 triggers. */ 1992#else 1993 uint64_t adr : 36; 1994 uint64_t reserved_36_63 : 28; 1995#endif 1996 } cn31xx; 1997 struct cvmx_trax_trig0_adr_msk_cn31xx cn38xx; 1998 struct cvmx_trax_trig0_adr_msk_cn31xx cn38xxp2; 1999 struct cvmx_trax_trig0_adr_msk_cn31xx cn52xx; 2000 struct cvmx_trax_trig0_adr_msk_cn31xx cn52xxp1; 2001 struct cvmx_trax_trig0_adr_msk_cn31xx cn56xx; 2002 struct cvmx_trax_trig0_adr_msk_cn31xx cn56xxp1; 2003 struct cvmx_trax_trig0_adr_msk_cn31xx cn58xx; 2004 struct cvmx_trax_trig0_adr_msk_cn31xx cn58xxp1; 2005 struct cvmx_trax_trig0_adr_msk_s cn61xx; 2006 struct cvmx_trax_trig0_adr_msk_s cn63xx; 2007 struct cvmx_trax_trig0_adr_msk_s cn63xxp1; 2008 struct cvmx_trax_trig0_adr_msk_s cn66xx; 2009 struct cvmx_trax_trig0_adr_msk_s cn68xx; 2010 struct cvmx_trax_trig0_adr_msk_s cn68xxp1; 2011 struct cvmx_trax_trig0_adr_msk_s cnf71xx; 2012}; 2013typedef union cvmx_trax_trig0_adr_msk cvmx_trax_trig0_adr_msk_t; 2014 2015/** 2016 * cvmx_tra#_trig0_cmd 2017 * 2018 * TRA_TRIG0_CMD = Trace Buffer Filter Command Mask 2019 * 2020 * Description: 2021 * 2022 * Notes: 2023 * Note that the trace buffer does not do proper IOBDMA address compares. Thus, if IOBDMA is set, then 2024 * the address compare must be disabled (i.e. TRA_TRIG0_ADR_MSK set to zero) to guarantee that IOBDMAs 2025 * are recognized as triggers. 2026 */ 2027union cvmx_trax_trig0_cmd { 2028 uint64_t u64; 2029 struct cvmx_trax_trig0_cmd_s { 2030#ifdef __BIG_ENDIAN_BITFIELD 2031 uint64_t saa64 : 1; /**< Enable SAA64 tracing 2032 0=disable, 1=enable */ 2033 uint64_t saa32 : 1; /**< Enable SAA32 tracing 2034 0=disable, 1=enable */ 2035 uint64_t reserved_60_61 : 2; 2036 uint64_t faa64 : 1; /**< Enable FAA64 tracing 2037 0=disable, 1=enable */ 2038 uint64_t faa32 : 1; /**< Enable FAA32 tracing 2039 0=disable, 1=enable */ 2040 uint64_t reserved_56_57 : 2; 2041 uint64_t decr64 : 1; /**< Enable DECR64 tracing 2042 0=disable, 1=enable */ 2043 uint64_t decr32 : 1; /**< Enable DECR32 tracing 2044 0=disable, 1=enable */ 2045 uint64_t decr16 : 1; /**< Enable DECR16 tracing 2046 0=disable, 1=enable */ 2047 uint64_t decr8 : 1; /**< Enable DECR8 tracing 2048 0=disable, 1=enable */ 2049 uint64_t incr64 : 1; /**< Enable INCR64 tracing 2050 0=disable, 1=enable */ 2051 uint64_t incr32 : 1; /**< Enable INCR32 tracing 2052 0=disable, 1=enable */ 2053 uint64_t incr16 : 1; /**< Enable INCR16 tracing 2054 0=disable, 1=enable */ 2055 uint64_t incr8 : 1; /**< Enable INCR8 tracing 2056 0=disable, 1=enable */ 2057 uint64_t clr64 : 1; /**< Enable CLR64 tracing 2058 0=disable, 1=enable */ 2059 uint64_t clr32 : 1; /**< Enable CLR32 tracing 2060 0=disable, 1=enable */ 2061 uint64_t clr16 : 1; /**< Enable CLR16 tracing 2062 0=disable, 1=enable */ 2063 uint64_t clr8 : 1; /**< Enable CLR8 tracing 2064 0=disable, 1=enable */ 2065 uint64_t set64 : 1; /**< Enable SET64 tracing 2066 0=disable, 1=enable */ 2067 uint64_t set32 : 1; /**< Enable SET32 tracing 2068 0=disable, 1=enable */ 2069 uint64_t set16 : 1; /**< Enable SET16 tracing 2070 0=disable, 1=enable */ 2071 uint64_t set8 : 1; /**< Enable SET8 tracing 2072 0=disable, 1=enable */ 2073 uint64_t iobst64 : 1; /**< Enable IOBST64 tracing 2074 0=disable, 1=enable */ 2075 uint64_t iobst32 : 1; /**< Enable IOBST32 tracing 2076 0=disable, 1=enable */ 2077 uint64_t iobst16 : 1; /**< Enable IOBST16 tracing 2078 0=disable, 1=enable */ 2079 uint64_t iobst8 : 1; /**< Enable IOBST8 tracing 2080 0=disable, 1=enable */ 2081 uint64_t reserved_32_35 : 4; 2082 uint64_t lckl2 : 1; /**< Enable LCKL2 tracing 2083 0=disable, 1=enable */ 2084 uint64_t wbl2 : 1; /**< Enable WBL2 tracing 2085 0=disable, 1=enable */ 2086 uint64_t wbil2 : 1; /**< Enable WBIL2 tracing 2087 0=disable, 1=enable */ 2088 uint64_t invl2 : 1; /**< Enable INVL2 tracing 2089 0=disable, 1=enable */ 2090 uint64_t reserved_27_27 : 1; 2091 uint64_t stgl2i : 1; /**< Enable STGL2I tracing 2092 0=disable, 1=enable */ 2093 uint64_t ltgl2i : 1; /**< Enable LTGL2I tracing 2094 0=disable, 1=enable */ 2095 uint64_t wbil2i : 1; /**< Enable WBIL2I tracing 2096 0=disable, 1=enable */ 2097 uint64_t fas64 : 1; /**< Enable FAS64 tracing 2098 0=disable, 1=enable */ 2099 uint64_t fas32 : 1; /**< Enable FAS32 tracing 2100 0=disable, 1=enable */ 2101 uint64_t sttil1 : 1; /**< Enable STTIL1 tracing 2102 0=disable, 1=enable */ 2103 uint64_t stfil1 : 1; /**< Enable STFIL1 tracing 2104 0=disable, 1=enable */ 2105 uint64_t reserved_16_19 : 4; 2106 uint64_t iobdma : 1; /**< Enable IOBDMA tracing 2107 0=disable, 1=enable */ 2108 uint64_t iobst : 1; /**< Enable IOBST tracing 2109 0=disable, 1=enable */ 2110 uint64_t reserved_0_13 : 14; 2111#else 2112 uint64_t reserved_0_13 : 14; 2113 uint64_t iobst : 1; 2114 uint64_t iobdma : 1; 2115 uint64_t reserved_16_19 : 4; 2116 uint64_t stfil1 : 1; 2117 uint64_t sttil1 : 1; 2118 uint64_t fas32 : 1; 2119 uint64_t fas64 : 1; 2120 uint64_t wbil2i : 1; 2121 uint64_t ltgl2i : 1; 2122 uint64_t stgl2i : 1; 2123 uint64_t reserved_27_27 : 1; 2124 uint64_t invl2 : 1; 2125 uint64_t wbil2 : 1; 2126 uint64_t wbl2 : 1; 2127 uint64_t lckl2 : 1; 2128 uint64_t reserved_32_35 : 4; 2129 uint64_t iobst8 : 1; 2130 uint64_t iobst16 : 1; 2131 uint64_t iobst32 : 1; 2132 uint64_t iobst64 : 1; 2133 uint64_t set8 : 1; 2134 uint64_t set16 : 1; 2135 uint64_t set32 : 1; 2136 uint64_t set64 : 1; 2137 uint64_t clr8 : 1; 2138 uint64_t clr16 : 1; 2139 uint64_t clr32 : 1; 2140 uint64_t clr64 : 1; 2141 uint64_t incr8 : 1; 2142 uint64_t incr16 : 1; 2143 uint64_t incr32 : 1; 2144 uint64_t incr64 : 1; 2145 uint64_t decr8 : 1; 2146 uint64_t decr16 : 1; 2147 uint64_t decr32 : 1; 2148 uint64_t decr64 : 1; 2149 uint64_t reserved_56_57 : 2; 2150 uint64_t faa32 : 1; 2151 uint64_t faa64 : 1; 2152 uint64_t reserved_60_61 : 2; 2153 uint64_t saa32 : 1; 2154 uint64_t saa64 : 1; 2155#endif 2156 } s; 2157 struct cvmx_trax_trig0_cmd_cn31xx { 2158#ifdef __BIG_ENDIAN_BITFIELD 2159 uint64_t reserved_16_63 : 48; 2160 uint64_t iobdma : 1; /**< Enable IOBDMA tracing 2161 0=disable, 1=enable */ 2162 uint64_t iobst : 1; /**< Enable IOBST tracing 2163 0=disable, 1=enable */ 2164 uint64_t iobld64 : 1; /**< Enable IOBLD64 tracing 2165 0=disable, 1=enable */ 2166 uint64_t iobld32 : 1; /**< Enable IOBLD32 tracing 2167 0=disable, 1=enable */ 2168 uint64_t iobld16 : 1; /**< Enable IOBLD16 tracing 2169 0=disable, 1=enable */ 2170 uint64_t iobld8 : 1; /**< Enable IOBLD8 tracing 2171 0=disable, 1=enable */ 2172 uint64_t stt : 1; /**< Enable STT tracing 2173 0=disable, 1=enable */ 2174 uint64_t stp : 1; /**< Enable STP tracing 2175 0=disable, 1=enable */ 2176 uint64_t stc : 1; /**< Enable STC tracing 2177 0=disable, 1=enable */ 2178 uint64_t stf : 1; /**< Enable STF tracing 2179 0=disable, 1=enable */ 2180 uint64_t ldt : 1; /**< Enable LDT tracing 2181 0=disable, 1=enable */ 2182 uint64_t ldi : 1; /**< Enable LDI tracing 2183 0=disable, 1=enable */ 2184 uint64_t ldd : 1; /**< Enable LDD tracing 2185 0=disable, 1=enable */ 2186 uint64_t psl1 : 1; /**< Enable PSL1 tracing 2187 0=disable, 1=enable */ 2188 uint64_t pl2 : 1; /**< Enable PL2 tracing 2189 0=disable, 1=enable */ 2190 uint64_t dwb : 1; /**< Enable DWB tracing 2191 0=disable, 1=enable */ 2192#else 2193 uint64_t dwb : 1; 2194 uint64_t pl2 : 1; 2195 uint64_t psl1 : 1; 2196 uint64_t ldd : 1; 2197 uint64_t ldi : 1; 2198 uint64_t ldt : 1; 2199 uint64_t stf : 1; 2200 uint64_t stc : 1; 2201 uint64_t stp : 1; 2202 uint64_t stt : 1; 2203 uint64_t iobld8 : 1; 2204 uint64_t iobld16 : 1; 2205 uint64_t iobld32 : 1; 2206 uint64_t iobld64 : 1; 2207 uint64_t iobst : 1; 2208 uint64_t iobdma : 1; 2209 uint64_t reserved_16_63 : 48; 2210#endif 2211 } cn31xx; 2212 struct cvmx_trax_trig0_cmd_cn31xx cn38xx; 2213 struct cvmx_trax_trig0_cmd_cn31xx cn38xxp2; 2214 struct cvmx_trax_trig0_cmd_cn52xx { 2215#ifdef __BIG_ENDIAN_BITFIELD 2216 uint64_t reserved_17_63 : 47; 2217 uint64_t saa : 1; /**< Enable SAA tracing 2218 0=disable, 1=enable */ 2219 uint64_t iobdma : 1; /**< Enable IOBDMA tracing 2220 0=disable, 1=enable */ 2221 uint64_t iobst : 1; /**< Enable IOBST tracing 2222 0=disable, 1=enable */ 2223 uint64_t iobld64 : 1; /**< Enable IOBLD64 tracing 2224 0=disable, 1=enable */ 2225 uint64_t iobld32 : 1; /**< Enable IOBLD32 tracing 2226 0=disable, 1=enable */ 2227 uint64_t iobld16 : 1; /**< Enable IOBLD16 tracing 2228 0=disable, 1=enable */ 2229 uint64_t iobld8 : 1; /**< Enable IOBLD8 tracing 2230 0=disable, 1=enable */ 2231 uint64_t stt : 1; /**< Enable STT tracing 2232 0=disable, 1=enable */ 2233 uint64_t stp : 1; /**< Enable STP tracing 2234 0=disable, 1=enable */ 2235 uint64_t stc : 1; /**< Enable STC tracing 2236 0=disable, 1=enable */ 2237 uint64_t stf : 1; /**< Enable STF tracing 2238 0=disable, 1=enable */ 2239 uint64_t ldt : 1; /**< Enable LDT tracing 2240 0=disable, 1=enable */ 2241 uint64_t ldi : 1; /**< Enable LDI tracing 2242 0=disable, 1=enable */ 2243 uint64_t ldd : 1; /**< Enable LDD tracing 2244 0=disable, 1=enable */ 2245 uint64_t psl1 : 1; /**< Enable PSL1 tracing 2246 0=disable, 1=enable */ 2247 uint64_t pl2 : 1; /**< Enable PL2 tracing 2248 0=disable, 1=enable */ 2249 uint64_t dwb : 1; /**< Enable DWB tracing 2250 0=disable, 1=enable */ 2251#else 2252 uint64_t dwb : 1; 2253 uint64_t pl2 : 1; 2254 uint64_t psl1 : 1; 2255 uint64_t ldd : 1; 2256 uint64_t ldi : 1; 2257 uint64_t ldt : 1; 2258 uint64_t stf : 1; 2259 uint64_t stc : 1; 2260 uint64_t stp : 1; 2261 uint64_t stt : 1; 2262 uint64_t iobld8 : 1; 2263 uint64_t iobld16 : 1; 2264 uint64_t iobld32 : 1; 2265 uint64_t iobld64 : 1; 2266 uint64_t iobst : 1; 2267 uint64_t iobdma : 1; 2268 uint64_t saa : 1; 2269 uint64_t reserved_17_63 : 47; 2270#endif 2271 } cn52xx; 2272 struct cvmx_trax_trig0_cmd_cn52xx cn52xxp1; 2273 struct cvmx_trax_trig0_cmd_cn52xx cn56xx; 2274 struct cvmx_trax_trig0_cmd_cn52xx cn56xxp1; 2275 struct cvmx_trax_trig0_cmd_cn52xx cn58xx; 2276 struct cvmx_trax_trig0_cmd_cn52xx cn58xxp1; 2277 struct cvmx_trax_trig0_cmd_cn61xx { 2278#ifdef __BIG_ENDIAN_BITFIELD 2279 uint64_t saa64 : 1; /**< Enable SAA64 tracing 2280 0=disable, 1=enable */ 2281 uint64_t saa32 : 1; /**< Enable SAA32 tracing 2282 0=disable, 1=enable */ 2283 uint64_t reserved_60_61 : 2; 2284 uint64_t faa64 : 1; /**< Enable FAA64 tracing 2285 0=disable, 1=enable */ 2286 uint64_t faa32 : 1; /**< Enable FAA32 tracing 2287 0=disable, 1=enable */ 2288 uint64_t reserved_56_57 : 2; 2289 uint64_t decr64 : 1; /**< Enable DECR64 tracing 2290 0=disable, 1=enable */ 2291 uint64_t decr32 : 1; /**< Enable DECR32 tracing 2292 0=disable, 1=enable */ 2293 uint64_t decr16 : 1; /**< Enable DECR16 tracing 2294 0=disable, 1=enable */ 2295 uint64_t decr8 : 1; /**< Enable DECR8 tracing 2296 0=disable, 1=enable */ 2297 uint64_t incr64 : 1; /**< Enable INCR64 tracing 2298 0=disable, 1=enable */ 2299 uint64_t incr32 : 1; /**< Enable INCR32 tracing 2300 0=disable, 1=enable */ 2301 uint64_t incr16 : 1; /**< Enable INCR16 tracing 2302 0=disable, 1=enable */ 2303 uint64_t incr8 : 1; /**< Enable INCR8 tracing 2304 0=disable, 1=enable */ 2305 uint64_t clr64 : 1; /**< Enable CLR64 tracing 2306 0=disable, 1=enable */ 2307 uint64_t clr32 : 1; /**< Enable CLR32 tracing 2308 0=disable, 1=enable */ 2309 uint64_t clr16 : 1; /**< Enable CLR16 tracing 2310 0=disable, 1=enable */ 2311 uint64_t clr8 : 1; /**< Enable CLR8 tracing 2312 0=disable, 1=enable */ 2313 uint64_t set64 : 1; /**< Enable SET64 tracing 2314 0=disable, 1=enable */ 2315 uint64_t set32 : 1; /**< Enable SET32 tracing 2316 0=disable, 1=enable */ 2317 uint64_t set16 : 1; /**< Enable SET16 tracing 2318 0=disable, 1=enable */ 2319 uint64_t set8 : 1; /**< Enable SET8 tracing 2320 0=disable, 1=enable */ 2321 uint64_t iobst64 : 1; /**< Enable IOBST64 tracing 2322 0=disable, 1=enable */ 2323 uint64_t iobst32 : 1; /**< Enable IOBST32 tracing 2324 0=disable, 1=enable */ 2325 uint64_t iobst16 : 1; /**< Enable IOBST16 tracing 2326 0=disable, 1=enable */ 2327 uint64_t iobst8 : 1; /**< Enable IOBST8 tracing 2328 0=disable, 1=enable */ 2329 uint64_t iobld64 : 1; /**< Enable IOBLD64 tracing 2330 0=disable, 1=enable */ 2331 uint64_t iobld32 : 1; /**< Enable IOBLD32 tracing 2332 0=disable, 1=enable */ 2333 uint64_t iobld16 : 1; /**< Enable IOBLD16 tracing 2334 0=disable, 1=enable */ 2335 uint64_t iobld8 : 1; /**< Enable IOBLD8 tracing 2336 0=disable, 1=enable */ 2337 uint64_t lckl2 : 1; /**< Enable LCKL2 tracing 2338 0=disable, 1=enable */ 2339 uint64_t wbl2 : 1; /**< Enable WBL2 tracing 2340 0=disable, 1=enable */ 2341 uint64_t wbil2 : 1; /**< Enable WBIL2 tracing 2342 0=disable, 1=enable */ 2343 uint64_t invl2 : 1; /**< Enable INVL2 tracing 2344 0=disable, 1=enable */ 2345 uint64_t reserved_27_27 : 1; 2346 uint64_t stgl2i : 1; /**< Enable STGL2I tracing 2347 0=disable, 1=enable */ 2348 uint64_t ltgl2i : 1; /**< Enable LTGL2I tracing 2349 0=disable, 1=enable */ 2350 uint64_t wbil2i : 1; /**< Enable WBIL2I tracing 2351 0=disable, 1=enable */ 2352 uint64_t fas64 : 1; /**< Enable FAS64 tracing 2353 0=disable, 1=enable */ 2354 uint64_t fas32 : 1; /**< Enable FAS32 tracing 2355 0=disable, 1=enable */ 2356 uint64_t sttil1 : 1; /**< Enable STTIL1 tracing 2357 0=disable, 1=enable */ 2358 uint64_t stfil1 : 1; /**< Enable STFIL1 tracing 2359 0=disable, 1=enable */ 2360 uint64_t stc : 1; /**< Enable STC tracing 2361 0=disable, 1=enable */ 2362 uint64_t stp : 1; /**< Enable STP tracing 2363 0=disable, 1=enable */ 2364 uint64_t stt : 1; /**< Enable STT tracing 2365 0=disable, 1=enable */ 2366 uint64_t stf : 1; /**< Enable STF tracing 2367 0=disable, 1=enable */ 2368 uint64_t iobdma : 1; /**< Enable IOBDMA tracing 2369 0=disable, 1=enable */ 2370 uint64_t reserved_10_14 : 5; 2371 uint64_t psl1 : 1; /**< Enable PSL1 tracing 2372 0=disable, 1=enable */ 2373 uint64_t ldd : 1; /**< Enable LDD tracing 2374 0=disable, 1=enable */ 2375 uint64_t reserved_6_7 : 2; 2376 uint64_t dwb : 1; /**< Enable DWB tracing 2377 0=disable, 1=enable */ 2378 uint64_t rpl2 : 1; /**< Enable RPL2 tracing 2379 0=disable, 1=enable */ 2380 uint64_t pl2 : 1; /**< Enable PL2 tracing 2381 0=disable, 1=enable */ 2382 uint64_t ldi : 1; /**< Enable LDI tracing 2383 0=disable, 1=enable */ 2384 uint64_t ldt : 1; /**< Enable LDT tracing 2385 0=disable, 1=enable */ 2386 uint64_t nop : 1; /**< Enable NOP tracing 2387 0=disable, 1=enable */ 2388#else 2389 uint64_t nop : 1; 2390 uint64_t ldt : 1; 2391 uint64_t ldi : 1; 2392 uint64_t pl2 : 1; 2393 uint64_t rpl2 : 1; 2394 uint64_t dwb : 1; 2395 uint64_t reserved_6_7 : 2; 2396 uint64_t ldd : 1; 2397 uint64_t psl1 : 1; 2398 uint64_t reserved_10_14 : 5; 2399 uint64_t iobdma : 1; 2400 uint64_t stf : 1; 2401 uint64_t stt : 1; 2402 uint64_t stp : 1; 2403 uint64_t stc : 1; 2404 uint64_t stfil1 : 1; 2405 uint64_t sttil1 : 1; 2406 uint64_t fas32 : 1; 2407 uint64_t fas64 : 1; 2408 uint64_t wbil2i : 1; 2409 uint64_t ltgl2i : 1; 2410 uint64_t stgl2i : 1; 2411 uint64_t reserved_27_27 : 1; 2412 uint64_t invl2 : 1; 2413 uint64_t wbil2 : 1; 2414 uint64_t wbl2 : 1; 2415 uint64_t lckl2 : 1; 2416 uint64_t iobld8 : 1; 2417 uint64_t iobld16 : 1; 2418 uint64_t iobld32 : 1; 2419 uint64_t iobld64 : 1; 2420 uint64_t iobst8 : 1; 2421 uint64_t iobst16 : 1; 2422 uint64_t iobst32 : 1; 2423 uint64_t iobst64 : 1; 2424 uint64_t set8 : 1; 2425 uint64_t set16 : 1; 2426 uint64_t set32 : 1; 2427 uint64_t set64 : 1; 2428 uint64_t clr8 : 1; 2429 uint64_t clr16 : 1; 2430 uint64_t clr32 : 1; 2431 uint64_t clr64 : 1; 2432 uint64_t incr8 : 1; 2433 uint64_t incr16 : 1; 2434 uint64_t incr32 : 1; 2435 uint64_t incr64 : 1; 2436 uint64_t decr8 : 1; 2437 uint64_t decr16 : 1; 2438 uint64_t decr32 : 1; 2439 uint64_t decr64 : 1; 2440 uint64_t reserved_56_57 : 2; 2441 uint64_t faa32 : 1; 2442 uint64_t faa64 : 1; 2443 uint64_t reserved_60_61 : 2; 2444 uint64_t saa32 : 1; 2445 uint64_t saa64 : 1; 2446#endif 2447 } cn61xx; 2448 struct cvmx_trax_trig0_cmd_cn61xx cn63xx; 2449 struct cvmx_trax_trig0_cmd_cn61xx cn63xxp1; 2450 struct cvmx_trax_trig0_cmd_cn61xx cn66xx; 2451 struct cvmx_trax_trig0_cmd_cn61xx cn68xx; 2452 struct cvmx_trax_trig0_cmd_cn61xx cn68xxp1; 2453 struct cvmx_trax_trig0_cmd_cn61xx cnf71xx; 2454}; 2455typedef union cvmx_trax_trig0_cmd cvmx_trax_trig0_cmd_t; 2456 2457/** 2458 * cvmx_tra#_trig0_did 2459 * 2460 * TRA_TRIG0_DID = Trace Buffer Filter DestinationId Mask 2461 * 2462 * Description: 2463 */ 2464union cvmx_trax_trig0_did { 2465 uint64_t u64; 2466 struct cvmx_trax_trig0_did_s { 2467#ifdef __BIG_ENDIAN_BITFIELD 2468 uint64_t reserved_13_63 : 51; 2469 uint64_t pow : 1; /**< Enable triggering on requests to POW 2470 (get work, add work, status/memory/index 2471 loads, NULLRd loads, CSR's) */ 2472 uint64_t reserved_9_11 : 3; 2473 uint64_t rng : 1; /**< Enable triggering on requests to RNG 2474 (loads/IOBDMA's are legal) */ 2475 uint64_t zip : 1; /**< Enable triggering on requests to ZIP 2476 (doorbell stores are legal) */ 2477 uint64_t dfa : 1; /**< Enable triggering on requests to DFA 2478 (CSR's and operations are legal) */ 2479 uint64_t fpa : 1; /**< Enable triggering on requests to FPA 2480 (alloc's (loads/IOBDMA's), frees (stores) are legal) */ 2481 uint64_t key : 1; /**< Enable triggering on requests to KEY memory 2482 (loads/IOBDMA's/stores are legal) */ 2483 uint64_t reserved_3_3 : 1; 2484 uint64_t illegal3 : 2; /**< Illegal destinations */ 2485 uint64_t mio : 1; /**< Enable triggering on MIO accesses 2486 (CIU and GPIO CSR's, boot bus accesses) */ 2487#else 2488 uint64_t mio : 1; 2489 uint64_t illegal3 : 2; 2490 uint64_t reserved_3_3 : 1; 2491 uint64_t key : 1; 2492 uint64_t fpa : 1; 2493 uint64_t dfa : 1; 2494 uint64_t zip : 1; 2495 uint64_t rng : 1; 2496 uint64_t reserved_9_11 : 3; 2497 uint64_t pow : 1; 2498 uint64_t reserved_13_63 : 51; 2499#endif 2500 } s; 2501 struct cvmx_trax_trig0_did_cn31xx { 2502#ifdef __BIG_ENDIAN_BITFIELD 2503 uint64_t reserved_32_63 : 32; 2504 uint64_t illegal : 19; /**< Illegal destinations */ 2505 uint64_t pow : 1; /**< Enable triggering on requests to POW 2506 (get work, add work, status/memory/index 2507 loads, NULLRd loads, CSR's) */ 2508 uint64_t illegal2 : 3; /**< Illegal destinations */ 2509 uint64_t rng : 1; /**< Enable triggering on requests to RNG 2510 (loads/IOBDMA's are legal) */ 2511 uint64_t zip : 1; /**< Enable triggering on requests to ZIP 2512 (doorbell stores are legal) */ 2513 uint64_t dfa : 1; /**< Enable triggering on requests to DFA 2514 (CSR's and operations are legal) */ 2515 uint64_t fpa : 1; /**< Enable triggering on requests to FPA 2516 (alloc's (loads/IOBDMA's), frees (stores) are legal) */ 2517 uint64_t key : 1; /**< Enable triggering on requests to KEY memory 2518 (loads/IOBDMA's/stores are legal) */ 2519 uint64_t pci : 1; /**< Enable triggering on requests to PCI and RSL-type 2520 CSR's (RSL CSR's, PCI bus operations, PCI 2521 CSR's) */ 2522 uint64_t illegal3 : 2; /**< Illegal destinations */ 2523 uint64_t mio : 1; /**< Enable triggering on CIU and GPIO CSR's */ 2524#else 2525 uint64_t mio : 1; 2526 uint64_t illegal3 : 2; 2527 uint64_t pci : 1; 2528 uint64_t key : 1; 2529 uint64_t fpa : 1; 2530 uint64_t dfa : 1; 2531 uint64_t zip : 1; 2532 uint64_t rng : 1; 2533 uint64_t illegal2 : 3; 2534 uint64_t pow : 1; 2535 uint64_t illegal : 19; 2536 uint64_t reserved_32_63 : 32; 2537#endif 2538 } cn31xx; 2539 struct cvmx_trax_trig0_did_cn31xx cn38xx; 2540 struct cvmx_trax_trig0_did_cn31xx cn38xxp2; 2541 struct cvmx_trax_trig0_did_cn31xx cn52xx; 2542 struct cvmx_trax_trig0_did_cn31xx cn52xxp1; 2543 struct cvmx_trax_trig0_did_cn31xx cn56xx; 2544 struct cvmx_trax_trig0_did_cn31xx cn56xxp1; 2545 struct cvmx_trax_trig0_did_cn31xx cn58xx; 2546 struct cvmx_trax_trig0_did_cn31xx cn58xxp1; 2547 struct cvmx_trax_trig0_did_cn61xx { 2548#ifdef __BIG_ENDIAN_BITFIELD 2549 uint64_t reserved_32_63 : 32; 2550 uint64_t illegal5 : 1; /**< Illegal destinations */ 2551 uint64_t fau : 1; /**< Enable triggering on FAU accesses */ 2552 uint64_t illegal4 : 2; /**< Illegal destinations */ 2553 uint64_t dpi : 1; /**< Enable triggering on DPI accesses 2554 (DPI NCB CSRs) */ 2555 uint64_t illegal : 12; /**< Illegal destinations */ 2556 uint64_t rad : 1; /**< Enable triggering on RAD accesses 2557 (doorbells) */ 2558 uint64_t usb0 : 1; /**< Enable triggering on USB0 accesses 2559 (UAHC0 EHCI and OHCI NCB CSRs) */ 2560 uint64_t pow : 1; /**< Enable triggering on requests to POW 2561 (get work, add work, status/memory/index 2562 loads, NULLRd loads, CSR's) */ 2563 uint64_t illegal2 : 1; /**< Illegal destination */ 2564 uint64_t pko : 1; /**< Enable triggering on PKO accesses 2565 (doorbells) */ 2566 uint64_t ipd : 1; /**< Enable triggering on IPD CSR accesses 2567 (IPD CSRs) */ 2568 uint64_t rng : 1; /**< Enable triggering on requests to RNG 2569 (loads/IOBDMA's are legal) */ 2570 uint64_t zip : 1; /**< Enable triggering on requests to ZIP 2571 (doorbell stores are legal) */ 2572 uint64_t dfa : 1; /**< Enable triggering on requests to DFA 2573 (CSR's and operations are legal) */ 2574 uint64_t fpa : 1; /**< Enable triggering on requests to FPA 2575 (alloc's (loads/IOBDMA's), frees (stores) are legal) */ 2576 uint64_t key : 1; /**< Enable triggering on requests to KEY memory 2577 (loads/IOBDMA's/stores are legal) */ 2578 uint64_t sli : 1; /**< Enable triggering on requests to SLI and RSL-type 2579 CSR's (RSL CSR's, PCI/sRIO bus operations, SLI 2580 CSR's) */ 2581 uint64_t illegal3 : 2; /**< Illegal destinations */ 2582 uint64_t mio : 1; /**< Enable triggering on MIO accesses 2583 (CIU and GPIO CSR's, boot bus accesses) */ 2584#else 2585 uint64_t mio : 1; 2586 uint64_t illegal3 : 2; 2587 uint64_t sli : 1; 2588 uint64_t key : 1; 2589 uint64_t fpa : 1; 2590 uint64_t dfa : 1; 2591 uint64_t zip : 1; 2592 uint64_t rng : 1; 2593 uint64_t ipd : 1; 2594 uint64_t pko : 1; 2595 uint64_t illegal2 : 1; 2596 uint64_t pow : 1; 2597 uint64_t usb0 : 1; 2598 uint64_t rad : 1; 2599 uint64_t illegal : 12; 2600 uint64_t dpi : 1; 2601 uint64_t illegal4 : 2; 2602 uint64_t fau : 1; 2603 uint64_t illegal5 : 1; 2604 uint64_t reserved_32_63 : 32; 2605#endif 2606 } cn61xx; 2607 struct cvmx_trax_trig0_did_cn61xx cn63xx; 2608 struct cvmx_trax_trig0_did_cn61xx cn63xxp1; 2609 struct cvmx_trax_trig0_did_cn61xx cn66xx; 2610 struct cvmx_trax_trig0_did_cn61xx cn68xx; 2611 struct cvmx_trax_trig0_did_cn61xx cn68xxp1; 2612 struct cvmx_trax_trig0_did_cn61xx cnf71xx; 2613}; 2614typedef union cvmx_trax_trig0_did cvmx_trax_trig0_did_t; 2615 2616/** 2617 * cvmx_tra#_trig0_sid 2618 * 2619 * TRA_TRIG0_SID = Trace Buffer Filter SourceId Mask 2620 * 2621 * Description: 2622 */ 2623union cvmx_trax_trig0_sid { 2624 uint64_t u64; 2625 struct cvmx_trax_trig0_sid_s { 2626#ifdef __BIG_ENDIAN_BITFIELD 2627 uint64_t reserved_20_63 : 44; 2628 uint64_t dwb : 1; /**< Enable triggering on requests from the IOB DWB engine */ 2629 uint64_t iobreq : 1; /**< Enable triggering on requests from FPA,TIM,DFA, 2630 PCI,ZIP,POW, and PKO (writes) */ 2631 uint64_t pko : 1; /**< Enable triggering on read requests from PKO */ 2632 uint64_t pki : 1; /**< Enable triggering on write requests from PIP/IPD */ 2633 uint64_t pp : 16; /**< Enable triggering from PP[N] with matching SourceID 2634 0=disable, 1=enable per bit N where 0<=N<=3 */ 2635#else 2636 uint64_t pp : 16; 2637 uint64_t pki : 1; 2638 uint64_t pko : 1; 2639 uint64_t iobreq : 1; 2640 uint64_t dwb : 1; 2641 uint64_t reserved_20_63 : 44; 2642#endif 2643 } s; 2644 struct cvmx_trax_trig0_sid_s cn31xx; 2645 struct cvmx_trax_trig0_sid_s cn38xx; 2646 struct cvmx_trax_trig0_sid_s cn38xxp2; 2647 struct cvmx_trax_trig0_sid_s cn52xx; 2648 struct cvmx_trax_trig0_sid_s cn52xxp1; 2649 struct cvmx_trax_trig0_sid_s cn56xx; 2650 struct cvmx_trax_trig0_sid_s cn56xxp1; 2651 struct cvmx_trax_trig0_sid_s cn58xx; 2652 struct cvmx_trax_trig0_sid_s cn58xxp1; 2653 struct cvmx_trax_trig0_sid_cn61xx { 2654#ifdef __BIG_ENDIAN_BITFIELD 2655 uint64_t reserved_20_63 : 44; 2656 uint64_t dwb : 1; /**< Enable triggering on requests from the IOB DWB engine */ 2657 uint64_t iobreq : 1; /**< Enable triggering on requests from FPA,TIM,DFA, 2658 PCI,ZIP,POW, and PKO (writes) */ 2659 uint64_t pko : 1; /**< Enable triggering on read requests from PKO */ 2660 uint64_t pki : 1; /**< Enable triggering on write requests from PIP/IPD */ 2661 uint64_t reserved_4_15 : 12; 2662 uint64_t pp : 4; /**< Enable triggering from PP[N] with matching SourceID 2663 0=disable, 1=enable per bit N where 0<=N<=3 */ 2664#else 2665 uint64_t pp : 4; 2666 uint64_t reserved_4_15 : 12; 2667 uint64_t pki : 1; 2668 uint64_t pko : 1; 2669 uint64_t iobreq : 1; 2670 uint64_t dwb : 1; 2671 uint64_t reserved_20_63 : 44; 2672#endif 2673 } cn61xx; 2674 struct cvmx_trax_trig0_sid_cn63xx { 2675#ifdef __BIG_ENDIAN_BITFIELD 2676 uint64_t reserved_20_63 : 44; 2677 uint64_t dwb : 1; /**< Enable triggering on requests from the IOB DWB engine */ 2678 uint64_t iobreq : 1; /**< Enable triggering on requests from FPA,TIM,DFA, 2679 PCI,ZIP,POW, and PKO (writes) */ 2680 uint64_t pko : 1; /**< Enable triggering on read requests from PKO */ 2681 uint64_t pki : 1; /**< Enable triggering on write requests from PIP/IPD */ 2682 uint64_t reserved_8_15 : 8; 2683 uint64_t pp : 8; /**< Enable triggering from PP[N] with matching SourceID 2684 0=disable, 1=enableper bit N where 0<=N<=15 */ 2685#else 2686 uint64_t pp : 8; 2687 uint64_t reserved_8_15 : 8; 2688 uint64_t pki : 1; 2689 uint64_t pko : 1; 2690 uint64_t iobreq : 1; 2691 uint64_t dwb : 1; 2692 uint64_t reserved_20_63 : 44; 2693#endif 2694 } cn63xx; 2695 struct cvmx_trax_trig0_sid_cn63xxp1 { 2696#ifdef __BIG_ENDIAN_BITFIELD 2697 uint64_t reserved_20_63 : 44; 2698 uint64_t dwb : 1; /**< Enable triggering on requests from the IOB DWB engine */ 2699 uint64_t iobreq : 1; /**< Enable triggering on requests from FPA,TIM,DFA, 2700 PCI,ZIP,POW, and PKO (writes) */ 2701 uint64_t pko : 1; /**< Enable triggering on read requests from PKO */ 2702 uint64_t pki : 1; /**< Enable triggering on write requests from PIP/IPD */ 2703 uint64_t reserved_6_15 : 10; 2704 uint64_t pp : 6; /**< Enable triggering from PP[N] with matching SourceID 2705 0=disable, 1=enable per bit N where 0<=N<=5 */ 2706#else 2707 uint64_t pp : 6; 2708 uint64_t reserved_6_15 : 10; 2709 uint64_t pki : 1; 2710 uint64_t pko : 1; 2711 uint64_t iobreq : 1; 2712 uint64_t dwb : 1; 2713 uint64_t reserved_20_63 : 44; 2714#endif 2715 } cn63xxp1; 2716 struct cvmx_trax_trig0_sid_cn66xx { 2717#ifdef __BIG_ENDIAN_BITFIELD 2718 uint64_t reserved_20_63 : 44; 2719 uint64_t dwb : 1; /**< Enable triggering on requests from the IOB DWB engine */ 2720 uint64_t iobreq : 1; /**< Enable triggering on requests from FPA,TIM,DFA, 2721 PCI,ZIP,POW, and PKO (writes) */ 2722 uint64_t pko : 1; /**< Enable triggering on read requests from PKO */ 2723 uint64_t pki : 1; /**< Enable triggering on write requests from PIP/IPD */ 2724 uint64_t reserved_10_15 : 6; 2725 uint64_t pp : 10; /**< Enable triggering from PP[N] with matching SourceID 2726 0=disable, 1=enableper bit N where 0<=N<=15 */ 2727#else 2728 uint64_t pp : 10; 2729 uint64_t reserved_10_15 : 6; 2730 uint64_t pki : 1; 2731 uint64_t pko : 1; 2732 uint64_t iobreq : 1; 2733 uint64_t dwb : 1; 2734 uint64_t reserved_20_63 : 44; 2735#endif 2736 } cn66xx; 2737 struct cvmx_trax_trig0_sid_cn63xx cn68xx; 2738 struct cvmx_trax_trig0_sid_cn63xx cn68xxp1; 2739 struct cvmx_trax_trig0_sid_cn61xx cnf71xx; 2740}; 2741typedef union cvmx_trax_trig0_sid cvmx_trax_trig0_sid_t; 2742 2743/** 2744 * cvmx_tra#_trig1_adr_adr 2745 * 2746 * TRA_TRIG1_ADR_ADR = Trace Buffer Filter Address Address 2747 * 2748 * Description: 2749 */ 2750union cvmx_trax_trig1_adr_adr { 2751 uint64_t u64; 2752 struct cvmx_trax_trig1_adr_adr_s { 2753#ifdef __BIG_ENDIAN_BITFIELD 2754 uint64_t reserved_38_63 : 26; 2755 uint64_t adr : 38; /**< Unmasked Address 2756 The combination of TRA_TRIG1_ADR_ADR and 2757 TRA_TRIG1_ADR_MSK is a masked address to 2758 enable tracing of only those commands whose 2759 masked address matches */ 2760#else 2761 uint64_t adr : 38; 2762 uint64_t reserved_38_63 : 26; 2763#endif 2764 } s; 2765 struct cvmx_trax_trig1_adr_adr_cn31xx { 2766#ifdef __BIG_ENDIAN_BITFIELD 2767 uint64_t reserved_36_63 : 28; 2768 uint64_t adr : 36; /**< Unmasked Address 2769 The combination of TRA(0..0)_TRIG1_ADR_ADR and 2770 TRA(0..0)_TRIG1_ADR_MSK is a masked address to 2771 enable tracing of only those commands whose 2772 masked address matches */ 2773#else 2774 uint64_t adr : 36; 2775 uint64_t reserved_36_63 : 28; 2776#endif 2777 } cn31xx; 2778 struct cvmx_trax_trig1_adr_adr_cn31xx cn38xx; 2779 struct cvmx_trax_trig1_adr_adr_cn31xx cn38xxp2; 2780 struct cvmx_trax_trig1_adr_adr_cn31xx cn52xx; 2781 struct cvmx_trax_trig1_adr_adr_cn31xx cn52xxp1; 2782 struct cvmx_trax_trig1_adr_adr_cn31xx cn56xx; 2783 struct cvmx_trax_trig1_adr_adr_cn31xx cn56xxp1; 2784 struct cvmx_trax_trig1_adr_adr_cn31xx cn58xx; 2785 struct cvmx_trax_trig1_adr_adr_cn31xx cn58xxp1; 2786 struct cvmx_trax_trig1_adr_adr_s cn61xx; 2787 struct cvmx_trax_trig1_adr_adr_s cn63xx; 2788 struct cvmx_trax_trig1_adr_adr_s cn63xxp1; 2789 struct cvmx_trax_trig1_adr_adr_s cn66xx; 2790 struct cvmx_trax_trig1_adr_adr_s cn68xx; 2791 struct cvmx_trax_trig1_adr_adr_s cn68xxp1; 2792 struct cvmx_trax_trig1_adr_adr_s cnf71xx; 2793}; 2794typedef union cvmx_trax_trig1_adr_adr cvmx_trax_trig1_adr_adr_t; 2795 2796/** 2797 * cvmx_tra#_trig1_adr_msk 2798 * 2799 * TRA_TRIG1_ADR_MSK = Trace Buffer Filter Address Mask 2800 * 2801 * Description: 2802 */ 2803union cvmx_trax_trig1_adr_msk { 2804 uint64_t u64; 2805 struct cvmx_trax_trig1_adr_msk_s { 2806#ifdef __BIG_ENDIAN_BITFIELD 2807 uint64_t reserved_38_63 : 26; 2808 uint64_t adr : 38; /**< Address Mask 2809 The combination of TRA_TRIG1_ADR_ADR and 2810 TRA_TRIG1_ADR_MSK is a masked address to 2811 enable tracing of only those commands whose 2812 masked address matches. When a mask bit is not 2813 set, the corresponding address bits are assumed 2814 to match. Also, note that IOBDMAs do not have 2815 proper addresses, so when TRA_TRIG1_CMD[IOBDMA] 2816 is set, TRA_FILT_TRIG1_MSK must be zero to 2817 guarantee that any IOBDMAs are recognized as 2818 triggers. */ 2819#else 2820 uint64_t adr : 38; 2821 uint64_t reserved_38_63 : 26; 2822#endif 2823 } s; 2824 struct cvmx_trax_trig1_adr_msk_cn31xx { 2825#ifdef __BIG_ENDIAN_BITFIELD 2826 uint64_t reserved_36_63 : 28; 2827 uint64_t adr : 36; /**< Address Mask 2828 The combination of TRA(0..0)_TRIG1_ADR_ADR and 2829 TRA(0..0)_TRIG1_ADR_MSK is a masked address to 2830 enable tracing of only those commands whose 2831 masked address matches. When a mask bit is not 2832 set, the corresponding address bits are assumed 2833 to match. Also, note that IOBDMAs do not have 2834 proper addresses, so when TRA(0..0)_TRIG1_CMD[IOBDMA] 2835 is set, TRA(0..0)_FILT_TRIG1_MSK must be zero to 2836 guarantee that any IOBDMAs are recognized as 2837 triggers. */ 2838#else 2839 uint64_t adr : 36; 2840 uint64_t reserved_36_63 : 28; 2841#endif 2842 } cn31xx; 2843 struct cvmx_trax_trig1_adr_msk_cn31xx cn38xx; 2844 struct cvmx_trax_trig1_adr_msk_cn31xx cn38xxp2; 2845 struct cvmx_trax_trig1_adr_msk_cn31xx cn52xx; 2846 struct cvmx_trax_trig1_adr_msk_cn31xx cn52xxp1; 2847 struct cvmx_trax_trig1_adr_msk_cn31xx cn56xx; 2848 struct cvmx_trax_trig1_adr_msk_cn31xx cn56xxp1; 2849 struct cvmx_trax_trig1_adr_msk_cn31xx cn58xx; 2850 struct cvmx_trax_trig1_adr_msk_cn31xx cn58xxp1; 2851 struct cvmx_trax_trig1_adr_msk_s cn61xx; 2852 struct cvmx_trax_trig1_adr_msk_s cn63xx; 2853 struct cvmx_trax_trig1_adr_msk_s cn63xxp1; 2854 struct cvmx_trax_trig1_adr_msk_s cn66xx; 2855 struct cvmx_trax_trig1_adr_msk_s cn68xx; 2856 struct cvmx_trax_trig1_adr_msk_s cn68xxp1; 2857 struct cvmx_trax_trig1_adr_msk_s cnf71xx; 2858}; 2859typedef union cvmx_trax_trig1_adr_msk cvmx_trax_trig1_adr_msk_t; 2860 2861/** 2862 * cvmx_tra#_trig1_cmd 2863 * 2864 * TRA_TRIG1_CMD = Trace Buffer Filter Command Mask 2865 * 2866 * Description: 2867 * 2868 * Notes: 2869 * Note that the trace buffer does not do proper IOBDMA address compares. Thus, if IOBDMA is set, then 2870 * the address compare must be disabled (i.e. TRA_TRIG1_ADR_MSK set to zero) to guarantee that IOBDMAs 2871 * are recognized as triggers. 2872 */ 2873union cvmx_trax_trig1_cmd { 2874 uint64_t u64; 2875 struct cvmx_trax_trig1_cmd_s { 2876#ifdef __BIG_ENDIAN_BITFIELD 2877 uint64_t saa64 : 1; /**< Enable SAA64 tracing 2878 0=disable, 1=enable */ 2879 uint64_t saa32 : 1; /**< Enable SAA32 tracing 2880 0=disable, 1=enable */ 2881 uint64_t reserved_60_61 : 2; 2882 uint64_t faa64 : 1; /**< Enable FAA64 tracing 2883 0=disable, 1=enable */ 2884 uint64_t faa32 : 1; /**< Enable FAA32 tracing 2885 0=disable, 1=enable */ 2886 uint64_t reserved_56_57 : 2; 2887 uint64_t decr64 : 1; /**< Enable DECR64 tracing 2888 0=disable, 1=enable */ 2889 uint64_t decr32 : 1; /**< Enable DECR32 tracing 2890 0=disable, 1=enable */ 2891 uint64_t decr16 : 1; /**< Enable DECR16 tracing 2892 0=disable, 1=enable */ 2893 uint64_t decr8 : 1; /**< Enable DECR8 tracing 2894 0=disable, 1=enable */ 2895 uint64_t incr64 : 1; /**< Enable INCR64 tracing 2896 0=disable, 1=enable */ 2897 uint64_t incr32 : 1; /**< Enable INCR32 tracing 2898 0=disable, 1=enable */ 2899 uint64_t incr16 : 1; /**< Enable INCR16 tracing 2900 0=disable, 1=enable */ 2901 uint64_t incr8 : 1; /**< Enable INCR8 tracing 2902 0=disable, 1=enable */ 2903 uint64_t clr64 : 1; /**< Enable CLR64 tracing 2904 0=disable, 1=enable */ 2905 uint64_t clr32 : 1; /**< Enable CLR32 tracing 2906 0=disable, 1=enable */ 2907 uint64_t clr16 : 1; /**< Enable CLR16 tracing 2908 0=disable, 1=enable */ 2909 uint64_t clr8 : 1; /**< Enable CLR8 tracing 2910 0=disable, 1=enable */ 2911 uint64_t set64 : 1; /**< Enable SET64 tracing 2912 0=disable, 1=enable */ 2913 uint64_t set32 : 1; /**< Enable SET32 tracing 2914 0=disable, 1=enable */ 2915 uint64_t set16 : 1; /**< Enable SET16 tracing 2916 0=disable, 1=enable */ 2917 uint64_t set8 : 1; /**< Enable SET8 tracing 2918 0=disable, 1=enable */ 2919 uint64_t iobst64 : 1; /**< Enable IOBST64 tracing 2920 0=disable, 1=enable */ 2921 uint64_t iobst32 : 1; /**< Enable IOBST32 tracing 2922 0=disable, 1=enable */ 2923 uint64_t iobst16 : 1; /**< Enable IOBST16 tracing 2924 0=disable, 1=enable */ 2925 uint64_t iobst8 : 1; /**< Enable IOBST8 tracing 2926 0=disable, 1=enable */ 2927 uint64_t reserved_32_35 : 4; 2928 uint64_t lckl2 : 1; /**< Enable LCKL2 tracing 2929 0=disable, 1=enable */ 2930 uint64_t wbl2 : 1; /**< Enable WBL2 tracing 2931 0=disable, 1=enable */ 2932 uint64_t wbil2 : 1; /**< Enable WBIL2 tracing 2933 0=disable, 1=enable */ 2934 uint64_t invl2 : 1; /**< Enable INVL2 tracing 2935 0=disable, 1=enable */ 2936 uint64_t reserved_27_27 : 1; 2937 uint64_t stgl2i : 1; /**< Enable STGL2I tracing 2938 0=disable, 1=enable */ 2939 uint64_t ltgl2i : 1; /**< Enable LTGL2I tracing 2940 0=disable, 1=enable */ 2941 uint64_t wbil2i : 1; /**< Enable WBIL2I tracing 2942 0=disable, 1=enable */ 2943 uint64_t fas64 : 1; /**< Enable FAS64 tracing 2944 0=disable, 1=enable */ 2945 uint64_t fas32 : 1; /**< Enable FAS32 tracing 2946 0=disable, 1=enable */ 2947 uint64_t sttil1 : 1; /**< Enable STTIL1 tracing 2948 0=disable, 1=enable */ 2949 uint64_t stfil1 : 1; /**< Enable STFIL1 tracing 2950 0=disable, 1=enable */ 2951 uint64_t reserved_16_19 : 4; 2952 uint64_t iobdma : 1; /**< Enable IOBDMA tracing 2953 0=disable, 1=enable */ 2954 uint64_t iobst : 1; /**< Enable IOBST tracing 2955 0=disable, 1=enable */ 2956 uint64_t reserved_0_13 : 14; 2957#else 2958 uint64_t reserved_0_13 : 14; 2959 uint64_t iobst : 1; 2960 uint64_t iobdma : 1; 2961 uint64_t reserved_16_19 : 4; 2962 uint64_t stfil1 : 1; 2963 uint64_t sttil1 : 1; 2964 uint64_t fas32 : 1; 2965 uint64_t fas64 : 1; 2966 uint64_t wbil2i : 1; 2967 uint64_t ltgl2i : 1; 2968 uint64_t stgl2i : 1; 2969 uint64_t reserved_27_27 : 1; 2970 uint64_t invl2 : 1; 2971 uint64_t wbil2 : 1; 2972 uint64_t wbl2 : 1; 2973 uint64_t lckl2 : 1; 2974 uint64_t reserved_32_35 : 4; 2975 uint64_t iobst8 : 1; 2976 uint64_t iobst16 : 1; 2977 uint64_t iobst32 : 1; 2978 uint64_t iobst64 : 1; 2979 uint64_t set8 : 1; 2980 uint64_t set16 : 1; 2981 uint64_t set32 : 1; 2982 uint64_t set64 : 1; 2983 uint64_t clr8 : 1; 2984 uint64_t clr16 : 1; 2985 uint64_t clr32 : 1; 2986 uint64_t clr64 : 1; 2987 uint64_t incr8 : 1; 2988 uint64_t incr16 : 1; 2989 uint64_t incr32 : 1; 2990 uint64_t incr64 : 1; 2991 uint64_t decr8 : 1; 2992 uint64_t decr16 : 1; 2993 uint64_t decr32 : 1; 2994 uint64_t decr64 : 1; 2995 uint64_t reserved_56_57 : 2; 2996 uint64_t faa32 : 1; 2997 uint64_t faa64 : 1; 2998 uint64_t reserved_60_61 : 2; 2999 uint64_t saa32 : 1; 3000 uint64_t saa64 : 1; 3001#endif 3002 } s; 3003 struct cvmx_trax_trig1_cmd_cn31xx { 3004#ifdef __BIG_ENDIAN_BITFIELD 3005 uint64_t reserved_16_63 : 48; 3006 uint64_t iobdma : 1; /**< Enable IOBDMA tracing 3007 0=disable, 1=enable */ 3008 uint64_t iobst : 1; /**< Enable IOBST tracing 3009 0=disable, 1=enable */ 3010 uint64_t iobld64 : 1; /**< Enable IOBLD64 tracing 3011 0=disable, 1=enable */ 3012 uint64_t iobld32 : 1; /**< Enable IOBLD32 tracing 3013 0=disable, 1=enable */ 3014 uint64_t iobld16 : 1; /**< Enable IOBLD16 tracing 3015 0=disable, 1=enable */ 3016 uint64_t iobld8 : 1; /**< Enable IOBLD8 tracing 3017 0=disable, 1=enable */ 3018 uint64_t stt : 1; /**< Enable STT tracing 3019 0=disable, 1=enable */ 3020 uint64_t stp : 1; /**< Enable STP tracing 3021 0=disable, 1=enable */ 3022 uint64_t stc : 1; /**< Enable STC tracing 3023 0=disable, 1=enable */ 3024 uint64_t stf : 1; /**< Enable STF tracing 3025 0=disable, 1=enable */ 3026 uint64_t ldt : 1; /**< Enable LDT tracing 3027 0=disable, 1=enable */ 3028 uint64_t ldi : 1; /**< Enable LDI tracing 3029 0=disable, 1=enable */ 3030 uint64_t ldd : 1; /**< Enable LDD tracing 3031 0=disable, 1=enable */ 3032 uint64_t psl1 : 1; /**< Enable PSL1 tracing 3033 0=disable, 1=enable */ 3034 uint64_t pl2 : 1; /**< Enable PL2 tracing 3035 0=disable, 1=enable */ 3036 uint64_t dwb : 1; /**< Enable DWB tracing 3037 0=disable, 1=enable */ 3038#else 3039 uint64_t dwb : 1; 3040 uint64_t pl2 : 1; 3041 uint64_t psl1 : 1; 3042 uint64_t ldd : 1; 3043 uint64_t ldi : 1; 3044 uint64_t ldt : 1; 3045 uint64_t stf : 1; 3046 uint64_t stc : 1; 3047 uint64_t stp : 1; 3048 uint64_t stt : 1; 3049 uint64_t iobld8 : 1; 3050 uint64_t iobld16 : 1; 3051 uint64_t iobld32 : 1; 3052 uint64_t iobld64 : 1; 3053 uint64_t iobst : 1; 3054 uint64_t iobdma : 1; 3055 uint64_t reserved_16_63 : 48; 3056#endif 3057 } cn31xx; 3058 struct cvmx_trax_trig1_cmd_cn31xx cn38xx; 3059 struct cvmx_trax_trig1_cmd_cn31xx cn38xxp2; 3060 struct cvmx_trax_trig1_cmd_cn52xx { 3061#ifdef __BIG_ENDIAN_BITFIELD 3062 uint64_t reserved_17_63 : 47; 3063 uint64_t saa : 1; /**< Enable SAA tracing 3064 0=disable, 1=enable */ 3065 uint64_t iobdma : 1; /**< Enable IOBDMA tracing 3066 0=disable, 1=enable */ 3067 uint64_t iobst : 1; /**< Enable IOBST tracing 3068 0=disable, 1=enable */ 3069 uint64_t iobld64 : 1; /**< Enable IOBLD64 tracing 3070 0=disable, 1=enable */ 3071 uint64_t iobld32 : 1; /**< Enable IOBLD32 tracing 3072 0=disable, 1=enable */ 3073 uint64_t iobld16 : 1; /**< Enable IOBLD16 tracing 3074 0=disable, 1=enable */ 3075 uint64_t iobld8 : 1; /**< Enable IOBLD8 tracing 3076 0=disable, 1=enable */ 3077 uint64_t stt : 1; /**< Enable STT tracing 3078 0=disable, 1=enable */ 3079 uint64_t stp : 1; /**< Enable STP tracing 3080 0=disable, 1=enable */ 3081 uint64_t stc : 1; /**< Enable STC tracing 3082 0=disable, 1=enable */ 3083 uint64_t stf : 1; /**< Enable STF tracing 3084 0=disable, 1=enable */ 3085 uint64_t ldt : 1; /**< Enable LDT tracing 3086 0=disable, 1=enable */ 3087 uint64_t ldi : 1; /**< Enable LDI tracing 3088 0=disable, 1=enable */ 3089 uint64_t ldd : 1; /**< Enable LDD tracing 3090 0=disable, 1=enable */ 3091 uint64_t psl1 : 1; /**< Enable PSL1 tracing 3092 0=disable, 1=enable */ 3093 uint64_t pl2 : 1; /**< Enable PL2 tracing 3094 0=disable, 1=enable */ 3095 uint64_t dwb : 1; /**< Enable DWB tracing 3096 0=disable, 1=enable */ 3097#else 3098 uint64_t dwb : 1; 3099 uint64_t pl2 : 1; 3100 uint64_t psl1 : 1; 3101 uint64_t ldd : 1; 3102 uint64_t ldi : 1; 3103 uint64_t ldt : 1; 3104 uint64_t stf : 1; 3105 uint64_t stc : 1; 3106 uint64_t stp : 1; 3107 uint64_t stt : 1; 3108 uint64_t iobld8 : 1; 3109 uint64_t iobld16 : 1; 3110 uint64_t iobld32 : 1; 3111 uint64_t iobld64 : 1; 3112 uint64_t iobst : 1; 3113 uint64_t iobdma : 1; 3114 uint64_t saa : 1; 3115 uint64_t reserved_17_63 : 47; 3116#endif 3117 } cn52xx; 3118 struct cvmx_trax_trig1_cmd_cn52xx cn52xxp1; 3119 struct cvmx_trax_trig1_cmd_cn52xx cn56xx; 3120 struct cvmx_trax_trig1_cmd_cn52xx cn56xxp1; 3121 struct cvmx_trax_trig1_cmd_cn52xx cn58xx; 3122 struct cvmx_trax_trig1_cmd_cn52xx cn58xxp1; 3123 struct cvmx_trax_trig1_cmd_cn61xx { 3124#ifdef __BIG_ENDIAN_BITFIELD 3125 uint64_t saa64 : 1; /**< Enable SAA64 tracing 3126 0=disable, 1=enable */ 3127 uint64_t saa32 : 1; /**< Enable SAA32 tracing 3128 0=disable, 1=enable */ 3129 uint64_t reserved_60_61 : 2; 3130 uint64_t faa64 : 1; /**< Enable FAA64 tracing 3131 0=disable, 1=enable */ 3132 uint64_t faa32 : 1; /**< Enable FAA32 tracing 3133 0=disable, 1=enable */ 3134 uint64_t reserved_56_57 : 2; 3135 uint64_t decr64 : 1; /**< Enable DECR64 tracing 3136 0=disable, 1=enable */ 3137 uint64_t decr32 : 1; /**< Enable DECR32 tracing 3138 0=disable, 1=enable */ 3139 uint64_t decr16 : 1; /**< Enable DECR16 tracing 3140 0=disable, 1=enable */ 3141 uint64_t decr8 : 1; /**< Enable DECR8 tracing 3142 0=disable, 1=enable */ 3143 uint64_t incr64 : 1; /**< Enable INCR64 tracing 3144 0=disable, 1=enable */ 3145 uint64_t incr32 : 1; /**< Enable INCR32 tracing 3146 0=disable, 1=enable */ 3147 uint64_t incr16 : 1; /**< Enable INCR16 tracing 3148 0=disable, 1=enable */ 3149 uint64_t incr8 : 1; /**< Enable INCR8 tracing 3150 0=disable, 1=enable */ 3151 uint64_t clr64 : 1; /**< Enable CLR64 tracing 3152 0=disable, 1=enable */ 3153 uint64_t clr32 : 1; /**< Enable CLR32 tracing 3154 0=disable, 1=enable */ 3155 uint64_t clr16 : 1; /**< Enable CLR16 tracing 3156 0=disable, 1=enable */ 3157 uint64_t clr8 : 1; /**< Enable CLR8 tracing 3158 0=disable, 1=enable */ 3159 uint64_t set64 : 1; /**< Enable SET64 tracing 3160 0=disable, 1=enable */ 3161 uint64_t set32 : 1; /**< Enable SET32 tracing 3162 0=disable, 1=enable */ 3163 uint64_t set16 : 1; /**< Enable SET16 tracing 3164 0=disable, 1=enable */ 3165 uint64_t set8 : 1; /**< Enable SET8 tracing 3166 0=disable, 1=enable */ 3167 uint64_t iobst64 : 1; /**< Enable IOBST64 tracing 3168 0=disable, 1=enable */ 3169 uint64_t iobst32 : 1; /**< Enable IOBST32 tracing 3170 0=disable, 1=enable */ 3171 uint64_t iobst16 : 1; /**< Enable IOBST16 tracing 3172 0=disable, 1=enable */ 3173 uint64_t iobst8 : 1; /**< Enable IOBST8 tracing 3174 0=disable, 1=enable */ 3175 uint64_t iobld64 : 1; /**< Enable IOBLD64 tracing 3176 0=disable, 1=enable */ 3177 uint64_t iobld32 : 1; /**< Enable IOBLD32 tracing 3178 0=disable, 1=enable */ 3179 uint64_t iobld16 : 1; /**< Enable IOBLD16 tracing 3180 0=disable, 1=enable */ 3181 uint64_t iobld8 : 1; /**< Enable IOBLD8 tracing 3182 0=disable, 1=enable */ 3183 uint64_t lckl2 : 1; /**< Enable LCKL2 tracing 3184 0=disable, 1=enable */ 3185 uint64_t wbl2 : 1; /**< Enable WBL2 tracing 3186 0=disable, 1=enable */ 3187 uint64_t wbil2 : 1; /**< Enable WBIL2 tracing 3188 0=disable, 1=enable */ 3189 uint64_t invl2 : 1; /**< Enable INVL2 tracing 3190 0=disable, 1=enable */ 3191 uint64_t reserved_27_27 : 1; 3192 uint64_t stgl2i : 1; /**< Enable STGL2I tracing 3193 0=disable, 1=enable */ 3194 uint64_t ltgl2i : 1; /**< Enable LTGL2I tracing 3195 0=disable, 1=enable */ 3196 uint64_t wbil2i : 1; /**< Enable WBIL2I tracing 3197 0=disable, 1=enable */ 3198 uint64_t fas64 : 1; /**< Enable FAS64 tracing 3199 0=disable, 1=enable */ 3200 uint64_t fas32 : 1; /**< Enable FAS32 tracing 3201 0=disable, 1=enable */ 3202 uint64_t sttil1 : 1; /**< Enable STTIL1 tracing 3203 0=disable, 1=enable */ 3204 uint64_t stfil1 : 1; /**< Enable STFIL1 tracing 3205 0=disable, 1=enable */ 3206 uint64_t stc : 1; /**< Enable STC tracing 3207 0=disable, 1=enable */ 3208 uint64_t stp : 1; /**< Enable STP tracing 3209 0=disable, 1=enable */ 3210 uint64_t stt : 1; /**< Enable STT tracing 3211 0=disable, 1=enable */ 3212 uint64_t stf : 1; /**< Enable STF tracing 3213 0=disable, 1=enable */ 3214 uint64_t iobdma : 1; /**< Enable IOBDMA tracing 3215 0=disable, 1=enable */ 3216 uint64_t reserved_10_14 : 5; 3217 uint64_t psl1 : 1; /**< Enable PSL1 tracing 3218 0=disable, 1=enable */ 3219 uint64_t ldd : 1; /**< Enable LDD tracing 3220 0=disable, 1=enable */ 3221 uint64_t reserved_6_7 : 2; 3222 uint64_t dwb : 1; /**< Enable DWB tracing 3223 0=disable, 1=enable */ 3224 uint64_t rpl2 : 1; /**< Enable RPL2 tracing 3225 0=disable, 1=enable */ 3226 uint64_t pl2 : 1; /**< Enable PL2 tracing 3227 0=disable, 1=enable */ 3228 uint64_t ldi : 1; /**< Enable LDI tracing 3229 0=disable, 1=enable */ 3230 uint64_t ldt : 1; /**< Enable LDT tracing 3231 0=disable, 1=enable */ 3232 uint64_t nop : 1; /**< Enable NOP tracing 3233 0=disable, 1=enable */ 3234#else 3235 uint64_t nop : 1; 3236 uint64_t ldt : 1; 3237 uint64_t ldi : 1; 3238 uint64_t pl2 : 1; 3239 uint64_t rpl2 : 1; 3240 uint64_t dwb : 1; 3241 uint64_t reserved_6_7 : 2; 3242 uint64_t ldd : 1; 3243 uint64_t psl1 : 1; 3244 uint64_t reserved_10_14 : 5; 3245 uint64_t iobdma : 1; 3246 uint64_t stf : 1; 3247 uint64_t stt : 1; 3248 uint64_t stp : 1; 3249 uint64_t stc : 1; 3250 uint64_t stfil1 : 1; 3251 uint64_t sttil1 : 1; 3252 uint64_t fas32 : 1; 3253 uint64_t fas64 : 1; 3254 uint64_t wbil2i : 1; 3255 uint64_t ltgl2i : 1; 3256 uint64_t stgl2i : 1; 3257 uint64_t reserved_27_27 : 1; 3258 uint64_t invl2 : 1; 3259 uint64_t wbil2 : 1; 3260 uint64_t wbl2 : 1; 3261 uint64_t lckl2 : 1; 3262 uint64_t iobld8 : 1; 3263 uint64_t iobld16 : 1; 3264 uint64_t iobld32 : 1; 3265 uint64_t iobld64 : 1; 3266 uint64_t iobst8 : 1; 3267 uint64_t iobst16 : 1; 3268 uint64_t iobst32 : 1; 3269 uint64_t iobst64 : 1; 3270 uint64_t set8 : 1; 3271 uint64_t set16 : 1; 3272 uint64_t set32 : 1; 3273 uint64_t set64 : 1; 3274 uint64_t clr8 : 1; 3275 uint64_t clr16 : 1; 3276 uint64_t clr32 : 1; 3277 uint64_t clr64 : 1; 3278 uint64_t incr8 : 1; 3279 uint64_t incr16 : 1; 3280 uint64_t incr32 : 1; 3281 uint64_t incr64 : 1; 3282 uint64_t decr8 : 1; 3283 uint64_t decr16 : 1; 3284 uint64_t decr32 : 1; 3285 uint64_t decr64 : 1; 3286 uint64_t reserved_56_57 : 2; 3287 uint64_t faa32 : 1; 3288 uint64_t faa64 : 1; 3289 uint64_t reserved_60_61 : 2; 3290 uint64_t saa32 : 1; 3291 uint64_t saa64 : 1; 3292#endif 3293 } cn61xx; 3294 struct cvmx_trax_trig1_cmd_cn61xx cn63xx; 3295 struct cvmx_trax_trig1_cmd_cn61xx cn63xxp1; 3296 struct cvmx_trax_trig1_cmd_cn61xx cn66xx; 3297 struct cvmx_trax_trig1_cmd_cn61xx cn68xx; 3298 struct cvmx_trax_trig1_cmd_cn61xx cn68xxp1; 3299 struct cvmx_trax_trig1_cmd_cn61xx cnf71xx; 3300}; 3301typedef union cvmx_trax_trig1_cmd cvmx_trax_trig1_cmd_t; 3302 3303/** 3304 * cvmx_tra#_trig1_did 3305 * 3306 * TRA_TRIG1_DID = Trace Buffer Filter DestinationId Mask 3307 * 3308 * Description: 3309 */ 3310union cvmx_trax_trig1_did { 3311 uint64_t u64; 3312 struct cvmx_trax_trig1_did_s { 3313#ifdef __BIG_ENDIAN_BITFIELD 3314 uint64_t reserved_13_63 : 51; 3315 uint64_t pow : 1; /**< Enable triggering on requests to POW 3316 (get work, add work, status/memory/index 3317 loads, NULLRd loads, CSR's) */ 3318 uint64_t reserved_9_11 : 3; 3319 uint64_t rng : 1; /**< Enable triggering on requests to RNG 3320 (loads/IOBDMA's are legal) */ 3321 uint64_t zip : 1; /**< Enable triggering on requests to ZIP 3322 (doorbell stores are legal) */ 3323 uint64_t dfa : 1; /**< Enable triggering on requests to DFA 3324 (CSR's and operations are legal) */ 3325 uint64_t fpa : 1; /**< Enable triggering on requests to FPA 3326 (alloc's (loads/IOBDMA's), frees (stores) are legal) */ 3327 uint64_t key : 1; /**< Enable triggering on requests to KEY memory 3328 (loads/IOBDMA's/stores are legal) */ 3329 uint64_t reserved_3_3 : 1; 3330 uint64_t illegal3 : 2; /**< Illegal destinations */ 3331 uint64_t mio : 1; /**< Enable triggering on MIO accesses 3332 (CIU and GPIO CSR's, boot bus accesses) */ 3333#else 3334 uint64_t mio : 1; 3335 uint64_t illegal3 : 2; 3336 uint64_t reserved_3_3 : 1; 3337 uint64_t key : 1; 3338 uint64_t fpa : 1; 3339 uint64_t dfa : 1; 3340 uint64_t zip : 1; 3341 uint64_t rng : 1; 3342 uint64_t reserved_9_11 : 3; 3343 uint64_t pow : 1; 3344 uint64_t reserved_13_63 : 51; 3345#endif 3346 } s; 3347 struct cvmx_trax_trig1_did_cn31xx { 3348#ifdef __BIG_ENDIAN_BITFIELD 3349 uint64_t reserved_32_63 : 32; 3350 uint64_t illegal : 19; /**< Illegal destinations */ 3351 uint64_t pow : 1; /**< Enable triggering on requests to POW 3352 (get work, add work, status/memory/index 3353 loads, NULLRd loads, CSR's) */ 3354 uint64_t illegal2 : 3; /**< Illegal destinations */ 3355 uint64_t rng : 1; /**< Enable triggering on requests to RNG 3356 (loads/IOBDMA's are legal) */ 3357 uint64_t zip : 1; /**< Enable triggering on requests to ZIP 3358 (doorbell stores are legal) */ 3359 uint64_t dfa : 1; /**< Enable triggering on requests to DFA 3360 (CSR's and operations are legal) */ 3361 uint64_t fpa : 1; /**< Enable triggering on requests to FPA 3362 (alloc's (loads/IOBDMA's), frees (stores) are legal) */ 3363 uint64_t key : 1; /**< Enable triggering on requests to KEY memory 3364 (loads/IOBDMA's/stores are legal) */ 3365 uint64_t pci : 1; /**< Enable triggering on requests to PCI and RSL-type 3366 CSR's (RSL CSR's, PCI bus operations, PCI 3367 CSR's) */ 3368 uint64_t illegal3 : 2; /**< Illegal destinations */ 3369 uint64_t mio : 1; /**< Enable triggering on CIU and GPIO CSR's */ 3370#else 3371 uint64_t mio : 1; 3372 uint64_t illegal3 : 2; 3373 uint64_t pci : 1; 3374 uint64_t key : 1; 3375 uint64_t fpa : 1; 3376 uint64_t dfa : 1; 3377 uint64_t zip : 1; 3378 uint64_t rng : 1; 3379 uint64_t illegal2 : 3; 3380 uint64_t pow : 1; 3381 uint64_t illegal : 19; 3382 uint64_t reserved_32_63 : 32; 3383#endif 3384 } cn31xx; 3385 struct cvmx_trax_trig1_did_cn31xx cn38xx; 3386 struct cvmx_trax_trig1_did_cn31xx cn38xxp2; 3387 struct cvmx_trax_trig1_did_cn31xx cn52xx; 3388 struct cvmx_trax_trig1_did_cn31xx cn52xxp1; 3389 struct cvmx_trax_trig1_did_cn31xx cn56xx; 3390 struct cvmx_trax_trig1_did_cn31xx cn56xxp1; 3391 struct cvmx_trax_trig1_did_cn31xx cn58xx; 3392 struct cvmx_trax_trig1_did_cn31xx cn58xxp1; 3393 struct cvmx_trax_trig1_did_cn61xx { 3394#ifdef __BIG_ENDIAN_BITFIELD 3395 uint64_t reserved_32_63 : 32; 3396 uint64_t illegal5 : 1; /**< Illegal destinations */ 3397 uint64_t fau : 1; /**< Enable triggering on FAU accesses */ 3398 uint64_t illegal4 : 2; /**< Illegal destinations */ 3399 uint64_t dpi : 1; /**< Enable triggering on DPI accesses 3400 (DPI NCB CSRs) */ 3401 uint64_t illegal : 12; /**< Illegal destinations */ 3402 uint64_t rad : 1; /**< Enable triggering on RAD accesses 3403 (doorbells) */ 3404 uint64_t usb0 : 1; /**< Enable triggering on USB0 accesses 3405 (UAHC0 EHCI and OHCI NCB CSRs) */ 3406 uint64_t pow : 1; /**< Enable triggering on requests to POW 3407 (get work, add work, status/memory/index 3408 loads, NULLRd loads, CSR's) */ 3409 uint64_t illegal2 : 1; /**< Illegal destination */ 3410 uint64_t pko : 1; /**< Enable triggering on PKO accesses 3411 (doorbells) */ 3412 uint64_t ipd : 1; /**< Enable triggering on IPD CSR accesses 3413 (IPD CSRs) */ 3414 uint64_t rng : 1; /**< Enable triggering on requests to RNG 3415 (loads/IOBDMA's are legal) */ 3416 uint64_t zip : 1; /**< Enable triggering on requests to ZIP 3417 (doorbell stores are legal) */ 3418 uint64_t dfa : 1; /**< Enable triggering on requests to DFA 3419 (CSR's and operations are legal) */ 3420 uint64_t fpa : 1; /**< Enable triggering on requests to FPA 3421 (alloc's (loads/IOBDMA's), frees (stores) are legal) */ 3422 uint64_t key : 1; /**< Enable triggering on requests to KEY memory 3423 (loads/IOBDMA's/stores are legal) */ 3424 uint64_t sli : 1; /**< Enable triggering on requests to SLI and RSL-type 3425 CSR's (RSL CSR's, PCI/sRIO bus operations, SLI 3426 CSR's) */ 3427 uint64_t illegal3 : 2; /**< Illegal destinations */ 3428 uint64_t mio : 1; /**< Enable triggering on MIO accesses 3429 (CIU and GPIO CSR's, boot bus accesses) */ 3430#else 3431 uint64_t mio : 1; 3432 uint64_t illegal3 : 2; 3433 uint64_t sli : 1; 3434 uint64_t key : 1; 3435 uint64_t fpa : 1; 3436 uint64_t dfa : 1; 3437 uint64_t zip : 1; 3438 uint64_t rng : 1; 3439 uint64_t ipd : 1; 3440 uint64_t pko : 1; 3441 uint64_t illegal2 : 1; 3442 uint64_t pow : 1; 3443 uint64_t usb0 : 1; 3444 uint64_t rad : 1; 3445 uint64_t illegal : 12; 3446 uint64_t dpi : 1; 3447 uint64_t illegal4 : 2; 3448 uint64_t fau : 1; 3449 uint64_t illegal5 : 1; 3450 uint64_t reserved_32_63 : 32; 3451#endif 3452 } cn61xx; 3453 struct cvmx_trax_trig1_did_cn61xx cn63xx; 3454 struct cvmx_trax_trig1_did_cn61xx cn63xxp1; 3455 struct cvmx_trax_trig1_did_cn61xx cn66xx; 3456 struct cvmx_trax_trig1_did_cn61xx cn68xx; 3457 struct cvmx_trax_trig1_did_cn61xx cn68xxp1; 3458 struct cvmx_trax_trig1_did_cn61xx cnf71xx; 3459}; 3460typedef union cvmx_trax_trig1_did cvmx_trax_trig1_did_t; 3461 3462/** 3463 * cvmx_tra#_trig1_sid 3464 * 3465 * TRA_TRIG1_SID = Trace Buffer Filter SourceId Mask 3466 * 3467 * Description: 3468 */ 3469union cvmx_trax_trig1_sid { 3470 uint64_t u64; 3471 struct cvmx_trax_trig1_sid_s { 3472#ifdef __BIG_ENDIAN_BITFIELD 3473 uint64_t reserved_20_63 : 44; 3474 uint64_t dwb : 1; /**< Enable triggering on requests from the IOB DWB engine */ 3475 uint64_t iobreq : 1; /**< Enable triggering on requests from FPA,TIM,DFA, 3476 PCI,ZIP,POW, and PKO (writes) */ 3477 uint64_t pko : 1; /**< Enable triggering on read requests from PKO */ 3478 uint64_t pki : 1; /**< Enable triggering on write requests from PIP/IPD */ 3479 uint64_t pp : 16; /**< Enable trigering from PP[N] with matching SourceID 3480 0=disable, 1=enable per bit N where 0<=N<=3 */ 3481#else 3482 uint64_t pp : 16; 3483 uint64_t pki : 1; 3484 uint64_t pko : 1; 3485 uint64_t iobreq : 1; 3486 uint64_t dwb : 1; 3487 uint64_t reserved_20_63 : 44; 3488#endif 3489 } s; 3490 struct cvmx_trax_trig1_sid_s cn31xx; 3491 struct cvmx_trax_trig1_sid_s cn38xx; 3492 struct cvmx_trax_trig1_sid_s cn38xxp2; 3493 struct cvmx_trax_trig1_sid_s cn52xx; 3494 struct cvmx_trax_trig1_sid_s cn52xxp1; 3495 struct cvmx_trax_trig1_sid_s cn56xx; 3496 struct cvmx_trax_trig1_sid_s cn56xxp1; 3497 struct cvmx_trax_trig1_sid_s cn58xx; 3498 struct cvmx_trax_trig1_sid_s cn58xxp1; 3499 struct cvmx_trax_trig1_sid_cn61xx { 3500#ifdef __BIG_ENDIAN_BITFIELD 3501 uint64_t reserved_20_63 : 44; 3502 uint64_t dwb : 1; /**< Enable triggering on requests from the IOB DWB engine */ 3503 uint64_t iobreq : 1; /**< Enable triggering on requests from FPA,TIM,DFA, 3504 PCI,ZIP,POW, and PKO (writes) */ 3505 uint64_t pko : 1; /**< Enable triggering on read requests from PKO */ 3506 uint64_t pki : 1; /**< Enable triggering on write requests from PIP/IPD */ 3507 uint64_t reserved_4_15 : 12; 3508 uint64_t pp : 4; /**< Enable trigering from PP[N] with matching SourceID 3509 0=disable, 1=enable per bit N where 0<=N<=3 */ 3510#else 3511 uint64_t pp : 4; 3512 uint64_t reserved_4_15 : 12; 3513 uint64_t pki : 1; 3514 uint64_t pko : 1; 3515 uint64_t iobreq : 1; 3516 uint64_t dwb : 1; 3517 uint64_t reserved_20_63 : 44; 3518#endif 3519 } cn61xx; 3520 struct cvmx_trax_trig1_sid_cn63xx { 3521#ifdef __BIG_ENDIAN_BITFIELD 3522 uint64_t reserved_20_63 : 44; 3523 uint64_t dwb : 1; /**< Enable triggering on requests from the IOB DWB engine */ 3524 uint64_t iobreq : 1; /**< Enable triggering on requests from FPA,TIM,DFA, 3525 PCI,ZIP,POW, and PKO (writes) */ 3526 uint64_t pko : 1; /**< Enable triggering on read requests from PKO */ 3527 uint64_t pki : 1; /**< Enable triggering on write requests from PIP/IPD */ 3528 uint64_t reserved_8_15 : 8; 3529 uint64_t pp : 8; /**< Enable trigering from PP[N] with matching SourceID 3530 0=disable, 1=enableper bit N where 0<=N<=15 */ 3531#else 3532 uint64_t pp : 8; 3533 uint64_t reserved_8_15 : 8; 3534 uint64_t pki : 1; 3535 uint64_t pko : 1; 3536 uint64_t iobreq : 1; 3537 uint64_t dwb : 1; 3538 uint64_t reserved_20_63 : 44; 3539#endif 3540 } cn63xx; 3541 struct cvmx_trax_trig1_sid_cn63xxp1 { 3542#ifdef __BIG_ENDIAN_BITFIELD 3543 uint64_t reserved_20_63 : 44; 3544 uint64_t dwb : 1; /**< Enable triggering on requests from the IOB DWB engine */ 3545 uint64_t iobreq : 1; /**< Enable triggering on requests from FPA,TIM,DFA, 3546 PCI,ZIP,POW, and PKO (writes) */ 3547 uint64_t pko : 1; /**< Enable triggering on read requests from PKO */ 3548 uint64_t pki : 1; /**< Enable triggering on write requests from PIP/IPD */ 3549 uint64_t reserved_6_15 : 10; 3550 uint64_t pp : 6; /**< Enable trigering from PP[N] with matching SourceID 3551 0=disable, 1=enable per bit N where 0<=N<=5 */ 3552#else 3553 uint64_t pp : 6; 3554 uint64_t reserved_6_15 : 10; 3555 uint64_t pki : 1; 3556 uint64_t pko : 1; 3557 uint64_t iobreq : 1; 3558 uint64_t dwb : 1; 3559 uint64_t reserved_20_63 : 44; 3560#endif 3561 } cn63xxp1; 3562 struct cvmx_trax_trig1_sid_cn66xx { 3563#ifdef __BIG_ENDIAN_BITFIELD 3564 uint64_t reserved_20_63 : 44; 3565 uint64_t dwb : 1; /**< Enable triggering on requests from the IOB DWB engine */ 3566 uint64_t iobreq : 1; /**< Enable triggering on requests from FPA,TIM,DFA, 3567 PCI,ZIP,POW, and PKO (writes) */ 3568 uint64_t pko : 1; /**< Enable triggering on read requests from PKO */ 3569 uint64_t pki : 1; /**< Enable triggering on write requests from PIP/IPD */ 3570 uint64_t reserved_10_15 : 6; 3571 uint64_t pp : 10; /**< Enable trigering from PP[N] with matching SourceID 3572 0=disable, 1=enableper bit N where 0<=N<=15 */ 3573#else 3574 uint64_t pp : 10; 3575 uint64_t reserved_10_15 : 6; 3576 uint64_t pki : 1; 3577 uint64_t pko : 1; 3578 uint64_t iobreq : 1; 3579 uint64_t dwb : 1; 3580 uint64_t reserved_20_63 : 44; 3581#endif 3582 } cn66xx; 3583 struct cvmx_trax_trig1_sid_cn63xx cn68xx; 3584 struct cvmx_trax_trig1_sid_cn63xx cn68xxp1; 3585 struct cvmx_trax_trig1_sid_cn61xx cnf71xx; 3586}; 3587typedef union cvmx_trax_trig1_sid cvmx_trax_trig1_sid_t; 3588 3589#include "cvmx-tra-defs.h" 3590#endif 3591