OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [CORTEX_LM3S102_GCC/] [hw_include/] [hw_uart.h] - Blame information for rev 581

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 581 jeremybenn
//*****************************************************************************
2
//
3
// hw_uart.h - Macros and defines used when accessing the UART hardware
4
//
5
// Copyright (c) 2005,2006 Luminary Micro, Inc.  All rights reserved.
6
//
7
// Software License Agreement
8
//
9
// Luminary Micro, Inc. (LMI) is supplying this software for use solely and
10
// exclusively on LMI's Stellaris Family of microcontroller products.
11
//
12
// The software is owned by LMI and/or its suppliers, and is protected under
13
// applicable copyright laws.  All rights are reserved.  Any use in violation
14
// of the foregoing restrictions may subject the user to criminal sanctions
15
// under applicable laws, as well as to civil liability for the breach of the
16
// terms and conditions of this license.
17
//
18
// THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED
19
// OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
20
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
21
// LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
22
// CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
23
//
24
// This is part of revision 523 of the Stellaris Driver Library.
25
//
26
//*****************************************************************************
27
 
28
#ifndef __HW_UART_H__
29
#define __HW_UART_H__
30
 
31
//*****************************************************************************
32
//
33
// UART Register Offsets.
34
//
35
//*****************************************************************************
36
#define UART_O_DR               0x00000000  // Data Register
37
#define UART_O_RSR              0x00000004  // Receive Status Register (read)
38
#define UART_O_ECR              0x00000004  // Error Clear Register (write)
39
#define UART_O_FR               0x00000018  // Flag Register (read only)
40
#define UART_O_IBRD             0x00000024  // Integer Baud Rate Divisor Reg
41
#define UART_O_FBRD             0x00000028  // Fractional Baud Rate Divisor Reg
42
#define UART_O_LCR_H            0x0000002C  // Line Control Register, HIGH byte
43
#define UART_O_CTL              0x00000030  // Control Register
44
#define UART_O_IFLS             0x00000034  // Interrupt FIFO Level Select Reg
45
#define UART_O_IM               0x00000038  // Interrupt Mask Set/Clear Reg
46
#define UART_O_RIS              0x0000003C  // Raw Interrupt Status Register
47
#define UART_O_MIS              0x00000040  // Masked Interrupt Status Register
48
#define UART_O_ICR              0x00000044  // Interrupt Clear Register
49
 
50
//*****************************************************************************
51
//
52
// Data Register bits
53
//
54
//*****************************************************************************
55
#define UART_DR_OE              0x00000800  // Overrun Error
56
#define UART_DR_BE              0x00000400  // Break Error
57
#define UART_DR_PE              0x00000200  // Parity Error
58
#define UART_DR_FE              0x00000100  // Framing Error
59
 
60
//*****************************************************************************
61
//
62
// Receive Status Register bits
63
//
64
//*****************************************************************************
65
#define UART_RSR_OE             0x00000008  // Overrun Error
66
#define UART_RSR_BE             0x00000004  // Break Error
67
#define UART_RSR_PE             0x00000002  // Parity Error
68
#define UART_RSR_FE             0x00000001  // Framing Error
69
 
70
//*****************************************************************************
71
//
72
// Flag Register bits
73
//
74
//*****************************************************************************
75
#define UART_FR_RI              0x100       // Ring Indicator
76
#define UART_FR_TXFE            0x080       // TX FIFO Empty
77
#define UART_FR_RXFF            0x040       // RX FIFO Full
78
#define UART_FR_TXFF            0x020       // TX FIFO Full
79
#define UART_FR_RXFE            0x010       // RX FIFO Empty
80
#define UART_FR_BUSY            0x008       // UART Busy
81
 
