MAX32520 Peripheral Driver API
Peripheral Driver API for the MAX32520
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
uart_regs.h
Go to the documentation of this file.
1
8/******************************************************************************
9 *
10 * Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
11 * Analog Devices, Inc.),
12 * Copyright (C) 2023-2024 Analog Devices, Inc.
13 *
14 * Licensed under the Apache License, Version 2.0 (the "License");
15 * you may not use this file except in compliance with the License.
16 * You may obtain a copy of the License at
17 *
18 * http://www.apache.org/licenses/LICENSE-2.0
19 *
20 * Unless required by applicable law or agreed to in writing, software
21 * distributed under the License is distributed on an "AS IS" BASIS,
22 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23 * See the License for the specific language governing permissions and
24 * limitations under the License.
25 *
26 ******************************************************************************/
27
28#ifndef LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32520_INCLUDE_UART_REGS_H_
29#define LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32520_INCLUDE_UART_REGS_H_
30
31/* **** Includes **** */
32#include <stdint.h>
33
34#ifdef __cplusplus
35extern "C" {
36#endif
37
38#if defined (__ICCARM__)
39 #pragma system_include
40#endif
41
42#if defined (__CC_ARM)
43 #pragma anon_unions
44#endif
46/*
47 If types are not defined elsewhere (CMSIS) define them here
48*/
49#ifndef __IO
50#define __IO volatile
51#endif
52#ifndef __I
53#define __I volatile const
54#endif
55#ifndef __O
56#define __O volatile
57#endif
58#ifndef __R
59#define __R volatile const
60#endif
62
63/* **** Definitions **** */
64
76typedef struct {
77 __IO uint32_t ctrl;
78 __I uint32_t stat;
79 __IO uint32_t int_en;
80 __IO uint32_t int_stat;
81 __IO uint32_t baud0;
82 __IO uint32_t baud1;
83 __R uint32_t rsv_0x18_0x1f[2];
84 __IO uint32_t data;
85 __R uint32_t rsv_0x24_0x2f[3];
86 __IO uint32_t dma;
88
89/* Register offsets for module UART */
96#define MXC_R_UART_CTRL ((uint32_t)0x00000000UL)
97#define MXC_R_UART_STAT ((uint32_t)0x00000004UL)
98#define MXC_R_UART_INT_EN ((uint32_t)0x00000008UL)
99#define MXC_R_UART_INT_STAT ((uint32_t)0x0000000CUL)
100#define MXC_R_UART_BAUD0 ((uint32_t)0x00000010UL)
101#define MXC_R_UART_BAUD1 ((uint32_t)0x00000014UL)
102#define MXC_R_UART_DATA ((uint32_t)0x00000020UL)
103#define MXC_R_UART_DMA ((uint32_t)0x00000030UL)
112#define MXC_F_UART_CTRL_RXTHD_POS 0
113#define MXC_F_UART_CTRL_RXTHD ((uint32_t)(0xFUL << MXC_F_UART_CTRL_RXTHD_POS))
115#define MXC_F_UART_CTRL_PAREN_POS 4
116#define MXC_F_UART_CTRL_PAREN ((uint32_t)(0x1UL << MXC_F_UART_CTRL_PAREN_POS))
118#define MXC_F_UART_CTRL_PAREO_POS 5
119#define MXC_F_UART_CTRL_PAREO ((uint32_t)(0x1UL << MXC_F_UART_CTRL_PAREO_POS))
121#define MXC_F_UART_CTRL_PARMD_POS 6
122#define MXC_F_UART_CTRL_PARMD ((uint32_t)(0x1UL << MXC_F_UART_CTRL_PARMD_POS))
124#define MXC_F_UART_CTRL_TXFLUSH_POS 8
125#define MXC_F_UART_CTRL_TXFLUSH ((uint32_t)(0x1UL << MXC_F_UART_CTRL_TXFLUSH_POS))
127#define MXC_F_UART_CTRL_RXFLUSH_POS 9
128#define MXC_F_UART_CTRL_RXFLUSH ((uint32_t)(0x1UL << MXC_F_UART_CTRL_RXFLUSH_POS))
130#define MXC_F_UART_CTRL_SIZE_POS 10
131#define MXC_F_UART_CTRL_SIZE ((uint32_t)(0x3UL << MXC_F_UART_CTRL_SIZE_POS))
132#define MXC_V_UART_CTRL_SIZE_5 ((uint32_t)0x0UL)
133#define MXC_S_UART_CTRL_SIZE_5 (MXC_V_UART_CTRL_SIZE_5 << MXC_F_UART_CTRL_SIZE_POS)
134#define MXC_V_UART_CTRL_SIZE_6 ((uint32_t)0x1UL)
135#define MXC_S_UART_CTRL_SIZE_6 (MXC_V_UART_CTRL_SIZE_6 << MXC_F_UART_CTRL_SIZE_POS)
136#define MXC_V_UART_CTRL_SIZE_7 ((uint32_t)0x2UL)
137#define MXC_S_UART_CTRL_SIZE_7 (MXC_V_UART_CTRL_SIZE_7 << MXC_F_UART_CTRL_SIZE_POS)
138#define MXC_V_UART_CTRL_SIZE_8 ((uint32_t)0x3UL)
139#define MXC_S_UART_CTRL_SIZE_8 (MXC_V_UART_CTRL_SIZE_8 << MXC_F_UART_CTRL_SIZE_POS)
141#define MXC_F_UART_CTRL_STOP_POS 12
142#define MXC_F_UART_CTRL_STOP ((uint32_t)(0x1UL << MXC_F_UART_CTRL_STOP_POS))
152#define MXC_F_UART_STAT_TXBUSY_POS 0
153#define MXC_F_UART_STAT_TXBUSY ((uint32_t)(0x1UL << MXC_F_UART_STAT_TXBUSY_POS))
155#define MXC_F_UART_STAT_RXBUSY_POS 1
156#define MXC_F_UART_STAT_RXBUSY ((uint32_t)(0x1UL << MXC_F_UART_STAT_RXBUSY_POS))
158#define MXC_F_UART_STAT_RXEMPTY_POS 4
159#define MXC_F_UART_STAT_RXEMPTY ((uint32_t)(0x1UL << MXC_F_UART_STAT_RXEMPTY_POS))
161#define MXC_F_UART_STAT_RXFULL_POS 5
162#define MXC_F_UART_STAT_RXFULL ((uint32_t)(0x1UL << MXC_F_UART_STAT_RXFULL_POS))
164#define MXC_F_UART_STAT_TXEMPTY_POS 6
165#define MXC_F_UART_STAT_TXEMPTY ((uint32_t)(0x1UL << MXC_F_UART_STAT_TXEMPTY_POS))
167#define MXC_F_UART_STAT_TXFULL_POS 7
168#define MXC_F_UART_STAT_TXFULL ((uint32_t)(0x1UL << MXC_F_UART_STAT_TXFULL_POS))
170#define MXC_F_UART_STAT_RXELT_POS 8
171#define MXC_F_UART_STAT_RXELT ((uint32_t)(0xFUL << MXC_F_UART_STAT_RXELT_POS))
173#define MXC_F_UART_STAT_TXELT_POS 12
174#define MXC_F_UART_STAT_TXELT ((uint32_t)(0xFUL << MXC_F_UART_STAT_TXELT_POS))
184#define MXC_F_UART_INT_EN_FRAMIE_POS 0
185#define MXC_F_UART_INT_EN_FRAMIE ((uint32_t)(0x1UL << MXC_F_UART_INT_EN_FRAMIE_POS))
187#define MXC_F_UART_INT_EN_PARITYIE_POS 1
188#define MXC_F_UART_INT_EN_PARITYIE ((uint32_t)(0x1UL << MXC_F_UART_INT_EN_PARITYIE_POS))
190#define MXC_F_UART_INT_EN_OVERIE_POS 3
191#define MXC_F_UART_INT_EN_OVERIE ((uint32_t)(0x1UL << MXC_F_UART_INT_EN_OVERIE_POS))
193#define MXC_F_UART_INT_EN_FFRXIE_POS 4
194#define MXC_F_UART_INT_EN_FFRXIE ((uint32_t)(0x1UL << MXC_F_UART_INT_EN_FFRXIE_POS))
196#define MXC_F_UART_INT_EN_FFTXOIE_POS 5
197#define MXC_F_UART_INT_EN_FFTXOIE ((uint32_t)(0x1UL << MXC_F_UART_INT_EN_FFTXOIE_POS))
199#define MXC_F_UART_INT_EN_FFTXHIE_POS 6
200#define MXC_F_UART_INT_EN_FFTXHIE ((uint32_t)(0x1UL << MXC_F_UART_INT_EN_FFTXHIE_POS))
210#define MXC_F_UART_INT_STAT_FRAMIS_POS 0
211#define MXC_F_UART_INT_STAT_FRAMIS ((uint32_t)(0x1UL << MXC_F_UART_INT_STAT_FRAMIS_POS))
213#define MXC_F_UART_INT_STAT_PARITYIS_POS 1
214#define MXC_F_UART_INT_STAT_PARITYIS ((uint32_t)(0x1UL << MXC_F_UART_INT_STAT_PARITYIS_POS))
216#define MXC_F_UART_INT_STAT_OVERIS_POS 3
217#define MXC_F_UART_INT_STAT_OVERIS ((uint32_t)(0x1UL << MXC_F_UART_INT_STAT_OVERIS_POS))
219#define MXC_F_UART_INT_STAT_FFRXIS_POS 4
220#define MXC_F_UART_INT_STAT_FFRXIS ((uint32_t)(0x1UL << MXC_F_UART_INT_STAT_FFRXIS_POS))
222#define MXC_F_UART_INT_STAT_FFTXOIS_POS 5
223#define MXC_F_UART_INT_STAT_FFTXOIS ((uint32_t)(0x1UL << MXC_F_UART_INT_STAT_FFTXOIS_POS))
225#define MXC_F_UART_INT_STAT_FFTXHIS_POS 6
226#define MXC_F_UART_INT_STAT_FFTXHIS ((uint32_t)(0x1UL << MXC_F_UART_INT_STAT_FFTXHIS_POS))
236#define MXC_F_UART_BAUD0_IDIV_POS 0
237#define MXC_F_UART_BAUD0_IDIV ((uint32_t)(0xFFFUL << MXC_F_UART_BAUD0_IDIV_POS))
247#define MXC_F_UART_BAUD1_DDIV_POS 0
248#define MXC_F_UART_BAUD1_DDIV ((uint32_t)(0x7FUL << MXC_F_UART_BAUD1_DDIV_POS))
258#define MXC_F_UART_DATA_DATA_POS 0
259#define MXC_F_UART_DATA_DATA ((uint32_t)(0xFFUL << MXC_F_UART_DATA_DATA_POS))
261#define MXC_F_UART_DATA_PARITY_POS 8
262#define MXC_F_UART_DATA_PARITY ((uint32_t)(0x1UL << MXC_F_UART_DATA_PARITY_POS))
272#define MXC_F_UART_DMA_TXCNT_POS 0
273#define MXC_F_UART_DMA_TXCNT ((uint32_t)(0xFUL << MXC_F_UART_DMA_TXCNT_POS))
275#define MXC_F_UART_DMA_TXEN_POS 4
276#define MXC_F_UART_DMA_TXEN ((uint32_t)(0x1UL << MXC_F_UART_DMA_TXEN_POS))
278#define MXC_F_UART_DMA_RXCNT_POS 5
279#define MXC_F_UART_DMA_RXCNT ((uint32_t)(0xFUL << MXC_F_UART_DMA_RXCNT_POS))
281#define MXC_F_UART_DMA_RXEN_POS 9
282#define MXC_F_UART_DMA_RXEN ((uint32_t)(0x1UL << MXC_F_UART_DMA_RXEN_POS))
286#ifdef __cplusplus
287}
288#endif
289
290#endif // LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32520_INCLUDE_UART_REGS_H_
__IO uint32_t data
Definition: uart_regs.h:84
__I uint32_t stat
Definition: uart_regs.h:78
__IO uint32_t int_en
Definition: uart_regs.h:79
__IO uint32_t baud0
Definition: uart_regs.h:81
__IO uint32_t ctrl
Definition: uart_regs.h:77
__IO uint32_t dma
Definition: uart_regs.h:86
__IO uint32_t baud1
Definition: uart_regs.h:82
__IO uint32_t int_stat
Definition: uart_regs.h:80
Definition: uart_regs.h:76