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