1 /**
2  * \file
3  *
4  * \brief Component description for UART
5  *
6  * Copyright (c) 2019 Microchip Technology Inc.
7  *
8  * \license_start
9  *
10  * \page License
11  *
12  * SPDX-License-Identifier: Apache-2.0
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  * \license_stop
27  *
28  */
29 
30 /* file generated from device description version 2019-01-18T21:19:59Z */
31 #ifndef _SAME70_UART_COMPONENT_H_
32 #define _SAME70_UART_COMPONENT_H_
33 #define _SAME70_UART_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
34 
35 /** \addtogroup SAME_SAME70 Universal Asynchronous Receiver Transmitter
36  *  @{
37  */
38 /* ========================================================================== */
39 /**  SOFTWARE API DEFINITION FOR UART */
40 /* ========================================================================== */
41 #ifndef COMPONENT_TYPEDEF_STYLE
42   #define COMPONENT_TYPEDEF_STYLE 'R'  /**< Defines default style of typedefs for the component header files ('R' = RFO, 'N' = NTO)*/
43 #endif
44 
45 #define UART_6418                       /**< (UART) Module ID */
46 #define REV_UART R                      /**< (UART) Module revision */
47 
48 /* -------- UART_CR : (UART Offset: 0x00) (/W 32) Control Register -------- */
49 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
50 #if COMPONENT_TYPEDEF_STYLE == 'N'
51 typedef union {
52   struct {
53     uint32_t :2;                        /**< bit:   0..1  Reserved */
54     uint32_t RSTRX:1;                   /**< bit:      2  Reset Receiver                           */
55     uint32_t RSTTX:1;                   /**< bit:      3  Reset Transmitter                        */
56     uint32_t RXEN:1;                    /**< bit:      4  Receiver Enable                          */
57     uint32_t RXDIS:1;                   /**< bit:      5  Receiver Disable                         */
58     uint32_t TXEN:1;                    /**< bit:      6  Transmitter Enable                       */
59     uint32_t TXDIS:1;                   /**< bit:      7  Transmitter Disable                      */
60     uint32_t RSTSTA:1;                  /**< bit:      8  Reset Status                             */
61     uint32_t :3;                        /**< bit:  9..11  Reserved */
62     uint32_t REQCLR:1;                  /**< bit:     12  Request Clear                            */
63     uint32_t :19;                       /**< bit: 13..31  Reserved */
64   } bit;                                /**< Structure used for bit  access */
65   uint32_t reg;                         /**< Type used for register access */
66 } UART_CR_Type;
67 #endif
68 #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
69 
70 #define UART_CR_OFFSET                      (0x00)                                        /**<  (UART_CR) Control Register  Offset */
71 
72 #define UART_CR_RSTRX_Pos                   2                                              /**< (UART_CR) Reset Receiver Position */
73 #define UART_CR_RSTRX_Msk                   (_U_(0x1) << UART_CR_RSTRX_Pos)                /**< (UART_CR) Reset Receiver Mask */
74 #define UART_CR_RSTRX                       UART_CR_RSTRX_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_CR_RSTRX_Msk instead */
75 #define UART_CR_RSTTX_Pos                   3                                              /**< (UART_CR) Reset Transmitter Position */
76 #define UART_CR_RSTTX_Msk                   (_U_(0x1) << UART_CR_RSTTX_Pos)                /**< (UART_CR) Reset Transmitter Mask */
77 #define UART_CR_RSTTX                       UART_CR_RSTTX_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_CR_RSTTX_Msk instead */
78 #define UART_CR_RXEN_Pos                    4                                              /**< (UART_CR) Receiver Enable Position */
79 #define UART_CR_RXEN_Msk                    (_U_(0x1) << UART_CR_RXEN_Pos)                 /**< (UART_CR) Receiver Enable Mask */
80 #define UART_CR_RXEN                        UART_CR_RXEN_Msk                               /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_CR_RXEN_Msk instead */
81 #define UART_CR_RXDIS_Pos                   5                                              /**< (UART_CR) Receiver Disable Position */
82 #define UART_CR_RXDIS_Msk                   (_U_(0x1) << UART_CR_RXDIS_Pos)                /**< (UART_CR) Receiver Disable Mask */
83 #define UART_CR_RXDIS                       UART_CR_RXDIS_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_CR_RXDIS_Msk instead */
84 #define UART_CR_TXEN_Pos                    6                                              /**< (UART_CR) Transmitter Enable Position */
85 #define UART_CR_TXEN_Msk                    (_U_(0x1) << UART_CR_TXEN_Pos)                 /**< (UART_CR) Transmitter Enable Mask */
86 #define UART_CR_TXEN                        UART_CR_TXEN_Msk                               /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_CR_TXEN_Msk instead */
87 #define UART_CR_TXDIS_Pos                   7                                              /**< (UART_CR) Transmitter Disable Position */
88 #define UART_CR_TXDIS_Msk                   (_U_(0x1) << UART_CR_TXDIS_Pos)                /**< (UART_CR) Transmitter Disable Mask */
89 #define UART_CR_TXDIS                       UART_CR_TXDIS_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_CR_TXDIS_Msk instead */
90 #define UART_CR_RSTSTA_Pos                  8                                              /**< (UART_CR) Reset Status Position */
91 #define UART_CR_RSTSTA_Msk                  (_U_(0x1) << UART_CR_RSTSTA_Pos)               /**< (UART_CR) Reset Status Mask */
92 #define UART_CR_RSTSTA                      UART_CR_RSTSTA_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_CR_RSTSTA_Msk instead */
93 #define UART_CR_REQCLR_Pos                  12                                             /**< (UART_CR) Request Clear Position */
94 #define UART_CR_REQCLR_Msk                  (_U_(0x1) << UART_CR_REQCLR_Pos)               /**< (UART_CR) Request Clear Mask */
95 #define UART_CR_REQCLR                      UART_CR_REQCLR_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_CR_REQCLR_Msk instead */
96 #define UART_CR_MASK                        _U_(0x11FC)                                    /**< \deprecated (UART_CR) Register MASK  (Use UART_CR_Msk instead)  */
97 #define UART_CR_Msk                         _U_(0x11FC)                                    /**< (UART_CR) Register Mask  */
98 
99 
100 /* -------- UART_MR : (UART Offset: 0x04) (R/W 32) Mode Register -------- */
101 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
102 #if COMPONENT_TYPEDEF_STYLE == 'N'
103 typedef union {
104   struct {
105     uint32_t :4;                        /**< bit:   0..3  Reserved */
106     uint32_t FILTER:1;                  /**< bit:      4  Receiver Digital Filter                  */
107     uint32_t :4;                        /**< bit:   5..8  Reserved */
108     uint32_t PAR:3;                     /**< bit:  9..11  Parity Type                              */
109     uint32_t BRSRCCK:1;                 /**< bit:     12  Baud Rate Source Clock                   */
110     uint32_t :1;                        /**< bit:     13  Reserved */
111     uint32_t CHMODE:2;                  /**< bit: 14..15  Channel Mode                             */
112     uint32_t :16;                       /**< bit: 16..31  Reserved */
113   } bit;                                /**< Structure used for bit  access */
114   uint32_t reg;                         /**< Type used for register access */
115 } UART_MR_Type;
116 #endif
117 #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
118 
119 #define UART_MR_OFFSET                      (0x04)                                        /**<  (UART_MR) Mode Register  Offset */
120 
121 #define UART_MR_FILTER_Pos                  4                                              /**< (UART_MR) Receiver Digital Filter Position */
122 #define UART_MR_FILTER_Msk                  (_U_(0x1) << UART_MR_FILTER_Pos)               /**< (UART_MR) Receiver Digital Filter Mask */
123 #define UART_MR_FILTER                      UART_MR_FILTER_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_MR_FILTER_Msk instead */
124 #define   UART_MR_FILTER_DISABLED_Val       _U_(0x0)                                       /**< (UART_MR) UART does not filter the receive line.  */
125 #define   UART_MR_FILTER_ENABLED_Val        _U_(0x1)                                       /**< (UART_MR) UART filters the receive line using a three-sample filter (16x-bit clock) (2 over 3 majority).  */
126 #define UART_MR_FILTER_DISABLED             (UART_MR_FILTER_DISABLED_Val << UART_MR_FILTER_Pos)  /**< (UART_MR) UART does not filter the receive line. Position  */
127 #define UART_MR_FILTER_ENABLED              (UART_MR_FILTER_ENABLED_Val << UART_MR_FILTER_Pos)  /**< (UART_MR) UART filters the receive line using a three-sample filter (16x-bit clock) (2 over 3 majority). Position  */
128 #define UART_MR_PAR_Pos                     9                                              /**< (UART_MR) Parity Type Position */
129 #define UART_MR_PAR_Msk                     (_U_(0x7) << UART_MR_PAR_Pos)                  /**< (UART_MR) Parity Type Mask */
130 #define UART_MR_PAR(value)                  (UART_MR_PAR_Msk & ((value) << UART_MR_PAR_Pos))
131 #define   UART_MR_PAR_EVEN_Val              _U_(0x0)                                       /**< (UART_MR) Even Parity  */
132 #define   UART_MR_PAR_ODD_Val               _U_(0x1)                                       /**< (UART_MR) Odd Parity  */
133 #define   UART_MR_PAR_SPACE_Val             _U_(0x2)                                       /**< (UART_MR) Space: parity forced to 0  */
134 #define   UART_MR_PAR_MARK_Val              _U_(0x3)                                       /**< (UART_MR) Mark: parity forced to 1  */
135 #define   UART_MR_PAR_NO_Val                _U_(0x4)                                       /**< (UART_MR) No parity  */
136 #define UART_MR_PAR_EVEN                    (UART_MR_PAR_EVEN_Val << UART_MR_PAR_Pos)      /**< (UART_MR) Even Parity Position  */
137 #define UART_MR_PAR_ODD                     (UART_MR_PAR_ODD_Val << UART_MR_PAR_Pos)       /**< (UART_MR) Odd Parity Position  */
138 #define UART_MR_PAR_SPACE                   (UART_MR_PAR_SPACE_Val << UART_MR_PAR_Pos)     /**< (UART_MR) Space: parity forced to 0 Position  */
139 #define UART_MR_PAR_MARK                    (UART_MR_PAR_MARK_Val << UART_MR_PAR_Pos)      /**< (UART_MR) Mark: parity forced to 1 Position  */
140 #define UART_MR_PAR_NO                      (UART_MR_PAR_NO_Val << UART_MR_PAR_Pos)        /**< (UART_MR) No parity Position  */
141 #define UART_MR_BRSRCCK_Pos                 12                                             /**< (UART_MR) Baud Rate Source Clock Position */
142 #define UART_MR_BRSRCCK_Msk                 (_U_(0x1) << UART_MR_BRSRCCK_Pos)              /**< (UART_MR) Baud Rate Source Clock Mask */
143 #define UART_MR_BRSRCCK                     UART_MR_BRSRCCK_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_MR_BRSRCCK_Msk instead */
144 #define   UART_MR_BRSRCCK_PERIPH_CLK_Val    _U_(0x0)                                       /**< (UART_MR) The baud rate is driven by the peripheral clock  */
145 #define   UART_MR_BRSRCCK_PMC_PCK_Val       _U_(0x1)                                       /**< (UART_MR) The baud rate is driven by a PMC-programmable clock PCK (see section Power Management Controller (PMC)).  */
146 #define UART_MR_BRSRCCK_PERIPH_CLK          (UART_MR_BRSRCCK_PERIPH_CLK_Val << UART_MR_BRSRCCK_Pos)  /**< (UART_MR) The baud rate is driven by the peripheral clock Position  */
147 #define UART_MR_BRSRCCK_PMC_PCK             (UART_MR_BRSRCCK_PMC_PCK_Val << UART_MR_BRSRCCK_Pos)  /**< (UART_MR) The baud rate is driven by a PMC-programmable clock PCK (see section Power Management Controller (PMC)). Position  */
148 #define UART_MR_CHMODE_Pos                  14                                             /**< (UART_MR) Channel Mode Position */
149 #define UART_MR_CHMODE_Msk                  (_U_(0x3) << UART_MR_CHMODE_Pos)               /**< (UART_MR) Channel Mode Mask */
150 #define UART_MR_CHMODE(value)               (UART_MR_CHMODE_Msk & ((value) << UART_MR_CHMODE_Pos))
151 #define   UART_MR_CHMODE_NORMAL_Val         _U_(0x0)                                       /**< (UART_MR) Normal mode  */
152 #define   UART_MR_CHMODE_AUTOMATIC_Val      _U_(0x1)                                       /**< (UART_MR) Automatic echo  */
153 #define   UART_MR_CHMODE_LOCAL_LOOPBACK_Val _U_(0x2)                                       /**< (UART_MR) Local loopback  */
154 #define   UART_MR_CHMODE_REMOTE_LOOPBACK_Val _U_(0x3)                                       /**< (UART_MR) Remote loopback  */
155 #define UART_MR_CHMODE_NORMAL               (UART_MR_CHMODE_NORMAL_Val << UART_MR_CHMODE_Pos)  /**< (UART_MR) Normal mode Position  */
156 #define UART_MR_CHMODE_AUTOMATIC            (UART_MR_CHMODE_AUTOMATIC_Val << UART_MR_CHMODE_Pos)  /**< (UART_MR) Automatic echo Position  */
157 #define UART_MR_CHMODE_LOCAL_LOOPBACK       (UART_MR_CHMODE_LOCAL_LOOPBACK_Val << UART_MR_CHMODE_Pos)  /**< (UART_MR) Local loopback Position  */
158 #define UART_MR_CHMODE_REMOTE_LOOPBACK      (UART_MR_CHMODE_REMOTE_LOOPBACK_Val << UART_MR_CHMODE_Pos)  /**< (UART_MR) Remote loopback Position  */
159 #define UART_MR_MASK                        _U_(0xDE10)                                    /**< \deprecated (UART_MR) Register MASK  (Use UART_MR_Msk instead)  */
160 #define UART_MR_Msk                         _U_(0xDE10)                                    /**< (UART_MR) Register Mask  */
161 
162 
163 /* -------- UART_IER : (UART Offset: 0x08) (/W 32) Interrupt Enable Register -------- */
164 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
165 #if COMPONENT_TYPEDEF_STYLE == 'N'
166 typedef union {
167   struct {
168     uint32_t RXRDY:1;                   /**< bit:      0  Enable RXRDY Interrupt                   */
169     uint32_t TXRDY:1;                   /**< bit:      1  Enable TXRDY Interrupt                   */
170     uint32_t :3;                        /**< bit:   2..4  Reserved */
171     uint32_t OVRE:1;                    /**< bit:      5  Enable Overrun Error Interrupt           */
172     uint32_t FRAME:1;                   /**< bit:      6  Enable Framing Error Interrupt           */
173     uint32_t PARE:1;                    /**< bit:      7  Enable Parity Error Interrupt            */
174     uint32_t :1;                        /**< bit:      8  Reserved */
175     uint32_t TXEMPTY:1;                 /**< bit:      9  Enable TXEMPTY Interrupt                 */
176     uint32_t :5;                        /**< bit: 10..14  Reserved */
177     uint32_t CMP:1;                     /**< bit:     15  Enable Comparison Interrupt              */
178     uint32_t :16;                       /**< bit: 16..31  Reserved */
179   } bit;                                /**< Structure used for bit  access */
180   uint32_t reg;                         /**< Type used for register access */
181 } UART_IER_Type;
182 #endif
183 #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
184 
185 #define UART_IER_OFFSET                     (0x08)                                        /**<  (UART_IER) Interrupt Enable Register  Offset */
186 
187 #define UART_IER_RXRDY_Pos                  0                                              /**< (UART_IER) Enable RXRDY Interrupt Position */
188 #define UART_IER_RXRDY_Msk                  (_U_(0x1) << UART_IER_RXRDY_Pos)               /**< (UART_IER) Enable RXRDY Interrupt Mask */
189 #define UART_IER_RXRDY                      UART_IER_RXRDY_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IER_RXRDY_Msk instead */
190 #define UART_IER_TXRDY_Pos                  1                                              /**< (UART_IER) Enable TXRDY Interrupt Position */
191 #define UART_IER_TXRDY_Msk                  (_U_(0x1) << UART_IER_TXRDY_Pos)               /**< (UART_IER) Enable TXRDY Interrupt Mask */
192 #define UART_IER_TXRDY                      UART_IER_TXRDY_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IER_TXRDY_Msk instead */
193 #define UART_IER_OVRE_Pos                   5                                              /**< (UART_IER) Enable Overrun Error Interrupt Position */
194 #define UART_IER_OVRE_Msk                   (_U_(0x1) << UART_IER_OVRE_Pos)                /**< (UART_IER) Enable Overrun Error Interrupt Mask */
195 #define UART_IER_OVRE                       UART_IER_OVRE_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IER_OVRE_Msk instead */
196 #define UART_IER_FRAME_Pos                  6                                              /**< (UART_IER) Enable Framing Error Interrupt Position */
197 #define UART_IER_FRAME_Msk                  (_U_(0x1) << UART_IER_FRAME_Pos)               /**< (UART_IER) Enable Framing Error Interrupt Mask */
198 #define UART_IER_FRAME                      UART_IER_FRAME_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IER_FRAME_Msk instead */
199 #define UART_IER_PARE_Pos                   7                                              /**< (UART_IER) Enable Parity Error Interrupt Position */
200 #define UART_IER_PARE_Msk                   (_U_(0x1) << UART_IER_PARE_Pos)                /**< (UART_IER) Enable Parity Error Interrupt Mask */
201 #define UART_IER_PARE                       UART_IER_PARE_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IER_PARE_Msk instead */
202 #define UART_IER_TXEMPTY_Pos                9                                              /**< (UART_IER) Enable TXEMPTY Interrupt Position */
203 #define UART_IER_TXEMPTY_Msk                (_U_(0x1) << UART_IER_TXEMPTY_Pos)             /**< (UART_IER) Enable TXEMPTY Interrupt Mask */
204 #define UART_IER_TXEMPTY                    UART_IER_TXEMPTY_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IER_TXEMPTY_Msk instead */
205 #define UART_IER_CMP_Pos                    15                                             /**< (UART_IER) Enable Comparison Interrupt Position */
206 #define UART_IER_CMP_Msk                    (_U_(0x1) << UART_IER_CMP_Pos)                 /**< (UART_IER) Enable Comparison Interrupt Mask */
207 #define UART_IER_CMP                        UART_IER_CMP_Msk                               /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IER_CMP_Msk instead */
208 #define UART_IER_MASK                       _U_(0x82E3)                                    /**< \deprecated (UART_IER) Register MASK  (Use UART_IER_Msk instead)  */
209 #define UART_IER_Msk                        _U_(0x82E3)                                    /**< (UART_IER) Register Mask  */
210 
211 
212 /* -------- UART_IDR : (UART Offset: 0x0c) (/W 32) Interrupt Disable Register -------- */
213 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
214 #if COMPONENT_TYPEDEF_STYLE == 'N'
215 typedef union {
216   struct {
217     uint32_t RXRDY:1;                   /**< bit:      0  Disable RXRDY Interrupt                  */
218     uint32_t TXRDY:1;                   /**< bit:      1  Disable TXRDY Interrupt                  */
219     uint32_t :3;                        /**< bit:   2..4  Reserved */
220     uint32_t OVRE:1;                    /**< bit:      5  Disable Overrun Error Interrupt          */
221     uint32_t FRAME:1;                   /**< bit:      6  Disable Framing Error Interrupt          */
222     uint32_t PARE:1;                    /**< bit:      7  Disable Parity Error Interrupt           */
223     uint32_t :1;                        /**< bit:      8  Reserved */
224     uint32_t TXEMPTY:1;                 /**< bit:      9  Disable TXEMPTY Interrupt                */
225     uint32_t :5;                        /**< bit: 10..14  Reserved */
226     uint32_t CMP:1;                     /**< bit:     15  Disable Comparison Interrupt             */
227     uint32_t :16;                       /**< bit: 16..31  Reserved */
228   } bit;                                /**< Structure used for bit  access */
229   uint32_t reg;                         /**< Type used for register access */
230 } UART_IDR_Type;
231 #endif
232 #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
233 
234 #define UART_IDR_OFFSET                     (0x0C)                                        /**<  (UART_IDR) Interrupt Disable Register  Offset */
235 
236 #define UART_IDR_RXRDY_Pos                  0                                              /**< (UART_IDR) Disable RXRDY Interrupt Position */
237 #define UART_IDR_RXRDY_Msk                  (_U_(0x1) << UART_IDR_RXRDY_Pos)               /**< (UART_IDR) Disable RXRDY Interrupt Mask */
238 #define UART_IDR_RXRDY                      UART_IDR_RXRDY_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IDR_RXRDY_Msk instead */
239 #define UART_IDR_TXRDY_Pos                  1                                              /**< (UART_IDR) Disable TXRDY Interrupt Position */
240 #define UART_IDR_TXRDY_Msk                  (_U_(0x1) << UART_IDR_TXRDY_Pos)               /**< (UART_IDR) Disable TXRDY Interrupt Mask */
241 #define UART_IDR_TXRDY                      UART_IDR_TXRDY_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IDR_TXRDY_Msk instead */
242 #define UART_IDR_OVRE_Pos                   5                                              /**< (UART_IDR) Disable Overrun Error Interrupt Position */
243 #define UART_IDR_OVRE_Msk                   (_U_(0x1) << UART_IDR_OVRE_Pos)                /**< (UART_IDR) Disable Overrun Error Interrupt Mask */
244 #define UART_IDR_OVRE                       UART_IDR_OVRE_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IDR_OVRE_Msk instead */
245 #define UART_IDR_FRAME_Pos                  6                                              /**< (UART_IDR) Disable Framing Error Interrupt Position */
246 #define UART_IDR_FRAME_Msk                  (_U_(0x1) << UART_IDR_FRAME_Pos)               /**< (UART_IDR) Disable Framing Error Interrupt Mask */
247 #define UART_IDR_FRAME                      UART_IDR_FRAME_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IDR_FRAME_Msk instead */
248 #define UART_IDR_PARE_Pos                   7                                              /**< (UART_IDR) Disable Parity Error Interrupt Position */
249 #define UART_IDR_PARE_Msk                   (_U_(0x1) << UART_IDR_PARE_Pos)                /**< (UART_IDR) Disable Parity Error Interrupt Mask */
250 #define UART_IDR_PARE                       UART_IDR_PARE_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IDR_PARE_Msk instead */
251 #define UART_IDR_TXEMPTY_Pos                9                                              /**< (UART_IDR) Disable TXEMPTY Interrupt Position */
252 #define UART_IDR_TXEMPTY_Msk                (_U_(0x1) << UART_IDR_TXEMPTY_Pos)             /**< (UART_IDR) Disable TXEMPTY Interrupt Mask */
253 #define UART_IDR_TXEMPTY                    UART_IDR_TXEMPTY_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IDR_TXEMPTY_Msk instead */
254 #define UART_IDR_CMP_Pos                    15                                             /**< (UART_IDR) Disable Comparison Interrupt Position */
255 #define UART_IDR_CMP_Msk                    (_U_(0x1) << UART_IDR_CMP_Pos)                 /**< (UART_IDR) Disable Comparison Interrupt Mask */
256 #define UART_IDR_CMP                        UART_IDR_CMP_Msk                               /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IDR_CMP_Msk instead */
257 #define UART_IDR_MASK                       _U_(0x82E3)                                    /**< \deprecated (UART_IDR) Register MASK  (Use UART_IDR_Msk instead)  */
258 #define UART_IDR_Msk                        _U_(0x82E3)                                    /**< (UART_IDR) Register Mask  */
259 
260 
261 /* -------- UART_IMR : (UART Offset: 0x10) (R/ 32) Interrupt Mask Register -------- */
262 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
263 #if COMPONENT_TYPEDEF_STYLE == 'N'
264 typedef union {
265   struct {
266     uint32_t RXRDY:1;                   /**< bit:      0  Mask RXRDY Interrupt                     */
267     uint32_t TXRDY:1;                   /**< bit:      1  Disable TXRDY Interrupt                  */
268     uint32_t :3;                        /**< bit:   2..4  Reserved */
269     uint32_t OVRE:1;                    /**< bit:      5  Mask Overrun Error Interrupt             */
270     uint32_t FRAME:1;                   /**< bit:      6  Mask Framing Error Interrupt             */
271     uint32_t PARE:1;                    /**< bit:      7  Mask Parity Error Interrupt              */
272     uint32_t :1;                        /**< bit:      8  Reserved */
273     uint32_t TXEMPTY:1;                 /**< bit:      9  Mask TXEMPTY Interrupt                   */
274     uint32_t :5;                        /**< bit: 10..14  Reserved */
275     uint32_t CMP:1;                     /**< bit:     15  Mask Comparison Interrupt                */
276     uint32_t :16;                       /**< bit: 16..31  Reserved */
277   } bit;                                /**< Structure used for bit  access */
278   uint32_t reg;                         /**< Type used for register access */
279 } UART_IMR_Type;
280 #endif
281 #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
282 
283 #define UART_IMR_OFFSET                     (0x10)                                        /**<  (UART_IMR) Interrupt Mask Register  Offset */
284 
285 #define UART_IMR_RXRDY_Pos                  0                                              /**< (UART_IMR) Mask RXRDY Interrupt Position */
286 #define UART_IMR_RXRDY_Msk                  (_U_(0x1) << UART_IMR_RXRDY_Pos)               /**< (UART_IMR) Mask RXRDY Interrupt Mask */
287 #define UART_IMR_RXRDY                      UART_IMR_RXRDY_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IMR_RXRDY_Msk instead */
288 #define UART_IMR_TXRDY_Pos                  1                                              /**< (UART_IMR) Disable TXRDY Interrupt Position */
289 #define UART_IMR_TXRDY_Msk                  (_U_(0x1) << UART_IMR_TXRDY_Pos)               /**< (UART_IMR) Disable TXRDY Interrupt Mask */
290 #define UART_IMR_TXRDY                      UART_IMR_TXRDY_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IMR_TXRDY_Msk instead */
291 #define UART_IMR_OVRE_Pos                   5                                              /**< (UART_IMR) Mask Overrun Error Interrupt Position */
292 #define UART_IMR_OVRE_Msk                   (_U_(0x1) << UART_IMR_OVRE_Pos)                /**< (UART_IMR) Mask Overrun Error Interrupt Mask */
293 #define UART_IMR_OVRE                       UART_IMR_OVRE_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IMR_OVRE_Msk instead */
294 #define UART_IMR_FRAME_Pos                  6                                              /**< (UART_IMR) Mask Framing Error Interrupt Position */
295 #define UART_IMR_FRAME_Msk                  (_U_(0x1) << UART_IMR_FRAME_Pos)               /**< (UART_IMR) Mask Framing Error Interrupt Mask */
296 #define UART_IMR_FRAME                      UART_IMR_FRAME_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IMR_FRAME_Msk instead */
297 #define UART_IMR_PARE_Pos                   7                                              /**< (UART_IMR) Mask Parity Error Interrupt Position */
298 #define UART_IMR_PARE_Msk                   (_U_(0x1) << UART_IMR_PARE_Pos)                /**< (UART_IMR) Mask Parity Error Interrupt Mask */
299 #define UART_IMR_PARE                       UART_IMR_PARE_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IMR_PARE_Msk instead */
300 #define UART_IMR_TXEMPTY_Pos                9                                              /**< (UART_IMR) Mask TXEMPTY Interrupt Position */
301 #define UART_IMR_TXEMPTY_Msk                (_U_(0x1) << UART_IMR_TXEMPTY_Pos)             /**< (UART_IMR) Mask TXEMPTY Interrupt Mask */
302 #define UART_IMR_TXEMPTY                    UART_IMR_TXEMPTY_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IMR_TXEMPTY_Msk instead */
303 #define UART_IMR_CMP_Pos                    15                                             /**< (UART_IMR) Mask Comparison Interrupt Position */
304 #define UART_IMR_CMP_Msk                    (_U_(0x1) << UART_IMR_CMP_Pos)                 /**< (UART_IMR) Mask Comparison Interrupt Mask */
305 #define UART_IMR_CMP                        UART_IMR_CMP_Msk                               /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_IMR_CMP_Msk instead */
306 #define UART_IMR_MASK                       _U_(0x82E3)                                    /**< \deprecated (UART_IMR) Register MASK  (Use UART_IMR_Msk instead)  */
307 #define UART_IMR_Msk                        _U_(0x82E3)                                    /**< (UART_IMR) Register Mask  */
308 
309 
310 /* -------- UART_SR : (UART Offset: 0x14) (R/ 32) Status Register -------- */
311 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
312 #if COMPONENT_TYPEDEF_STYLE == 'N'
313 typedef union {
314   struct {
315     uint32_t RXRDY:1;                   /**< bit:      0  Receiver Ready                           */
316     uint32_t TXRDY:1;                   /**< bit:      1  Transmitter Ready                        */
317     uint32_t :3;                        /**< bit:   2..4  Reserved */
318     uint32_t OVRE:1;                    /**< bit:      5  Overrun Error                            */
319     uint32_t FRAME:1;                   /**< bit:      6  Framing Error                            */
320     uint32_t PARE:1;                    /**< bit:      7  Parity Error                             */
321     uint32_t :1;                        /**< bit:      8  Reserved */
322     uint32_t TXEMPTY:1;                 /**< bit:      9  Transmitter Empty                        */
323     uint32_t :5;                        /**< bit: 10..14  Reserved */
324     uint32_t CMP:1;                     /**< bit:     15  Comparison Match                         */
325     uint32_t :16;                       /**< bit: 16..31  Reserved */
326   } bit;                                /**< Structure used for bit  access */
327   uint32_t reg;                         /**< Type used for register access */
328 } UART_SR_Type;
329 #endif
330 #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
331 
332 #define UART_SR_OFFSET                      (0x14)                                        /**<  (UART_SR) Status Register  Offset */
333 
334 #define UART_SR_RXRDY_Pos                   0                                              /**< (UART_SR) Receiver Ready Position */
335 #define UART_SR_RXRDY_Msk                   (_U_(0x1) << UART_SR_RXRDY_Pos)                /**< (UART_SR) Receiver Ready Mask */
336 #define UART_SR_RXRDY                       UART_SR_RXRDY_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_SR_RXRDY_Msk instead */
337 #define UART_SR_TXRDY_Pos                   1                                              /**< (UART_SR) Transmitter Ready Position */
338 #define UART_SR_TXRDY_Msk                   (_U_(0x1) << UART_SR_TXRDY_Pos)                /**< (UART_SR) Transmitter Ready Mask */
339 #define UART_SR_TXRDY                       UART_SR_TXRDY_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_SR_TXRDY_Msk instead */
340 #define UART_SR_OVRE_Pos                    5                                              /**< (UART_SR) Overrun Error Position */
341 #define UART_SR_OVRE_Msk                    (_U_(0x1) << UART_SR_OVRE_Pos)                 /**< (UART_SR) Overrun Error Mask */
342 #define UART_SR_OVRE                        UART_SR_OVRE_Msk                               /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_SR_OVRE_Msk instead */
343 #define UART_SR_FRAME_Pos                   6                                              /**< (UART_SR) Framing Error Position */
344 #define UART_SR_FRAME_Msk                   (_U_(0x1) << UART_SR_FRAME_Pos)                /**< (UART_SR) Framing Error Mask */
345 #define UART_SR_FRAME                       UART_SR_FRAME_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_SR_FRAME_Msk instead */
346 #define UART_SR_PARE_Pos                    7                                              /**< (UART_SR) Parity Error Position */
347 #define UART_SR_PARE_Msk                    (_U_(0x1) << UART_SR_PARE_Pos)                 /**< (UART_SR) Parity Error Mask */
348 #define UART_SR_PARE                        UART_SR_PARE_Msk                               /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_SR_PARE_Msk instead */
349 #define UART_SR_TXEMPTY_Pos                 9                                              /**< (UART_SR) Transmitter Empty Position */
350 #define UART_SR_TXEMPTY_Msk                 (_U_(0x1) << UART_SR_TXEMPTY_Pos)              /**< (UART_SR) Transmitter Empty Mask */
351 #define UART_SR_TXEMPTY                     UART_SR_TXEMPTY_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_SR_TXEMPTY_Msk instead */
352 #define UART_SR_CMP_Pos                     15                                             /**< (UART_SR) Comparison Match Position */
353 #define UART_SR_CMP_Msk                     (_U_(0x1) << UART_SR_CMP_Pos)                  /**< (UART_SR) Comparison Match Mask */
354 #define UART_SR_CMP                         UART_SR_CMP_Msk                                /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_SR_CMP_Msk instead */
355 #define UART_SR_MASK                        _U_(0x82E3)                                    /**< \deprecated (UART_SR) Register MASK  (Use UART_SR_Msk instead)  */
356 #define UART_SR_Msk                         _U_(0x82E3)                                    /**< (UART_SR) Register Mask  */
357 
358 
359 /* -------- UART_RHR : (UART Offset: 0x18) (R/ 32) Receive Holding Register -------- */
360 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
361 #if COMPONENT_TYPEDEF_STYLE == 'N'
362 typedef union {
363   struct {
364     uint32_t RXCHR:8;                   /**< bit:   0..7  Received Character                       */
365     uint32_t :24;                       /**< bit:  8..31  Reserved */
366   } bit;                                /**< Structure used for bit  access */
367   uint32_t reg;                         /**< Type used for register access */
368 } UART_RHR_Type;
369 #endif
370 #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
371 
372 #define UART_RHR_OFFSET                     (0x18)                                        /**<  (UART_RHR) Receive Holding Register  Offset */
373 
374 #define UART_RHR_RXCHR_Pos                  0                                              /**< (UART_RHR) Received Character Position */
375 #define UART_RHR_RXCHR_Msk                  (_U_(0xFF) << UART_RHR_RXCHR_Pos)              /**< (UART_RHR) Received Character Mask */
376 #define UART_RHR_RXCHR(value)               (UART_RHR_RXCHR_Msk & ((value) << UART_RHR_RXCHR_Pos))
377 #define UART_RHR_MASK                       _U_(0xFF)                                      /**< \deprecated (UART_RHR) Register MASK  (Use UART_RHR_Msk instead)  */
378 #define UART_RHR_Msk                        _U_(0xFF)                                      /**< (UART_RHR) Register Mask  */
379 
380 
381 /* -------- UART_THR : (UART Offset: 0x1c) (/W 32) Transmit Holding Register -------- */
382 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
383 #if COMPONENT_TYPEDEF_STYLE == 'N'
384 typedef union {
385   struct {
386     uint32_t TXCHR:8;                   /**< bit:   0..7  Character to be Transmitted              */
387     uint32_t :24;                       /**< bit:  8..31  Reserved */
388   } bit;                                /**< Structure used for bit  access */
389   uint32_t reg;                         /**< Type used for register access */
390 } UART_THR_Type;
391 #endif
392 #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
393 
394 #define UART_THR_OFFSET                     (0x1C)                                        /**<  (UART_THR) Transmit Holding Register  Offset */
395 
396 #define UART_THR_TXCHR_Pos                  0                                              /**< (UART_THR) Character to be Transmitted Position */
397 #define UART_THR_TXCHR_Msk                  (_U_(0xFF) << UART_THR_TXCHR_Pos)              /**< (UART_THR) Character to be Transmitted Mask */
398 #define UART_THR_TXCHR(value)               (UART_THR_TXCHR_Msk & ((value) << UART_THR_TXCHR_Pos))
399 #define UART_THR_MASK                       _U_(0xFF)                                      /**< \deprecated (UART_THR) Register MASK  (Use UART_THR_Msk instead)  */
400 #define UART_THR_Msk                        _U_(0xFF)                                      /**< (UART_THR) Register Mask  */
401 
402 
403 /* -------- UART_BRGR : (UART Offset: 0x20) (R/W 32) Baud Rate Generator Register -------- */
404 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
405 #if COMPONENT_TYPEDEF_STYLE == 'N'
406 typedef union {
407   struct {
408     uint32_t CD:16;                     /**< bit:  0..15  Clock Divisor                            */
409     uint32_t :16;                       /**< bit: 16..31  Reserved */
410   } bit;                                /**< Structure used for bit  access */
411   uint32_t reg;                         /**< Type used for register access */
412 } UART_BRGR_Type;
413 #endif
414 #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
415 
416 #define UART_BRGR_OFFSET                    (0x20)                                        /**<  (UART_BRGR) Baud Rate Generator Register  Offset */
417 
418 #define UART_BRGR_CD_Pos                    0                                              /**< (UART_BRGR) Clock Divisor Position */
419 #define UART_BRGR_CD_Msk                    (_U_(0xFFFF) << UART_BRGR_CD_Pos)              /**< (UART_BRGR) Clock Divisor Mask */
420 #define UART_BRGR_CD(value)                 (UART_BRGR_CD_Msk & ((value) << UART_BRGR_CD_Pos))
421 #define UART_BRGR_MASK                      _U_(0xFFFF)                                    /**< \deprecated (UART_BRGR) Register MASK  (Use UART_BRGR_Msk instead)  */
422 #define UART_BRGR_Msk                       _U_(0xFFFF)                                    /**< (UART_BRGR) Register Mask  */
423 
424 
425 /* -------- UART_CMPR : (UART Offset: 0x24) (R/W 32) Comparison Register -------- */
426 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
427 #if COMPONENT_TYPEDEF_STYLE == 'N'
428 typedef union {
429   struct {
430     uint32_t VAL1:8;                    /**< bit:   0..7  First Comparison Value for Received Character */
431     uint32_t :4;                        /**< bit:  8..11  Reserved */
432     uint32_t CMPMODE:1;                 /**< bit:     12  Comparison Mode                          */
433     uint32_t :1;                        /**< bit:     13  Reserved */
434     uint32_t CMPPAR:1;                  /**< bit:     14  Compare Parity                           */
435     uint32_t :1;                        /**< bit:     15  Reserved */
436     uint32_t VAL2:8;                    /**< bit: 16..23  Second Comparison Value for Received Character */
437     uint32_t :8;                        /**< bit: 24..31  Reserved */
438   } bit;                                /**< Structure used for bit  access */
439   uint32_t reg;                         /**< Type used for register access */
440 } UART_CMPR_Type;
441 #endif
442 #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
443 
444 #define UART_CMPR_OFFSET                    (0x24)                                        /**<  (UART_CMPR) Comparison Register  Offset */
445 
446 #define UART_CMPR_VAL1_Pos                  0                                              /**< (UART_CMPR) First Comparison Value for Received Character Position */
447 #define UART_CMPR_VAL1_Msk                  (_U_(0xFF) << UART_CMPR_VAL1_Pos)              /**< (UART_CMPR) First Comparison Value for Received Character Mask */
448 #define UART_CMPR_VAL1(value)               (UART_CMPR_VAL1_Msk & ((value) << UART_CMPR_VAL1_Pos))
449 #define UART_CMPR_CMPMODE_Pos               12                                             /**< (UART_CMPR) Comparison Mode Position */
450 #define UART_CMPR_CMPMODE_Msk               (_U_(0x1) << UART_CMPR_CMPMODE_Pos)            /**< (UART_CMPR) Comparison Mode Mask */
451 #define UART_CMPR_CMPMODE                   UART_CMPR_CMPMODE_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_CMPR_CMPMODE_Msk instead */
452 #define   UART_CMPR_CMPMODE_FLAG_ONLY_Val   _U_(0x0)                                       /**< (UART_CMPR) Any character is received and comparison function drives CMP flag.  */
453 #define   UART_CMPR_CMPMODE_START_CONDITION_Val _U_(0x1)                                       /**< (UART_CMPR) Comparison condition must be met to start reception.  */
454 #define UART_CMPR_CMPMODE_FLAG_ONLY         (UART_CMPR_CMPMODE_FLAG_ONLY_Val << UART_CMPR_CMPMODE_Pos)  /**< (UART_CMPR) Any character is received and comparison function drives CMP flag. Position  */
455 #define UART_CMPR_CMPMODE_START_CONDITION   (UART_CMPR_CMPMODE_START_CONDITION_Val << UART_CMPR_CMPMODE_Pos)  /**< (UART_CMPR) Comparison condition must be met to start reception. Position  */
456 #define UART_CMPR_CMPPAR_Pos                14                                             /**< (UART_CMPR) Compare Parity Position */
457 #define UART_CMPR_CMPPAR_Msk                (_U_(0x1) << UART_CMPR_CMPPAR_Pos)             /**< (UART_CMPR) Compare Parity Mask */
458 #define UART_CMPR_CMPPAR                    UART_CMPR_CMPPAR_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_CMPR_CMPPAR_Msk instead */
459 #define UART_CMPR_VAL2_Pos                  16                                             /**< (UART_CMPR) Second Comparison Value for Received Character Position */
460 #define UART_CMPR_VAL2_Msk                  (_U_(0xFF) << UART_CMPR_VAL2_Pos)              /**< (UART_CMPR) Second Comparison Value for Received Character Mask */
461 #define UART_CMPR_VAL2(value)               (UART_CMPR_VAL2_Msk & ((value) << UART_CMPR_VAL2_Pos))
462 #define UART_CMPR_MASK                      _U_(0xFF50FF)                                  /**< \deprecated (UART_CMPR) Register MASK  (Use UART_CMPR_Msk instead)  */
463 #define UART_CMPR_Msk                       _U_(0xFF50FF)                                  /**< (UART_CMPR) Register Mask  */
464 
465 
466 /* -------- UART_WPMR : (UART Offset: 0xe4) (R/W 32) Write Protection Mode Register -------- */
467 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
468 #if COMPONENT_TYPEDEF_STYLE == 'N'
469 typedef union {
470   struct {
471     uint32_t WPEN:1;                    /**< bit:      0  Write Protection Enable                  */
472     uint32_t :7;                        /**< bit:   1..7  Reserved */
473     uint32_t WPKEY:24;                  /**< bit:  8..31  Write Protection Key                     */
474   } bit;                                /**< Structure used for bit  access */
475   uint32_t reg;                         /**< Type used for register access */
476 } UART_WPMR_Type;
477 #endif
478 #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
479 
480 #define UART_WPMR_OFFSET                    (0xE4)                                        /**<  (UART_WPMR) Write Protection Mode Register  Offset */
481 
482 #define UART_WPMR_WPEN_Pos                  0                                              /**< (UART_WPMR) Write Protection Enable Position */
483 #define UART_WPMR_WPEN_Msk                  (_U_(0x1) << UART_WPMR_WPEN_Pos)               /**< (UART_WPMR) Write Protection Enable Mask */
484 #define UART_WPMR_WPEN                      UART_WPMR_WPEN_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use UART_WPMR_WPEN_Msk instead */
485 #define UART_WPMR_WPKEY_Pos                 8                                              /**< (UART_WPMR) Write Protection Key Position */
486 #define UART_WPMR_WPKEY_Msk                 (_U_(0xFFFFFF) << UART_WPMR_WPKEY_Pos)         /**< (UART_WPMR) Write Protection Key Mask */
487 #define UART_WPMR_WPKEY(value)              (UART_WPMR_WPKEY_Msk & ((value) << UART_WPMR_WPKEY_Pos))
488 #define   UART_WPMR_WPKEY_PASSWD_Val        _U_(0x554152)                                  /**< (UART_WPMR) Writing any other value in this field aborts the write operation.Always reads as 0.  */
489 #define UART_WPMR_WPKEY_PASSWD              (UART_WPMR_WPKEY_PASSWD_Val << UART_WPMR_WPKEY_Pos)  /**< (UART_WPMR) Writing any other value in this field aborts the write operation.Always reads as 0. Position  */
490 #define UART_WPMR_MASK                      _U_(0xFFFFFF01)                                /**< \deprecated (UART_WPMR) Register MASK  (Use UART_WPMR_Msk instead)  */
491 #define UART_WPMR_Msk                       _U_(0xFFFFFF01)                                /**< (UART_WPMR) Register Mask  */
492 
493 
494 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
495 #if COMPONENT_TYPEDEF_STYLE == 'R'
496 /** \brief UART hardware registers */
497 typedef struct {
498   __O  uint32_t UART_CR;        /**< (UART Offset: 0x00) Control Register */
499   __IO uint32_t UART_MR;        /**< (UART Offset: 0x04) Mode Register */
500   __O  uint32_t UART_IER;       /**< (UART Offset: 0x08) Interrupt Enable Register */
501   __O  uint32_t UART_IDR;       /**< (UART Offset: 0x0C) Interrupt Disable Register */
502   __I  uint32_t UART_IMR;       /**< (UART Offset: 0x10) Interrupt Mask Register */
503   __I  uint32_t UART_SR;        /**< (UART Offset: 0x14) Status Register */
504   __I  uint32_t UART_RHR;       /**< (UART Offset: 0x18) Receive Holding Register */
505   __O  uint32_t UART_THR;       /**< (UART Offset: 0x1C) Transmit Holding Register */
506   __IO uint32_t UART_BRGR;      /**< (UART Offset: 0x20) Baud Rate Generator Register */
507   __IO uint32_t UART_CMPR;      /**< (UART Offset: 0x24) Comparison Register */
508   __I  uint8_t                        Reserved1[188];
509   __IO uint32_t UART_WPMR;      /**< (UART Offset: 0xE4) Write Protection Mode Register */
510 } Uart;
511 
512 #elif COMPONENT_TYPEDEF_STYLE == 'N'
513 /** \brief UART hardware registers */
514 typedef struct {
515   __O  UART_CR_Type                   UART_CR;        /**< Offset: 0x00 ( /W  32) Control Register */
516   __IO UART_MR_Type                   UART_MR;        /**< Offset: 0x04 (R/W  32) Mode Register */
517   __O  UART_IER_Type                  UART_IER;       /**< Offset: 0x08 ( /W  32) Interrupt Enable Register */
518   __O  UART_IDR_Type                  UART_IDR;       /**< Offset: 0x0C ( /W  32) Interrupt Disable Register */
519   __I  UART_IMR_Type                  UART_IMR;       /**< Offset: 0x10 (R/   32) Interrupt Mask Register */
520   __I  UART_SR_Type                   UART_SR;        /**< Offset: 0x14 (R/   32) Status Register */
521   __I  UART_RHR_Type                  UART_RHR;       /**< Offset: 0x18 (R/   32) Receive Holding Register */
522   __O  UART_THR_Type                  UART_THR;       /**< Offset: 0x1C ( /W  32) Transmit Holding Register */
523   __IO UART_BRGR_Type                 UART_BRGR;      /**< Offset: 0x20 (R/W  32) Baud Rate Generator Register */
524   __IO UART_CMPR_Type                 UART_CMPR;      /**< Offset: 0x24 (R/W  32) Comparison Register */
525   __I  uint8_t                        Reserved1[188];
526   __IO UART_WPMR_Type                 UART_WPMR;      /**< Offset: 0xE4 (R/W  32) Write Protection Mode Register */
527 } Uart;
528 
529 #else /* COMPONENT_TYPEDEF_STYLE */
530 #error Unknown component typedef style
531 #endif /* COMPONENT_TYPEDEF_STYLE */
532 
533 #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
534 /** @}  end of Universal Asynchronous Receiver Transmitter */
535 
536 #endif /* _SAME70_UART_COMPONENT_H_ */
537