RTEMS 6.1-rc5
Loading...
Searching...
No Matches
irqamp-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/irqamp-header */
54
55#ifndef _GRLIB_IRQAMP_REGS_H
56#define _GRLIB_IRQAMP_REGS_H
57
58#include <stdint.h>
59
60#ifdef __cplusplus
61extern "C" {
62#endif
63
64/* Generated from spec:/dev/grlib/if/irqamp-timestamp */
65
85#define IRQAMP_ITCNT_TCNT_SHIFT 0
86#define IRQAMP_ITCNT_TCNT_MASK 0xffffffffU
87#define IRQAMP_ITCNT_TCNT_GET( _reg ) \
88 ( ( ( _reg ) & IRQAMP_ITCNT_TCNT_MASK ) >> \
89 IRQAMP_ITCNT_TCNT_SHIFT )
90#define IRQAMP_ITCNT_TCNT_SET( _reg, _val ) \
91 ( ( ( _reg ) & ~IRQAMP_ITCNT_TCNT_MASK ) | \
92 ( ( ( _val ) << IRQAMP_ITCNT_TCNT_SHIFT ) & \
93 IRQAMP_ITCNT_TCNT_MASK ) )
94#define IRQAMP_ITCNT_TCNT( _val ) \
95 ( ( ( _val ) << IRQAMP_ITCNT_TCNT_SHIFT ) & \
96 IRQAMP_ITCNT_TCNT_MASK )
97
109#define IRQAMP_ITSTMPC_TSTAMP_SHIFT 27
110#define IRQAMP_ITSTMPC_TSTAMP_MASK 0xf8000000U
111#define IRQAMP_ITSTMPC_TSTAMP_GET( _reg ) \
112 ( ( ( _reg ) & IRQAMP_ITSTMPC_TSTAMP_MASK ) >> \
113 IRQAMP_ITSTMPC_TSTAMP_SHIFT )
114#define IRQAMP_ITSTMPC_TSTAMP_SET( _reg, _val ) \
115 ( ( ( _reg ) & ~IRQAMP_ITSTMPC_TSTAMP_MASK ) | \
116 ( ( ( _val ) << IRQAMP_ITSTMPC_TSTAMP_SHIFT ) & \
117 IRQAMP_ITSTMPC_TSTAMP_MASK ) )
118#define IRQAMP_ITSTMPC_TSTAMP( _val ) \
119 ( ( ( _val ) << IRQAMP_ITSTMPC_TSTAMP_SHIFT ) & \
120 IRQAMP_ITSTMPC_TSTAMP_MASK )
121
122#define IRQAMP_ITSTMPC_S1 0x4000000U
123
124#define IRQAMP_ITSTMPC_S2 0x2000000U
125
126#define IRQAMP_ITSTMPC_KS 0x20U
127
128#define IRQAMP_ITSTMPC_TSISEL_SHIFT 0
129#define IRQAMP_ITSTMPC_TSISEL_MASK 0x1fU
130#define IRQAMP_ITSTMPC_TSISEL_GET( _reg ) \
131 ( ( ( _reg ) & IRQAMP_ITSTMPC_TSISEL_MASK ) >> \
132 IRQAMP_ITSTMPC_TSISEL_SHIFT )
133#define IRQAMP_ITSTMPC_TSISEL_SET( _reg, _val ) \
134 ( ( ( _reg ) & ~IRQAMP_ITSTMPC_TSISEL_MASK ) | \
135 ( ( ( _val ) << IRQAMP_ITSTMPC_TSISEL_SHIFT ) & \
136 IRQAMP_ITSTMPC_TSISEL_MASK ) )
137#define IRQAMP_ITSTMPC_TSISEL( _val ) \
138 ( ( ( _val ) << IRQAMP_ITSTMPC_TSISEL_SHIFT ) & \
139 IRQAMP_ITSTMPC_TSISEL_MASK )
140
152#define IRQAMP_ITSTMPAS_TASSERTION_SHIFT 0
153#define IRQAMP_ITSTMPAS_TASSERTION_MASK 0xffffffffU
154#define IRQAMP_ITSTMPAS_TASSERTION_GET( _reg ) \
155 ( ( ( _reg ) & IRQAMP_ITSTMPAS_TASSERTION_MASK ) >> \
156 IRQAMP_ITSTMPAS_TASSERTION_SHIFT )
157#define IRQAMP_ITSTMPAS_TASSERTION_SET( _reg, _val ) \
158 ( ( ( _reg ) & ~IRQAMP_ITSTMPAS_TASSERTION_MASK ) | \
159 ( ( ( _val ) << IRQAMP_ITSTMPAS_TASSERTION_SHIFT ) & \
160 IRQAMP_ITSTMPAS_TASSERTION_MASK ) )
161#define IRQAMP_ITSTMPAS_TASSERTION( _val ) \
162 ( ( ( _val ) << IRQAMP_ITSTMPAS_TASSERTION_SHIFT ) & \
163 IRQAMP_ITSTMPAS_TASSERTION_MASK )
164
176#define IRQAMP_ITSTMPAC_TACKNOWLEDGE_SHIFT 0
177#define IRQAMP_ITSTMPAC_TACKNOWLEDGE_MASK 0xffffffffU
178#define IRQAMP_ITSTMPAC_TACKNOWLEDGE_GET( _reg ) \
179 ( ( ( _reg ) & IRQAMP_ITSTMPAC_TACKNOWLEDGE_MASK ) >> \
180 IRQAMP_ITSTMPAC_TACKNOWLEDGE_SHIFT )
181#define IRQAMP_ITSTMPAC_TACKNOWLEDGE_SET( _reg, _val ) \
182 ( ( ( _reg ) & ~IRQAMP_ITSTMPAC_TACKNOWLEDGE_MASK ) | \
183 ( ( ( _val ) << IRQAMP_ITSTMPAC_TACKNOWLEDGE_SHIFT ) & \
184 IRQAMP_ITSTMPAC_TACKNOWLEDGE_MASK ) )
185#define IRQAMP_ITSTMPAC_TACKNOWLEDGE( _val ) \
186 ( ( ( _val ) << IRQAMP_ITSTMPAC_TACKNOWLEDGE_SHIFT ) & \
187 IRQAMP_ITSTMPAC_TACKNOWLEDGE_MASK )
188
195typedef struct irqamp_timestamp {
199 uint32_t itcnt;
200
204 uint32_t itstmpc;
205
209 uint32_t itstmpas;
210
214 uint32_t itstmpac;
216
219/* Generated from spec:/dev/grlib/if/irqamp */
220
239#define IRQAMP_ILEVEL_IL_15_1_SHIFT 1
240#define IRQAMP_ILEVEL_IL_15_1_MASK 0xfffeU
241#define IRQAMP_ILEVEL_IL_15_1_GET( _reg ) \
242 ( ( ( _reg ) & IRQAMP_ILEVEL_IL_15_1_MASK ) >> \
243 IRQAMP_ILEVEL_IL_15_1_SHIFT )
244#define IRQAMP_ILEVEL_IL_15_1_SET( _reg, _val ) \
245 ( ( ( _reg ) & ~IRQAMP_ILEVEL_IL_15_1_MASK ) | \
246 ( ( ( _val ) << IRQAMP_ILEVEL_IL_15_1_SHIFT ) & \
247 IRQAMP_ILEVEL_IL_15_1_MASK ) )
248#define IRQAMP_ILEVEL_IL_15_1( _val ) \
249 ( ( ( _val ) << IRQAMP_ILEVEL_IL_15_1_SHIFT ) & \
250 IRQAMP_ILEVEL_IL_15_1_MASK )
251
262#define IRQAMP_IPEND_EIP_31_16_SHIFT 16
263#define IRQAMP_IPEND_EIP_31_16_MASK 0xffff0000U
264#define IRQAMP_IPEND_EIP_31_16_GET( _reg ) \
265 ( ( ( _reg ) & IRQAMP_IPEND_EIP_31_16_MASK ) >> \
266 IRQAMP_IPEND_EIP_31_16_SHIFT )
267#define IRQAMP_IPEND_EIP_31_16_SET( _reg, _val ) \
268 ( ( ( _reg ) & ~IRQAMP_IPEND_EIP_31_16_MASK ) | \
269 ( ( ( _val ) << IRQAMP_IPEND_EIP_31_16_SHIFT ) & \
270 IRQAMP_IPEND_EIP_31_16_MASK ) )
271#define IRQAMP_IPEND_EIP_31_16( _val ) \
272 ( ( ( _val ) << IRQAMP_IPEND_EIP_31_16_SHIFT ) & \
273 IRQAMP_IPEND_EIP_31_16_MASK )
274
275#define IRQAMP_IPEND_IP_15_1_SHIFT 1
276#define IRQAMP_IPEND_IP_15_1_MASK 0xfffeU
277#define IRQAMP_IPEND_IP_15_1_GET( _reg ) \
278 ( ( ( _reg ) & IRQAMP_IPEND_IP_15_1_MASK ) >> \
279 IRQAMP_IPEND_IP_15_1_SHIFT )
280#define IRQAMP_IPEND_IP_15_1_SET( _reg, _val ) \
281 ( ( ( _reg ) & ~IRQAMP_IPEND_IP_15_1_MASK ) | \
282 ( ( ( _val ) << IRQAMP_IPEND_IP_15_1_SHIFT ) & \
283 IRQAMP_IPEND_IP_15_1_MASK ) )
284#define IRQAMP_IPEND_IP_15_1( _val ) \
285 ( ( ( _val ) << IRQAMP_IPEND_IP_15_1_SHIFT ) & \
286 IRQAMP_IPEND_IP_15_1_MASK )
287
299#define IRQAMP_IFORCE0_IF_15_1_SHIFT 1
300#define IRQAMP_IFORCE0_IF_15_1_MASK 0xfffeU
301#define IRQAMP_IFORCE0_IF_15_1_GET( _reg ) \
302 ( ( ( _reg ) & IRQAMP_IFORCE0_IF_15_1_MASK ) >> \
303 IRQAMP_IFORCE0_IF_15_1_SHIFT )
304#define IRQAMP_IFORCE0_IF_15_1_SET( _reg, _val ) \
305 ( ( ( _reg ) & ~IRQAMP_IFORCE0_IF_15_1_MASK ) | \
306 ( ( ( _val ) << IRQAMP_IFORCE0_IF_15_1_SHIFT ) & \
307 IRQAMP_IFORCE0_IF_15_1_MASK ) )
308#define IRQAMP_IFORCE0_IF_15_1( _val ) \
309 ( ( ( _val ) << IRQAMP_IFORCE0_IF_15_1_SHIFT ) & \
310 IRQAMP_IFORCE0_IF_15_1_MASK )
311
322#define IRQAMP_ICLEAR_EIC_31_16_SHIFT 16
323#define IRQAMP_ICLEAR_EIC_31_16_MASK 0xffff0000U
324#define IRQAMP_ICLEAR_EIC_31_16_GET( _reg ) \
325 ( ( ( _reg ) & IRQAMP_ICLEAR_EIC_31_16_MASK ) >> \
326 IRQAMP_ICLEAR_EIC_31_16_SHIFT )
327#define IRQAMP_ICLEAR_EIC_31_16_SET( _reg, _val ) \
328 ( ( ( _reg ) & ~IRQAMP_ICLEAR_EIC_31_16_MASK ) | \
329 ( ( ( _val ) << IRQAMP_ICLEAR_EIC_31_16_SHIFT ) & \
330 IRQAMP_ICLEAR_EIC_31_16_MASK ) )
331#define IRQAMP_ICLEAR_EIC_31_16( _val ) \
332 ( ( ( _val ) << IRQAMP_ICLEAR_EIC_31_16_SHIFT ) & \
333 IRQAMP_ICLEAR_EIC_31_16_MASK )
334
335#define IRQAMP_ICLEAR_IC_15_1_SHIFT 1
336#define IRQAMP_ICLEAR_IC_15_1_MASK 0xfffeU
337#define IRQAMP_ICLEAR_IC_15_1_GET( _reg ) \
338 ( ( ( _reg ) & IRQAMP_ICLEAR_IC_15_1_MASK ) >> \
339 IRQAMP_ICLEAR_IC_15_1_SHIFT )
340#define IRQAMP_ICLEAR_IC_15_1_SET( _reg, _val ) \
341 ( ( ( _reg ) & ~IRQAMP_ICLEAR_IC_15_1_MASK ) | \
342 ( ( ( _val ) << IRQAMP_ICLEAR_IC_15_1_SHIFT ) & \
343 IRQAMP_ICLEAR_IC_15_1_MASK ) )
344#define IRQAMP_ICLEAR_IC_15_1( _val ) \
345 ( ( ( _val ) << IRQAMP_ICLEAR_IC_15_1_SHIFT ) & \
346 IRQAMP_ICLEAR_IC_15_1_MASK )
347
359#define IRQAMP_MPSTAT_NCPU_SHIFT 28
360#define IRQAMP_MPSTAT_NCPU_MASK 0xf0000000U
361#define IRQAMP_MPSTAT_NCPU_GET( _reg ) \
362 ( ( ( _reg ) & IRQAMP_MPSTAT_NCPU_MASK ) >> \
363 IRQAMP_MPSTAT_NCPU_SHIFT )
364#define IRQAMP_MPSTAT_NCPU_SET( _reg, _val ) \
365 ( ( ( _reg ) & ~IRQAMP_MPSTAT_NCPU_MASK ) | \
366 ( ( ( _val ) << IRQAMP_MPSTAT_NCPU_SHIFT ) & \
367 IRQAMP_MPSTAT_NCPU_MASK ) )
368#define IRQAMP_MPSTAT_NCPU( _val ) \
369 ( ( ( _val ) << IRQAMP_MPSTAT_NCPU_SHIFT ) & \
370 IRQAMP_MPSTAT_NCPU_MASK )
371
372#define IRQAMP_MPSTAT_BA 0x8000000U
373
374#define IRQAMP_MPSTAT_ER 0x4000000U
375
376#define IRQAMP_MPSTAT_EIRQ_SHIFT 16
377#define IRQAMP_MPSTAT_EIRQ_MASK 0xf0000U
378#define IRQAMP_MPSTAT_EIRQ_GET( _reg ) \
379 ( ( ( _reg ) & IRQAMP_MPSTAT_EIRQ_MASK ) >> \
380 IRQAMP_MPSTAT_EIRQ_SHIFT )
381#define IRQAMP_MPSTAT_EIRQ_SET( _reg, _val ) \
382 ( ( ( _reg ) & ~IRQAMP_MPSTAT_EIRQ_MASK ) | \
383 ( ( ( _val ) << IRQAMP_MPSTAT_EIRQ_SHIFT ) & \
384 IRQAMP_MPSTAT_EIRQ_MASK ) )
385#define IRQAMP_MPSTAT_EIRQ( _val ) \
386 ( ( ( _val ) << IRQAMP_MPSTAT_EIRQ_SHIFT ) & \
387 IRQAMP_MPSTAT_EIRQ_MASK )
388
389#define IRQAMP_MPSTAT_STATUS_SHIFT 0
390#define IRQAMP_MPSTAT_STATUS_MASK 0xfU
391#define IRQAMP_MPSTAT_STATUS_GET( _reg ) \
392 ( ( ( _reg ) & IRQAMP_MPSTAT_STATUS_MASK ) >> \
393 IRQAMP_MPSTAT_STATUS_SHIFT )
394#define IRQAMP_MPSTAT_STATUS_SET( _reg, _val ) \
395 ( ( ( _reg ) & ~IRQAMP_MPSTAT_STATUS_MASK ) | \
396 ( ( ( _val ) << IRQAMP_MPSTAT_STATUS_SHIFT ) & \
397 IRQAMP_MPSTAT_STATUS_MASK ) )
398#define IRQAMP_MPSTAT_STATUS( _val ) \
399 ( ( ( _val ) << IRQAMP_MPSTAT_STATUS_SHIFT ) & \
400 IRQAMP_MPSTAT_STATUS_MASK )
401
412#define IRQAMP_BRDCST_BM15_1_SHIFT 1
413#define IRQAMP_BRDCST_BM15_1_MASK 0xfffeU
414#define IRQAMP_BRDCST_BM15_1_GET( _reg ) \
415 ( ( ( _reg ) & IRQAMP_BRDCST_BM15_1_MASK ) >> \
416 IRQAMP_BRDCST_BM15_1_SHIFT )
417#define IRQAMP_BRDCST_BM15_1_SET( _reg, _val ) \
418 ( ( ( _reg ) & ~IRQAMP_BRDCST_BM15_1_MASK ) | \
419 ( ( ( _val ) << IRQAMP_BRDCST_BM15_1_SHIFT ) & \
420 IRQAMP_BRDCST_BM15_1_MASK ) )
421#define IRQAMP_BRDCST_BM15_1( _val ) \
422 ( ( ( _val ) << IRQAMP_BRDCST_BM15_1_SHIFT ) & \
423 IRQAMP_BRDCST_BM15_1_MASK )
424
435#define IRQAMP_ERRSTAT_ERRMODE_3_0_SHIFT 0
436#define IRQAMP_ERRSTAT_ERRMODE_3_0_MASK 0xfU
437#define IRQAMP_ERRSTAT_ERRMODE_3_0_GET( _reg ) \
438 ( ( ( _reg ) & IRQAMP_ERRSTAT_ERRMODE_3_0_MASK ) >> \
439 IRQAMP_ERRSTAT_ERRMODE_3_0_SHIFT )
440#define IRQAMP_ERRSTAT_ERRMODE_3_0_SET( _reg, _val ) \
441 ( ( ( _reg ) & ~IRQAMP_ERRSTAT_ERRMODE_3_0_MASK ) | \
442 ( ( ( _val ) << IRQAMP_ERRSTAT_ERRMODE_3_0_SHIFT ) & \
443 IRQAMP_ERRSTAT_ERRMODE_3_0_MASK ) )
444#define IRQAMP_ERRSTAT_ERRMODE_3_0( _val ) \
445 ( ( ( _val ) << IRQAMP_ERRSTAT_ERRMODE_3_0_SHIFT ) & \
446 IRQAMP_ERRSTAT_ERRMODE_3_0_MASK )
447
459#define IRQAMP_WDOGCTRL_NWDOG_SHIFT 27
460#define IRQAMP_WDOGCTRL_NWDOG_MASK 0xf8000000U
461#define IRQAMP_WDOGCTRL_NWDOG_GET( _reg ) \
462 ( ( ( _reg ) & IRQAMP_WDOGCTRL_NWDOG_MASK ) >> \
463 IRQAMP_WDOGCTRL_NWDOG_SHIFT )
464#define IRQAMP_WDOGCTRL_NWDOG_SET( _reg, _val ) \
465 ( ( ( _reg ) & ~IRQAMP_WDOGCTRL_NWDOG_MASK ) | \
466 ( ( ( _val ) << IRQAMP_WDOGCTRL_NWDOG_SHIFT ) & \
467 IRQAMP_WDOGCTRL_NWDOG_MASK ) )
468#define IRQAMP_WDOGCTRL_NWDOG( _val ) \
469 ( ( ( _val ) << IRQAMP_WDOGCTRL_NWDOG_SHIFT ) & \
470 IRQAMP_WDOGCTRL_NWDOG_MASK )
471
472#define IRQAMP_WDOGCTRL_WDOGIRQ_SHIFT 16
473#define IRQAMP_WDOGCTRL_WDOGIRQ_MASK 0xf0000U
474#define IRQAMP_WDOGCTRL_WDOGIRQ_GET( _reg ) \
475 ( ( ( _reg ) & IRQAMP_WDOGCTRL_WDOGIRQ_MASK ) >> \
476 IRQAMP_WDOGCTRL_WDOGIRQ_SHIFT )
477#define IRQAMP_WDOGCTRL_WDOGIRQ_SET( _reg, _val ) \
478 ( ( ( _reg ) & ~IRQAMP_WDOGCTRL_WDOGIRQ_MASK ) | \
479 ( ( ( _val ) << IRQAMP_WDOGCTRL_WDOGIRQ_SHIFT ) & \
480 IRQAMP_WDOGCTRL_WDOGIRQ_MASK ) )
481#define IRQAMP_WDOGCTRL_WDOGIRQ( _val ) \
482 ( ( ( _val ) << IRQAMP_WDOGCTRL_WDOGIRQ_SHIFT ) & \
483 IRQAMP_WDOGCTRL_WDOGIRQ_MASK )
484
485#define IRQAMP_WDOGCTRL_WDOGMSK_SHIFT 0
486#define IRQAMP_WDOGCTRL_WDOGMSK_MASK 0xfU
487#define IRQAMP_WDOGCTRL_WDOGMSK_GET( _reg ) \
488 ( ( ( _reg ) & IRQAMP_WDOGCTRL_WDOGMSK_MASK ) >> \
489 IRQAMP_WDOGCTRL_WDOGMSK_SHIFT )
490#define IRQAMP_WDOGCTRL_WDOGMSK_SET( _reg, _val ) \
491 ( ( ( _reg ) & ~IRQAMP_WDOGCTRL_WDOGMSK_MASK ) | \
492 ( ( ( _val ) << IRQAMP_WDOGCTRL_WDOGMSK_SHIFT ) & \
493 IRQAMP_WDOGCTRL_WDOGMSK_MASK ) )
494#define IRQAMP_WDOGCTRL_WDOGMSK( _val ) \
495 ( ( ( _val ) << IRQAMP_WDOGCTRL_WDOGMSK_SHIFT ) & \
496 IRQAMP_WDOGCTRL_WDOGMSK_MASK )
497
509#define IRQAMP_ASMPCTRL_NCTRL_SHIFT 28
510#define IRQAMP_ASMPCTRL_NCTRL_MASK 0xf0000000U
511#define IRQAMP_ASMPCTRL_NCTRL_GET( _reg ) \
512 ( ( ( _reg ) & IRQAMP_ASMPCTRL_NCTRL_MASK ) >> \
513 IRQAMP_ASMPCTRL_NCTRL_SHIFT )
514#define IRQAMP_ASMPCTRL_NCTRL_SET( _reg, _val ) \
515 ( ( ( _reg ) & ~IRQAMP_ASMPCTRL_NCTRL_MASK ) | \
516 ( ( ( _val ) << IRQAMP_ASMPCTRL_NCTRL_SHIFT ) & \
517 IRQAMP_ASMPCTRL_NCTRL_MASK ) )
518#define IRQAMP_ASMPCTRL_NCTRL( _val ) \
519 ( ( ( _val ) << IRQAMP_ASMPCTRL_NCTRL_SHIFT ) & \
520 IRQAMP_ASMPCTRL_NCTRL_MASK )
521
522#define IRQAMP_ASMPCTRL_ICF 0x2U
523
524#define IRQAMP_ASMPCTRL_L 0x1U
525
537#define IRQAMP_ICSELR_ICSEL0_SHIFT 28
538#define IRQAMP_ICSELR_ICSEL0_MASK 0xf0000000U
539#define IRQAMP_ICSELR_ICSEL0_GET( _reg ) \
540 ( ( ( _reg ) & IRQAMP_ICSELR_ICSEL0_MASK ) >> \
541 IRQAMP_ICSELR_ICSEL0_SHIFT )
542#define IRQAMP_ICSELR_ICSEL0_SET( _reg, _val ) \
543 ( ( ( _reg ) & ~IRQAMP_ICSELR_ICSEL0_MASK ) | \
544 ( ( ( _val ) << IRQAMP_ICSELR_ICSEL0_SHIFT ) & \
545 IRQAMP_ICSELR_ICSEL0_MASK ) )
546#define IRQAMP_ICSELR_ICSEL0( _val ) \
547 ( ( ( _val ) << IRQAMP_ICSELR_ICSEL0_SHIFT ) & \
548 IRQAMP_ICSELR_ICSEL0_MASK )
549
550#define IRQAMP_ICSELR_ICSEL1_SHIFT 24
551#define IRQAMP_ICSELR_ICSEL1_MASK 0xf000000U
552#define IRQAMP_ICSELR_ICSEL1_GET( _reg ) \
553 ( ( ( _reg ) & IRQAMP_ICSELR_ICSEL1_MASK ) >> \
554 IRQAMP_ICSELR_ICSEL1_SHIFT )
555#define IRQAMP_ICSELR_ICSEL1_SET( _reg, _val ) \
556 ( ( ( _reg ) & ~IRQAMP_ICSELR_ICSEL1_MASK ) | \
557 ( ( ( _val ) << IRQAMP_ICSELR_ICSEL1_SHIFT ) & \
558 IRQAMP_ICSELR_ICSEL1_MASK ) )
559#define IRQAMP_ICSELR_ICSEL1( _val ) \
560 ( ( ( _val ) << IRQAMP_ICSELR_ICSEL1_SHIFT ) & \
561 IRQAMP_ICSELR_ICSEL1_MASK )
562
563#define IRQAMP_ICSELR_ICSEL2_SHIFT 20
564#define IRQAMP_ICSELR_ICSEL2_MASK 0xf00000U
565#define IRQAMP_ICSELR_ICSEL2_GET( _reg ) \
566 ( ( ( _reg ) & IRQAMP_ICSELR_ICSEL2_MASK ) >> \
567 IRQAMP_ICSELR_ICSEL2_SHIFT )
568#define IRQAMP_ICSELR_ICSEL2_SET( _reg, _val ) \
569 ( ( ( _reg ) & ~IRQAMP_ICSELR_ICSEL2_MASK ) | \
570 ( ( ( _val ) << IRQAMP_ICSELR_ICSEL2_SHIFT ) & \
571 IRQAMP_ICSELR_ICSEL2_MASK ) )
572#define IRQAMP_ICSELR_ICSEL2( _val ) \
573 ( ( ( _val ) << IRQAMP_ICSELR_ICSEL2_SHIFT ) & \
574 IRQAMP_ICSELR_ICSEL2_MASK )
575
576#define IRQAMP_ICSELR_ICSEL3_SHIFT 16
577#define IRQAMP_ICSELR_ICSEL3_MASK 0xf0000U
578#define IRQAMP_ICSELR_ICSEL3_GET( _reg ) \
579 ( ( ( _reg ) & IRQAMP_ICSELR_ICSEL3_MASK ) >> \
580 IRQAMP_ICSELR_ICSEL3_SHIFT )
581#define IRQAMP_ICSELR_ICSEL3_SET( _reg, _val ) \
582 ( ( ( _reg ) & ~IRQAMP_ICSELR_ICSEL3_MASK ) | \
583 ( ( ( _val ) << IRQAMP_ICSELR_ICSEL3_SHIFT ) & \
584 IRQAMP_ICSELR_ICSEL3_MASK ) )
585#define IRQAMP_ICSELR_ICSEL3( _val ) \
586 ( ( ( _val ) << IRQAMP_ICSELR_ICSEL3_SHIFT ) & \
587 IRQAMP_ICSELR_ICSEL3_MASK )
588
600#define IRQAMP_PIMASK_EIM_31_16_SHIFT 16
601#define IRQAMP_PIMASK_EIM_31_16_MASK 0xffff0000U
602#define IRQAMP_PIMASK_EIM_31_16_GET( _reg ) \
603 ( ( ( _reg ) & IRQAMP_PIMASK_EIM_31_16_MASK ) >> \
604 IRQAMP_PIMASK_EIM_31_16_SHIFT )
605#define IRQAMP_PIMASK_EIM_31_16_SET( _reg, _val ) \
606 ( ( ( _reg ) & ~IRQAMP_PIMASK_EIM_31_16_MASK ) | \
607 ( ( ( _val ) << IRQAMP_PIMASK_EIM_31_16_SHIFT ) & \
608 IRQAMP_PIMASK_EIM_31_16_MASK ) )
609#define IRQAMP_PIMASK_EIM_31_16( _val ) \
610 ( ( ( _val ) << IRQAMP_PIMASK_EIM_31_16_SHIFT ) & \
611 IRQAMP_PIMASK_EIM_31_16_MASK )
612
613#define IRQAMP_PIMASK_IM15_1_SHIFT 1
614#define IRQAMP_PIMASK_IM15_1_MASK 0xfffeU
615#define IRQAMP_PIMASK_IM15_1_GET( _reg ) \
616 ( ( ( _reg ) & IRQAMP_PIMASK_IM15_1_MASK ) >> \
617 IRQAMP_PIMASK_IM15_1_SHIFT )
618#define IRQAMP_PIMASK_IM15_1_SET( _reg, _val ) \
619 ( ( ( _reg ) & ~IRQAMP_PIMASK_IM15_1_MASK ) | \
620 ( ( ( _val ) << IRQAMP_PIMASK_IM15_1_SHIFT ) & \
621 IRQAMP_PIMASK_IM15_1_MASK ) )
622#define IRQAMP_PIMASK_IM15_1( _val ) \
623 ( ( ( _val ) << IRQAMP_PIMASK_IM15_1_SHIFT ) & \
624 IRQAMP_PIMASK_IM15_1_MASK )
625
637#define IRQAMP_PIFORCE_FC_15_1_SHIFT 17
638#define IRQAMP_PIFORCE_FC_15_1_MASK 0xfffe0000U
639#define IRQAMP_PIFORCE_FC_15_1_GET( _reg ) \
640 ( ( ( _reg ) & IRQAMP_PIFORCE_FC_15_1_MASK ) >> \
641 IRQAMP_PIFORCE_FC_15_1_SHIFT )
642#define IRQAMP_PIFORCE_FC_15_1_SET( _reg, _val ) \
643 ( ( ( _reg ) & ~IRQAMP_PIFORCE_FC_15_1_MASK ) | \
644 ( ( ( _val ) << IRQAMP_PIFORCE_FC_15_1_SHIFT ) & \
645 IRQAMP_PIFORCE_FC_15_1_MASK ) )
646#define IRQAMP_PIFORCE_FC_15_1( _val ) \
647 ( ( ( _val ) << IRQAMP_PIFORCE_FC_15_1_SHIFT ) & \
648 IRQAMP_PIFORCE_FC_15_1_MASK )
649
650#define IRQAMP_PIFORCE_IF15_1_SHIFT 1
651#define IRQAMP_PIFORCE_IF15_1_MASK 0xfffeU
652#define IRQAMP_PIFORCE_IF15_1_GET( _reg ) \
653 ( ( ( _reg ) & IRQAMP_PIFORCE_IF15_1_MASK ) >> \
654 IRQAMP_PIFORCE_IF15_1_SHIFT )
655#define IRQAMP_PIFORCE_IF15_1_SET( _reg, _val ) \
656 ( ( ( _reg ) & ~IRQAMP_PIFORCE_IF15_1_MASK ) | \
657 ( ( ( _val ) << IRQAMP_PIFORCE_IF15_1_SHIFT ) & \
658 IRQAMP_PIFORCE_IF15_1_MASK ) )
659#define IRQAMP_PIFORCE_IF15_1( _val ) \
660 ( ( ( _val ) << IRQAMP_PIFORCE_IF15_1_SHIFT ) & \
661 IRQAMP_PIFORCE_IF15_1_MASK )
662
674#define IRQAMP_PEXTACK_EID_4_0_SHIFT 0
675#define IRQAMP_PEXTACK_EID_4_0_MASK 0x1fU
676#define IRQAMP_PEXTACK_EID_4_0_GET( _reg ) \
677 ( ( ( _reg ) & IRQAMP_PEXTACK_EID_4_0_MASK ) >> \
678 IRQAMP_PEXTACK_EID_4_0_SHIFT )
679#define IRQAMP_PEXTACK_EID_4_0_SET( _reg, _val ) \
680 ( ( ( _reg ) & ~IRQAMP_PEXTACK_EID_4_0_MASK ) | \
681 ( ( ( _val ) << IRQAMP_PEXTACK_EID_4_0_SHIFT ) & \
682 IRQAMP_PEXTACK_EID_4_0_MASK ) )
683#define IRQAMP_PEXTACK_EID_4_0( _val ) \
684 ( ( ( _val ) << IRQAMP_PEXTACK_EID_4_0_SHIFT ) & \
685 IRQAMP_PEXTACK_EID_4_0_MASK )
686
698#define IRQAMP_BADDR_BOOTADDR_31_3_SHIFT 3
699#define IRQAMP_BADDR_BOOTADDR_31_3_MASK 0xfffffff8U
700#define IRQAMP_BADDR_BOOTADDR_31_3_GET( _reg ) \
701 ( ( ( _reg ) & IRQAMP_BADDR_BOOTADDR_31_3_MASK ) >> \
702 IRQAMP_BADDR_BOOTADDR_31_3_SHIFT )
703#define IRQAMP_BADDR_BOOTADDR_31_3_SET( _reg, _val ) \
704 ( ( ( _reg ) & ~IRQAMP_BADDR_BOOTADDR_31_3_MASK ) | \
705 ( ( ( _val ) << IRQAMP_BADDR_BOOTADDR_31_3_SHIFT ) & \
706 IRQAMP_BADDR_BOOTADDR_31_3_MASK ) )
707#define IRQAMP_BADDR_BOOTADDR_31_3( _val ) \
708 ( ( ( _val ) << IRQAMP_BADDR_BOOTADDR_31_3_SHIFT ) & \
709 IRQAMP_BADDR_BOOTADDR_31_3_MASK )
710
711#define IRQAMP_BADDR_AS 0x1U
712
723#define IRQAMP_IRQMAP_IRQMAP_4_N_0_SHIFT 24
724#define IRQAMP_IRQMAP_IRQMAP_4_N_0_MASK 0xff000000U
725#define IRQAMP_IRQMAP_IRQMAP_4_N_0_GET( _reg ) \
726 ( ( ( _reg ) & IRQAMP_IRQMAP_IRQMAP_4_N_0_MASK ) >> \
727 IRQAMP_IRQMAP_IRQMAP_4_N_0_SHIFT )
728#define IRQAMP_IRQMAP_IRQMAP_4_N_0_SET( _reg, _val ) \
729 ( ( ( _reg ) & ~IRQAMP_IRQMAP_IRQMAP_4_N_0_MASK ) | \
730 ( ( ( _val ) << IRQAMP_IRQMAP_IRQMAP_4_N_0_SHIFT ) & \
731 IRQAMP_IRQMAP_IRQMAP_4_N_0_MASK ) )
732#define IRQAMP_IRQMAP_IRQMAP_4_N_0( _val ) \
733 ( ( ( _val ) << IRQAMP_IRQMAP_IRQMAP_4_N_0_SHIFT ) & \
734 IRQAMP_IRQMAP_IRQMAP_4_N_0_MASK )
735
736#define IRQAMP_IRQMAP_IRQMAP_4_N_1_SHIFT 16
737#define IRQAMP_IRQMAP_IRQMAP_4_N_1_MASK 0xff0000U
738#define IRQAMP_IRQMAP_IRQMAP_4_N_1_GET( _reg ) \
739 ( ( ( _reg ) & IRQAMP_IRQMAP_IRQMAP_4_N_1_MASK ) >> \
740 IRQAMP_IRQMAP_IRQMAP_4_N_1_SHIFT )
741#define IRQAMP_IRQMAP_IRQMAP_4_N_1_SET( _reg, _val ) \
742 ( ( ( _reg ) & ~IRQAMP_IRQMAP_IRQMAP_4_N_1_MASK ) | \
743 ( ( ( _val ) << IRQAMP_IRQMAP_IRQMAP_4_N_1_SHIFT ) & \
744 IRQAMP_IRQMAP_IRQMAP_4_N_1_MASK ) )
745#define IRQAMP_IRQMAP_IRQMAP_4_N_1( _val ) \
746 ( ( ( _val ) << IRQAMP_IRQMAP_IRQMAP_4_N_1_SHIFT ) & \
747 IRQAMP_IRQMAP_IRQMAP_4_N_1_MASK )
748
749#define IRQAMP_IRQMAP_IRQMAP_4_N_2_SHIFT 8
750#define IRQAMP_IRQMAP_IRQMAP_4_N_2_MASK 0xff00U
751#define IRQAMP_IRQMAP_IRQMAP_4_N_2_GET( _reg ) \
752 ( ( ( _reg ) & IRQAMP_IRQMAP_IRQMAP_4_N_2_MASK ) >> \
753 IRQAMP_IRQMAP_IRQMAP_4_N_2_SHIFT )
754#define IRQAMP_IRQMAP_IRQMAP_4_N_2_SET( _reg, _val ) \
755 ( ( ( _reg ) & ~IRQAMP_IRQMAP_IRQMAP_4_N_2_MASK ) | \
756 ( ( ( _val ) << IRQAMP_IRQMAP_IRQMAP_4_N_2_SHIFT ) & \
757 IRQAMP_IRQMAP_IRQMAP_4_N_2_MASK ) )
758#define IRQAMP_IRQMAP_IRQMAP_4_N_2( _val ) \
759 ( ( ( _val ) << IRQAMP_IRQMAP_IRQMAP_4_N_2_SHIFT ) & \
760 IRQAMP_IRQMAP_IRQMAP_4_N_2_MASK )
761
762#define IRQAMP_IRQMAP_IRQMAP_4_N_3_SHIFT 0
763#define IRQAMP_IRQMAP_IRQMAP_4_N_3_MASK 0xffU
764#define IRQAMP_IRQMAP_IRQMAP_4_N_3_GET( _reg ) \
765 ( ( ( _reg ) & IRQAMP_IRQMAP_IRQMAP_4_N_3_MASK ) >> \
766 IRQAMP_IRQMAP_IRQMAP_4_N_3_SHIFT )
767#define IRQAMP_IRQMAP_IRQMAP_4_N_3_SET( _reg, _val ) \
768 ( ( ( _reg ) & ~IRQAMP_IRQMAP_IRQMAP_4_N_3_MASK ) | \
769 ( ( ( _val ) << IRQAMP_IRQMAP_IRQMAP_4_N_3_SHIFT ) & \
770 IRQAMP_IRQMAP_IRQMAP_4_N_3_MASK ) )
771#define IRQAMP_IRQMAP_IRQMAP_4_N_3( _val ) \
772 ( ( ( _val ) << IRQAMP_IRQMAP_IRQMAP_4_N_3_SHIFT ) & \
773 IRQAMP_IRQMAP_IRQMAP_4_N_3_MASK )
774
780typedef struct irqamp {
784 uint32_t ilevel;
785
789 uint32_t ipend;
790
794 uint32_t iforce0;
795
799 uint32_t iclear;
800
804 uint32_t mpstat;
805
809 uint32_t brdcst;
810
814 uint32_t errstat;
815
819 uint32_t wdogctrl;
820
824 uint32_t asmpctrl;
825
829 uint32_t icselr[ 2 ];
830
831 uint32_t reserved_2c_40[ 5 ];
832
836 uint32_t pimask[ 16 ];
837
841 uint32_t piforce[ 16 ];
842
846 uint32_t pextack[ 16 ];
847
852
856 uint32_t baddr[ 16 ];
857
858 uint32_t reserved_240_300[ 48 ];
859
863 uint32_t irqmap[ 16 ];
864
865 uint32_t reserved_340_400[ 48 ];
867
870#ifdef __cplusplus
871}
872#endif
873
874#endif /* _GRLIB_IRQAMP_REGS_H */
This structure defines the IRQ(A)MP Timestamp register block memory map.
Definition: irqamp-regs.h:195
uint32_t itcnt
See Interrupt timestamp counter n register (ITCNT).
Definition: irqamp-regs.h:199
uint32_t itstmpac
See Interrupt Acknowledge Timestamp n register (ITSTMPAC).
Definition: irqamp-regs.h:214
uint32_t itstmpas
See Interrupt Assertion Timestamp n register (ITSTMPAS).
Definition: irqamp-regs.h:209
uint32_t itstmpc
See Interrupt timestamp n control register (ITSTMPC).
Definition: irqamp-regs.h:204
This structure defines the IRQ(A)MP register block memory map.
Definition: irqamp-regs.h:780
uint32_t ilevel
See Interrupt level register (ILEVEL).
Definition: irqamp-regs.h:784
uint32_t pimask[16]
See Processor n interrupt mask register (PIMASK).
Definition: irqamp-regs.h:836
uint32_t iforce0
See Interrupt force register for processor 0 (IFORCE0).
Definition: irqamp-regs.h:794
uint32_t errstat
See Error Mode Status Register (ERRSTAT).
Definition: irqamp-regs.h:814
uint32_t baddr[16]
See Processor n Boot Address register (BADDR).
Definition: irqamp-regs.h:856
uint32_t irqmap[16]
See Interrupt map register n (IRQMAP).
Definition: irqamp-regs.h:863
uint32_t pextack[16]
See Processor n extended interrupt acknowledge register (PEXTACK).
Definition: irqamp-regs.h:846
uint32_t wdogctrl
See Watchdog control register (WDOGCTRL).
Definition: irqamp-regs.h:819
uint32_t asmpctrl
See Asymmetric multiprocessing control register (ASMPCTRL).
Definition: irqamp-regs.h:824
irqamp_timestamp itstmp[16]
See IRQ(A)MP Timestamp.
Definition: irqamp-regs.h:851
uint32_t mpstat
See Multiprocessor status register (MPSTAT).
Definition: irqamp-regs.h:804
uint32_t brdcst
See Broadcast register (BRDCST).
Definition: irqamp-regs.h:809
uint32_t piforce[16]
See Processor n interrupt force register (PIFORCE).
Definition: irqamp-regs.h:841
uint32_t iclear
See Interrupt clear register (ICLEAR).
Definition: irqamp-regs.h:799
uint32_t ipend
See Interrupt pending register (IPEND).
Definition: irqamp-regs.h:789
uint32_t icselr[2]
See Interrupt controller select register (ICSELR).
Definition: irqamp-regs.h:829