RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
bsps
include
grlib
apbuart-regs.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-2-Clause */
2
10
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/apbuart-header */
54
55
#ifndef _GRLIB_APBUART_REGS_H
56
#define _GRLIB_APBUART_REGS_H
57
58
#include <stdint.h>
59
60
#ifdef __cplusplus
61
extern
"C"
{
62
#endif
63
64
/* Generated from spec:/dev/grlib/if/apbuart */
65
75
83
84
#define APBUART_DATA_DATA_SHIFT 0
85
#define APBUART_DATA_DATA_MASK 0xffU
86
#define APBUART_DATA_DATA_GET( _reg ) \
87
( ( ( _reg ) & APBUART_DATA_DATA_MASK ) >> \
88
APBUART_DATA_DATA_SHIFT )
89
#define APBUART_DATA_DATA_SET( _reg, _val ) \
90
( ( ( _reg ) & ~APBUART_DATA_DATA_MASK ) | \
91
( ( ( _val ) << APBUART_DATA_DATA_SHIFT ) & \
92
APBUART_DATA_DATA_MASK ) )
93
#define APBUART_DATA_DATA( _val ) \
94
( ( ( _val ) << APBUART_DATA_DATA_SHIFT ) & \
95
APBUART_DATA_DATA_MASK )
96
98
106
107
#define APBUART_STATUS_RCNT_SHIFT 26
108
#define APBUART_STATUS_RCNT_MASK 0xfc000000U
109
#define APBUART_STATUS_RCNT_GET( _reg ) \
110
( ( ( _reg ) & APBUART_STATUS_RCNT_MASK ) >> \
111
APBUART_STATUS_RCNT_SHIFT )
112
#define APBUART_STATUS_RCNT_SET( _reg, _val ) \
113
( ( ( _reg ) & ~APBUART_STATUS_RCNT_MASK ) | \
114
( ( ( _val ) << APBUART_STATUS_RCNT_SHIFT ) & \
115
APBUART_STATUS_RCNT_MASK ) )
116
#define APBUART_STATUS_RCNT( _val ) \
117
( ( ( _val ) << APBUART_STATUS_RCNT_SHIFT ) & \
118
APBUART_STATUS_RCNT_MASK )
119
120
#define APBUART_STATUS_TCNT_SHIFT 20
121
#define APBUART_STATUS_TCNT_MASK 0x3f00000U
122
#define APBUART_STATUS_TCNT_GET( _reg ) \
123
( ( ( _reg ) & APBUART_STATUS_TCNT_MASK ) >> \
124
APBUART_STATUS_TCNT_SHIFT )
125
#define APBUART_STATUS_TCNT_SET( _reg, _val ) \
126
( ( ( _reg ) & ~APBUART_STATUS_TCNT_MASK ) | \
127
( ( ( _val ) << APBUART_STATUS_TCNT_SHIFT ) & \
128
APBUART_STATUS_TCNT_MASK ) )
129
#define APBUART_STATUS_TCNT( _val ) \
130
( ( ( _val ) << APBUART_STATUS_TCNT_SHIFT ) & \
131
APBUART_STATUS_TCNT_MASK )
132
133
#define APBUART_STATUS_RF 0x400U
134
135
#define APBUART_STATUS_TF 0x200U
136
137
#define APBUART_STATUS_RH 0x100U
138
139
#define APBUART_STATUS_TH 0x80U
140
141
#define APBUART_STATUS_FE 0x40U
142
143
#define APBUART_STATUS_PE 0x20U
144
145
#define APBUART_STATUS_OV 0x10U
146
147
#define APBUART_STATUS_BR 0x8U
148
149
#define APBUART_STATUS_TE 0x4U
150
151
#define APBUART_STATUS_TS 0x2U
152
153
#define APBUART_STATUS_DR 0x1U
154
156
164
165
#define APBUART_CTRL_FA 0x80000000U
166
167
#define APBUART_CTRL_SI 0x4000U
168
169
#define APBUART_CTRL_DI 0x2000U
170
171
#define APBUART_CTRL_BI 0x1000U
172
173
#define APBUART_CTRL_DB 0x800U
174
175
#define APBUART_CTRL_RF 0x400U
176
177
#define APBUART_CTRL_TF 0x200U
178
179
#define APBUART_CTRL_EC 0x100U
180
181
#define APBUART_CTRL_LB 0x80U
182
183
#define APBUART_CTRL_FL 0x40U
184
185
#define APBUART_CTRL_PE 0x20U
186
187
#define APBUART_CTRL_PS 0x10U
188
189
#define APBUART_CTRL_TI 0x8U
190
191
#define APBUART_CTRL_RI 0x4U
192
193
#define APBUART_CTRL_TE 0x2U
194
195
#define APBUART_CTRL_RE 0x1U
196
198
206
207
#define APBUART_SCALER_SCALER_RELOAD_VALUE_SHIFT 0
208
#define APBUART_SCALER_SCALER_RELOAD_VALUE_MASK 0xfffffU
209
#define APBUART_SCALER_SCALER_RELOAD_VALUE_GET( _reg ) \
210
( ( ( _reg ) & APBUART_SCALER_SCALER_RELOAD_VALUE_MASK ) >> \
211
APBUART_SCALER_SCALER_RELOAD_VALUE_SHIFT )
212
#define APBUART_SCALER_SCALER_RELOAD_VALUE_SET( _reg, _val ) \
213
( ( ( _reg ) & ~APBUART_SCALER_SCALER_RELOAD_VALUE_MASK ) | \
214
( ( ( _val ) << APBUART_SCALER_SCALER_RELOAD_VALUE_SHIFT ) & \
215
APBUART_SCALER_SCALER_RELOAD_VALUE_MASK ) )
216
#define APBUART_SCALER_SCALER_RELOAD_VALUE( _val ) \
217
( ( ( _val ) << APBUART_SCALER_SCALER_RELOAD_VALUE_SHIFT ) & \
218
APBUART_SCALER_SCALER_RELOAD_VALUE_MASK )
219
221
229
230
#define APBUART_FIFO_DATA_SHIFT 0
231
#define APBUART_FIFO_DATA_MASK 0xffU
232
#define APBUART_FIFO_DATA_GET( _reg ) \
233
( ( ( _reg ) & APBUART_FIFO_DATA_MASK ) >> \
234
APBUART_FIFO_DATA_SHIFT )
235
#define APBUART_FIFO_DATA_SET( _reg, _val ) \
236
( ( ( _reg ) & ~APBUART_FIFO_DATA_MASK ) | \
237
( ( ( _val ) << APBUART_FIFO_DATA_SHIFT ) & \
238
APBUART_FIFO_DATA_MASK ) )
239
#define APBUART_FIFO_DATA( _val ) \
240
( ( ( _val ) << APBUART_FIFO_DATA_SHIFT ) & \
241
APBUART_FIFO_DATA_MASK )
242
244
248
typedef
struct
apbuart
{
252
uint32_t
data
;
253
257
uint32_t
status
;
258
262
uint32_t
ctrl
;
263
267
uint32_t
scaler
;
268
272
uint32_t
fifo
;
273
}
apbuart
;
274
276
277
#ifdef __cplusplus
278
}
279
#endif
280
281
#endif
/* _GRLIB_APBUART_REGS_H */
apbuart
This structure defines the APBUART register block memory map.
Definition
apbuart-regs.h:248
apbuart::scaler
uint32_t scaler
See UART scaler reload register (SCALER).
Definition
apbuart-regs.h:267
apbuart::status
uint32_t status
See UART status register (STATUS).
Definition
apbuart-regs.h:257
apbuart::fifo
uint32_t fifo
See UART FIFO debug register (FIFO).
Definition
apbuart-regs.h:272
apbuart::data
uint32_t data
See UART data register (DATA).
Definition
apbuart-regs.h:252
apbuart::ctrl
uint32_t ctrl
See UART control register (CTRL).
Definition
apbuart-regs.h:262
Generated by
1.18.0