cc26xx_cc13xx_uart.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2016 Leon George
3  * SPDX-License-Identifier: LGPL-2.1-only
4  */
5 
6 #pragma once
7 
17 #include "cc26xx_cc13xx.h"
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
26 typedef struct {
28  union {
31  };
32  reg32_t __reserved1[4];
34  reg32_t __reserved2[2];
45 } uart_regs_t;
46 
51 #define UART_DR_DATA_mask 0xFF
52 #define UART_DR_FE 0x100
53 #define UART_DR_PE 0x200
54 #define UART_DR_BE 0x400
55 #define UART_DR_OE 0x800
56 
57 #define UART_ECR_FE 0x1
58 #define UART_ECR_PE 0x2
59 #define UART_ECR_BE 0x4
60 #define UART_ECR_OE 0x8
61 
62 #define UART_FR_CTS 0x1
63 #define UART_FR_BUSY 0x4
64 #define UART_FR_RXFE 0x10
65 #define UART_FR_TXFF 0x20
66 #define UART_FR_RXFF 0x40
67 #define UART_FR_TXFE 0x80
68 
69 #define UART_LCRH_PEN 0x2
70 #define UART_LCRH_EPS 0x4
71 #define UART_LCRH_STP2 0x8
72 #define UART_LCRH_FEN 0x10
73 #define UART_LCRH_WLEN_mask 0x60
74 #define UART_LCRH_WLEN_5 0x0
75 #define UART_LCRH_WLEN_6 0x20
76 #define UART_LCRH_WLEN_7 0x40
77 #define UART_LCRH_WLEN_8 0x60
78 #define UART_LCRH_SPS 0x80
79 
80 #define UART_CTL_UARTEN 0x1
81 #define UART_CTL_LBE 0x80
82 #define UART_CTL_TXE 0x100
83 #define UART_CTL_RXE 0x200
84 #define UART_CTL_RTS 0x800
85 #define UART_CTL_RTSEN 0x4000
86 #define UART_CTL_CTSEN 0x8000
87 
88 #define UART_MIS_CTSMMIS 0x1
89 #define UART_MIS_RXMIS 0x10
90 #define UART_MIS_TXMIS 0x20
91 #define UART_MIS_RTMIS 0x40
92 #define UART_MIS_FEMIS 0x80
93 #define UART_MIS_PEMIS 0x100
94 #define UART_MIS_BEMIS 0x200
95 #define UART_MIS_OEMIS 0x400
96 
97 #define UART_IMSC_CTSMIM 0x2
98 #define UART_IMSC_RXIM 0x10
99 #define UART_IMSC_TXIM 0x20
100 #define UART_IMSC_RTIM 0x40
101 #define UART_IMSC_FEIM 0x80
102 #define UART_IMSC_PEIM 0x100
103 #define UART_IMSC_BEIM 0x200
104 #define UART_IMSC_OEIM 0x400
105 
106 #define UART_IFLS_TXSEL_1_8 0x0
107 #define UART_IFLS_TXSEL_2_8 0x1
108 #define UART_IFLS_TXSEL_4_8 0x2
109 #define UART_IFLS_TXSEL_6_8 0x3
110 #define UART_IFLS_TXSEL_7_8 0x4
111 
112 #define UART_IFLS_RXSEL_1_8 0x0
113 #define UART_IFLS_RXSEL_2_8 0x8
114 #define UART_IFLS_RXSEL_4_8 0x10
115 #define UART_IFLS_RXSEL_6_8 0x18
116 #define UART_IFLS_RXSEL_7_8 0x20
123 #define UART0_BASE (PERIPH_BASE + 0x1000)
124 #define UART1_BASE (PERIPH_BASE + 0xB000)
130 #define UART0 ((uart_regs_t *) (UART0_BASE))
134 #define UART1 ((uart_regs_t *) (UART1_BASE))
135 
136 #ifdef __cplusplus
137 } /* end extern "C" */
138 #endif
139 
CC26xx, CC13xx definitions.
volatile uint32_t reg32_t
Unsigned 32-bit register type.
Definition: cc26xx_cc13xx.h:36
UART component registers.
reg32_t IMSC
Interrupt mask set/clear.
reg32_t ICR
Interrupt clear.
reg32_t IFLS
Interrupt fifo level select.
reg32_t FBRD
Fractional baud-rate divisor.
reg32_t ECR
Error clear.
reg32_t DMACTL
MMA control.
reg32_t LCRH
Line control.
reg32_t IBRD
Integer baud-rate divisor.
reg32_t MIS
Masked interrupt status.
reg32_t RSR
Status.
reg32_t RIS
Raw interrupt status.
reg32_t FR
flag
reg32_t DR
Data.
reg32_t CTL
Control.