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>TMR0</name>
5    <description>32-bit reloadable timer that can be used for timing and event counting.</description>
6    <groupName>Timers</groupName>
7    <baseAddress>0x40010000</baseAddress>
8    <addressBlock>
9      <offset>0x00</offset>
10      <size>0x1000</size>
11      <usage>registers</usage>
12    </addressBlock>
13    <interrupt>
14      <name>TMR0</name>
15      <description>TMR0 IRQ</description>
16      <value>5</value>
17    </interrupt>
18    <registers>
19      <register>
20        <name>CNT</name>
21        <description>Count.  This register stores the current timer count.</description>
22        <addressOffset>0x00</addressOffset>
23        <resetValue>0x00000001</resetValue>
24        <fields>
25          <field>
26            <name>COUNT</name>
27            <description>Count.</description>
28            <bitOffset>0</bitOffset>
29            <bitWidth>32</bitWidth>
30          </field>
31        </fields>
32      </register>
33      <register>
34        <name>CMP</name>
35        <description>Compare.  This register stores the compare value, which is used to set the maximum count value to initiate a reload of the timer to 0x0001.</description>
36        <addressOffset>0x04</addressOffset>
37        <resetValue>0x0000FFFF</resetValue>
38        <fields>
39          <field>
40            <name>COMPARE</name>
41            <description>Compare.</description>
42            <bitOffset>0</bitOffset>
43            <bitWidth>32</bitWidth>
44          </field>
45        </fields>
46      </register>
47      <register>
48        <name>PWM</name>
49        <description>PWM.  This register stores the value that is compared to the current timer count.</description>
50        <addressOffset>0x08</addressOffset>
51        <fields>
52          <field>
53            <name>PWM</name>
54            <description>PWM</description>
55            <bitOffset>0</bitOffset>
56            <bitWidth>32</bitWidth>
57          </field>
58        </fields>
59      </register>
60      <register>
61        <name>INTFL</name>
62        <description>Clear Interrupt. Writing a value (0 or 1) to a bit in this register clears the associated interrupt.</description>
63        <addressOffset>0x0C</addressOffset>
64        <modifiedWriteValues>oneToClear</modifiedWriteValues>
65        <fields>
66          <field>
67            <name>IRQ</name>
68            <description>Clear Interrupt.</description>
69            <bitOffset>0</bitOffset>
70            <bitWidth>1</bitWidth>
71          </field>
72        </fields>
73      </register>
74      <register>
75        <name>CTRL</name>
76        <description>Timer Control Register.</description>
77        <addressOffset>0x10</addressOffset>
78        <fields>
79          <field>
80            <name>MODE</name>
81            <description>Timer Mode.</description>
82            <bitOffset>0</bitOffset>
83            <bitWidth>3</bitWidth>
84            <enumeratedValues>
85              <enumeratedValue>
86                <name>oneShot</name>
87                <description>One Shot Mode.</description>
88                <value>0</value>
89              </enumeratedValue>
90              <enumeratedValue>
91                <name>continuous</name>
92                <description>Continuous Mode.</description>
93                <value>1</value>
94              </enumeratedValue>
95              <enumeratedValue>
96                <name>counter</name>
97                <description>Counter Mode.</description>
98                <value>2</value>
99              </enumeratedValue>
100              <enumeratedValue>
101                <name>pwm</name>
102                <description>PWM Mode.</description>
103                <value>3</value>
104              </enumeratedValue>
105              <enumeratedValue>
106                <name>capture</name>
107                <description>Capture Mode.</description>
108                <value>4</value>
109              </enumeratedValue>
110              <enumeratedValue>
111                <name>compare</name>
112                <description>Compare Mode.</description>
113                <value>5</value>
114              </enumeratedValue>
115              <enumeratedValue>
116                <name>gated</name>
117                <description>Gated Mode.</description>
118                <value>6</value>
119              </enumeratedValue>
120              <enumeratedValue>
121                <name>captureCompare</name>
122                <description>Capture/Compare Mode.</description>
123                <value>7</value>
124              </enumeratedValue>
125            </enumeratedValues>
126          </field>
127          <field>
128            <name>CLKDIV</name>
129            <description>Prescaler.  Set the Timer's prescaler value. The prescaler divides the PCLK input to the timer and sets the Timer's Count Clock, F_CNT_CLK = PCLK (HZ) /prescaler. The Timer's prescaler setting is a 4-bit value with pres3:pres[2:0].</description>
130            <bitOffset>3</bitOffset>
131            <bitWidth>3</bitWidth>
132            <enumeratedValues>
133              <enumeratedValue>
134                <name>div1</name>
135                <description>Divide by 1.</description>
136                <value>0</value>
137              </enumeratedValue>
138              <enumeratedValue>
139                <name>div2</name>
140                <description>Divide by 2.</description>
141                <value>1</value>
142              </enumeratedValue>
143              <enumeratedValue>
144                <name>div4</name>
145                <description>Divide by 4.</description>
146                <value>2</value>
147              </enumeratedValue>
148              <enumeratedValue>
149                <name>div8</name>
150                <description>Divide by 8.</description>
151                <value>3</value>
152              </enumeratedValue>
153              <enumeratedValue>
154                <name>div16</name>
155                <description>Divide by 16.</description>
156                <value>4</value>
157              </enumeratedValue>
158              <enumeratedValue>
159                <name>div32</name>
160                <description>Divide by 32.</description>
161                <value>5</value>
162              </enumeratedValue>
163              <enumeratedValue>
164                <name>div64</name>
165                <description>Divide by 64.</description>
166                <value>6</value>
167              </enumeratedValue>
168              <enumeratedValue>
169                <name>div128</name>
170                <description>Divide by 128.</description>
171                <value>7</value>
172              </enumeratedValue>
173            </enumeratedValues>
174          </field>
175          <field>
176            <name>POL</name>
177            <description>Timer input/output polarity bit.</description>
178            <bitOffset>6</bitOffset>
179            <bitWidth>1</bitWidth>
180            <enumeratedValues>
181              <enumeratedValue>
182                <name>activeHi</name>
183                <description>Active High.</description>
184                <value>0</value>
185              </enumeratedValue>
186              <enumeratedValue>
187                <name>activeLo</name>
188                <description>Active Low.</description>
189                <value>1</value>
190              </enumeratedValue>
191            </enumeratedValues>
192          </field>
193          <field>
194            <name>EN</name>
195            <description>Timer Enable.</description>
196            <bitOffset>7</bitOffset>
197            <bitWidth>1</bitWidth>
198            <enumeratedValues>
199              <enumeratedValue>
200                <name>dis</name>
201                <description>Disable.</description>
202                <value>0</value>
203              </enumeratedValue>
204              <enumeratedValue>
205                <name>en</name>
206                <description>Enable.</description>
207                <value>1</value>
208              </enumeratedValue>
209            </enumeratedValues>
210          </field>
211          <field>
212            <name>CLKDIV3</name>
213            <description>MSB of prescaler value.</description>
214            <bitOffset>8</bitOffset>
215            <bitWidth>1</bitWidth>
216          </field>
217          <field>
218            <name>PWMSYNC</name>
219            <description>Timer PWM Synchronization Mode Enable.</description>
220            <bitOffset>9</bitOffset>
221            <bitWidth>1</bitWidth>
222            <enumeratedValues>
223              <enumeratedValue>
224                <name>dis</name>
225                <description>Disable.</description>
226                <value>0</value>
227              </enumeratedValue>
228              <enumeratedValue>
229                <name>en</name>
230                <description>Enable.</description>
231                <value>1</value>
232              </enumeratedValue>
233            </enumeratedValues>
234          </field>
235          <field>
236            <name>NOLHPOL</name>
237            <description>Timer PWM output 0A polarity bit.</description>
238            <bitOffset>10</bitOffset>
239            <bitWidth>1</bitWidth>
240            <enumeratedValues>
241              <enumeratedValue>
242                <name>dis</name>
243                <description>Disable.</description>
244                <value>0</value>
245              </enumeratedValue>
246              <enumeratedValue>
247                <name>en</name>
248                <description>Enable.</description>
249                <value>1</value>
250              </enumeratedValue>
251            </enumeratedValues>
252          </field>
253          <field>
254            <name>NOLLPOL</name>
255            <description>Timer PWM output 0A' polarity bit.</description>
256            <bitOffset>11</bitOffset>
257            <bitWidth>1</bitWidth>
258            <enumeratedValues>
259              <enumeratedValue>
260                <name>dis</name>
261                <description>Disable.</description>
262                <value>0</value>
263              </enumeratedValue>
264              <enumeratedValue>
265                <name>en</name>
266                <description>Enable.</description>
267                <value>1</value>
268              </enumeratedValue>
269            </enumeratedValues>
270          </field>
271          <field>
272            <name>PWMCKBD</name>
273            <description>Timer PWM output 0A Mode Disable.</description>
274            <bitOffset>12</bitOffset>
275            <bitWidth>1</bitWidth>
276            <enumeratedValues>
277              <enumeratedValue>
278                <name>dis</name>
279                <description>Disable.</description>
280                <value>1</value>
281              </enumeratedValue>
282              <enumeratedValue>
283                <name>en</name>
284                <description>Enable.</description>
285                <value>0</value>
286              </enumeratedValue>
287            </enumeratedValues>
288          </field>
289        </fields>
290      </register>
291      <register>
292        <name>NOLCMP</name>
293        <description>Timer Non-Overlapping Compare Register.</description>
294        <addressOffset>0x14</addressOffset>
295        <fields>
296          <field>
297            <name>LO</name>
298            <description>Non-overlapping Low Compare.  The 8-bit timer count value of non-overlapping time between falling edge of PWM output 0A and next rising edge of PWM output 0A'.</description>
299            <bitOffset>0</bitOffset>
300            <bitWidth>8</bitWidth>
301          </field>
302          <field>
303            <name>HI</name>
304            <description>Non-overlapping High Compare.  The 8-bit timer count value of non-overlapping time between falling edge of PWM output 0A' and next rising edge of PWM output 0A.</description>
305            <bitOffset>8</bitOffset>
306            <bitWidth>8</bitWidth>
307          </field>
308        </fields>
309      </register>
310    </registers>
311  </peripheral>
312  <!-- TMR0: 32-bit reloadable timer Port 0   -->
313</device>