RTEMS 7.0-rc1
Loading...
Searching...
No Matches
microblaze-timer.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
11/*
12 * Copyright (C) 2021 On-Line Applications Research Corporation (OAR)
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#ifndef LIBBSP_MICROBLAZE_FPGA_TIMER_H
37#define LIBBSP_MICROBLAZE_FPGA_TIMER_H
38
39#include <bspopts.h>
40
41#include <bsp/utility.h>
42/* References
43 * https://docs.xilinx.com/v/u/en-US/pg079-axi-timer
44 */
45
46#ifdef __cplusplus
47extern "C"
48{
49#endif /* __cplusplus */
50
51 typedef struct
52 {
53#define MICROBLAZE_TIMER_TCSR0_T0INT BSP_BIT32 ( 8 )
54#define MICROBLAZE_TIMER_TCSR0_ENT0 BSP_BIT32 ( 7 )
55#define MICROBLAZE_TIMER_TCSR0_ENIT0 BSP_BIT32 ( 6 )
56#define MICROBLAZE_TIMER_TCSR0_LOAD0 BSP_BIT32 ( 5 )
57#define MICROBLAZE_TIMER_TCSR0_ARHT0 BSP_BIT32 ( 4 )
58#define MICROBLAZE_TIMER_TCSR0_GENT0 BSP_BIT32 ( 2 )
59#define MICROBLAZE_TIMER_TCSR0_UDT0 BSP_BIT32 ( 1 )
60 /* Control/Status register
61 * Offset 0x0
62 */
63 uint32_t tcsr0;
64 /* Load register
65 * Offset 0x4
66 */
67 uint32_t tlr0;
68 /* Timer counter register
69 * Offset 0x8
70 */
71 uint32_t tcr0;
72
73 /* Reserved
74 * Offset 0xc
75 */
76 uint32_t rsvd0;
77
78 /* Control/Status register
79 * Offset 0x10
80 */
81 uint32_t tcsr1;
82 /* Load register
83 * Offset 0x14
84 */
85 uint32_t tlr1;
86 /* Timer counter register
87 * Offset 0x18
88 */
89 uint32_t tcr1;
90 /* Reserved
91 * Offset 0x1c
92 */
93 uint32_t rsvd1;
95
96#ifdef __cplusplus
97}
98#endif /* __cplusplus */
99
100#endif /* LIBBSP_MICROBLAZE_FPGA_TIMER_H */
This header file provides utility macros for BSPs.
Definition: microblaze-timer.h:52