Software APIs
rv_timer_regs.h
Go to the documentation of this file.
1/**
2 * @file
3 * @brief Generated register defines for rv_timer
4 */
5
6// Copyright information found in source file:
7// Copyright lowRISC contributors (OpenTitan project).
8
9// Licensing information found in source file:
10// Licensed under the Apache License, Version 2.0, see LICENSE for details.
11// SPDX-License-Identifier: Apache-2.0
12
13#ifndef _RV_TIMER_REG_DEFS_
14#define _RV_TIMER_REG_DEFS_
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19// Number of harts
20#define RV_TIMER_PARAM_N_HARTS 1
21
22// Number of timers per Hart
23#define RV_TIMER_PARAM_N_TIMERS 1
24
25// Number of alerts
26#define RV_TIMER_PARAM_NUM_ALERTS 1
27
28// Register width
29#define RV_TIMER_PARAM_REG_WIDTH 32
30
31// Alert Test Register
32#define RV_TIMER_ALERT_TEST_REG_OFFSET 0x0
33#define RV_TIMER_ALERT_TEST_REG_RESVAL 0x80000000u
34#define RV_TIMER_ALERT_TEST_FATAL_FAULT_BIT 0
35#define RV_TIMER_ALERT_TEST_REGWEN_BIT 31
36
37// Control register (common parameters)
38#define RV_TIMER_CTRL_ACTIVE_FIELD_WIDTH 1
39#define RV_TIMER_CTRL_MULTIREG_COUNT 1
40
41// Control register
42#define RV_TIMER_CTRL_REG_OFFSET 0x4
43#define RV_TIMER_CTRL_REG_RESVAL 0x0u
44#define RV_TIMER_CTRL_ACTIVE_0_BIT 0
45
46// Interrupt Enable (common parameters)
47#define RV_TIMER_INTR_ENABLE0_IE_FIELD_WIDTH 1
48#define RV_TIMER_INTR_ENABLE0_MULTIREG_COUNT 1
49
50// Interrupt Enable
51#define RV_TIMER_INTR_ENABLE0_REG_OFFSET 0x100
52#define RV_TIMER_INTR_ENABLE0_REG_RESVAL 0x0u
53#define RV_TIMER_INTR_ENABLE0_IE_0_BIT 0
54
55// Interrupt Status (common parameters)
56#define RV_TIMER_INTR_STATE0_IS_FIELD_WIDTH 1
57#define RV_TIMER_INTR_STATE0_MULTIREG_COUNT 1
58
59// Interrupt Status
60#define RV_TIMER_INTR_STATE0_REG_OFFSET 0x104
61#define RV_TIMER_INTR_STATE0_REG_RESVAL 0x0u
62#define RV_TIMER_INTR_STATE0_IS_0_BIT 0
63
64// Interrupt test register (common parameters)
65#define RV_TIMER_INTR_TEST0_T_FIELD_WIDTH 1
66#define RV_TIMER_INTR_TEST0_MULTIREG_COUNT 1
67
68// Interrupt test register
69#define RV_TIMER_INTR_TEST0_REG_OFFSET 0x108
70#define RV_TIMER_INTR_TEST0_REG_RESVAL 0x0u
71#define RV_TIMER_INTR_TEST0_T_0_BIT 0
72
73// Configuration for Hart 0
74#define RV_TIMER_CFG0_REG_OFFSET 0x10c
75#define RV_TIMER_CFG0_REG_RESVAL 0x10000u
76#define RV_TIMER_CFG0_PRESCALE_MASK 0xfffu
77#define RV_TIMER_CFG0_PRESCALE_OFFSET 0
78#define RV_TIMER_CFG0_PRESCALE_FIELD \
79 ((bitfield_field32_t) { .mask = RV_TIMER_CFG0_PRESCALE_MASK, .index = RV_TIMER_CFG0_PRESCALE_OFFSET })
80#define RV_TIMER_CFG0_STEP_MASK 0xffu
81#define RV_TIMER_CFG0_STEP_OFFSET 16
82#define RV_TIMER_CFG0_STEP_FIELD \
83 ((bitfield_field32_t) { .mask = RV_TIMER_CFG0_STEP_MASK, .index = RV_TIMER_CFG0_STEP_OFFSET })
84
85// Timer value Lower
86#define RV_TIMER_TIMER_V_LOWER0_REG_OFFSET 0x110
87#define RV_TIMER_TIMER_V_LOWER0_REG_RESVAL 0x0u
88
89// Timer value Upper
90#define RV_TIMER_TIMER_V_UPPER0_REG_OFFSET 0x114
91#define RV_TIMER_TIMER_V_UPPER0_REG_RESVAL 0x0u
92
93// Timer value Lower
94#define RV_TIMER_COMPARE_LOWER0_0_REG_OFFSET 0x118
95#define RV_TIMER_COMPARE_LOWER0_0_REG_RESVAL 0xffffffffu
96
97// Timer value Upper
98#define RV_TIMER_COMPARE_UPPER0_0_REG_OFFSET 0x11c
99#define RV_TIMER_COMPARE_UPPER0_0_REG_RESVAL 0xffffffffu
100
101#ifdef __cplusplus
102} // extern "C"
103#endif
104#endif // _RV_TIMER_REG_DEFS_
105// End generated register defines for rv_timer