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>0x40042000</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>CTRL0</name> 20 <description>Control Register.</description> 21 <addressOffset>0x00</addressOffset> 22 <size>32</size> 23 <fields> 24 <field> 25 <name>ENABLE</name> 26 <description>UART enabled, to enable UART block, it is used to drive a gated clock in order to save power consumption when UART is not used. FIFOs are flushed when UART is disabled.</description> 27 <bitOffset>0</bitOffset> 28 <bitWidth>1</bitWidth> 29 <enumeratedValues> 30 <enumeratedValue> 31 <name>dis</name> 32 <description>UART disabled. FIFOs are flushed. Clock is gated off for power savings. </description> 33 <value>0</value> 34 </enumeratedValue> 35 <enumeratedValue> 36 <name>en</name> 37 <description>UART enabled. </description> 38 <value>1</value> 39 </enumeratedValue> 40 </enumeratedValues> 41 </field> 42 <field> 43 <name>PARITY_EN</name> 44 <description>Enable/disable Parity bit (9th character).</description> 45 <bitOffset>1</bitOffset> 46 <bitWidth>1</bitWidth> 47 <enumeratedValues> 48 <enumeratedValue> 49 <name>dis</name> 50 <description>No Parity </description> 51 <value>0</value> 52 </enumeratedValue> 53 <enumeratedValue> 54 <name>en</name> 55 <description>Parity enabled as 9th bit</description> 56 <value>1</value> 57 </enumeratedValue> 58 </enumeratedValues> 59 </field> 60 <field> 61 <name>PARITY_MODE</name> 62 <description>When PARITY_EN=1, selects odd, even, Mark or Space parity. 63 Mark parity = always 1; Space parity = always 0.</description> 64 <bitOffset>2</bitOffset> 65 <bitWidth>2</bitWidth> 66 <enumeratedValues> 67 <enumeratedValue> 68 <name>Even</name> 69 <description>Even parity selected.</description> 70 <value>0</value> 71 </enumeratedValue> 72 <enumeratedValue> 73 <name>ODD</name> 74 <description>Odd parity selected.</description> 75 <value>1</value> 76 </enumeratedValue> 77 <enumeratedValue> 78 <name>MARK</name> 79 <description>Mark parity selected.</description> 80 <value>2</value> 81 </enumeratedValue> 82 <enumeratedValue> 83 <name>SPACE</name> 84 <description>Space parity selected.</description> 85 <value>3</value> 86 </enumeratedValue> 87 </enumeratedValues> 88 </field> 89 <field> 90 <name>PARITY_LVL</name> 91 <description>Selects parity based on 1s or 0s count (when PARITY_EN=1).</description> 92 <bitOffset>4</bitOffset> 93 <bitWidth>1</bitWidth> 94 <enumeratedValues> 95 <enumeratedValue> 96 <name>1</name> 97 <description>Parity calculation is based on number of 1s in frame.</description> 98 <value>0</value> 99 </enumeratedValue> 100 <enumeratedValue> 101 <name>0</name> 102 <description>Parity calculation is based on number of 0s in frame.</description> 103 <value>1</value> 104 </enumeratedValue> 105 </enumeratedValues> 106 </field> 107 <field> 108 <name>TXFLUSH</name> 109 <description>Flushes the TX FIFO buffer.</description> 110 <bitOffset>5</bitOffset> 111 <bitWidth>1</bitWidth> 112 </field> 113 <field> 114 <name>RXFLUSH</name> 115 <description>Flushes the RX FIFO buffer.</description> 116 <bitOffset>6</bitOffset> 117 <bitWidth>1</bitWidth> 118 </field> 119 <field> 120 <name>BITACC</name> 121 <description>If set, bit accuracy is selected, in this case the bit duration is the same for all the bits with the optimal accuracy. But the frame duration can have a significant deviation from the expected baudrate.If clear, frame accuracy is selected, therefore bits can have different duration in order to guarantee the minimum frame deviation.</description> 122 <bitOffset>7</bitOffset> 123 <bitWidth>1</bitWidth> 124 <enumeratedValues> 125 <enumeratedValue> 126 <name>FRAME</name> 127 <description>Frame accuracy.</description> 128 <value>0</value> 129 </enumeratedValue> 130 <enumeratedValue> 131 <name>BIT</name> 132 <description>Bit accuracy.</description> 133 <value>1</value> 134 </enumeratedValue> 135 </enumeratedValues> 136 </field> 137 <field> 138 <name>SIZE</name> 139 <description>Selects UART character size.</description> 140 <bitOffset>8</bitOffset> 141 <bitWidth>2</bitWidth> 142 <enumeratedValues> 143 <enumeratedValue> 144 <name>5</name> 145 <description>5 bits.</description> 146 <value>0</value> 147 </enumeratedValue> 148 <enumeratedValue> 149 <name>6</name> 150 <description>6 bits.</description> 151 <value>1</value> 152 </enumeratedValue> 153 <enumeratedValue> 154 <name>7</name> 155 <description>7 bits.</description> 156 <value>2</value> 157 </enumeratedValue> 158 <enumeratedValue> 159 <name>8</name> 160 <description>8 bits.</description> 161 <value>3</value> 162 </enumeratedValue> 163 </enumeratedValues> 164 </field> 165 <field> 166 <name>STOP</name> 167 <description>Selects the number of stop bits that will be generated.</description> 168 <bitOffset>10</bitOffset> 169 <bitWidth>1</bitWidth> 170 <enumeratedValues> 171 <enumeratedValue> 172 <name>1</name> 173 <description>1 stop bit.</description> 174 <value>0</value> 175 </enumeratedValue> 176 <enumeratedValue> 177 <name>1_5</name> 178 <description>1.5 stop bits.</description> 179 <value>1</value> 180 </enumeratedValue> 181 </enumeratedValues> 182 </field> 183 <field> 184 <name>FLOW</name> 185 <description>Enables/disables hardware flow control.</description> 186 <bitOffset>11</bitOffset> 187 <bitWidth>1</bitWidth> 188 <enumeratedValues> 189 <enumeratedValue> 190 <name>en</name> 191 <description>HW Flow Control with RTS/CTS enabled</description> 192 <value>1</value> 193 </enumeratedValue> 194 <enumeratedValue> 195 <name>dis</name> 196 <description>HW Flow Control disabled</description> 197 <value>0</value> 198 </enumeratedValue> 199 </enumeratedValues> 200 </field> 201 <field> 202 <name>FLOWPOL</name> 203 <description>RTS/CTS polarity.</description> 204 <bitOffset>12</bitOffset> 205 <bitWidth>1</bitWidth> 206 <enumeratedValues> 207 <enumeratedValue> 208 <name>0</name> 209 <description>RTS/CTS asserted is logic 0.</description> 210 <value>0</value> 211 </enumeratedValue> 212 <enumeratedValue> 213 <name>1</name> 214 <description>RTS/CTS asserted is logic 1.</description> 215 <value>1</value> 216 </enumeratedValue> 217 </enumeratedValues> 218 </field> 219 <field> 220 <name>NULLMOD</name> 221 <description>NULL Modem Support (RTS/CTS and TXD/RXD swap).</description> 222 <bitOffset>13</bitOffset> 223 <bitWidth>1</bitWidth> 224 <enumeratedValues> 225 <enumeratedValue> 226 <name>DIS</name> 227 <description>Direct convention.</description> 228 <value>0</value> 229 </enumeratedValue> 230 <enumeratedValue> 231 <name>EN</name> 232 <description>Null Modem Mode.</description> 233 <value>1</value> 234 </enumeratedValue> 235 </enumeratedValues> 236 </field> 237 <field> 238 <name>BREAK</name> 239 <description>Break control bit. It causes a break condition to be transmitted to receiving UART.</description> 240 <bitOffset>14</bitOffset> 241 <bitWidth>1</bitWidth> 242 <enumeratedValues> 243 <enumeratedValue> 244 <name>DIS</name> 245 <description>Break characters are not generated.</description> 246 <value>0</value> 247 </enumeratedValue> 248 <enumeratedValue> 249 <name>EN</name> 250 <description>Break characters are sent(all the bits are at '0' including start/parity/stop).</description> 251 <value>1</value> 252 </enumeratedValue> 253 </enumeratedValues> 254 </field> 255 <field> 256 <name>CLK_SEL</name> 257 <description>Baud Rate Clock Source Select. Selects the baud rate clock.</description> 258 <bitOffset>15</bitOffset> 259 <bitWidth>1</bitWidth> 260 <enumeratedValues> 261 <enumeratedValue> 262 <name>SYSTEM</name> 263 <description>System clock.</description> 264 <value>0</value> 265 </enumeratedValue> 266 <enumeratedValue> 267 <name>ALTERNATE</name> 268 <description>Alternate 7.3727MHz internal clock. Useful in low power modes when the system clock is slow.</description> 269 <value>1</value> 270 </enumeratedValue> 271 </enumeratedValues> 272 </field> 273 <field> 274 <name>TO_CNT</name> 275 <description>RX Time Out. RX time out interrupt will occur after RXTO Uart 276 characters if RX-FIFO is not empty and RX FIFO has not been read.</description> 277 <bitOffset>16</bitOffset> 278 <bitWidth>8</bitWidth> 279 </field> 280 </fields> 281 </register> 282 <register> 283 <name>CTRL1</name> 284 <description>Threshold Control register.</description> 285 <addressOffset>0x04</addressOffset> 286 <size>32</size> 287 <fields> 288 <field> 289 <name>RX_FIFO_LVL</name> 290 <description>RX FIFO Threshold Level.When the RX FIFO reaches this many bytes or higher, UARTn_INFTL.rx_fifo_level is set.</description> 291 <bitOffset>0</bitOffset> 292 <bitWidth>6</bitWidth> 293 </field> 294 <field> 295 <name>TX_FIFO_LVL</name> 296 <description>TX FIFO Threshold Level. When the TX FIFO reaches this many bytes or higher, UARTn_INTFL.tx_fifo_level is set.</description> 297 <bitOffset>8</bitOffset> 298 <bitWidth>6</bitWidth> 299 </field> 300 <field> 301 <name>RTS_FIFO_LVL</name> 302 <description>RTS threshold control. When the RX FIFO reaches this many bytes or higher, the RTS output signal is deasserted, informing the transmitting UART to stop sending data to this UART.</description> 303 <bitOffset>16</bitOffset> 304 <bitWidth>6</bitWidth> 305 </field> 306 </fields> 307 </register> 308 <register> 309 <name>STAT</name> 310 <description>Status Register.</description> 311 <addressOffset>0x08</addressOffset> 312 <size>32</size> 313 <access>read-only</access> 314 <fields> 315 <field> 316 <name>TX_BUSY</name> 317 <description>Read-only flag indicating the UART transmit status.</description> 318 <bitOffset>0</bitOffset> 319 <bitWidth>1</bitWidth> 320 <access>read-only</access> 321 </field> 322 <field> 323 <name>RX_BUSY</name> 324 <description>Read-only flag indicating the UARTreceiver status.</description> 325 <bitOffset>1</bitOffset> 326 <bitWidth>1</bitWidth> 327 <access>read-only</access> 328 </field> 329 <field> 330 <name>PARITY</name> 331 <description>9th Received bit state. This bit identifies the state of the 9th bit of received data. Only available for UART_CTRL.SIZE[1:0]=3.</description> 332 <bitOffset>2</bitOffset> 333 <bitWidth>1</bitWidth> 334 <access>read-only</access> 335 </field> 336 <field> 337 <name>BREAK</name> 338 <description>Received BREAK status. BREAKS is cleared when UART_STAT register is read. Received data input is held in spacing (logic 0) state for longer than a full word transmission time (that is, the total time of Start bit + data bits + Parity + Stop bits).</description> 339 <bitOffset>3</bitOffset> 340 <bitWidth>1</bitWidth> 341 <access>read-only</access> 342 </field> 343 <field> 344 <name>RX_EMPTY</name> 345 <description>Read-only flag indicating the RX FIFO state.</description> 346 <bitOffset>4</bitOffset> 347 <bitWidth>1</bitWidth> 348 <access>read-only</access> 349 </field> 350 <field> 351 <name>RX_FULL</name> 352 <description>Read-only flag indicating the RX FIFO state.</description> 353 <bitOffset>5</bitOffset> 354 <bitWidth>1</bitWidth> 355 <access>read-only</access> 356 </field> 357 <field> 358 <name>TX_EMPTY</name> 359 <description>Read-only flag indicating the TX FIFO state.</description> 360 <bitOffset>6</bitOffset> 361 <bitWidth>1</bitWidth> 362 <access>read-only</access> 363 </field> 364 <field> 365 <name>TX_FULL</name> 366 <description>Read-only flag indicating the TX FIFO state.</description> 367 <bitOffset>7</bitOffset> 368 <bitWidth>1</bitWidth> 369 <access>read-only</access> 370 </field> 371 <field> 372 <name>RX_NUM</name> 373 <description>Indicates the number of bytes currently in the RX FIFO.</description> 374 <bitOffset>8</bitOffset> 375 <bitWidth>6</bitWidth> 376 <access>read-only</access> 377 </field> 378 <field> 379 <name>TX_NUM</name> 380 <description>Indicates the number of bytes currently in the TX FIFO.</description> 381 <bitOffset>16</bitOffset> 382 <bitWidth>6</bitWidth> 383 <access>read-only</access> 384 </field> 385 <field> 386 <name>RX_TO</name> 387 <description>RX Timeout status.</description> 388 <bitOffset>24</bitOffset> 389 <bitWidth>1</bitWidth> 390 <access>read-only</access> 391 </field> 392 </fields> 393 </register> 394 <register> 395 <name>INT_EN</name> 396 <description>Interrupt Enable Register.</description> 397 <addressOffset>0x0C</addressOffset> 398 <size>32</size> 399 <fields> 400 <field> 401 <name>RX_FRAME_ERROR</name> 402 <description>Enable for RX Frame Error Interrupt.</description> 403 <bitOffset>0</bitOffset> 404 <bitWidth>1</bitWidth> 405 </field> 406 <field> 407 <name>RX_PARITY_ERROR</name> 408 <description>Enable for RX Parity Error interrupt.</description> 409 <bitOffset>1</bitOffset> 410 <bitWidth>1</bitWidth> 411 </field> 412 <field> 413 <name>CTS</name> 414 <description>Enable for CTS signal change interrupt.</description> 415 <bitOffset>2</bitOffset> 416 <bitWidth>1</bitWidth> 417 </field> 418 <field> 419 <name>RX_OVERRUN</name> 420 <description>Enable for RX FIFO OVerrun interrupt.</description> 421 <bitOffset>3</bitOffset> 422 <bitWidth>1</bitWidth> 423 </field> 424 <field> 425 <name>RX_FIFO_LVL</name> 426 <description>Enable for interrupt when RX FIFO reaches the number of bytes configured by the RXTHD field.</description> 427 <bitOffset>4</bitOffset> 428 <bitWidth>1</bitWidth> 429 </field> 430 <field> 431 <name>TX_FIFO_AE</name> 432 <description>Enable for interrupt when TX FIFO has only one byte remaining.</description> 433 <bitOffset>5</bitOffset> 434 <bitWidth>1</bitWidth> 435 </field> 436 <field> 437 <name>TX_FIFO_LVL</name> 438 <description>Enable for interrupt when TX FIFO reaches the number of bytes configured by the TXTHD field.</description> 439 <bitOffset>6</bitOffset> 440 <bitWidth>1</bitWidth> 441 </field> 442 <field> 443 <name>BREAK</name> 444 <description>Enable for received BREAK character interrupt.</description> 445 <bitOffset>7</bitOffset> 446 <bitWidth>1</bitWidth> 447 </field> 448 <field> 449 <name>RX_TO</name> 450 <description>Enable for RX Timeout Interrupt. Trigger if there is no RX communication during n UART characters (n=UART_CN.RXTO).</description> 451 <bitOffset>8</bitOffset> 452 <bitWidth>1</bitWidth> 453 </field> 454 <field> 455 <name>LAST_BREAK</name> 456 <description>Enable for Last break character interrupt.</description> 457 <bitOffset>9</bitOffset> 458 <bitWidth>1</bitWidth> 459 </field> 460 </fields> 461 </register> 462 <register> 463 <name>INT_FL</name> 464 <description>Interrupt Status Flags.</description> 465 <addressOffset>0x10</addressOffset> 466 <size>32</size> 467 <modifiedWriteValues>oneToClear</modifiedWriteValues> 468 <fields> 469 <field> 470 <name>FRAME</name> 471 <description>FLAG for RX Frame Error Interrupt.</description> 472 <bitOffset>0</bitOffset> 473 <bitWidth>1</bitWidth> 474 </field> 475 <field> 476 <name>PARITY</name> 477 <description>FLAG for RX Parity Error interrupt.</description> 478 <bitOffset>1</bitOffset> 479 <bitWidth>1</bitWidth> 480 </field> 481 <field> 482 <name>CTS</name> 483 <description>FLAG for CTS signal change interrupt.</description> 484 <bitOffset>2</bitOffset> 485 <bitWidth>1</bitWidth> 486 </field> 487 <field> 488 <name>RX_OVR</name> 489 <description>FLAG for RX FIFO Overrun interrupt.</description> 490 <bitOffset>3</bitOffset> 491 <bitWidth>1</bitWidth> 492 </field> 493 <field> 494 <name>RX_FIFO_LVL</name> 495 <description>FLAG for interrupt when RX FIFO reaches the number of bytes configured by the RXTHD field.</description> 496 <bitOffset>4</bitOffset> 497 <bitWidth>1</bitWidth> 498 </field> 499 <field> 500 <name>TX_FIFO_AE</name> 501 <description>FLAG for interrupt when TX FIFO has only one byte remaining.</description> 502 <bitOffset>5</bitOffset> 503 <bitWidth>1</bitWidth> 504 </field> 505 <field> 506 <name>TX_FIFO_LVL</name> 507 <description>FLAG for interrupt when TX FIFO reaches the number of bytes configured by the TXTHD field.</description> 508 <bitOffset>6</bitOffset> 509 <bitWidth>1</bitWidth> 510 </field> 511 <field> 512 <name>BREAK</name> 513 <description>FLAG for received BREAK character interrupt.</description> 514 <bitOffset>7</bitOffset> 515 <bitWidth>1</bitWidth> 516 </field> 517 <field> 518 <name>RX_TO</name> 519 <description>FLAG for RX Timeout Interrupt. Trigger if there is no RX communication during n UART characters (n=UART_CN.RXTO).</description> 520 <bitOffset>8</bitOffset> 521 <bitWidth>1</bitWidth> 522 </field> 523 <field> 524 <name>LAST_BREAK</name> 525 <description>FLAG for Last break character interrupt.</description> 526 <bitOffset>9</bitOffset> 527 <bitWidth>1</bitWidth> 528 </field> 529 </fields> 530 </register> 531 <register> 532 <name>BAUD0</name> 533 <description>Baud rate register. Integer portion.</description> 534 <addressOffset>0x14</addressOffset> 535 <size>32</size> 536 <fields> 537 <field> 538 <name>IBAUD</name> 539 <description>Integer portion of baud rate divisor value. IBAUD = InputClock / (factor * Baud Rate Frequency).</description> 540 <bitOffset>0</bitOffset> 541 <bitWidth>12</bitWidth> 542 </field> 543 <field> 544 <name>CLKDIV</name> 545 <description>FACTOR must be chosen to have IDIV>0. factor used in calculation = 128 >> FACTOR.</description> 546 <bitOffset>16</bitOffset> 547 <bitWidth>3</bitWidth> 548 <enumeratedValues> 549 <enumeratedValue> 550 <name>128</name> 551 <description>Baud Factor 128</description> 552 <value>0</value> 553 </enumeratedValue> 554 <enumeratedValue> 555 <name>64</name> 556 <description>Baud Factor 64</description> 557 <value>1</value> 558 </enumeratedValue> 559 <enumeratedValue> 560 <name>32</name> 561 <description>Baud Factor 32</description> 562 <value>2</value> 563 </enumeratedValue> 564 <enumeratedValue> 565 <name>16</name> 566 <description>Baud Factor 16</description> 567 <value>3</value> 568 </enumeratedValue> 569 <enumeratedValue> 570 <name>8</name> 571 <description>Baud Factor 8</description> 572 <value>4</value> 573 </enumeratedValue> 574 </enumeratedValues> 575 </field> 576 </fields> 577 </register> 578 <register> 579 <name>BAUD1</name> 580 <description>Baud rate register. Decimal Setting.</description> 581 <addressOffset>0x18</addressOffset> 582 <size>32</size> 583 <fields> 584 <field> 585 <name>DBAUD</name> 586 <description>Decimal portion of baud rate divisor value. DIV = InputClock/(factor*Baud Rate Frequency). DDIV=(DIV-IDIV)*128.</description> 587 <bitOffset>0</bitOffset> 588 <bitWidth>12</bitWidth> 589 </field> 590 </fields> 591 </register> 592 <register> 593 <name>FIFO</name> 594 <description>FIFO Data buffer.</description> 595 <addressOffset>0x1C</addressOffset> 596 <size>32</size> 597 <fields> 598 <field> 599 <name>FIFO</name> 600 <description>Load/unload location for TX and RX FIFO buffers.</description> 601 <bitOffset>0</bitOffset> 602 <bitWidth>8</bitWidth> 603 </field> 604 </fields> 605 </register> 606 <register> 607 <name>DMA</name> 608 <description>DMA Configuration.</description> 609 <addressOffset>0x20</addressOffset> 610 <size>32</size> 611 <fields> 612 <field> 613 <name>TXDMA_EN</name> 614 <description>TX DMA channel enable.</description> 615 <bitOffset>0</bitOffset> 616 <bitWidth>1</bitWidth> 617 <enumeratedValues> 618 <enumeratedValue> 619 <name>dis</name> 620 <description>DMA is disabled </description> 621 <value>0</value> 622 </enumeratedValue> 623 <enumeratedValue> 624 <name>en</name> 625 <description>DMA is enabled </description> 626 <value>1</value> 627 </enumeratedValue> 628 </enumeratedValues> 629 </field> 630 <field> 631 <name>RXDMA_EN</name> 632 <description>RX DMA channel enable.</description> 633 <bitOffset>1</bitOffset> 634 <bitWidth>1</bitWidth> 635 <enumeratedValues> 636 <enumeratedValue> 637 <name>dis</name> 638 <description>DMA is disabled </description> 639 <value>0</value> 640 </enumeratedValue> 641 <enumeratedValue> 642 <name>en</name> 643 <description>DMA is enabled </description> 644 <value>1</value> 645 </enumeratedValue> 646 </enumeratedValues> 647 </field> 648 <field> 649 <name>TXDMA_LVL</name> 650 <description>TX threshold for DMA transmission.</description> 651 <bitOffset>8</bitOffset> 652 <bitWidth>6</bitWidth> 653 </field> 654 <field> 655 <name>RXDMA_LVL</name> 656 <description>RX threshold for DMA transmission.</description> 657 <bitOffset>16</bitOffset> 658 <bitWidth>6</bitWidth> 659 </field> 660 </fields> 661 </register> 662 <register> 663 <name>TXFIFO</name> 664 <description>Transmit FIFO Status register.</description> 665 <addressOffset>0x24</addressOffset> 666 <size>32</size> 667 <fields> 668 <field> 669 <name>DATA</name> 670 <description>Reading from this field returns the next character available at the 671 output of the TX FIFO (if one is available, otherwise 00h is returned).</description> 672 <bitOffset>0</bitOffset> 673 <bitWidth>7</bitWidth> 674 </field> 675 </fields> 676 </register> 677 </registers> 678 </peripheral> 679 <!-- UART: UART --> 680</device>