82
//*****************************************************************************
83
//
84
// Line Control Register High bits
85
//
86
//*****************************************************************************
87
#define UART_LCR_H_SPS          0x80        // Stick Parity Select
88
#define UART_LCR_H_WLEN         0x60        // Word length
89
#define UART_LCR_H_WLEN_8       0x60        // 8 bit data
90
#define UART_LCR_H_WLEN_7       0x40        // 7 bit data
91
#define UART_LCR_H_WLEN_6       0x20        // 6 bit data
92
#define UART_LCR_H_WLEN_5       0x00        // 5 bit data
93
#define UART_LCR_H_FEN          0x10        // Enable FIFO
94
#define UART_LCR_H_STP2         0x08        // Two Stop Bits Select
95
#define UART_LCR_H_EPS          0x04        // Even Parity Select
96
#define UART_LCR_H_PEN          0x02        // Parity Enable
97
#define UART_LCR_H_BRK          0x01        // Send Break
98
 
99
//*****************************************************************************
100
//
101
// Control Register bits
102
//
103
//*****************************************************************************
104
#define UART_CTL_CTSEN          0x8000      // CTS Hardware Flow Control
105
#define UART_CTL_RTSEN          0x4000      // RTS Hardware Flow Control
106
#define UART_CTL_OUT2           0x2000      // OUT2
107
#define UART_CTL_OUT1           0x1000      // OUT1
108
#define UART_CTL_RTS            0x0800      // Request To Send
109
#define UART_CTL_DTR            0x0400      // Data Terminal Ready
110
#define UART_CTL_RXE            0x0200      // Receive Enable
111
#define UART_CTL_TXE            0x0100      // Transmit Enable
112
#define UART_CTL_LBE            0x0080      // Loopback Enable
113
#define UART_CTL_IIRLP          0x0004      // IrDA SIR low power mode
114
#define UART_CTL_SIREN          0x0002      // SIR Enable
115
#define UART_CTL_UARTEN         0x0001      // UART Enable
116
 
117
//*****************************************************************************
118
//
119
// Interrupt FIFO Level Select Register bits
120
//
121
//*****************************************************************************
122
#define UART_IFLS_RX1_8         0x00        // 1/8 Full
123
#define UART_IFLS_RX2_8         0x10        // 1/4 Full
124
#define UART_IFLS_RX4_8         0x20        // 1/2 Full
125
#define UART_IFLS_RX6_8         0x30        // 3/4 Full
126
#define UART_IFLS_RX7_8         0x40        // 7/8 Full
127
#define UART_IFLS_TX1_8         0x00        // 1/8 Full
128
#define UART_IFLS_TX2_8         0x01        // 1/4 Full
129
#define UART_IFLS_TX4_8         0x02        // 1/2 Full
130
#define UART_IFLS_TX6_8         0x03        // 3/4 Full
131
#define UART_IFLS_TX7_8         0x04        // 7/8 Full
132
 
133
//*****************************************************************************
134
//
135
// Interrupt Mask Set/Clear Register bits
136
//
137
//*****************************************************************************
138
#define UART_IM_OEIM            0x400       // Overrun Error Interrupt Mask
139
#define UART_IM_BEIM            0x200       // Break Error Interrupt Mask
140
#define UART_IM_PEIM            0x100       // Parity Error Interrupt Mask
141
#define UART_IM_FEIM            0x080       // Framing Error Interrupt Mask
142
#define UART_IM_RTIM            0x040       // Receive Timeout Interrupt Mask
143
#define UART_IM_TXIM            0x020       // Transmit Interrupt Mask
144
#define UART_IM_RXIM            0x010       // Receive Interrupt Mask
145
#define UART_IM_DSRMIM          0x008       // DSR Interrupt Mask
146
#define UART_IM_DCDMIM          0x004       // DCD Interrupt Mask
147
#define UART_IM_CTSMIM          0x002       // CTS Interrupt Mask
148
#define UART_IM_RIMIM           0x001       // RI Interrupt Mask
149
 
