MAX32680 Peripheral Driver API
Peripheral Driver API for the MAX32680
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Modules
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_MAX32680_INCLUDE_UART_REGS_H_
29#define LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32680_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 status;
79 __IO uint32_t int_en;
80 __IO uint32_t int_fl;
81 __IO uint32_t clkdiv;
82 __IO uint32_t osr;
83 __IO uint32_t txpeek;
84 __IO uint32_t pnr;
85 __IO uint32_t fifo;
86 __R uint32_t rsv_0x24_0x2f[3];
87 __IO uint32_t dma;
88 __IO uint32_t wken;
89 __IO uint32_t wkfl;
91
92/* Register offsets for module UART */
99#define MXC_R_UART_CTRL ((uint32_t)0x00000000UL)
100#define MXC_R_UART_STATUS ((uint32_t)0x00000004UL)
101#define MXC_R_UART_INT_EN ((uint32_t)0x00000008UL)
102#define MXC_R_UART_INT_FL ((uint32_t)0x0000000CUL)
103#define MXC_R_UART_CLKDIV ((uint32_t)0x00000010UL)
104#define MXC_R_UART_OSR ((uint32_t)0x00000014UL)
105#define MXC_R_UART_TXPEEK ((uint32_t)0x00000018UL)
106#define MXC_R_UART_PNR ((uint32_t)0x0000001CUL)
107#define MXC_R_UART_FIFO ((uint32_t)0x00000020UL)
108#define MXC_R_UART_DMA ((uint32_t)0x00000030UL)
109#define MXC_R_UART_WKEN ((uint32_t)0x00000034UL)
110#define MXC_R_UART_WKFL ((uint32_t)0x00000038UL)
119#define MXC_F_UART_CTRL_RX_THD_VAL_POS 0
120#define MXC_F_UART_CTRL_RX_THD_VAL ((uint32_t)(0xFUL << MXC_F_UART_CTRL_RX_THD_VAL_POS))
122#define MXC_F_UART_CTRL_PAR_EN_POS 4
123#define MXC_F_UART_CTRL_PAR_EN ((uint32_t)(0x1UL << MXC_F_UART_CTRL_PAR_EN_POS))
125#define MXC_F_UART_CTRL_PAR_EO_POS 5
126#define MXC_F_UART_CTRL_PAR_EO ((uint32_t)(0x1UL << MXC_F_UART_CTRL_PAR_EO_POS))
128#define MXC_F_UART_CTRL_PAR_MD_POS 6
129#define MXC_F_UART_CTRL_PAR_MD ((uint32_t)(0x1UL << MXC_F_UART_CTRL_PAR_MD_POS))
131#define MXC_F_UART_CTRL_CTS_DIS_POS 7
132#define MXC_F_UART_CTRL_CTS_DIS ((uint32_t)(0x1UL << MXC_F_UART_CTRL_CTS_DIS_POS))
134#define MXC_F_UART_CTRL_TX_FLUSH_POS 8
135#define MXC_F_UART_CTRL_TX_FLUSH ((uint32_t)(0x1UL << MXC_F_UART_CTRL_TX_FLUSH_POS))
137#define MXC_F_UART_CTRL_RX_FLUSH_POS 9
138#define MXC_F_UART_CTRL_RX_FLUSH ((uint32_t)(0x1UL << MXC_F_UART_CTRL_RX_FLUSH_POS))
140#define MXC_F_UART_CTRL_CHAR_SIZE_POS 10
141#define MXC_F_UART_CTRL_CHAR_SIZE ((uint32_t)(0x3UL << MXC_F_UART_CTRL_CHAR_SIZE_POS))
142#define MXC_V_UART_CTRL_CHAR_SIZE_5BITS ((uint32_t)0x0UL)
143#define MXC_S_UART_CTRL_CHAR_SIZE_5BITS (MXC_V_UART_CTRL_CHAR_SIZE_5BITS << MXC_F_UART_CTRL_CHAR_SIZE_POS)
144#define MXC_V_UART_CTRL_CHAR_SIZE_6BITS ((uint32_t)0x1UL)
145#define MXC_S_UART_CTRL_CHAR_SIZE_6BITS (MXC_V_UART_CTRL_CHAR_SIZE_6BITS << MXC_F_UART_CTRL_CHAR_SIZE_POS)
146#define MXC_V_UART_CTRL_CHAR_SIZE_7BITS ((uint32_t)0x2UL)
147#define MXC_S_UART_CTRL_CHAR_SIZE_7BITS (MXC_V_UART_CTRL_CHAR_SIZE_7BITS << MXC_F_UART_CTRL_CHAR_SIZE_POS)
148#define MXC_V_UART_CTRL_CHAR_SIZE_8BITS ((uint32_t)0x3UL)
149#define MXC_S_UART_CTRL_CHAR_SIZE_8BITS (MXC_V_UART_CTRL_CHAR_SIZE_8BITS << MXC_F_UART_CTRL_CHAR_SIZE_POS)
151#define MXC_F_UART_CTRL_STOPBITS_POS 12
152#define MXC_F_UART_CTRL_STOPBITS ((uint32_t)(0x1UL << MXC_F_UART_CTRL_STOPBITS_POS))
154#define MXC_F_UART_CTRL_HFC_EN_POS 13
155#define MXC_F_UART_CTRL_HFC_EN ((uint32_t)(0x1UL << MXC_F_UART_CTRL_HFC_EN_POS))
157#define MXC_F_UART_CTRL_RTSDC_POS 14
158#define MXC_F_UART_CTRL_RTSDC ((uint32_t)(0x1UL << MXC_F_UART_CTRL_RTSDC_POS))
160#define MXC_F_UART_CTRL_BCLKEN_POS 15
161#define MXC_F_UART_CTRL_BCLKEN ((uint32_t)(0x1UL << MXC_F_UART_CTRL_BCLKEN_POS))
163#define MXC_F_UART_CTRL_BCLKSRC_POS 16
164#define MXC_F_UART_CTRL_BCLKSRC ((uint32_t)(0x3UL << MXC_F_UART_CTRL_BCLKSRC_POS))
165#define MXC_V_UART_CTRL_BCLKSRC_PERIPHERAL_CLOCK ((uint32_t)0x0UL)
166#define MXC_S_UART_CTRL_BCLKSRC_PERIPHERAL_CLOCK (MXC_V_UART_CTRL_BCLKSRC_PERIPHERAL_CLOCK << MXC_F_UART_CTRL_BCLKSRC_POS)
167#define MXC_V_UART_CTRL_BCLKSRC_EXTERNAL_CLOCK ((uint32_t)0x1UL)
168#define MXC_S_UART_CTRL_BCLKSRC_EXTERNAL_CLOCK (MXC_V_UART_CTRL_BCLKSRC_EXTERNAL_CLOCK << MXC_F_UART_CTRL_BCLKSRC_POS)
169#define MXC_V_UART_CTRL_BCLKSRC_CLK2 ((uint32_t)0x2UL)
170#define MXC_S_UART_CTRL_BCLKSRC_CLK2 (MXC_V_UART_CTRL_BCLKSRC_CLK2 << MXC_F_UART_CTRL_BCLKSRC_POS)
171#define MXC_V_UART_CTRL_BCLKSRC_CLK3 ((uint32_t)0x3UL)
172#define MXC_S_UART_CTRL_BCLKSRC_CLK3 (MXC_V_UART_CTRL_BCLKSRC_CLK3 << MXC_F_UART_CTRL_BCLKSRC_POS)
174#define MXC_F_UART_CTRL_DPFE_EN_POS 18
175#define MXC_F_UART_CTRL_DPFE_EN ((uint32_t)(0x1UL << MXC_F_UART_CTRL_DPFE_EN_POS))
177#define MXC_F_UART_CTRL_BCLKRDY_POS 19
178#define MXC_F_UART_CTRL_BCLKRDY ((uint32_t)(0x1UL << MXC_F_UART_CTRL_BCLKRDY_POS))
180#define MXC_F_UART_CTRL_UCAGM_POS 20
181#define MXC_F_UART_CTRL_UCAGM ((uint32_t)(0x1UL << MXC_F_UART_CTRL_UCAGM_POS))
183#define MXC_F_UART_CTRL_FDM_POS 21
184#define MXC_F_UART_CTRL_FDM ((uint32_t)(0x1UL << MXC_F_UART_CTRL_FDM_POS))
186#define MXC_F_UART_CTRL_DESM_POS 22
187#define MXC_F_UART_CTRL_DESM ((uint32_t)(0x1UL << MXC_F_UART_CTRL_DESM_POS))
197#define MXC_F_UART_STATUS_TX_BUSY_POS 0
198#define MXC_F_UART_STATUS_TX_BUSY ((uint32_t)(0x1UL << MXC_F_UART_STATUS_TX_BUSY_POS))
200#define MXC_F_UART_STATUS_RX_BUSY_POS 1
201#define MXC_F_UART_STATUS_RX_BUSY ((uint32_t)(0x1UL << MXC_F_UART_STATUS_RX_BUSY_POS))
203#define MXC_F_UART_STATUS_RX_EM_POS 4
204#define MXC_F_UART_STATUS_RX_EM ((uint32_t)(0x1UL << MXC_F_UART_STATUS_RX_EM_POS))
206#define MXC_F_UART_STATUS_RX_FULL_POS 5
207#define MXC_F_UART_STATUS_RX_FULL ((uint32_t)(0x1UL << MXC_F_UART_STATUS_RX_FULL_POS))
209#define MXC_F_UART_STATUS_TX_EM_POS 6
210#define MXC_F_UART_STATUS_TX_EM ((uint32_t)(0x1UL << MXC_F_UART_STATUS_TX_EM_POS))
212#define MXC_F_UART_STATUS_TX_FULL_POS 7
213#define MXC_F_UART_STATUS_TX_FULL ((uint32_t)(0x1UL << MXC_F_UART_STATUS_TX_FULL_POS))
215#define MXC_F_UART_STATUS_RX_LVL_POS 8
216#define MXC_F_UART_STATUS_RX_LVL ((uint32_t)(0xFUL << MXC_F_UART_STATUS_RX_LVL_POS))
218#define MXC_F_UART_STATUS_TX_LVL_POS 12
219#define MXC_F_UART_STATUS_TX_LVL ((uint32_t)(0xFUL << MXC_F_UART_STATUS_TX_LVL_POS))
229#define MXC_F_UART_INT_EN_RX_FERR_POS 0
230#define MXC_F_UART_INT_EN_RX_FERR ((uint32_t)(0x1UL << MXC_F_UART_INT_EN_RX_FERR_POS))
232#define MXC_F_UART_INT_EN_RX_PAR_POS 1
233#define MXC_F_UART_INT_EN_RX_PAR ((uint32_t)(0x1UL << MXC_F_UART_INT_EN_RX_PAR_POS))
235#define MXC_F_UART_INT_EN_CTS_EV_POS 2
236#define MXC_F_UART_INT_EN_CTS_EV ((uint32_t)(0x1UL << MXC_F_UART_INT_EN_CTS_EV_POS))
238#define MXC_F_UART_INT_EN_RX_OV_POS 3
239#define MXC_F_UART_INT_EN_RX_OV ((uint32_t)(0x1UL << MXC_F_UART_INT_EN_RX_OV_POS))
241#define MXC_F_UART_INT_EN_RX_THD_POS 4
242#define MXC_F_UART_INT_EN_RX_THD ((uint32_t)(0x1UL << MXC_F_UART_INT_EN_RX_THD_POS))
244#define MXC_F_UART_INT_EN_TX_OB_POS 5
245#define MXC_F_UART_INT_EN_TX_OB ((uint32_t)(0x1UL << MXC_F_UART_INT_EN_TX_OB_POS))
247#define MXC_F_UART_INT_EN_TX_HE_POS 6
248#define MXC_F_UART_INT_EN_TX_HE ((uint32_t)(0x1UL << MXC_F_UART_INT_EN_TX_HE_POS))
258#define MXC_F_UART_INT_FL_RX_FERR_POS 0
259#define MXC_F_UART_INT_FL_RX_FERR ((uint32_t)(0x1UL << MXC_F_UART_INT_FL_RX_FERR_POS))
261#define MXC_F_UART_INT_FL_RX_PAR_POS 1
262#define MXC_F_UART_INT_FL_RX_PAR ((uint32_t)(0x1UL << MXC_F_UART_INT_FL_RX_PAR_POS))
264#define MXC_F_UART_INT_FL_CTS_EV_POS 2
265#define MXC_F_UART_INT_FL_CTS_EV ((uint32_t)(0x1UL << MXC_F_UART_INT_FL_CTS_EV_POS))
267#define MXC_F_UART_INT_FL_RX_OV_POS 3
268#define MXC_F_UART_INT_FL_RX_OV ((uint32_t)(0x1UL << MXC_F_UART_INT_FL_RX_OV_POS))
270#define MXC_F_UART_INT_FL_RX_THD_POS 4
271#define MXC_F_UART_INT_FL_RX_THD ((uint32_t)(0x1UL << MXC_F_UART_INT_FL_RX_THD_POS))
273#define MXC_F_UART_INT_FL_TX_OB_POS 5
274#define MXC_F_UART_INT_FL_TX_OB ((uint32_t)(0x1UL << MXC_F_UART_INT_FL_TX_OB_POS))
276#define MXC_F_UART_INT_FL_TX_HE_POS 6
277#define MXC_F_UART_INT_FL_TX_HE ((uint32_t)(0x1UL << MXC_F_UART_INT_FL_TX_HE_POS))
287#define MXC_F_UART_CLKDIV_CLKDIV_POS 0
288#define MXC_F_UART_CLKDIV_CLKDIV ((uint32_t)(0xFFFFFUL << MXC_F_UART_CLKDIV_CLKDIV_POS))
298#define MXC_F_UART_OSR_OSR_POS 0
299#define MXC_F_UART_OSR_OSR ((uint32_t)(0x7UL << MXC_F_UART_OSR_OSR_POS))
309#define MXC_F_UART_TXPEEK_DATA_POS 0
310#define MXC_F_UART_TXPEEK_DATA ((uint32_t)(0xFFUL << MXC_F_UART_TXPEEK_DATA_POS))
320#define MXC_F_UART_PNR_CTS_POS 0
321#define MXC_F_UART_PNR_CTS ((uint32_t)(0x1UL << MXC_F_UART_PNR_CTS_POS))
323#define MXC_F_UART_PNR_RTS_POS 1
324#define MXC_F_UART_PNR_RTS ((uint32_t)(0x1UL << MXC_F_UART_PNR_RTS_POS))
334#define MXC_F_UART_FIFO_DATA_POS 0
335#define MXC_F_UART_FIFO_DATA ((uint32_t)(0xFFUL << MXC_F_UART_FIFO_DATA_POS))
337#define MXC_F_UART_FIFO_RX_PAR_POS 8
338#define MXC_F_UART_FIFO_RX_PAR ((uint32_t)(0x1UL << MXC_F_UART_FIFO_RX_PAR_POS))
348#define MXC_F_UART_DMA_TX_THD_VAL_POS 0
349#define MXC_F_UART_DMA_TX_THD_VAL ((uint32_t)(0xFUL << MXC_F_UART_DMA_TX_THD_VAL_POS))
351#define MXC_F_UART_DMA_TX_EN_POS 4
352#define MXC_F_UART_DMA_TX_EN ((uint32_t)(0x1UL << MXC_F_UART_DMA_TX_EN_POS))
354#define MXC_F_UART_DMA_RX_THD_VAL_POS 5
355#define MXC_F_UART_DMA_RX_THD_VAL ((uint32_t)(0xFUL << MXC_F_UART_DMA_RX_THD_VAL_POS))
357#define MXC_F_UART_DMA_RX_EN_POS 9
358#define MXC_F_UART_DMA_RX_EN ((uint32_t)(0x1UL << MXC_F_UART_DMA_RX_EN_POS))
368#define MXC_F_UART_WKEN_RX_NE_POS 0
369#define MXC_F_UART_WKEN_RX_NE ((uint32_t)(0x1UL << MXC_F_UART_WKEN_RX_NE_POS))
371#define MXC_F_UART_WKEN_RX_FULL_POS 1
372#define MXC_F_UART_WKEN_RX_FULL ((uint32_t)(0x1UL << MXC_F_UART_WKEN_RX_FULL_POS))
374#define MXC_F_UART_WKEN_RX_THD_POS 2
375#define MXC_F_UART_WKEN_RX_THD ((uint32_t)(0x1UL << MXC_F_UART_WKEN_RX_THD_POS))
385#define MXC_F_UART_WKFL_RX_NE_POS 0
386#define MXC_F_UART_WKFL_RX_NE ((uint32_t)(0x1UL << MXC_F_UART_WKFL_RX_NE_POS))
388#define MXC_F_UART_WKFL_RX_FULL_POS 1
389#define MXC_F_UART_WKFL_RX_FULL ((uint32_t)(0x1UL << MXC_F_UART_WKFL_RX_FULL_POS))
391#define MXC_F_UART_WKFL_RX_THD_POS 2
392#define MXC_F_UART_WKFL_RX_THD ((uint32_t)(0x1UL << MXC_F_UART_WKFL_RX_THD_POS))
396#ifdef __cplusplus
397}
398#endif
399
400#endif // LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32680_INCLUDE_UART_REGS_H_
__IO uint32_t int_fl
Definition: uart_regs.h:80
__IO uint32_t wken
Definition: uart_regs.h:88
__IO uint32_t pnr
Definition: uart_regs.h:84
__IO uint32_t int_en
Definition: uart_regs.h:79
__IO uint32_t clkdiv
Definition: uart_regs.h:81
__I uint32_t status
Definition: uart_regs.h:78
__IO uint32_t osr
Definition: uart_regs.h:82
__IO uint32_t ctrl
Definition: uart_regs.h:77
__IO uint32_t wkfl
Definition: uart_regs.h:89
__IO uint32_t dma
Definition: uart_regs.h:87
__IO uint32_t fifo
Definition: uart_regs.h:85
__IO uint32_t txpeek
Definition: uart_regs.h:83
Definition: uart_regs.h:76