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