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>SPIMSS</name>
5    <description>Serial Peripheral Interface.</description>
6    <prependToName>SPIMSS</prependToName>
7    <baseAddress>0x40019000</baseAddress>
8    <addressBlock>
9      <offset>0x00</offset>
10      <size>0x1000</size>
11      <usage>registers</usage>
12    </addressBlock>
13    <registers>
14      <register>
15        <name>DATA</name>
16        <description>SPI 16-bit Data Access</description>
17        <addressOffset>0x00</addressOffset>
18        <size>16</size>
19        <access>read-write</access>
20        <fields>
21          <field>
22            <name>DATA</name>
23            <description>SPI data.</description>
24            <bitOffset>0</bitOffset>
25            <bitWidth>16</bitWidth>
26          </field>
27        </fields>
28      </register>
29      <register>
30        <name>CTRL</name>
31        <description>SPI Control Register.</description>
32        <addressOffset>0x04</addressOffset>
33        <fields>
34          <field>
35            <name>ENABLE</name>
36            <description>SPI Enable.</description>
37            <bitOffset>0</bitOffset>
38            <bitWidth>1</bitWidth>
39            <enumeratedValues>
40              <name>dis_en_enum</name>
41              <enumeratedValue>
42                <name>disable</name>
43                <value>0</value>
44              </enumeratedValue>
45              <enumeratedValue>
46                <name>enable</name>
47                <value>1</value>
48              </enumeratedValue>
49            </enumeratedValues>
50          </field>
51          <field>
52            <name>MMEN</name>
53            <description>SPI Master Mode Enable.</description>
54            <bitOffset>1</bitOffset>
55            <bitWidth>1</bitWidth>
56            <enumeratedValues>
57              <name>slv_mst_enum</name>
58              <enumeratedValue>
59                <name>slave</name>
60                <value>0</value>
61              </enumeratedValue>
62              <enumeratedValue>
63                <name>master</name>
64                <value>1</value>
65              </enumeratedValue>
66            </enumeratedValues>
67          </field>
68          <field>
69            <name>WOR</name>
70            <description>Wired OR (open drain) Enable.</description>
71            <bitOffset>2</bitOffset>
72            <bitWidth>1</bitWidth>
73            <enumeratedValues>
74              <name>dis_en_enum</name>
75              <enumeratedValue>
76                <name>disable</name>
77                <value>0</value>
78              </enumeratedValue>
79              <enumeratedValue>
80                <name>enable</name>
81                <value>1</value>
82              </enumeratedValue>
83            </enumeratedValues>
84          </field>
85          <field>
86            <name>CLKPOL</name>
87            <description>Clock Polarity.</description>
88            <bitOffset>3</bitOffset>
89            <bitWidth>1</bitWidth>
90            <enumeratedValues>
91              <name>spi_pol_enum</name>
92              <enumeratedValue>
93                <name>idleLo</name>
94                <description>SCLK idles Low (0) after character transmission/reception.</description>
95                <value>0</value>
96              </enumeratedValue>
97              <enumeratedValue>
98                <name>idleHi</name>
99                <description>SCLK idles High (1) after character transmission/reception.</description>
100                <value>1</value>
101              </enumeratedValue>
102            </enumeratedValues>
103          </field>
104          <field>
105            <name>PHASE</name>
106            <description>Phase Select.</description>
107            <bitOffset>4</bitOffset>
108            <bitWidth>1</bitWidth>
109            <enumeratedValues>
110              <name>spi_phase_enum</name>
111              <enumeratedValue>
112                <name>activeEdge</name>
113                <description>Transmit on active edge of SCLK.</description>
114                <value>0</value>
115              </enumeratedValue>
116              <enumeratedValue>
117                <name>inactiveEdge</name>
118                <description>Transmit on inactive edge of SCLK.</description>
119                <value>1</value>
120              </enumeratedValue>
121            </enumeratedValues>
122          </field>
123          <field>
124            <name>BIRQ</name>
125            <description>Baud Rate Generator Timer Interrupt Request.</description>
126            <bitOffset>5</bitOffset>
127            <bitWidth>1</bitWidth>
128            <enumeratedValues>
129              <name>dis_en_enum</name>
130              <enumeratedValue>
131                <name>disable</name>
132                <value>0</value>
133              </enumeratedValue>
134              <enumeratedValue>
135                <name>enable</name>
136                <value>1</value>
137              </enumeratedValue>
138            </enumeratedValues>
139          </field>
140          <field>
141            <name>STR</name>
142            <description>Start SPI Interrupt.</description>
143            <bitOffset>6</bitOffset>
144            <bitWidth>1</bitWidth>
145            <enumeratedValues>
146              <name>start_op_enum</name>
147              <enumeratedValue>
148                <name>complete</name>
149                <description>No operation/complete.</description>
150                <value>0</value>
151              </enumeratedValue>
152              <enumeratedValue>
153                <name>start</name>
154                <description>Start operation.</description>
155                <value>1</value>
156              </enumeratedValue>
157            </enumeratedValues>
158          </field>
159          <field>
160            <name>IRQE</name>
161            <description>Interrupt Request Enable.</description>
162            <bitOffset>7</bitOffset>
163            <bitWidth>1</bitWidth>
164            <enumeratedValues>
165              <name>dis_en_enum</name>
166              <enumeratedValue>
167                <name>disable</name>
168                <value>0</value>
169              </enumeratedValue>
170              <enumeratedValue>
171                <name>enable</name>
172                <value>1</value>
173              </enumeratedValue>
174            </enumeratedValues>
175          </field>
176        </fields>
177      </register>
178      <register>
179        <name>INT_FL</name>
180        <description>SPI Interrupt Flag Register.</description>
181        <addressOffset>0x08</addressOffset>
182        <resetValue>0x00000001</resetValue>
183        <fields>
184          <field>
185            <name>SLAS</name>
186            <description>Slave Select. If the SPI is in slave mode, this bit indicates if the SPI is selected. If the SPI is in master mode this bit has no meaning.</description>
187            <bitOffset>0</bitOffset>
188            <bitWidth>1</bitWidth>
189            <access>read-only</access>
190            <enumeratedValues>
191              <name>sel_enum</name>
192              <enumeratedValue>
193                <name>selected</name>
194                <value>0</value>
195              </enumeratedValue>
196              <enumeratedValue>
197                <name>notSelected</name>
198                <value>1</value>
199              </enumeratedValue>
200            </enumeratedValues>
201          </field>
202          <field>
203            <name>TXST</name>
204            <description>Transmit Status.</description>
205            <bitOffset>1</bitOffset>
206            <bitWidth>1</bitWidth>
207            <access>read-only</access>
208            <enumeratedValues>
209              <name>busy_enum</name>
210              <enumeratedValue>
211                <name>idle</name>
212                <value>0</value>
213              </enumeratedValue>
214              <enumeratedValue>
215                <name>busy</name>
216                <value>1</value>
217              </enumeratedValue>
218            </enumeratedValues>
219          </field>
220          <field>
221            <name>TUND</name>
222            <description>Transmit Underrun.</description>
223            <bitOffset>2</bitOffset>
224            <bitWidth>1</bitWidth>
225            <modifiedWriteValues>oneToClear</modifiedWriteValues>
226            <enumeratedValues>
227              <name>event_flag_enum</name>
228              <enumeratedValue>
229                <name>noEvent</name>
230                <description>The event has not occurred.</description>
231                <value>0</value>
232              </enumeratedValue>
233              <enumeratedValue>
234                <name>occurred</name>
235                <description>The event has occurred.</description>
236                <value>1</value>
237              </enumeratedValue>
238            </enumeratedValues>
239          </field>
240          <field>
241            <name>ROVR</name>
242            <description>Receive Overrun.</description>
243            <bitOffset>3</bitOffset>
244            <bitWidth>1</bitWidth>
245            <enumeratedValues>
246              <name>event_flag_enum</name>
247              <enumeratedValue>
248                <name>noEvent</name>
249                <description>The event has not occurred.</description>
250                <value>0</value>
251              </enumeratedValue>
252              <enumeratedValue>
253                <name>occurred</name>
254                <description>The event has occurred.</description>
255                <value>1</value>
256              </enumeratedValue>
257            </enumeratedValues>
258          </field>
259          <field>
260            <name>ABT</name>
261            <description>Slave Mode Transaction Abort.</description>
262            <bitOffset>4</bitOffset>
263            <bitWidth>1</bitWidth>
264            <enumeratedValues>
265              <name>event_flag_enum</name>
266              <enumeratedValue>
267                <name>noEvent</name>
268                <description>The event has not occurred.</description>
269                <value>0</value>
270              </enumeratedValue>
271              <enumeratedValue>
272                <name>occurred</name>
273                <description>The event has occurred.</description>
274                <value>1</value>
275              </enumeratedValue>
276            </enumeratedValues>
277          </field>
278          <field>
279            <name>COL</name>
280            <description>Collision.</description>
281            <bitOffset>5</bitOffset>
282            <bitWidth>1</bitWidth>
283            <enumeratedValues>
284              <name>event_flag_enum</name>
285              <enumeratedValue>
286                <name>noEvent</name>
287                <description>The event has not occurred.</description>
288                <value>0</value>
289              </enumeratedValue>
290              <enumeratedValue>
291                <name>occurred</name>
292                <description>The event has occurred.</description>
293                <value>1</value>
294              </enumeratedValue>
295            </enumeratedValues>
296          </field>
297          <field>
298            <name>TOVR</name>
299            <description>Transmit Overrun.</description>
300            <bitOffset>6</bitOffset>
301            <bitWidth>1</bitWidth>
302            <enumeratedValues>
303              <name>event_flag_enum</name>
304              <enumeratedValue>
305                <name>noEvent</name>
306                <description>The event has not occurred.</description>
307                <value>0</value>
308              </enumeratedValue>
309              <enumeratedValue>
310                <name>occurred</name>
311                <description>The event has occurred.</description>
312                <value>1</value>
313              </enumeratedValue>
314            </enumeratedValues>
315          </field>
316          <field>
317            <name>IRQ</name>
318            <description>SPI Interrupt Request.</description>
319            <bitOffset>7</bitOffset>
320            <bitWidth>1</bitWidth>
321            <modifiedWriteValues>oneToClear</modifiedWriteValues>
322            <enumeratedValues>
323              <name>flag_enum</name>
324              <enumeratedValue>
325                <name>inactive</name>
326                <description>No interrupt is pending.</description>
327                <value>0</value>
328              </enumeratedValue>
329              <enumeratedValue>
330                <name>pending</name>
331                <description>An interrupt is pending.</description>
332                <value>1</value>
333              </enumeratedValue>
334            </enumeratedValues>
335          </field>
336        </fields>
337      </register>
338      <register>
339        <name>MODE</name>
340        <description>SPI Mode Register.</description>
341        <addressOffset>0x0C</addressOffset>
342        <fields>
343          <field>
344            <name>SSV</name>
345            <description>Slave Select Value.</description>
346            <bitOffset>0</bitOffset>
347            <bitWidth>1</bitWidth>
348            <enumeratedValues>
349              <name>lo_hi_enum</name>
350              <enumeratedValue>
351                <name>lo</name>
352                <description>The SSEL pin will be driven low.</description>
353                <value>0</value>
354              </enumeratedValue>
355              <enumeratedValue>
356                <name>hi</name>
357                <description>The SSEL pin will be driven high.</description>
358                <value>1</value>
359              </enumeratedValue>
360            </enumeratedValues>
361          </field>
362          <field>
363            <name>SS_IO</name>
364            <description>Slave Select I/O.</description>
365            <bitOffset>1</bitOffset>
366            <bitWidth>1</bitWidth>
367            <enumeratedValues>
368              <name>input_output_enum</name>
369              <enumeratedValue>
370                <name>input</name>
371                <value>0</value>
372              </enumeratedValue>
373              <enumeratedValue>
374                <name>output</name>
375                <value>1</value>
376              </enumeratedValue>
377            </enumeratedValues>
378          </field>
379          <field>
380            <name>NUMBITS</name>
381            <bitOffset>2</bitOffset>
382            <bitWidth>4</bitWidth>
383            <enumeratedValues>
384              <name>spi_bits_enum</name>
385              <enumeratedValue>
386                <name>bits16</name>
387                <value>0</value>
388              </enumeratedValue>
389              <enumeratedValue>
390                <name>bits1</name>
391                <value>1</value>
392              </enumeratedValue>
393              <enumeratedValue>
394                <name>bits2</name>
395                <value>2</value>
396              </enumeratedValue>
397              <enumeratedValue>
398                <name>bits3</name>
399                <value>3</value>
400              </enumeratedValue>
401              <enumeratedValue>
402                <name>bits4</name>
403                <value>4</value>
404              </enumeratedValue>
405              <enumeratedValue>
406                <name>bits5</name>
407                <value>5</value>
408              </enumeratedValue>
409              <enumeratedValue>
410                <name>bits6</name>
411                <value>6</value>
412              </enumeratedValue>
413              <enumeratedValue>
414                <name>bits7</name>
415                <value>7</value>
416              </enumeratedValue>
417              <enumeratedValue>
418                <name>bits8</name>
419                <value>8</value>
420              </enumeratedValue>
421              <enumeratedValue>
422                <name>bits9</name>
423                <value>9</value>
424              </enumeratedValue>
425              <enumeratedValue>
426                <name>bits10</name>
427                <value>10</value>
428              </enumeratedValue>
429              <enumeratedValue>
430                <name>bits11</name>
431                <value>11</value>
432              </enumeratedValue>
433              <enumeratedValue>
434                <name>bits12</name>
435                <value>12</value>
436              </enumeratedValue>
437              <enumeratedValue>
438                <name>bits13</name>
439                <value>13</value>
440              </enumeratedValue>
441              <enumeratedValue>
442                <name>bits14</name>
443                <value>14</value>
444              </enumeratedValue>
445              <enumeratedValue>
446                <name>bits15</name>
447                <value>15</value>
448              </enumeratedValue>
449            </enumeratedValues>
450          </field>
451          <field>
452            <name>TX_LJ</name>
453            <description>Transmit Left Justify.</description>
454            <bitOffset>7</bitOffset>
455            <bitWidth>1</bitWidth>
456            <enumeratedValues>
457              <name>dis_en_enum</name>
458              <enumeratedValue>
459                <name>disable</name>
460                <value>0</value>
461              </enumeratedValue>
462              <enumeratedValue>
463                <name>enable</name>
464                <value>1</value>
465              </enumeratedValue>
466            </enumeratedValues>
467          </field>
468        </fields>
469      </register>
470      <register>
471        <name>BRG</name>
472        <description>Baud Rate Reload Value. The SPI Baud Rate register is a 16-bit reload value for the SPI Baud Rate Generator. The reload value must be greater than or equal to 0002H for proper SPI operation (maximum baud rate is PCLK frequency divided by 4).</description>
473        <addressOffset>0x14</addressOffset>
474        <resetValue>0x0000FFFF</resetValue>
475        <fields>
476          <field>
477            <name>DIV</name>
478            <description>Baud Rate Reload Value.</description>
479            <bitOffset>0</bitOffset>
480            <bitWidth>16</bitWidth>
481          </field>
482        </fields>
483      </register>
484      <register>
485        <name>DMA</name>
486        <description>SPI DMA Register.</description>
487        <addressOffset>0x18</addressOffset>
488        <resetValue>0x00070007</resetValue>
489        <fields>
490          <field>
491            <name>TX_FIFO_LVL</name>
492            <description>Transmit FIFO Level. Set the number of free entries in the TxFIFO when a TxDMA request occurs.</description>
493            <bitOffset>0</bitOffset>
494            <bitWidth>3</bitWidth>
495            <enumeratedValues>
496              <name>fifo_level_enum</name>
497              <enumeratedValue>
498                <name>entry1</name>
499                <value>0</value>
500              </enumeratedValue>
501              <enumeratedValue>
502                <name>entries2</name>
503                <value>1</value>
504              </enumeratedValue>
505              <enumeratedValue>
506                <name>entries3</name>
507                <value>2</value>
508              </enumeratedValue>
509              <enumeratedValue>
510                <name>entries4</name>
511                <value>3</value>
512              </enumeratedValue>
513              <enumeratedValue>
514                <name>entries5</name>
515                <value>4</value>
516              </enumeratedValue>
517              <enumeratedValue>
518                <name>entries6</name>
519                <value>5</value>
520              </enumeratedValue>
521              <enumeratedValue>
522                <name>entries7</name>
523                <value>6</value>
524              </enumeratedValue>
525              <enumeratedValue>
526                <name>entries8</name>
527                <value>7</value>
528              </enumeratedValue>
529            </enumeratedValues>
530          </field>
531          <field>
532            <name>TX_FIFO_CLR</name>
533            <description>Transmit FIFO Clear.</description>
534            <bitOffset>4</bitOffset>
535            <bitWidth>1</bitWidth>
536            <access>write-only</access>
537            <enumeratedValues>
538              <name>start_op_enum</name>
539              <enumeratedValue>
540                <name>complete</name>
541                <description>No operation/complete.</description>
542                <value>0</value>
543              </enumeratedValue>
544              <enumeratedValue>
545                <name>start</name>
546                <description>Start operation.</description>
547                <value>1</value>
548              </enumeratedValue>
549            </enumeratedValues>
550          </field>
551          <field>
552            <name>TX_FIFO_CNT</name>
553            <description>Transmit FIFO Count.</description>
554            <bitOffset>8</bitOffset>
555            <bitWidth>4</bitWidth>
556            <access>read-only</access>
557          </field>
558          <field>
559            <name>TX_DMA_EN</name>
560            <description>Transmit DMA Enable.</description>
561            <bitOffset>15</bitOffset>
562            <bitWidth>1</bitWidth>
563            <enumeratedValues>
564              <name>dis_en_enum</name>
565              <enumeratedValue>
566                <name>disable</name>
567                <value>0</value>
568              </enumeratedValue>
569              <enumeratedValue>
570                <name>enable</name>
571                <value>1</value>
572              </enumeratedValue>
573            </enumeratedValues>
574          </field>
575          <field>
576            <name>RX_FIFO_LVL</name>
577            <description>Receive FIFO Level. Sets the RX FIFO DMA request threshold. This configures the number of filled RxFIFO entries before activating an RxDMA request.</description>
578            <bitOffset>16</bitOffset>
579            <bitWidth>3</bitWidth>
580            <enumeratedValues>
581              <name>fifo_level_enum</name>
582              <enumeratedValue>
583                <name>entry1</name>
584                <value>0</value>
585              </enumeratedValue>
586              <enumeratedValue>
587                <name>entries2</name>
588                <value>1</value>
589              </enumeratedValue>
590              <enumeratedValue>
591                <name>entries3</name>
592                <value>2</value>
593              </enumeratedValue>
594              <enumeratedValue>
595                <name>entries4</name>
596                <value>3</value>
597              </enumeratedValue>
598              <enumeratedValue>
599                <name>entries5</name>
600                <value>4</value>
601              </enumeratedValue>
602              <enumeratedValue>
603                <name>entries6</name>
604                <value>5</value>
605              </enumeratedValue>
606              <enumeratedValue>
607                <name>entries7</name>
608                <value>6</value>
609              </enumeratedValue>
610              <enumeratedValue>
611                <name>entries8</name>
612                <value>7</value>
613              </enumeratedValue>
614            </enumeratedValues>
615          </field>
616          <field>
617            <name>RX_FIFO_CLR</name>
618            <description>Receive FIFO Clear.</description>
619            <bitOffset>20</bitOffset>
620            <bitWidth>1</bitWidth>
621            <enumeratedValues>
622              <name>start_op_enum</name>
623              <enumeratedValue>
624                <name>complete</name>
625                <description>No operation/complete.</description>
626                <value>0</value>
627              </enumeratedValue>
628              <enumeratedValue>
629                <name>start</name>
630                <description>Start operation.</description>
631                <value>1</value>
632              </enumeratedValue>
633            </enumeratedValues>
634          </field>
635          <field>
636            <name>RX_FIFO_CNT</name>
637            <description>Receive FIFO Count.</description>
638            <bitOffset>24</bitOffset>
639            <bitWidth>4</bitWidth>
640            <access>read-only</access>
641          </field>
642          <field>
643            <name>RX_DMA_EN</name>
644            <description>Receive DMA Enable.</description>
645            <bitOffset>31</bitOffset>
646            <bitWidth>1</bitWidth>
647            <enumeratedValues>
648              <name>dis_en_enum</name>
649              <enumeratedValue>
650                <name>disable</name>
651                <value>0</value>
652              </enumeratedValue>
653              <enumeratedValue>
654                <name>enable</name>
655                <value>1</value>
656              </enumeratedValue>
657            </enumeratedValues>
658          </field>
659        </fields>
660      </register>
661      <register>
662        <name>I2S_CTRL</name>
663        <description>I2S Control Register.</description>
664        <addressOffset>0x1C</addressOffset>
665        <fields>
666          <field>
667            <name>I2S_EN</name>
668            <description>I2S Mode Enable.</description>
669            <bitOffset>0</bitOffset>
670            <bitWidth>1</bitWidth>
671            <enumeratedValues>
672              <name>dis_en_enum</name>
673              <enumeratedValue>
674                <name>disable</name>
675                <value>0</value>
676              </enumeratedValue>
677              <enumeratedValue>
678                <name>enable</name>
679                <value>1</value>
680              </enumeratedValue>
681            </enumeratedValues>
682          </field>
683          <field>
684            <name>I2S_MUTE</name>
685            <description>I2S Mute transmit.</description>
686            <bitOffset>1</bitOffset>
687            <bitWidth>1</bitWidth>
688            <enumeratedValues>
689              <enumeratedValue>
690                <name>normal</name>
691                <description>Normal Transmit.</description>
692                <value>0</value>
693              </enumeratedValue>
694              <enumeratedValue>
695                <name>replaced</name>
696                <description>Transmit data is replaced with 0.</description>
697                <value>1</value>
698              </enumeratedValue>
699            </enumeratedValues>
700          </field>
701          <field>
702            <name>I2S_PAUSE</name>
703            <description>I2S Pause transmit/receive.</description>
704            <bitOffset>2</bitOffset>
705            <bitWidth>1</bitWidth>
706            <enumeratedValues>
707              <enumeratedValue>
708                <name>normal</name>
709                <description>Normal Transmit.</description>
710                <value>0</value>
711              </enumeratedValue>
712              <enumeratedValue>
713                <name>halt</name>
714                <description>Halt transmit and receive FIFO and DMA access, transmit 0's.</description>
715                <value>1</value>
716              </enumeratedValue>
717            </enumeratedValues>
718          </field>
719          <field>
720            <name>I2S_MONO</name>
721            <description>I2S Monophonic Audio Mode.</description>
722            <bitOffset>3</bitOffset>
723            <bitWidth>1</bitWidth>
724            <enumeratedValues>
725              <enumeratedValue>
726                <name>stereophonic</name>
727                <description>Stereophonic audio.</description>
728                <value>0</value>
729              </enumeratedValue>
730              <enumeratedValue>
731                <name>monophonic</name>
732                <description>Monophonic audio format.Each transmit data word is replicated on both left/right channels. Receive data is taken from left channel, right channel receive data is ignored.</description>
733                <value>1</value>
734              </enumeratedValue>
735            </enumeratedValues>
736          </field>
737          <field>
738            <name>I2S_LJ</name>
739            <description>I2S Left Justify.</description>
740            <bitOffset>4</bitOffset>
741            <bitWidth>1</bitWidth>
742            <enumeratedValues>
743              <enumeratedValue>
744                <name>normal</name>
745                <description>Normal I2S audio protocol.</description>
746                <value>0</value>
747              </enumeratedValue>
748              <enumeratedValue>
749                <name>replaced</name>
750                <description>Audio data is synchronized with SSEL.</description>
751                <value>1</value>
752              </enumeratedValue>
753            </enumeratedValues>
754          </field>
755        </fields>
756      </register>
757    </registers>
758  </peripheral>
759  <!-- SPIMSS: SPI MSS              -->
760</device>