1<?xml version="1.0" encoding="utf-8" standalone="no"?> 2<device schemaVersion="1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="svd_schema.xsd"> 3 <peripheral> 4 <name>UART0</name> 5 <description>UART</description> 6 <baseAddress>0x40020000</baseAddress> 7 <addressBlock> 8 <offset>0</offset> 9 <size>0x1000</size> 10 <usage>registers</usage> 11 </addressBlock> 12 <interrupt> 13 <name>UART0</name> 14 <description>UART0 IRQ</description> 15 <value>14</value> 16 </interrupt> 17 <registers> 18 <register> 19 <name>CTRL</name> 20 <description>Control Register.</description> 21 <addressOffset>0x00</addressOffset> 22 <size>32</size> 23 <fields> 24 <field> 25 <name>RXTHD</name> 26 <description>Receive Threshhold.</description> 27 <bitOffset>0</bitOffset> 28 <bitWidth>4</bitWidth> 29 </field> 30 <field> 31 <name>PARITY_EN</name> 32 <description>Enable/disable Parity bit (9th character).</description> 33 <bitOffset>4</bitOffset> 34 <bitWidth>1</bitWidth> 35 <enumeratedValues> 36 <enumeratedValue> 37 <name>dis</name> 38 <description>No Parity </description> 39 <value>0</value> 40 </enumeratedValue> 41 <enumeratedValue> 42 <name>en</name> 43 <description>Parity enabled as 9th bit</description> 44 <value>1</value> 45 </enumeratedValue> 46 </enumeratedValues> 47 </field> 48 <field> 49 <name>PARITY</name> 50 <description>When PARITY_EN=1, selects odd or even parity.</description> 51 <bitOffset>5</bitOffset> 52 <bitWidth>1</bitWidth> 53 <enumeratedValues> 54 <enumeratedValue> 55 <name>Even</name> 56 <description>Even parity selected.</description> 57 <value>0</value> 58 </enumeratedValue> 59 <enumeratedValue> 60 <name>ODD</name> 61 <description>Odd parity selected.</description> 62 <value>1</value> 63 </enumeratedValue> 64 </enumeratedValues> 65 </field> 66 <field> 67 <name>PARMD</name> 68 <description>Selects parity based on 1s or 0s count (when PARITY_EN=1).</description> 69 <bitOffset>6</bitOffset> 70 <bitWidth>1</bitWidth> 71 <enumeratedValues> 72 <enumeratedValue> 73 <name>1</name> 74 <description>Parity calculation is based on number of 1s in frame.</description> 75 <value>0</value> 76 </enumeratedValue> 77 <enumeratedValue> 78 <name>0</name> 79 <description>Parity calculation is based on number of 0s in frame.</description> 80 <value>1</value> 81 </enumeratedValue> 82 </enumeratedValues> 83 </field> 84 <field> 85 <name>TX_FLUSH</name> 86 <description>Flushes the TX FIFO buffer.</description> 87 <bitOffset>8</bitOffset> 88 <bitWidth>1</bitWidth> 89 </field> 90 <field> 91 <name>RX_FLUSH</name> 92 <description>Flushes the RX FIFO buffer.</description> 93 <bitOffset>9</bitOffset> 94 <bitWidth>1</bitWidth> 95 </field> 96 <field> 97 <name>CHAR_SIZE</name> 98 <description>Selects UART character size.</description> 99 <bitOffset>10</bitOffset> 100 <bitWidth>2</bitWidth> 101 <enumeratedValues> 102 <enumeratedValue> 103 <name>5</name> 104 <description>5 bits.</description> 105 <value>0</value> 106 </enumeratedValue> 107 <enumeratedValue> 108 <name>6</name> 109 <description>6 bits.</description> 110 <value>1</value> 111 </enumeratedValue> 112 <enumeratedValue> 113 <name>7</name> 114 <description>7 bits.</description> 115 <value>2</value> 116 </enumeratedValue> 117 <enumeratedValue> 118 <name>8</name> 119 <description>8 bits.</description> 120 <value>3</value> 121 </enumeratedValue> 122 </enumeratedValues> 123 </field> 124 <field> 125 <name>STOPBITS</name> 126 <description>Selects the number of stop bits that will be generated.</description> 127 <bitOffset>12</bitOffset> 128 <bitWidth>1</bitWidth> 129 <enumeratedValues> 130 <enumeratedValue> 131 <name>1</name> 132 <description>1 stop bit.</description> 133 <value>0</value> 134 </enumeratedValue> 135 <enumeratedValue> 136 <name>1_5</name> 137 <description>1.5 stop bits.</description> 138 <value>1</value> 139 </enumeratedValue> 140 </enumeratedValues> 141 </field> 142 <field> 143 <name>FLOW_CTRL</name> 144 <description>Enables/disables hardware flow control.</description> 145 <bitOffset>13</bitOffset> 146 <bitWidth>1</bitWidth> 147 <enumeratedValues> 148 <enumeratedValue> 149 <name>en</name> 150 <description>HW Flow Control with RTS/CTS enabled</description> 151 <value>1</value> 152 </enumeratedValue> 153 <enumeratedValue> 154 <name>dis</name> 155 <description>HW Flow Control disabled</description> 156 <value>0</value> 157 </enumeratedValue> 158 </enumeratedValues> 159 </field> 160 </fields> 161 </register> 162 <register> 163 <name>STATUS</name> 164 <description>Status Register.</description> 165 <addressOffset>0x04</addressOffset> 166 <size>32</size> 167 <access>read-only</access> 168 <fields> 169 <field> 170 <name>TX_BUSY</name> 171 <description>Read-only flag indicating the UART transmit status.</description> 172 <bitOffset>0</bitOffset> 173 <bitWidth>1</bitWidth> 174 <access>read-only</access> 175 </field> 176 <field> 177 <name>RX_BUSY</name> 178 <description>Read-only flag indicating the UART receiver status.</description> 179 <bitOffset>1</bitOffset> 180 <bitWidth>1</bitWidth> 181 <access>read-only</access> 182 </field> 183 <field> 184 <name>RX_EMPTY</name> 185 <description>Read-only flag indicating the RX FIFO state.</description> 186 <bitOffset>4</bitOffset> 187 <bitWidth>1</bitWidth> 188 <access>read-only</access> 189 </field> 190 <field> 191 <name>RX_FULL</name> 192 <description>Read-only flag indicating the RX FIFO state.</description> 193 <bitOffset>5</bitOffset> 194 <bitWidth>1</bitWidth> 195 <access>read-only</access> 196 </field> 197 <field> 198 <name>TX_EMPTY</name> 199 <description>Read-only flag indicating the TX FIFO state.</description> 200 <bitOffset>6</bitOffset> 201 <bitWidth>1</bitWidth> 202 <access>read-only</access> 203 </field> 204 <field> 205 <name>TX_FULL</name> 206 <description>Read-only flag indicating the TX FIFO state.</description> 207 <bitOffset>7</bitOffset> 208 <bitWidth>1</bitWidth> 209 <access>read-only</access> 210 </field> 211 <field> 212 <name>RX_FIFO_CNT</name> 213 <description>Indicates the number of bytes currently in the RX FIFO.</description> 214 <bitOffset>8</bitOffset> 215 <bitWidth>4</bitWidth> 216 <access>read-only</access> 217 </field> 218 <field> 219 <name>TX_FIFO_CNT</name> 220 <description>Indicates the number of bytes currently in the TX FIFO.</description> 221 <bitOffset>12</bitOffset> 222 <bitWidth>4</bitWidth> 223 <access>read-only</access> 224 </field> 225 </fields> 226 </register> 227 <register> 228 <name>INT_EN</name> 229 <description>Interrupt Enable Register.</description> 230 <addressOffset>0x08</addressOffset> 231 <size>32</size> 232 <fields> 233 <field> 234 <name>RX_FRAME_ERROR</name> 235 <description>Enable for RX Frame Error Interrupt.</description> 236 <bitOffset>0</bitOffset> 237 <bitWidth>1</bitWidth> 238 </field> 239 <field> 240 <name>RX_PARITY_ERROR</name> 241 <description>Enable for RX Parity Error interrupt.</description> 242 <bitOffset>1</bitOffset> 243 <bitWidth>1</bitWidth> 244 </field> 245 <field> 246 <name>RX_OVERRUN</name> 247 <description>Enable for RX FIFO OVerrun interrupt.</description> 248 <bitOffset>3</bitOffset> 249 <bitWidth>1</bitWidth> 250 </field> 251 <field> 252 <name>RX_FIFO_THRESH</name> 253 <description>Enable for interrupt when RX FIFO reaches the number of bytes configured by the RXTHD field.</description> 254 <bitOffset>4</bitOffset> 255 <bitWidth>1</bitWidth> 256 </field> 257 <field> 258 <name>TX_FIFO_ALMOST_EMPTY</name> 259 <description>Enable for interrupt when TX FIFO has only one byte remaining.</description> 260 <bitOffset>5</bitOffset> 261 <bitWidth>1</bitWidth> 262 </field> 263 <field> 264 <name>TX_FIFO_HALF_EMPTY</name> 265 <description>Enable for interrupt when TX FIFO reaches half the number of bytes allowed in the fifo or less.</description> 266 <bitOffset>6</bitOffset> 267 <bitWidth>1</bitWidth> 268 </field> 269 </fields> 270 </register> 271 <register> 272 <name>INT_FL</name> 273 <description>Interrupt Status Flags.</description> 274 <addressOffset>0x0C</addressOffset> 275 <size>32</size> 276 <modifiedWriteValues>oneToClear</modifiedWriteValues> 277 <fields> 278 <field> 279 <name>RX_FRAME_ERROR</name> 280 <description>FLAG for RX Frame Error Interrupt.</description> 281 <bitOffset>0</bitOffset> 282 <bitWidth>1</bitWidth> 283 </field> 284 <field> 285 <name>RX_PARITY_ERROR</name> 286 <description>FLAG for RX Parity Error interrupt.</description> 287 <bitOffset>1</bitOffset> 288 <bitWidth>1</bitWidth> 289 </field> 290 <field> 291 <name>RX_OVERRUN</name> 292 <description>FLAG for RX FIFO Overrun interrupt.</description> 293 <bitOffset>3</bitOffset> 294 <bitWidth>1</bitWidth> 295 </field> 296 <field> 297 <name>RX_FIFO_THRESH</name> 298 <description>FLAG for interrupt when RX FIFO reaches the number of bytes configured by the RXTHD field.</description> 299 <bitOffset>4</bitOffset> 300 <bitWidth>1</bitWidth> 301 </field> 302 <field> 303 <name>TX_FIFO_ALMOST_EMPTY</name> 304 <description>FLAG for interrupt when TX FIFO has only one byte remaining.</description> 305 <bitOffset>5</bitOffset> 306 <bitWidth>1</bitWidth> 307 </field> 308 <field> 309 <name>TX_FIFO_HALF_EMPTY</name> 310 <description>FLAG for interrupt when TX FIFO reaches half the number of bytes allowed in the fifo or less.</description> 311 <bitOffset>6</bitOffset> 312 <bitWidth>1</bitWidth> 313 </field> 314 </fields> 315 </register> 316 <register> 317 <name>BAUD0</name> 318 <description>Baud rate register. Integer portion.</description> 319 <addressOffset>0x10</addressOffset> 320 <size>32</size> 321 <fields> 322 <field> 323 <name>IBAUD</name> 324 <description>Integer portion of baud rate divisor value. IBAUD = InputClock / (factor * Baud Rate Frequency).</description> 325 <bitOffset>0</bitOffset> 326 <bitWidth>12</bitWidth> 327 </field> 328 </fields> 329 </register> 330 <register> 331 <name>BAUD1</name> 332 <description>Baud rate register. Decimal Setting.</description> 333 <addressOffset>0x14</addressOffset> 334 <size>32</size> 335 <fields> 336 <field> 337 <name>DBAUD</name> 338 <description>Decimal portion of baud rate divisor value. DIV = InputClock/(factor*Baud Rate Frequency). DDIV=(DIV-IDIV)*128.</description> 339 <bitOffset>0</bitOffset> 340 <bitWidth>7</bitWidth> 341 </field> 342 </fields> 343 </register> 344 <register> 345 <name>PIN</name> 346 <description>UART Pin Control Register.</description> 347 <addressOffset>0x1C</addressOffset> 348 <size>32</size> 349 <fields> 350 <field> 351 <name>CTS</name> 352 <description>Current state of CTS pin.</description> 353 <bitOffset>0</bitOffset> 354 <bitWidth>1</bitWidth> 355 </field> 356 <field> 357 <name>RTS</name> 358 <description>If hardware flow control is disabled, this bit may be used to control RTS output.</description> 359 <bitOffset>1</bitOffset> 360 <bitWidth>1</bitWidth> 361 </field> 362 </fields> 363 </register> 364 <register> 365 <name>FIFO</name> 366 <description>FIFO Data buffer.</description> 367 <addressOffset>0x20</addressOffset> 368 <size>32</size> 369 <fields> 370 <field> 371 <name>FIFO</name> 372 <description>Load/unload location for TX and RX FIFO buffers.</description> 373 <bitOffset>0</bitOffset> 374 <bitWidth>8</bitWidth> 375 </field> 376 <field> 377 <name>PARITY</name> 378 <description>Parity error flag for next byte to be read from FIFO.</description> 379 <bitOffset>8</bitOffset> 380 <bitWidth>1</bitWidth> 381 </field> 382 </fields> 383 </register> 384 <register> 385 <name>DMA</name> 386 <description>DMA Configuration.</description> 387 <addressOffset>0x30</addressOffset> 388 <size>32</size> 389 <fields> 390 <field> 391 <name>TXDMA_LEVEL</name> 392 <description>TX threshold for DMA transmission.</description> 393 <bitOffset>0</bitOffset> 394 <bitWidth>4</bitWidth> 395 </field> 396 <field> 397 <name>TXDMA_EN</name> 398 <description>TX DMA channel enable.</description> 399 <bitOffset>4</bitOffset> 400 <bitWidth>1</bitWidth> 401 <enumeratedValues> 402 <enumeratedValue> 403 <name>dis</name> 404 <description>DMA is disabled </description> 405 <value>0</value> 406 </enumeratedValue> 407 <enumeratedValue> 408 <name>en</name> 409 <description>DMA is enabled </description> 410 <value>1</value> 411 </enumeratedValue> 412 </enumeratedValues> 413 </field> 414 <field> 415 <name>RXDMA_LEVEL</name> 416 <description>RX threshold for DMA transmission.</description> 417 <bitOffset>5</bitOffset> 418 <bitWidth>4</bitWidth> 419 </field> 420 <field> 421 <name>RXDMA_EN</name> 422 <description>RX DMA channel enable.</description> 423 <bitOffset>9</bitOffset> 424 <bitWidth>1</bitWidth> 425 <enumeratedValues> 426 <enumeratedValue> 427 <name>dis</name> 428 <description>DMA is disabled </description> 429 <value>0</value> 430 </enumeratedValue> 431 <enumeratedValue> 432 <name>en</name> 433 <description>DMA is enabled </description> 434 <value>1</value> 435 </enumeratedValue> 436 </enumeratedValues> 437 </field> 438 </fields> 439 </register> 440 </registers> 441 </peripheral> 442 <!-- UART: UART --> 443</device> 444