Software APIs
gpio_regs.h
Go to the documentation of this file.
1/**
2 * @file
3 * @brief Generated register defines for gpio
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 _GPIO_REG_DEFS_
14#define _GPIO_REG_DEFS_
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19// Number of I/Os.
20#define GPIO_PARAM_NUM_I_OS 32
21
22// Number of input period counters.
23#define GPIO_PARAM_NUM_INP_PERIOD_COUNTERS 0
24
25// Number of alerts
26#define GPIO_PARAM_NUM_ALERTS 1
27
28// Register width
29#define GPIO_PARAM_REG_WIDTH 32
30
31// Common Interrupt Offsets
32
33// Interrupt State Register
34#define GPIO_INTR_STATE_REG_OFFSET 0x0
35#define GPIO_INTR_STATE_REG_RESVAL 0x0u
36
37// Interrupt Enable Register
38#define GPIO_INTR_ENABLE_REG_OFFSET 0x4
39#define GPIO_INTR_ENABLE_REG_RESVAL 0x0u
40
41// Interrupt Test Register
42#define GPIO_INTR_TEST_REG_OFFSET 0x8
43#define GPIO_INTR_TEST_REG_RESVAL 0x0u
44
45// Alert Test Register
46#define GPIO_ALERT_TEST_REG_OFFSET 0xc
47#define GPIO_ALERT_TEST_REG_RESVAL 0x80000000u
48#define GPIO_ALERT_TEST_FATAL_FAULT_BIT 0
49#define GPIO_ALERT_TEST_REGWEN_BIT 31
50
51// GPIO Input data read value
52#define GPIO_DATA_IN_REG_OFFSET 0x10
53#define GPIO_DATA_IN_REG_RESVAL 0x0u
54
55// GPIO direct output data write value
56#define GPIO_DIRECT_OUT_REG_OFFSET 0x14
57#define GPIO_DIRECT_OUT_REG_RESVAL 0x0u
58
59// GPIO write data lower with mask.
60#define GPIO_MASKED_OUT_LOWER_REG_OFFSET 0x18
61#define GPIO_MASKED_OUT_LOWER_REG_RESVAL 0x0u
62#define GPIO_MASKED_OUT_LOWER_DATA_MASK 0xffffu
63#define GPIO_MASKED_OUT_LOWER_DATA_OFFSET 0
64#define GPIO_MASKED_OUT_LOWER_DATA_FIELD \
65 ((bitfield_field32_t) { .mask = GPIO_MASKED_OUT_LOWER_DATA_MASK, .index = GPIO_MASKED_OUT_LOWER_DATA_OFFSET })
66#define GPIO_MASKED_OUT_LOWER_MASK_MASK 0xffffu
67#define GPIO_MASKED_OUT_LOWER_MASK_OFFSET 16
68#define GPIO_MASKED_OUT_LOWER_MASK_FIELD \
69 ((bitfield_field32_t) { .mask = GPIO_MASKED_OUT_LOWER_MASK_MASK, .index = GPIO_MASKED_OUT_LOWER_MASK_OFFSET })
70
71// GPIO write data upper with mask.
72#define GPIO_MASKED_OUT_UPPER_REG_OFFSET 0x1c
73#define GPIO_MASKED_OUT_UPPER_REG_RESVAL 0x0u
74#define GPIO_MASKED_OUT_UPPER_DATA_MASK 0xffffu
75#define GPIO_MASKED_OUT_UPPER_DATA_OFFSET 0
76#define GPIO_MASKED_OUT_UPPER_DATA_FIELD \
77 ((bitfield_field32_t) { .mask = GPIO_MASKED_OUT_UPPER_DATA_MASK, .index = GPIO_MASKED_OUT_UPPER_DATA_OFFSET })
78#define GPIO_MASKED_OUT_UPPER_MASK_MASK 0xffffu
79#define GPIO_MASKED_OUT_UPPER_MASK_OFFSET 16
80#define GPIO_MASKED_OUT_UPPER_MASK_FIELD \
81 ((bitfield_field32_t) { .mask = GPIO_MASKED_OUT_UPPER_MASK_MASK, .index = GPIO_MASKED_OUT_UPPER_MASK_OFFSET })
82
83// GPIO Output Enable.
84#define GPIO_DIRECT_OE_REG_OFFSET 0x20
85#define GPIO_DIRECT_OE_REG_RESVAL 0x0u
86
87// GPIO write Output Enable lower with mask.
88#define GPIO_MASKED_OE_LOWER_REG_OFFSET 0x24
89#define GPIO_MASKED_OE_LOWER_REG_RESVAL 0x0u
90#define GPIO_MASKED_OE_LOWER_DATA_MASK 0xffffu
91#define GPIO_MASKED_OE_LOWER_DATA_OFFSET 0
92#define GPIO_MASKED_OE_LOWER_DATA_FIELD \
93 ((bitfield_field32_t) { .mask = GPIO_MASKED_OE_LOWER_DATA_MASK, .index = GPIO_MASKED_OE_LOWER_DATA_OFFSET })
94#define GPIO_MASKED_OE_LOWER_MASK_MASK 0xffffu
95#define GPIO_MASKED_OE_LOWER_MASK_OFFSET 16
96#define GPIO_MASKED_OE_LOWER_MASK_FIELD \
97 ((bitfield_field32_t) { .mask = GPIO_MASKED_OE_LOWER_MASK_MASK, .index = GPIO_MASKED_OE_LOWER_MASK_OFFSET })
98
99// GPIO write Output Enable upper with mask.
100#define GPIO_MASKED_OE_UPPER_REG_OFFSET 0x28
101#define GPIO_MASKED_OE_UPPER_REG_RESVAL 0x0u
102#define GPIO_MASKED_OE_UPPER_DATA_MASK 0xffffu
103#define GPIO_MASKED_OE_UPPER_DATA_OFFSET 0
104#define GPIO_MASKED_OE_UPPER_DATA_FIELD \
105 ((bitfield_field32_t) { .mask = GPIO_MASKED_OE_UPPER_DATA_MASK, .index = GPIO_MASKED_OE_UPPER_DATA_OFFSET })
106#define GPIO_MASKED_OE_UPPER_MASK_MASK 0xffffu
107#define GPIO_MASKED_OE_UPPER_MASK_OFFSET 16
108#define GPIO_MASKED_OE_UPPER_MASK_FIELD \
109 ((bitfield_field32_t) { .mask = GPIO_MASKED_OE_UPPER_MASK_MASK, .index = GPIO_MASKED_OE_UPPER_MASK_OFFSET })
110
111// GPIO interrupt enable for GPIO, rising edge.
112#define GPIO_INTR_CTRL_EN_RISING_REG_OFFSET 0x2c
113#define GPIO_INTR_CTRL_EN_RISING_REG_RESVAL 0x0u
114
115// GPIO interrupt enable for GPIO, falling edge.
116#define GPIO_INTR_CTRL_EN_FALLING_REG_OFFSET 0x30
117#define GPIO_INTR_CTRL_EN_FALLING_REG_RESVAL 0x0u
118
119// GPIO interrupt enable for GPIO, level high.
120#define GPIO_INTR_CTRL_EN_LVLHIGH_REG_OFFSET 0x34
121#define GPIO_INTR_CTRL_EN_LVLHIGH_REG_RESVAL 0x0u
122
123// GPIO interrupt enable for GPIO, level low.
124#define GPIO_INTR_CTRL_EN_LVLLOW_REG_OFFSET 0x38
125#define GPIO_INTR_CTRL_EN_LVLLOW_REG_RESVAL 0x0u
126
127// filter enable for GPIO input bits.
128#define GPIO_CTRL_EN_INPUT_FILTER_REG_OFFSET 0x3c
129#define GPIO_CTRL_EN_INPUT_FILTER_REG_RESVAL 0x0u
130
131// Indicates whether the data in !!HW_STRAPS_DATA_IN is valid.
132#define GPIO_HW_STRAPS_DATA_IN_VALID_REG_OFFSET 0x40
133#define GPIO_HW_STRAPS_DATA_IN_VALID_REG_RESVAL 0x0u
134#define GPIO_HW_STRAPS_DATA_IN_VALID_HW_STRAPS_DATA_IN_VALID_BIT 0
135
136// GPIO input data that was sampled as straps at most once after the block
137#define GPIO_HW_STRAPS_DATA_IN_REG_OFFSET 0x44
138#define GPIO_HW_STRAPS_DATA_IN_REG_RESVAL 0x0u
139
140#ifdef __cplusplus
141} // extern "C"
142#endif
143#endif // _GPIO_REG_DEFS_
144// End generated register defines for gpio