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