RTEMS 6.1-rc1
ahbtrace-regs.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
11/*
12 * Copyright (C) 2021 embedded brains GmbH & Co. KG
13 *
14 * Redistribution and use in source and binary forms, with or without
15 * modification, are permitted provided that the following conditions
16 * are met:
17 * 1. Redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer.
19 * 2. Redistributions in binary form must reproduce the above copyright
20 * notice, this list of conditions and the following disclaimer in the
21 * documentation and/or other materials provided with the distribution.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
27 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33 * POSSIBILITY OF SUCH DAMAGE.
34 */
35
36/*
37 * This file is part of the RTEMS quality process and was automatically
38 * generated. If you find something that needs to be fixed or
39 * worded better please post a report or patch to an RTEMS mailing list
40 * or raise a bug report:
41 *
42 * https://www.rtems.org/bugs.html
43 *
44 * For information on updating and regenerating please refer to the How-To
45 * section in the Software Requirements Engineering chapter of the
46 * RTEMS Software Engineering manual. The manual is provided as a part of
47 * a release. For development sources please refer to the online
48 * documentation at:
49 *
50 * https://docs.rtems.org
51 */
52
53/* Generated from spec:/dev/grlib/if/ahbtrace-header */
54
55#ifndef _GRLIB_AHBTRACE_REGS_H
56#define _GRLIB_AHBTRACE_REGS_H
57
58#include <stdint.h>
59
60#ifdef __cplusplus
61extern "C" {
62#endif
63
64/* Generated from spec:/dev/grlib/if/ahbtrace */
65
84#define AHBTRACE_CTRL_DCNT_SHIFT 16
85#define AHBTRACE_CTRL_DCNT_MASK 0x7f0000U
86#define AHBTRACE_CTRL_DCNT_GET( _reg ) \
87 ( ( ( _reg ) & AHBTRACE_CTRL_DCNT_MASK ) >> \
88 AHBTRACE_CTRL_DCNT_SHIFT )
89#define AHBTRACE_CTRL_DCNT_SET( _reg, _val ) \
90 ( ( ( _reg ) & ~AHBTRACE_CTRL_DCNT_MASK ) | \
91 ( ( ( _val ) << AHBTRACE_CTRL_DCNT_SHIFT ) & \
92 AHBTRACE_CTRL_DCNT_MASK ) )
93#define AHBTRACE_CTRL_DCNT( _val ) \
94 ( ( ( _val ) << AHBTRACE_CTRL_DCNT_SHIFT ) & \
95 AHBTRACE_CTRL_DCNT_MASK )
96
97#define AHBTRACE_CTRL_PF 0x100U
98
99#define AHBTRACE_CTRL_BW_SHIFT 6
100#define AHBTRACE_CTRL_BW_MASK 0xc0U
101#define AHBTRACE_CTRL_BW_GET( _reg ) \
102 ( ( ( _reg ) & AHBTRACE_CTRL_BW_MASK ) >> \
103 AHBTRACE_CTRL_BW_SHIFT )
104#define AHBTRACE_CTRL_BW_SET( _reg, _val ) \
105 ( ( ( _reg ) & ~AHBTRACE_CTRL_BW_MASK ) | \
106 ( ( ( _val ) << AHBTRACE_CTRL_BW_SHIFT ) & \
107 AHBTRACE_CTRL_BW_MASK ) )
108#define AHBTRACE_CTRL_BW( _val ) \
109 ( ( ( _val ) << AHBTRACE_CTRL_BW_SHIFT ) & \
110 AHBTRACE_CTRL_BW_MASK )
111
112#define AHBTRACE_CTRL_RF 0x20U
113
114#define AHBTRACE_CTRL_AF 0x10U
115
116#define AHBTRACE_CTRL_FR 0x8U
117
118#define AHBTRACE_CTRL_FW 0x4U
119
120#define AHBTRACE_CTRL_DM 0x2U
121
122#define AHBTRACE_CTRL_EN 0x1U
123
134#define AHBTRACE_INDEX_INDEX_SHIFT 4
135#define AHBTRACE_INDEX_INDEX_MASK 0x7f0U
136#define AHBTRACE_INDEX_INDEX_GET( _reg ) \
137 ( ( ( _reg ) & AHBTRACE_INDEX_INDEX_MASK ) >> \
138 AHBTRACE_INDEX_INDEX_SHIFT )
139#define AHBTRACE_INDEX_INDEX_SET( _reg, _val ) \
140 ( ( ( _reg ) & ~AHBTRACE_INDEX_INDEX_MASK ) | \
141 ( ( ( _val ) << AHBTRACE_INDEX_INDEX_SHIFT ) & \
142 AHBTRACE_INDEX_INDEX_MASK ) )
143#define AHBTRACE_INDEX_INDEX( _val ) \
144 ( ( ( _val ) << AHBTRACE_INDEX_INDEX_SHIFT ) & \
145 AHBTRACE_INDEX_INDEX_MASK )
146
158#define AHBTRACE_TIMETAG_TIMETAG_SHIFT 0
159#define AHBTRACE_TIMETAG_TIMETAG_MASK 0xffffffffU
160#define AHBTRACE_TIMETAG_TIMETAG_GET( _reg ) \
161 ( ( ( _reg ) & AHBTRACE_TIMETAG_TIMETAG_MASK ) >> \
162 AHBTRACE_TIMETAG_TIMETAG_SHIFT )
163#define AHBTRACE_TIMETAG_TIMETAG_SET( _reg, _val ) \
164 ( ( ( _reg ) & ~AHBTRACE_TIMETAG_TIMETAG_MASK ) | \
165 ( ( ( _val ) << AHBTRACE_TIMETAG_TIMETAG_SHIFT ) & \
166 AHBTRACE_TIMETAG_TIMETAG_MASK ) )
167#define AHBTRACE_TIMETAG_TIMETAG( _val ) \
168 ( ( ( _val ) << AHBTRACE_TIMETAG_TIMETAG_SHIFT ) & \
169 AHBTRACE_TIMETAG_TIMETAG_MASK )
170
182#define AHBTRACE_MSFILT_SMASK_15_0_SHIFT 16
183#define AHBTRACE_MSFILT_SMASK_15_0_MASK 0xffff0000U
184#define AHBTRACE_MSFILT_SMASK_15_0_GET( _reg ) \
185 ( ( ( _reg ) & AHBTRACE_MSFILT_SMASK_15_0_MASK ) >> \
186 AHBTRACE_MSFILT_SMASK_15_0_SHIFT )
187#define AHBTRACE_MSFILT_SMASK_15_0_SET( _reg, _val ) \
188 ( ( ( _reg ) & ~AHBTRACE_MSFILT_SMASK_15_0_MASK ) | \
189 ( ( ( _val ) << AHBTRACE_MSFILT_SMASK_15_0_SHIFT ) & \
190 AHBTRACE_MSFILT_SMASK_15_0_MASK ) )
191#define AHBTRACE_MSFILT_SMASK_15_0( _val ) \
192 ( ( ( _val ) << AHBTRACE_MSFILT_SMASK_15_0_SHIFT ) & \
193 AHBTRACE_MSFILT_SMASK_15_0_MASK )
194
195#define AHBTRACE_MSFILT_MMASK_15_0_SHIFT 0
196#define AHBTRACE_MSFILT_MMASK_15_0_MASK 0xffffU
197#define AHBTRACE_MSFILT_MMASK_15_0_GET( _reg ) \
198 ( ( ( _reg ) & AHBTRACE_MSFILT_MMASK_15_0_MASK ) >> \
199 AHBTRACE_MSFILT_MMASK_15_0_SHIFT )
200#define AHBTRACE_MSFILT_MMASK_15_0_SET( _reg, _val ) \
201 ( ( ( _reg ) & ~AHBTRACE_MSFILT_MMASK_15_0_MASK ) | \
202 ( ( ( _val ) << AHBTRACE_MSFILT_MMASK_15_0_SHIFT ) & \
203 AHBTRACE_MSFILT_MMASK_15_0_MASK ) )
204#define AHBTRACE_MSFILT_MMASK_15_0( _val ) \
205 ( ( ( _val ) << AHBTRACE_MSFILT_MMASK_15_0_SHIFT ) & \
206 AHBTRACE_MSFILT_MMASK_15_0_MASK )
207
219#define AHBTRACE_TBBA_BADDR_31_2_SHIFT 2
220#define AHBTRACE_TBBA_BADDR_31_2_MASK 0xfffffffcU
221#define AHBTRACE_TBBA_BADDR_31_2_GET( _reg ) \
222 ( ( ( _reg ) & AHBTRACE_TBBA_BADDR_31_2_MASK ) >> \
223 AHBTRACE_TBBA_BADDR_31_2_SHIFT )
224#define AHBTRACE_TBBA_BADDR_31_2_SET( _reg, _val ) \
225 ( ( ( _reg ) & ~AHBTRACE_TBBA_BADDR_31_2_MASK ) | \
226 ( ( ( _val ) << AHBTRACE_TBBA_BADDR_31_2_SHIFT ) & \
227 AHBTRACE_TBBA_BADDR_31_2_MASK ) )
228#define AHBTRACE_TBBA_BADDR_31_2( _val ) \
229 ( ( ( _val ) << AHBTRACE_TBBA_BADDR_31_2_SHIFT ) & \
230 AHBTRACE_TBBA_BADDR_31_2_MASK )
231
243#define AHBTRACE_TBBM_BMASK_31_2_SHIFT 2
244#define AHBTRACE_TBBM_BMASK_31_2_MASK 0xfffffffcU
245#define AHBTRACE_TBBM_BMASK_31_2_GET( _reg ) \
246 ( ( ( _reg ) & AHBTRACE_TBBM_BMASK_31_2_MASK ) >> \
247 AHBTRACE_TBBM_BMASK_31_2_SHIFT )
248#define AHBTRACE_TBBM_BMASK_31_2_SET( _reg, _val ) \
249 ( ( ( _reg ) & ~AHBTRACE_TBBM_BMASK_31_2_MASK ) | \
250 ( ( ( _val ) << AHBTRACE_TBBM_BMASK_31_2_SHIFT ) & \
251 AHBTRACE_TBBM_BMASK_31_2_MASK ) )
252#define AHBTRACE_TBBM_BMASK_31_2( _val ) \
253 ( ( ( _val ) << AHBTRACE_TBBM_BMASK_31_2_SHIFT ) & \
254 AHBTRACE_TBBM_BMASK_31_2_MASK )
255
256#define AHBTRACE_TBBM_LD 0x2U
257
258#define AHBTRACE_TBBM_ST 0x1U
259
265typedef struct ahbtrace {
269 uint32_t ctrl;
270
274 uint32_t index;
275
279 uint32_t timetag;
280
284 uint32_t msfilt;
285
289 uint32_t tbba_0;
290
294 uint32_t tbbm_0;
295
299 uint32_t tbba_1;
300
304 uint32_t tbbm_1;
306
309#ifdef __cplusplus
310}
311#endif
312
313#endif /* _GRLIB_AHBTRACE_REGS_H */
struct ahbtrace ahbtrace
This structure defines the AHBTRACE register block memory map.
This structure defines the AHBTRACE register block memory map.
Definition: ahbtrace-regs.h:265
uint32_t tbba_0
See Trace buffer break address registers (TBBA).
Definition: ahbtrace-regs.h:289
uint32_t tbbm_0
See Trace buffer break mask registers (TBBM).
Definition: ahbtrace-regs.h:294
uint32_t ctrl
See Trace buffer control register (CTRL).
Definition: ahbtrace-regs.h:269
uint32_t tbbm_1
See Trace buffer break mask registers (TBBM).
Definition: ahbtrace-regs.h:304
uint32_t index
See Trace buffer index register (INDEX).
Definition: ahbtrace-regs.h:274
uint32_t tbba_1
See Trace buffer break address registers (TBBA).
Definition: ahbtrace-regs.h:299
uint32_t timetag
See Trace buffer time tag register (TIMETAG).
Definition: ahbtrace-regs.h:279
uint32_t msfilt
See Trace buffer master/slave filter register (MSFILT).
Definition: ahbtrace-regs.h:284