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 0x0u
34#define RV_TIMER_ALERT_TEST_FATAL_FAULT_BIT 0
35
36// Control register (common parameters)
37#define RV_TIMER_CTRL_ACTIVE_FIELD_WIDTH 1
38#define RV_TIMER_CTRL_MULTIREG_COUNT 1
39
40// Control register
41#define RV_TIMER_CTRL_REG_OFFSET 0x4
42#define RV_TIMER_CTRL_REG_RESVAL 0x0u
43#define RV_TIMER_CTRL_ACTIVE_0_BIT 0
44
45// Interrupt Enable (common parameters)
46#define RV_TIMER_INTR_ENABLE0_IE_FIELD_WIDTH 1
47#define RV_TIMER_INTR_ENABLE0_MULTIREG_COUNT 1
48
49// Interrupt Enable
50#define RV_TIMER_INTR_ENABLE0_REG_OFFSET 0x100
51#define RV_TIMER_INTR_ENABLE0_REG_RESVAL 0x0u
52#define RV_TIMER_INTR_ENABLE0_IE_0_BIT 0
53
54// Interrupt Status (common parameters)
55#define RV_TIMER_INTR_STATE0_IS_FIELD_WIDTH 1
56#define RV_TIMER_INTR_STATE0_MULTIREG_COUNT 1
57
58// Interrupt Status
59#define RV_TIMER_INTR_STATE0_REG_OFFSET 0x104
60#define RV_TIMER_INTR_STATE0_REG_RESVAL 0x0u
61#define RV_TIMER_INTR_STATE0_IS_0_BIT 0
62
63// Interrupt test register (common parameters)
64#define RV_TIMER_INTR_TEST0_T_FIELD_WIDTH 1
65#define RV_TIMER_INTR_TEST0_MULTIREG_COUNT 1
66
67// Interrupt test register
68#define RV_TIMER_INTR_TEST0_REG_OFFSET 0x108
69#define RV_TIMER_INTR_TEST0_REG_RESVAL 0x0u
70#define RV_TIMER_INTR_TEST0_T_0_BIT 0
71
72// Configuration for Hart 0
73#define RV_TIMER_CFG0_REG_OFFSET 0x10c
74#define RV_TIMER_CFG0_REG_RESVAL 0x10000u
75#define RV_TIMER_CFG0_PRESCALE_MASK 0xfffu
76#define RV_TIMER_CFG0_PRESCALE_OFFSET 0
77#define RV_TIMER_CFG0_PRESCALE_FIELD \
78 ((bitfield_field32_t) { .mask = RV_TIMER_CFG0_PRESCALE_MASK, .index = RV_TIMER_CFG0_PRESCALE_OFFSET })
79#define RV_TIMER_CFG0_STEP_MASK 0xffu
80#define RV_TIMER_CFG0_STEP_OFFSET 16
81#define RV_TIMER_CFG0_STEP_FIELD \
82 ((bitfield_field32_t) { .mask = RV_TIMER_CFG0_STEP_MASK, .index = RV_TIMER_CFG0_STEP_OFFSET })
83
84// Timer value Lower
85#define RV_TIMER_TIMER_V_LOWER0_REG_OFFSET 0x110
86#define RV_TIMER_TIMER_V_LOWER0_REG_RESVAL 0x0u
87
88// Timer value Upper
89#define RV_TIMER_TIMER_V_UPPER0_REG_OFFSET 0x114
90#define RV_TIMER_TIMER_V_UPPER0_REG_RESVAL 0x0u
91
92// Timer value Lower
93#define RV_TIMER_COMPARE_LOWER0_0_REG_OFFSET 0x118
94#define RV_TIMER_COMPARE_LOWER0_0_REG_RESVAL 0xffffffffu
95
96// Timer value Upper
97#define RV_TIMER_COMPARE_UPPER0_0_REG_OFFSET 0x11c
98#define RV_TIMER_COMPARE_UPPER0_0_REG_RESVAL 0xffffffffu
99
100#ifdef __cplusplus
101} // extern "C"
102#endif
103#endif // _RV_TIMER_REG_DEFS_
104// End generated register defines for rv_timer