ATtiny10.atdf 25.2 KB
Newer Older
Petter Breedveld's avatar
Petter Breedveld committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
<?xml version="1.0" encoding="UTF-8"?>
<avr-tools-device-file xmlns:xalan="http://xml.apache.org/xalan" xmlns:NumHelper="NumHelper" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schema-version="0.3" xsi:noNamespaceSchemaLocation="../../schema/avr_tools_device_file.xsd">
  <variants>
    <variant ordercode="ATtiny10-TSHR" speedmax="12000000" tempmin="-40" tempmax="85"  vccmin="1.8" vccmax="5.5" package="SOT23-6" pinout="SOT23_6"/>
    <variant ordercode="ATtiny10-MAHR" speedmax="12000000" tempmin="-40" tempmax="85"  vccmin="1.8" vccmax="5.5" package="UDFN8"   pinout="UDFN8"/>
    <variant ordercode="ATtiny10-TS8R" speedmax="10000000" tempmin="-40" tempmax="125" vccmin="1.8" vccmax="5.5" package="SOT23-6" pinout="SOT23_6"/>
  </variants>
  <devices>
    <device name="ATtiny10" architecture="AVR8L" family="tinyAVR">
      <address-spaces>
        <address-space endianness="little" name="prog" id="prog" start="0x0000" size="0x0400">
          <memory-segment start="0x0000" size="0x0400" type="flash" rw="RW" exec="1" name="FLASH" pagesize="0x80"/>
        </address-space>
        <address-space endianness="little" name="signatures" id="signatures" start="0" size="3">
          <memory-segment start="0" size="3" type="signatures" rw="R" exec="0" name="SIGNATURES"/>
        </address-space>
        <address-space endianness="little" name="fuses" id="fuses" start="0" size="0x0001">
          <memory-segment start="0" size="0x0001" type="fuses" rw="RW" exec="0" name="FUSES"/>
        </address-space>
        <address-space endianness="little" name="lockbits" id="lockbits" start="0" size="0x0001">
          <memory-segment start="0" size="0x0001" type="lockbits" rw="RW" exec="0" name="LOCKBITS"/>
        </address-space>
        <address-space size="0x4400" start="0x0000" endianness="little" name="data" id="data">
          <memory-segment type="io" size="0x40" start="0x0000" name="IO"/>
          <memory-segment type="ram" size="0x20" start="0x0040" name="SRAM"/>
          <memory-segment type="sysreg" size="0x0002" start="0x3F00" name="MAPPED_NVM_LOCK_BITS"/>
          <memory-segment type="sysreg" size="0x0002" start="0x3F40" name="MAPPED_CONFIGURATION_BITS"/>
          <memory-segment type="sysreg" size="0x0002" start="0x3F80" name="MAPPED_CALIBRATION_BITS"/>
          <memory-segment type="sysreg" size="0x0004" start="0x3FC0" name="MAPPED_DEVICE_ID_BITS"/>
          <memory-segment type="flash" start="0x4000" name="MAPPED_FLASH" size="0x0400"/>
        </address-space>
      </address-spaces>
      <peripherals>
        <module name="ADC">
          <instance name="ADC" caption="Analog-to-Digital Converter">
            <register-group name="ADC" name-in-module="ADC" offset="0x00" address-space="data" caption="Analog-to-Digital Converter"/>
            <signals>
              <signal group="ADC" index="0" pad="PB0" function="default"/>
              <signal group="ADC" index="1" pad="PB1" function="default"/>
              <signal group="ADC" index="2" pad="PB2" function="default"/>
              <signal group="ADC" index="3" pad="PB3" function="default"/>
            </signals>
          </instance>
        </module>
        <module name="AC">
          <instance name="AC" caption="Analog Comparator">
            <register-group name="AC" name-in-module="AC" offset="0x00" address-space="data" caption="Analog Comparator"/>
            <signals>
              <signal group="AIN" index="0" pad="PB0" function="default"/>
              <signal group="AIN" index="1" pad="PB1" function="default"/>
            </signals>
          </instance>
        </module>
        <module name="CPU">
          <instance name="CPU" caption="CPU Registers">
            <register-group name="CPU" name-in-module="CPU" offset="0x00" address-space="data" caption="CPU Registers"/>
          </instance>
        </module>
        <module name="PORT">
          <instance name="PORTB" caption="I/O Port">
            <register-group name="PORTB" name-in-module="PORTB" offset="0x00" address-space="data" caption="I/O Port"/>
            <signals>
              <signal group="P" function="default" pad="PB0" index="0"/>
              <signal group="P" function="default" pad="PB1" index="1"/>
              <signal group="P" function="default" pad="PB2" index="2"/>
              <signal group="P" function="default" pad="PB3" index="3"/>
            </signals>
          </instance>
        </module>
        <module name="EXINT">
          <instance name="EXINT" caption="External Interrupts">
            <register-group name="EXINT" name-in-module="EXINT" offset="0x00" address-space="data" caption="External Interrupts"/>
            <signals>
              <signal group="PCINT" index="0" pad="PB0" function="default"/>
              <signal group="PCINT" index="1" pad="PB1" function="default"/>
              <signal group="PCINT" index="2" pad="PB2" function="default"/>
              <signal group="PCINT" index="3" pad="PB3" function="default"/>
              <signal group="INT" index="0" pad="PB2" function="default"/>
            </signals>
          </instance>
        </module>
        <module name="TC16">
          <instance name="TC0" caption="Timer/Counter, 16-bit">
            <register-group name="TC0" name-in-module="TC0" offset="0x00" address-space="data" caption="Timer/Counter, 16-bit"/>
            <signals>
              <signal group="OCA" pad="PB0" function="default"/>
              <signal group="OCB" pad="PB1" function="default"/>
              <signal group="T" pad="PB2" function="default"/>
            </signals>
          </instance>
        </module>
        <module name="WDT">
          <instance name="WDT" caption="Watchdog Timer">
            <register-group name="WDT" name-in-module="WDT" offset="0x00" address-space="data" caption="Watchdog Timer"/>
          </instance>
        </module>
        <module name="FUSE">
          <instance name="FUSE" caption="Fuses">
            <register-group name="FUSE" name-in-module="FUSE" offset="0" address-space="fuses" caption="Fuses"/>
          </instance>
        </module>
        <module name="LOCKBIT">
          <instance name="LOCKBIT" caption="Lockbits">
            <register-group name="LOCKBIT" name-in-module="LOCKBIT" offset="0" address-space="lockbits" caption="Lockbits"/>
          </instance>
        </module>
      </peripherals>


      <interrupts>
        <interrupt index="0" name="RESET" caption="External Reset, Power-on Reset and Watchdog Reset"/>
        <interrupt index="1" name="INT0" caption="External Interrupt Request 0"/>
        <interrupt index="2" name="PCINT0" caption="Pin Change Interrupt Request 0"/>
        <interrupt index="3" name="TIM0_CAPT" caption="Timer/Counter0 Input Capture"/>
        <interrupt index="4" name="TIM0_OVF" caption="Timer/Counter0 Overflow"/>
        <interrupt index="5" name="TIM0_COMPA" caption="Timer/Counter Compare Match A"/>
        <interrupt index="6" name="TIM0_COMPB" caption="Timer/Counter Compare Match B"/>
        <interrupt index="7" name="ANA_COMP" caption="Analog Comparator"/>
        <interrupt index="8" name="WDT" caption="Watchdog Time-out"/>
        <interrupt index="9" name="VLM" caption="Vcc Voltage Level Monitor"/>
        <interrupt index="10" name="ADC" caption="ADC Conversion Complete"/>
      </interrupts>
      <interfaces>
        <interface name="TPI" type="tpi"/>
      </interfaces>
      <property-groups>
        <property-group name="SIGNATURES">
          <property name="SIGNATURE0" value="0x1e"/>
          <property name="SIGNATURE1" value="0x90"/>
          <property name="SIGNATURE2" value="0x03"/>
        </property-group>
      </property-groups>
    </device>
  </devices>
  <modules>
    <module caption="Fuses" name="FUSE">
      <register-group caption="Fuses" name="FUSE">
        <register caption="" name="BYTE0" offset="0x00" size="1" initval="0xFF">
          <bitfield caption="Output external clock" mask="0x04" name="CKOUT"/>
          <bitfield caption="Watch dog timer always on" mask="0x02" name="WDTON"/>
          <bitfield caption="Disable external reset" mask="0x01" name="RSTDISBL"/>
        </register>
      </register-group>
    </module>
    <module caption="Lockbits" name="LOCKBIT">
      <register-group caption="Lockbits" name="LOCKBIT">
        <register caption="" name="LOCKBIT" offset="0x00" size="1">
          <bitfield caption="Memory Lock" mask="0x03" name="LB" values="ENUM_LB"/>
        </register>
      </register-group>
      <value-group caption="" name="ENUM_LB">
        <value caption="Further programming and verification disabled" name="PROG_VER_DISABLED" value="0x00"/>
        <value caption="Further programming disabled" name="PROG_DISABLED" value="0x02"/>
        <value caption="No memory lock features enabled" name="NO_LOCK" value="0x03"/>
      </value-group>
    </module>
    <module caption="Analog-to-Digital Converter" name="ADC">
      <register-group caption="Analog-to-Digital Converter" name="ADC">
        <register caption="The ADC multiplexer Selection Register" name="ADMUX" offset="0x1B" size="1">
          <bitfield caption="Analog Channel Selection Bits" mask="0x03" name="MUX"/>
        </register>
        <register caption="ADC Data Register" name="ADCL" offset="0x19" size="1" mask="0xFF"/>
        <register caption="The ADC Control and Status register A" name="ADCSRA" offset="0x1D" size="1">
          <bitfield caption="ADC Enable" mask="0x80" name="ADEN"/>
          <bitfield caption="ADC Start Conversion" mask="0x40" name="ADSC"/>
          <bitfield caption="ADC  Auto Trigger Enable" mask="0x20" name="ADATE"/>
          <bitfield caption="ADC Interrupt Flag" mask="0x10" name="ADIF"/>
          <bitfield caption="ADC Interrupt Enable" mask="0x08" name="ADIE"/>
          <bitfield caption="ADC  Prescaler Select Bits" mask="0x07" name="ADPS" values="ANALOG_ADC_PRESCALER"/>
        </register>
        <register caption="The ADC Control and Status register B" name="ADCSRB" offset="0x1C" size="1">
          <bitfield caption="ADC Auto Trigger Source bits" mask="0x07" name="ADTS" values="ANALOG_ADC_AUTO_TRIGGER_T10"/>
        </register>
        <register caption="Digital Input Disable Register" name="DIDR0" offset="0x17" size="1">
          <bitfield caption="" mask="0x08" name="ADC3D"/>
          <bitfield caption="" mask="0x04" name="ADC2D"/>
          <bitfield caption="" mask="0x02" name="ADC1D"/>
          <bitfield caption="" mask="0x01" name="ADC0D"/>
        </register>
      </register-group>
      <value-group caption="" name="ANALOG_ADC_PRESCALER">
        <value caption="2" name="VAL_0x00" value="0x00"/>
        <value caption="2" name="VAL_0x01" value="0x01"/>
        <value caption="4" name="VAL_0x02" value="0x02"/>
        <value caption="8" name="VAL_0x03" value="0x03"/>
        <value caption="16" name="VAL_0x04" value="0x04"/>
        <value caption="32" name="VAL_0x05" value="0x05"/>
        <value caption="64" name="VAL_0x06" value="0x06"/>
        <value caption="128" name="VAL_0x07" value="0x07"/>
      </value-group>
      <value-group caption="" name="ANALOG_ADC_AUTO_TRIGGER_T10">
        <value caption="Free Running mode" name="VAL_0x00" value="0x00"/>
        <value caption="Analog Comparator" name="VAL_0x01" value="0x01"/>
        <value caption="External Interrupt Request 0" name="VAL_0x02" value="0x02"/>
        <value caption="Timer/Counter0 Compare Match A" name="VAL_0x03" value="0x03"/>
        <value caption="Timer/Counter0 Overflow" name="VAL_0x04" value="0x04"/>
        <value caption="Timer/Counter0 Compare Match B" name="VAL_0x05" value="0x05"/>
        <value caption="Pin Change Interrupt 0 Request" name="VAL_0x06" value="0x06"/>
        <value caption="Timer/Counter0 Capture Event" name="VAL_0x07" value="0x07"/>
      </value-group>
    </module>
    <module caption="Analog Comparator" name="AC">
      <register-group caption="Analog Comparator" name="AC">
        <register caption="Analog Comparator Control And Status Register" name="ACSR" offset="0x1F" size="1">
          <bitfield caption="Analog Comparator Disable" mask="0x80" name="ACD"/>
          <bitfield caption="Analog Compare Output" mask="0x20" name="ACO"/>
          <bitfield caption="Analog Comparator Interrupt Flag" mask="0x10" name="ACI"/>
          <bitfield caption="Analog Comparator Interrupt Enable" mask="0x08" name="ACIE"/>
          <bitfield caption="Analog Comparator Input Capture  Enable" mask="0x04" name="ACIC"/>
          <bitfield caption="Analog Comparator Interrupt Mode Select bits" mask="0x03" name="ACIS" values="ANALOG_COMP_INTERRUPT"/>
        </register>
        <register caption="" name="DIDR0" offset="0x17" size="1">
          <bitfield caption="AIN1 Digital Input Disable" mask="0x02" name="AIN1D"/>
          <bitfield caption="AIN0 Digital Input Disable" mask="0x01" name="AIN0D"/>
        </register>
      </register-group>
      <value-group caption="" name="ANALOG_COMP_INTERRUPT">
        <value caption="Interrupt on Toggle" name="VAL_0x00" value="0x00"/>
        <value caption="Reserved" name="VAL_0x01" value="0x01"/>
        <value caption="Interrupt on Falling Edge" name="VAL_0x02" value="0x02"/>
        <value caption="Interrupt on Rising Edge" name="VAL_0x03" value="0x03"/>
      </value-group>
    </module>
    <module caption="CPU Registers" name="CPU">
      <register-group caption="CPU Registers" name="CPU">
        <register caption="Configuration Change Protection" name="CCP" offset="0x3C" size="1" mask="0xFF"/>
        <register caption="Stack Pointer " name="SP" offset="0x3D" size="2" mask="0xFFFF"/>
        <register caption="Status Register" name="SREG" offset="0x3F" size="1">
          <bitfield caption="Global Interrupt Enable" mask="0x80" name="I"/>
          <bitfield caption="Bit Copy Storage" mask="0x40" name="T"/>
          <bitfield caption="Half Carry Flag" mask="0x20" name="H"/>
          <bitfield caption="Sign Bit" mask="0x10" name="S"/>
          <bitfield caption="Two's Complement Overflow Flag" mask="0x08" name="V"/>
          <bitfield caption="Negative Flag" mask="0x04" name="N"/>
          <bitfield caption="Zero Flag" mask="0x02" name="Z"/>
          <bitfield caption="Carry Flag" mask="0x01" name="C"/>
        </register>
        <register caption="Clock Main Settings Register" name="CLKMSR" offset="0x37" size="1">
          <bitfield caption="Clock Main Select Bits" mask="0x03" name="CLKMS"/>
        </register>
        <register caption="Clock Prescale Register" name="CLKPSR" offset="0x36" size="1">
          <bitfield caption="Clock Prescaler Select Bits" mask="0x0F" name="CLKPS" values="CPU_CLK_PRESCALE_4_BITS_SMALL"/>
        </register>
        <register caption="Oscillator Calibration Value" name="OSCCAL" offset="0x39" size="1" mask="0xFF"/>
        <register caption="Sleep Mode Control Register" name="SMCR" offset="0x3A" size="1">
          <bitfield caption="Sleep Mode Select Bits" mask="0x0E" name="SM" values="CPU_SLEEP_MODE_3BITS"/>
          <bitfield caption="Sleep Enable" mask="0x01" name="SE"/>
        </register>
        <register caption="Power Reduction Register" name="PRR" offset="0x35" size="1">
          <bitfield caption="Power Reduction ADC" mask="0x02" name="PRADC"/>
          <bitfield caption="Power Reduction Timer/Counter0" mask="0x01" name="PRTIM0"/>
        </register>
        <register caption="Vcc Level Monitoring Control and Status Register" name="VLMCSR" offset="0x34" size="1">
          <bitfield caption="VLM Flag" mask="0x80" name="VLMF"/>
          <bitfield caption="VLM Interrupt Enable" mask="0x40" name="VLMIE"/>
          <bitfield caption="Trigger Level of Voltage Level Monitor bits" mask="0x07" name="VLM"/>
        </register>
        <register caption="Reset Flag Register" name="RSTFLR" offset="0x3B" size="1">
          <bitfield caption="Watchdog Reset Flag" mask="0x08" name="WDRF"/>
          <bitfield caption="External Reset Flag" mask="0x02" name="EXTRF"/>
          <bitfield caption="Power-on Reset Flag" mask="0x01" name="PORF"/>
        </register>
        <register caption="Non-Volatile Memory Control and Status Register" name="NVMCSR" offset="0x32" size="1">
          <bitfield caption="Non-Volatile Memory Busy" mask="0x80" name="NVMBSY"/>
        </register>
        <register caption="Non-Volatile Memory Command" name="NVMCMD" offset="0x33" size="1" mask="0x3F"/>
      </register-group>
      <value-group caption="" name="CPU_CLK_PRESCALE_4_BITS_SMALL">
        <value caption="1" name="VAL_0x00" value="0x00"/>
        <value caption="2" name="VAL_0x01" value="0x01"/>
        <value caption="4" name="VAL_0x02" value="0x02"/>
        <value caption="8" name="VAL_0x03" value="0x03"/>
        <value caption="16" name="VAL_0x04" value="0x04"/>
        <value caption="32" name="VAL_0x05" value="0x05"/>
        <value caption="64" name="VAL_0x06" value="0x06"/>
        <value caption="128" name="VAL_0x07" value="0x07"/>
        <value caption="256" name="VAL_0x08" value="0x08"/>
      </value-group>
      <value-group caption="Sleep Mode" name="CPU_SLEEP_MODE_3BITS">
        <value caption="Idle" name="IDLE" value="0x00"/>
        <value caption="ADC Noise Reduction" name="ADC" value="0x01"/>
        <value caption="Power Down" name="PDOWN" value="0x02"/>
        <value caption="Reserved" name="VAL_0x03" value="0x03"/>
        <value caption="Standby" name="STDBY" value="0x04"/>
        <value caption="Reserved" name="VAL_0x05" value="0x05"/>
        <value caption="Reserved" name="VAL_0x06" value="0x06"/>
        <value caption="Reserved" name="VAL_0x07" value="0x07"/>
      </value-group>
      <parameters>
        <param name="CORE_VERSION" value="AVR8L_0"/>
      </parameters>
    </module>
    <module caption="I/O Port" name="PORT">
      <register-group caption="I/O Port" name="PORTB">
        <register caption="Port Control Register" name="PORTCR" offset="0x0C" size="1">
          <bitfield caption="Break-Before-Make Mode Enable" mask="0x02" name="BBMB"/>
        </register>
        <register caption="Pull-up Enable Control Register" name="PUEB" offset="0x03" size="1" mask="0x0F"/>
        <register caption="Data Direction Register, Port B" name="DDRB" offset="0x01" size="1" mask="0x0F"/>
        <register caption="Port B Data register" name="PINB" offset="0x00" size="1" mask="0x0F"/>
        <register caption="Input Pins, Port B" name="PORTB" offset="0x02" size="1" mask="0x0F"/>
      </register-group>
    </module>
    <module caption="External Interrupts" name="EXINT">
      <register-group caption="External Interrupts" name="EXINT">
        <register caption="External Interrupt Control Register A" name="EICRA" offset="0x15" size="1">
          <bitfield caption="Interrupt Sense Control 0 Bit 1" mask="0x02" name="ISC01"/>
          <bitfield caption="Interrupt Sense Control 0 Bit 0" mask="0x01" name="ISC00"/>
        </register>
        <register caption="External Interrupt Mask register" name="EIMSK" offset="0x13" size="1">
          <bitfield caption="External Interrupt Request 0 Enable" mask="0x01" name="INT0"/>
        </register>
        <register caption="External Interrupt Flag register" name="EIFR" offset="0x14" size="1">
          <bitfield caption="External Interrupt Flag 0" mask="0x01" name="INTF0"/>
        </register>
        <register caption="Pin Change Interrupt Control Register" name="PCICR" offset="0x12" size="1">
          <bitfield caption="Pin Change Interrupt Enable 0" mask="0x01" name="PCIE0"/>
        </register>
        <register caption="Pin Change Interrupt Flag Register" name="PCIFR" offset="0x11" size="1">
          <bitfield caption="Pin Change Interrupt Flag 0" mask="0x01" name="PCIF0"/>
        </register>
        <register caption="Pin Change Mask Register" name="PCMSK" offset="0x10" size="1">
          <bitfield caption="Pin Change Enable Masks" mask="0x0F" name="PCINT"/>
        </register>
      </register-group>
    </module>
    <module caption="Timer/Counter, 16-bit" name="TC16">
      <register-group caption="Timer/Counter, 16-bit" name="TC0">
        <register caption="Timer/Counter 0 Control Register A" name="TCCR0A" offset="0x2E" size="1">
          <bitfield caption="Compare Output Mode for Channel A bits" mask="0xC0" name="COM0A"/>
          <bitfield caption="Compare Output Mode for Channel B bits" mask="0x30" name="COM0B"/>
          <bitfield caption="Waveform Generation Mode" mask="0x03" name="WGM0"/>
        </register>
        <register caption="Timer/Counter 0 Control Register B" name="TCCR0B" offset="0x2D" size="1">
          <bitfield caption="Input Capture Noise Canceler" mask="0x80" name="ICNC0"/>
          <bitfield caption="Input Capture Edge Select" mask="0x40" name="ICES0"/>
          <bitfield caption="Waveform Generation Mode" mask="0x18" name="WGM0" lsb="2"/>
          <bitfield caption="Clock Select" mask="0x07" name="CS0" values="CLK_SEL_3BIT_EXT"/>
        </register>
        <register caption="Timer/Counter 0 Control Register C" name="TCCR0C" offset="0x2C" size="1">
          <bitfield caption="Force Output Compare for Channel A" mask="0x80" name="FOC0A"/>
          <bitfield caption="Force Output Compare for Channel B" mask="0x40" name="FOC0B"/>
        </register>
        <register caption="Timer/Counter0 " name="TCNT0" offset="0x28" size="2" mask="0xFFFF"/>
        <register caption="Timer/Counter 0 Output Compare Register A " name="OCR0A" offset="0x26" size="2" mask="0xFFFF"/>
        <register caption="Timer/Counter0 Output Compare Register B " name="OCR0B" offset="0x24" size="2" mask="0xFFFF"/>
        <register caption="Input Capture Register  Bytes" name="ICR0" offset="0x22" size="2" mask="0xFFFF"/>
        <register caption="Timer Interrupt Mask Register 0" name="TIMSK0" offset="0x2B" size="1">
          <bitfield caption="Input Capture Interrupt Enable" mask="0x20" name="ICIE0"/>
          <bitfield caption="Output Compare B Match Interrupt Enable" mask="0x04" name="OCIE0B"/>
          <bitfield caption="Output Compare A Match Interrupt Enable" mask="0x02" name="OCIE0A"/>
          <bitfield caption="Overflow Interrupt Enable" mask="0x01" name="TOIE0"/>
        </register>
        <register caption="Overflow Interrupt Enable" name="TIFR0" offset="0x2A" size="1">
          <bitfield caption="Input Capture Flag" mask="0x20" name="ICF0"/>
          <bitfield caption="Timer Output Compare Flag 0B" mask="0x04" name="OCF0B"/>
          <bitfield caption="Timer Output Compare Flag 0A" mask="0x02" name="OCF0A"/>
          <bitfield caption="Timer Overflow Flag" mask="0x01" name="TOV0"/>
        </register>
        <register caption="General Timer/Counter Control Register" name="GTCCR" offset="0x2F" size="1">
          <bitfield caption="Timer Synchronization Mode" mask="0x80" name="TSM"/>
          <bitfield caption="Prescaler Reset" mask="0x01" name="PSR"/>
        </register>
      </register-group>
      <value-group caption="" name="CLK_SEL_3BIT_EXT">
        <value caption="No Clock Source (Stopped)" name="VAL_0x00" value="0x00"/>
        <value caption="Running, No Prescaling" name="VAL_0x01" value="0x01"/>
        <value caption="Running, CLK/8" name="VAL_0x02" value="0x02"/>
        <value caption="Running, CLK/64" name="VAL_0x03" value="0x03"/>
        <value caption="Running, CLK/256" name="VAL_0x04" value="0x04"/>
        <value caption="Running, CLK/1024" name="VAL_0x05" value="0x05"/>
        <value caption="Running, ExtClk Tx Falling Edge" name="VAL_0x06" value="0x06"/>
        <value caption="Running, ExtClk Tx Rising Edge" name="VAL_0x07" value="0x07"/>
      </value-group>
    </module>
    <module caption="Watchdog Timer" name="WDT">
      <register-group caption="Watchdog Timer" name="WDT">
        <register caption="Watchdog Timer Control and Status Register" name="WDTCSR" offset="0x31" size="1">
          <bitfield caption="Watchdog Timer Interrupt Flag" mask="0x80" name="WDIF"/>
          <bitfield caption="Watchdog Timer Interrupt Enable" mask="0x40" name="WDIE"/>
          <bitfield caption="Watchdog Timer Prescaler Bits" mask="0x27" name="WDP" values="WDOG_TIMER_PRESCALE_4BITS"/>
          <bitfield caption="Watch Dog Enable" mask="0x08" name="WDE"/>
        </register>
      </register-group>
      <value-group caption="" name="WDOG_TIMER_PRESCALE_4BITS">
        <value caption="Oscillator Cycles 2K" name="VAL_0x00" value="0x00"/>
        <value caption="Oscillator Cycles 4K" name="VAL_0x01" value="0x01"/>
        <value caption="Oscillator Cycles 8K" name="VAL_0x02" value="0x02"/>
        <value caption="Oscillator Cycles 16K" name="VAL_0x03" value="0x03"/>
        <value caption="Oscillator Cycles 32K" name="VAL_0x04" value="0x04"/>
        <value caption="Oscillator Cycles 64K" name="VAL_0x05" value="0x05"/>
        <value caption="Oscillator Cycles 128K" name="VAL_0x06" value="0x06"/>
        <value caption="Oscillator Cycles 256K" name="VAL_0x07" value="0x07"/>
        <value caption="Oscillator Cycles 512K" name="VAL_0x08" value="0x08"/>
        <value caption="Oscillator Cycles 1024K" name="VAL_0x09" value="0x09"/>
      </value-group>
    </module>
  </modules>
  <pinouts>
    <pinout name="SOT23_6">
      <pin pad="PB0" position="1"/>
      <pin pad="GND" position="2"/>
      <pin pad="PB1" position="3"/>
      <pin pad="PB2" position="4"/>
      <pin pad="VCC" position="5"/>
      <pin pad="PB3" position="6"/>
    </pinout>
    <pinout name="UDFN8">
      <pin pad="PB1" position="1"/>
      <pin pad="GND" position="4"/>
      <pin pad="PB0" position="5"/>
      <pin pad="PB3" position="6"/>
      <pin pad="VCC" position="7"/>
      <pin pad="PB2" position="8"/>
    </pinout>
  </pinouts>
</avr-tools-device-file>