150
//*****************************************************************************
151
//
152
// Raw Interrupt Status Register
153
//
154
//*****************************************************************************
155
#define UART_RIS_OERIS          0x400       // Overrun Error Interrupt Status
156
#define UART_RIS_BERIS          0x200       // Break Error Interrupt Status
157
#define UART_RIS_PERIS          0x100       // Parity Error Interrupt Status
158
#define UART_RIS_FERIS          0x080       // Framing Error Interrupt Status
159
#define UART_RIS_RTRIS          0x040       // Receive Timeout Interrupt Status
160
#define UART_RIS_TXRIS          0x020       // Transmit Interrupt Status
161
#define UART_RIS_RXRIS          0x010       // Receive Interrupt Status
162
#define UART_RIS_DSRRMIS        0x008       // DSR Interrupt Status
163
#define UART_RIS_DCDRMIS        0x004       // DCD Interrupt Status
164
#define UART_RIS_CTSRMIS        0x002       // CTS Interrupt Status
165
#define UART_RIS_RIRMIS         0x001       // RI Interrupt Status
166
 
167
//*****************************************************************************
168
//
169
// Masked Interrupt Status Register
170
//
171
//*****************************************************************************
172
#define UART_MIS_OEMIS          0x400       // Overrun Error Interrupt Status
173
#define UART_MIS_BEMIS          0x200       // Break Error Interrupt Status
174
#define UART_MIS_PEMIS          0x100       // Parity Error Interrupt Status
175
#define UART_MIS_FEMIS          0x080       // Framing Error Interrupt Status
176
#define UART_MIS_RTMIS          0x040       // Receive Timeout Interrupt Status
177
#define UART_MIS_TXMIS          0x020       // Transmit Interrupt Status
178
#define UART_MIS_RXMIS          0x010       // Receive Interrupt Status
179
#define UART_MIS_DSRMMIS        0x008       // DSR Interrupt Status
180
#define UART_MIS_DCDMMIS        0x004       // DCD Interrupt Status
181
#define UART_MIS_CTSMMIS        0x002       // CTS Interrupt Status
182
#define UART_MIS_RIMMIS         0x001       // RI Interrupt Status
183
 
184
//*****************************************************************************
185
//
186
// Interrupt Clear Register bits
187
//
188
//*****************************************************************************
189
#define UART_ICR_OEIC           0x200       // Overrun Error Interrupt Clear
190
#define UART_ICR_BEIC           0x200       // Break Error Interrupt Clear
191
#define UART_ICR_PEIC           0x200       // Parity Error Interrupt Clear
192
#define UART_ICR_FEIC           0x200       // Framing Error Interrupt Clear
193
#define UART_ICR_RTIC           0x200       // Receive Timeout Interrupt Clear
194
#define UART_ICR_TXIC           0x200       // Transmit Interrupt Clear
195
#define UART_ICR_RXIC           0x200       // Receive Interrupt Clear
196
#define UART_ICR_DSRMIC         0x200       // DSR Interrupt Clear
197
#define UART_ICR_DCDMIC         0x200       // DCD Interrupt Clear
198
#define UART_ICR_CTSMIC         0x200       // CTS Interrupt Clear
199
#define UART_ICR_RIMIC          0x200       // RI Interrupt Clear
200
 
201
//*****************************************************************************
202
//
203
// DMA Control Register bits
204
//
205
//*****************************************************************************
206
#define UART_DMACRDMAONERR      0x04        // Disable DMA On Error
207
#define UART_DMACRTXDMAE        0x02        // Enable Transmit DMA
208
#define UART_DMACRRXDMAE        0x01        // Enable Receive DMA
209
 
210
#define UART_RSR_ANY            (UART_RSR_OE |                                \
211
                                 UART_RSR_BE |                                \
212
                                 UART_RSR_PE |                                \
213
                                 UART_RSR_FE)
214
 
215
//*****************************************************************************
216
//
217
// Reset Values for UART Registers.
218
//
219
//*****************************************************************************
220
#define UART_RV_DR              0
221
#define UART_RV_RSR             0x0
222
#define UART_RV_ECR             0
223
#define UART_RV_FR              0x90
224
#define UART_RV_IBRD            0x0000
225
#define UART_RV_FBRD            0x00
226
#define UART_RV_LCR_H           0x00
227
#define UART_RV_CTL             0x0300
228
#define UART_RV_IFLS            0x12
229
#define UART_RV_IM              0x000
230
#define UART_RV_RIS             0x000
231
#define UART_RV_MIS             0x000
232
#define UART_RV_ICR             0x000
233
 
234
#endif // __HW_UART_H__

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.