1<?xml version="1.0" encoding="utf-8" standalone="no"?>
2<device xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="1.1" xs:noNamespaceSchemaLocation="svd_schema.xsd">
3  <peripheral>
4    <name>ADC</name>
5    <description>10-bit Analog to Digital Converter</description>
6    <!-- <groupName>ADC</groupName> -->
7    <baseAddress>0x40034000</baseAddress>
8    <size>32</size>
9    <access>read-write</access>
10    <addressBlock>
11      <offset>0</offset>
12      <size>0x1000</size>
13      <usage>registers</usage>
14    </addressBlock>
15    <interrupt>
16      <name>ADC</name>
17      <description>ADC IRQ</description>
18      <value>20</value>
19    </interrupt>
20    <registers>
21      <!-- CTRL: ADC Control -->
22      <register>
23        <name>CTRL</name>
24        <description>ADC Control</description>
25        <addressOffset>0x0000</addressOffset>
26        <access>read-write</access>
27        <fields>
28          <field>
29            <name>start</name>
30            <description>Start ADC Conversion</description>
31            <bitRange>[0:0]</bitRange>
32            <access>read-write</access>
33          </field>
34          <field>
35            <name>pwr</name>
36            <description>ADC Power Up</description>
37            <bitRange>[1:1]</bitRange>
38            <access>read-write</access>
39          </field>
40          <field>
41            <name>refbuf_pwr</name>
42            <description>ADC Reference Buffer Power Up</description>
43            <bitRange>[3:3]</bitRange>
44            <access>read-write</access>
45          </field>
46          <field>
47            <name>chgpump_pwr</name>
48            <description>ADC Charge Pump Power Up</description>
49            <bitRange>[4:4]</bitRange>
50            <access>read-write</access>
51          </field>
52          <field>
53            <name>ref_scale</name>
54            <description>ADC Reference Scale</description>
55            <bitRange>[8:8]</bitRange>
56            <access>read-write</access>
57          </field>
58          <field>
59            <name>scale</name>
60            <description>ADC Scale</description>
61            <bitRange>[9:9]</bitRange>
62            <access>read-write</access>
63          </field>
64          <field>
65            <name>ref_sel</name>
66            <description>ADC Reference Select
67</description>
68            <bitRange>[10:10]</bitRange>
69            <access>read-write</access>
70          </field>
71          <field>
72            <name>clk_en</name>
73            <description>ADC Clock Enable</description>
74            <bitRange>[11:11]</bitRange>
75            <access>read-write</access>
76          </field>
77          <field>
78            <name>ch_sel</name>
79            <description>ADC Channel Select</description>
80            <bitRange>[16:12]</bitRange>
81            <access>read-write</access>
82            <enumeratedValues>
83              <enumeratedValue>
84                <name>AIN0</name>
85                <value>0</value>
86              </enumeratedValue>
87              <enumeratedValue>
88                <name>AIN1</name>
89                <value>1</value>
90              </enumeratedValue>
91              <enumeratedValue>
92                <name>AIN2</name>
93                <value>2</value>
94              </enumeratedValue>
95              <enumeratedValue>
96                <name>AIN3</name>
97                <value>3</value>
98              </enumeratedValue>
99              <enumeratedValue>
100                <name>AIN4</name>
101                <value>4</value>
102              </enumeratedValue>
103              <enumeratedValue>
104                <name>AIN5</name>
105                <value>5</value>
106              </enumeratedValue>
107              <enumeratedValue>
108                <name>AIN6</name>
109                <value>6</value>
110              </enumeratedValue>
111              <enumeratedValue>
112                <name>AIN7</name>
113                <value>7</value>
114              </enumeratedValue>
115              <enumeratedValue>
116                <name>VcoreA</name>
117                <value>8</value>
118              </enumeratedValue>
119              <enumeratedValue>
120                <name>VcoreB</name>
121                <value>9</value>
122              </enumeratedValue>
123              <enumeratedValue>
124                <name>Vrxout</name>
125                <value>10</value>
126              </enumeratedValue>
127              <enumeratedValue>
128                <name>Vtxout</name>
129                <value>11</value>
130              </enumeratedValue>
131              <enumeratedValue>
132                <name>VddA</name>
133                <value>12</value>
134              </enumeratedValue>
135              <enumeratedValue>
136                <name>VddB</name>
137                <description>VddB/4</description>
138                <value>13</value>
139              </enumeratedValue>
140              <enumeratedValue>
141                <name>Vddio</name>
142                <description>Vddio/4</description>
143                <value>14</value>
144              </enumeratedValue>
145              <enumeratedValue>
146                <name>Vddioh</name>
147                <description>Vddioh/4</description>
148                <value>15</value>
149              </enumeratedValue>
150              <enumeratedValue>
151                <name>VregI</name>
152                <description>VregI/4</description>
153                <value>16</value>
154              </enumeratedValue>
155            </enumeratedValues>
156          </field>
157          <field>
158            <name>adc_divsel</name>
159            <description>Scales the external inputs, all inputs are scaled the same</description>
160            <bitRange>[18:17]</bitRange>
161            <access>read-write</access>
162            <enumeratedValues>
163              <enumeratedValue>
164                <name>DIV1</name>
165                <value>0</value>
166              </enumeratedValue>
167              <enumeratedValue>
168                <name>DIV2</name>
169                <value>1</value>
170              </enumeratedValue>
171              <enumeratedValue>
172                <name>DIV3</name>
173                <value>2</value>
174              </enumeratedValue>
175              <enumeratedValue>
176                <name>DIV4</name>
177                <value>3</value>
178              </enumeratedValue>
179            </enumeratedValues>
180          </field>
181          <field>
182            <name>data_align</name>
183            <description>ADC Data Alignment Select</description>
184            <bitRange>[20:20]</bitRange>
185            <access>read-write</access>
186          </field>
187        </fields>
188      </register>
189      <!-- STATUS: ADC Status -->
190      <register>
191        <name>STATUS</name>
192        <description>ADC Status</description>
193        <addressOffset>0x0004</addressOffset>
194        <access>read-write</access>
195        <fields>
196          <field>
197            <name>active</name>
198            <description>ADC Conversion In Progress</description>
199            <bitRange>[0:0]</bitRange>
200            <access>read-only</access>
201          </field>
202          <field>
203            <name>afe_pwr_up_active</name>
204            <description>AFE Power Up Delay Active</description>
205            <bitRange>[2:2]</bitRange>
206            <access>read-only</access>
207          </field>
208          <field>
209            <name>overflow</name>
210            <description>ADC Overflow</description>
211            <bitRange>[3:3]</bitRange>
212            <access>read-only</access>
213          </field>
214        </fields>
215      </register>
216      <!-- DATA: ADC Output Data -->
217      <register>
218        <name>DATA</name>
219        <description>ADC Output Data</description>
220        <addressOffset>0x0008</addressOffset>
221        <access>read-write</access>
222        <fields>
223          <field>
224            <name>adc_data</name>
225            <description>ADC Converted Sample Data Output</description>
226            <bitRange>[15:0]</bitRange>
227            <access>read-only</access>
228          </field>
229        </fields>
230      </register>
231      <!-- INTR: ADC Interrupt Control Register -->
232      <register>
233        <name>INTR</name>
234        <description>ADC Interrupt Control Register</description>
235        <addressOffset>0x000C</addressOffset>
236        <access>read-write</access>
237        <fields>
238          <field>
239            <name>done_ie</name>
240            <description>ADC Done Interrupt Enable</description>
241            <bitRange>[0:0]</bitRange>
242            <access>read-write</access>
243          </field>
244          <field>
245            <name>ref_ready_ie</name>
246            <description>ADC Reference Ready Interrupt Enable</description>
247            <bitRange>[1:1]</bitRange>
248            <access>read-write</access>
249          </field>
250          <field>
251            <name>hi_limit_ie</name>
252            <description>ADC Hi Limit Monitor Interrupt Enable</description>
253            <bitRange>[2:2]</bitRange>
254            <access>read-write</access>
255          </field>
256          <field>
257            <name>lo_limit_ie</name>
258            <description>ADC Lo Limit Monitor Interrupt Enable</description>
259            <bitRange>[3:3]</bitRange>
260            <access>read-write</access>
261          </field>
262          <field>
263            <name>overflow_ie</name>
264            <description>ADC Overflow Interrupt Enable</description>
265            <bitRange>[4:4]</bitRange>
266            <access>read-write</access>
267          </field>
268          <field>
269            <name>done_if</name>
270            <description>ADC Done Interrupt Flag</description>
271            <bitRange>[16:16]</bitRange>
272            <access>read-write</access>
273            <modifiedWriteValues>oneToClear</modifiedWriteValues>
274          </field>
275          <field>
276            <name>ref_ready_if</name>
277            <description>ADC Reference Ready Interrupt Flag</description>
278            <bitRange>[17:17]</bitRange>
279            <access>read-write</access>
280            <modifiedWriteValues>oneToClear</modifiedWriteValues>
281          </field>
282          <field>
283            <name>hi_limit_if</name>
284            <description>ADC Hi Limit Monitor Interrupt Flag</description>
285            <bitRange>[18:18]</bitRange>
286            <access>read-write</access>
287            <modifiedWriteValues>oneToClear</modifiedWriteValues>
288          </field>
289          <field>
290            <name>lo_limit_if</name>
291            <description>ADC Lo Limit Monitor Interrupt Flag</description>
292            <bitRange>[19:19]</bitRange>
293            <access>read-write</access>
294            <modifiedWriteValues>oneToClear</modifiedWriteValues>
295          </field>
296          <field>
297            <name>overflow_if</name>
298            <description>ADC Overflow Interrupt Flag</description>
299            <bitRange>[20:20]</bitRange>
300            <access>read-write</access>
301            <modifiedWriteValues>oneToClear</modifiedWriteValues>
302          </field>
303          <field>
304            <name>pending</name>
305            <description>ADC Interrupt Pending Status</description>
306            <bitRange>[22:22]</bitRange>
307            <access>read-only</access>
308          </field>
309        </fields>
310      </register>
311      <!-- LIMIT: ADC Limit -->
312      <register>
313        <dim>4</dim>
314        <dimIncrement>4</dimIncrement>
315        <name>LIMIT[%s]</name>
316        <description>ADC Limit</description>
317        <addressOffset>0x0010</addressOffset>
318        <access>read-write</access>
319        <fields>
320          <field>
321            <name>ch_lo_limit</name>
322            <description>Low Limit Threshold</description>
323            <bitRange>[9:0]</bitRange>
324            <access>read-write</access>
325          </field>
326          <field>
327            <name>ch_hi_limit</name>
328            <description>High Limit Threshold</description>
329            <bitRange>[21:12]</bitRange>
330            <access>read-write</access>
331          </field>
332          <field>
333            <name>ch_sel</name>
334            <description>ADC Channel Select</description>
335            <bitRange>[28:24]</bitRange>
336            <access>read-write</access>
337          </field>
338          <field>
339            <name>ch_lo_limit_en</name>
340            <description>Low Limit Monitoring Enable</description>
341            <bitRange>[29:29]</bitRange>
342            <access>read-write</access>
343          </field>
344          <field>
345            <name>ch_hi_limit_en</name>
346            <description>High Limit Monitoring Enable</description>
347            <bitRange>[30:30]</bitRange>
348            <access>read-write</access>
349          </field>
350        </fields>
351      </register>
352    </registers>
353  </peripheral>
354  <!-- ADC: Analog to Digital Converter           -->
355</device>