Files
BloomPatched/resources/TargetDescriptionFiles/AVR8/ATTINY861.xml

744 lines
53 KiB
XML
Raw Normal View History

2025-11-23 20:39:37 +04:00
<?xml version="1.0" encoding="UTF-8"?>
<device name="ATtiny861" family="AVR8" configuration-value="attiny861" architecture="AVRe" avr-family="TINY">
<property-groups>
<property-group key="signatures">
<property key="jtagid" value="0x930D"/>
<property key="signature0" value="0x1e"/>
<property key="signature1" value="0x93"/>
<property key="signature2" value="0x0d"/>
</property-group>
<property-group key="ocd">
<property key="ocd_revision" value="1"/>
<property key="ocd_datareg" value="0x20"/>
<property key="progbase" value="0x0000"/>
</property-group>
<property-group key="jtag_interface">
<property key="allowfullpagestream" value="0x00"/>
</property-group>
<property-group key="isp_interface">
<property key="ispenterprogmode_timeout" value="200"/>
<property key="ispenterprogmode_stabdelay" value="100"/>
<property key="ispenterprogmode_cmdexedelay" value="25"/>
<property key="ispenterprogmode_synchloops" value="32"/>
<property key="ispenterprogmode_bytedelay" value="0"/>
<property key="ispenterprogmode_pollindex" value="3"/>
<property key="ispenterprogmode_pollvalue" value="0x53"/>
<property key="ispleaveprogmode_predelay" value="1"/>
<property key="ispleaveprogmode_postdelay" value="1"/>
<property key="ispchiperase_erasedelay" value="10"/>
<property key="ispchiperase_pollmethod" value="0"/>
<property key="ispprogramflash_mode" value="0x41"/>
<property key="ispprogramflash_blocksize" value="64"/>
<property key="ispprogramflash_delay" value="10"/>
<property key="ispprogramflash_cmd1" value="0x40"/>
<property key="ispprogramflash_cmd2" value="0x4C"/>
<property key="ispprogramflash_cmd3" value="0x00"/>
<property key="ispprogramflash_pollval1" value="0x00"/>
<property key="ispprogramflash_pollval2" value="0x00"/>
<property key="ispprogrameeprom_mode" value="0x41"/>
<property key="ispprogrameeprom_blocksize" value="4"/>
<property key="ispprogrameeprom_delay" value="10"/>
<property key="ispprogrameeprom_cmd1" value="0xC1"/>
<property key="ispprogrameeprom_cmd2" value="0xC2"/>
<property key="ispprogrameeprom_cmd3" value="0x00"/>
<property key="ispprogrameeprom_pollval1" value="0x00"/>
<property key="ispprogrameeprom_pollval2" value="0x00"/>
<property key="ispreadflash_blocksize" value="256"/>
<property key="ispreadeeprom_blocksize" value="256"/>
<property key="ispreadfuse_pollindex" value="4"/>
<property key="ispreadlock_pollindex" value="4"/>
<property key="ispreadsign_pollindex" value="4"/>
<property key="ispreadosccal_pollindex" value="4"/>
</property-group>
<property-group key="pp_interface">
<property key="ppcontrolstack" value="0xC4 0xE4 0xC4 0xE4 0xCC 0xEC 0xCC 0xEC 0xD4 0xF4 0xD4 0xF4 0xDC 0xFC 0xDC 0xFC 0xC8 0xE8 0xD8 0xF8 0x4C 0x6C 0x5C 0x7C 0xEC 0xBC 0x00 0x06 0x00 0x00 0x00 0x00"/>
<property key="ppenterprogmode_stabdelay" value="100"/>
<property key="ppenterprogmode_progmodedelay" value="0"/>
<property key="ppenterprogmode_latchcycles" value="5"/>
<property key="ppenterprogmode_togglevtg" value="1"/>
<property key="ppenterprogmode_poweroffdelay" value="15"/>
<property key="ppenterprogmode_resetdelayms" value="1"/>
<property key="ppenterprogmode_resetdelayus" value="0"/>
<property key="ppleaveprogmode_stabdelay" value="15"/>
<property key="ppleaveprogmode_resetdelay" value="15"/>
<property key="ppchiperase_pulsewidth" value="0"/>
<property key="ppchiperase_polltimeout" value="10"/>
<property key="ppprogramflash_polltimeout" value="5"/>
<property key="ppprogramflash_mode" value="0x0D"/>
<property key="ppprogramflash_blocksize" value="256"/>
<property key="ppreadflash_blocksize" value="256"/>
<property key="ppprogrameeprom_polltimeout" value="5"/>
<property key="ppprogrameeprom_mode" value="0x05"/>
<property key="ppprogrameeprom_blocksize" value="256"/>
<property key="ppreadeeprom_blocksize" value="256"/>
<property key="ppprogramfuse_pulsewidth" value="0"/>
<property key="ppprogramfuse_polltimeout" value="5"/>
<property key="ppprogramlock_pulsewidth" value="0"/>
<property key="ppprogramlock_polltimeout" value="5"/>
</property-group>
<property-group key="isp_interface_stk600">
<property key="ispenterprogmode_timeout" value="200"/>
<property key="ispenterprogmode_stabdelay" value="100"/>
<property key="ispenterprogmode_cmdexedelay" value="25"/>
<property key="ispenterprogmode_synchloops" value="32"/>
<property key="ispenterprogmode_bytedelay" value="0"/>
<property key="ispenterprogmode_pollindex" value="3"/>
<property key="ispenterprogmode_pollvalue" value="0x53"/>
<property key="ispleaveprogmode_predelay" value="1"/>
<property key="ispleaveprogmode_postdelay" value="1"/>
<property key="ispchiperase_erasedelay" value="10"/>
<property key="ispchiperase_pollmethod" value="0"/>
<property key="ispprogramflash_mode" value="0x41"/>
<property key="ispprogramflash_blocksize" value="64"/>
<property key="ispprogramflash_delay" value="10"/>
<property key="ispprogramflash_cmd1" value="0x40"/>
<property key="ispprogramflash_cmd2" value="0x4C"/>
<property key="ispprogramflash_cmd3" value="0x00"/>
<property key="ispprogramflash_pollval1" value="0x00"/>
<property key="ispprogramflash_pollval2" value="0x00"/>
<property key="ispprogrameeprom_mode" value="0x41"/>
<property key="ispprogrameeprom_blocksize" value="4"/>
<property key="ispprogrameeprom_delay" value="10"/>
<property key="ispprogrameeprom_cmd1" value="0xC1"/>
<property key="ispprogrameeprom_cmd2" value="0xC2"/>
<property key="ispprogrameeprom_cmd3" value="0x00"/>
<property key="ispprogrameeprom_pollval1" value="0x00"/>
<property key="ispprogrameeprom_pollval2" value="0x00"/>
<property key="ispreadflash_blocksize" value="256"/>
<property key="ispreadeeprom_blocksize" value="256"/>
<property key="ispreadfuse_pollindex" value="4"/>
<property key="ispreadlock_pollindex" value="4"/>
<property key="ispreadsign_pollindex" value="4"/>
<property key="ispreadosccal_pollindex" value="4"/>
</property-group>
<property-group key="pp_interface_stk600">
<property key="ppcontrolstack" value="0x0E 0x1E 0x0E 0x1E 0x2E 0x3E 0x2E 0x3E 0x4E 0x5E 0x4E 0x5E 0x6E 0x7E 0x6E 0x7E 0x06 0x16 0x46 0x56 0x0A 0x1A 0x4A 0x5A 0x1E 0x7C 0x00 0x01 0x00 0x00 0x00 0x00"/>
<property key="ppenterprogmode_stabdelay" value="100"/>
<property key="ppenterprogmode_progmodedelay" value="0"/>
<property key="ppenterprogmode_latchcycles" value="5"/>
<property key="ppenterprogmode_togglevtg" value="1"/>
<property key="ppenterprogmode_poweroffdelay" value="20"/>
<property key="ppenterprogmode_resetdelayms" value="1"/>
<property key="ppenterprogmode_resetdelayus" value="0"/>
<property key="ppleaveprogmode_stabdelay" value="15"/>
<property key="ppleaveprogmode_resetdelay" value="15"/>
<property key="ppchiperase_pulsewidth" value="0"/>
<property key="ppchiperase_polltimeout" value="10"/>
<property key="ppprogramflash_polltimeout" value="5"/>
<property key="ppprogramflash_mode" value="0x0B"/>
<property key="ppprogramflash_blocksize" value="256"/>
<property key="ppreadflash_blocksize" value="256"/>
<property key="ppprogrameeprom_polltimeout" value="5"/>
<property key="ppprogrameeprom_mode" value="0x05"/>
<property key="ppprogrameeprom_blocksize" value="256"/>
<property key="ppreadeeprom_blocksize" value="256"/>
<property key="ppprogramfuse_pulsewidth" value="0"/>
<property key="ppprogramfuse_polltimeout" value="5"/>
<property key="ppprogramlock_pulsewidth" value="0"/>
<property key="ppprogramlock_polltimeout" value="5"/>
</property-group>
<property-group key="pp_interface_avrdragon">
<property key="ppcontrolstack" value="0xC4 0xE4 0xC4 0xE4 0xCC 0xEC 0xCC 0xEC 0xD4 0xF4 0xD4 0xF4 0xDC 0xFC 0xDC 0xFC 0xC8 0xE8 0xD8 0xF8 0x4C 0x6C 0x5C 0x7C 0xEC 0xBC 0x80 0x06 0x00 0x00 0x00 0x00"/>
<property key="ppenterprogmode_stabdelay" value="100"/>
<property key="ppenterprogmode_progmodedelay" value="0"/>
<property key="ppenterprogmode_latchcycles" value="5"/>
<property key="ppenterprogmode_togglevtg" value="1"/>
<property key="ppenterprogmode_poweroffdelay" value="15"/>
<property key="ppenterprogmode_resetdelayms" value="1"/>
<property key="ppenterprogmode_resetdelayus" value="0"/>
<property key="ppleaveprogmode_stabdelay" value="15"/>
<property key="ppleaveprogmode_resetdelay" value="15"/>
<property key="ppchiperase_pulsewidth" value="0"/>
<property key="ppchiperase_polltimeout" value="10"/>
<property key="ppprogramflash_polltimeout" value="5"/>
<property key="ppprogramflash_mode" value="0x0D"/>
<property key="ppprogramflash_blocksize" value="256"/>
<property key="ppreadflash_blocksize" value="256"/>
<property key="ppprogrameeprom_polltimeout" value="5"/>
<property key="ppprogrameeprom_mode" value="0x05"/>
<property key="ppprogrameeprom_blocksize" value="256"/>
<property key="ppreadeeprom_blocksize" value="256"/>
<property key="ppprogramfuse_pulsewidth" value="0"/>
<property key="ppprogramfuse_polltimeout" value="5"/>
<property key="ppprogramlock_pulsewidth" value="0"/>
<property key="ppprogramlock_polltimeout" value="5"/>
</property-group>
</property-groups>
<address-spaces>
<address-space key="prog" start="0x00000000" size="8192" endianness="little">
<memory-segment key="internal_program_memory" name="Internal FLASH" type="flash" start="0x00000000" size="8192" page-size="64" access="RW" executable="1"/>
</address-space>
<address-space key="signatures" start="0x00000000" size="3" endianness="little">
<memory-segment key="signatures" name="Signatures" type="signatures" start="0x00000000" size="3" access="R" executable="0"/>
</address-space>
<address-space key="fuses" start="0x00000000" size="3" endianness="little">
<memory-segment key="fuses" name="Fuses" type="fuses" start="0x00000000" size="3" access="RW" executable="0"/>
</address-space>
<address-space key="lockbits" start="0x00000000" size="1" endianness="little">
<memory-segment key="lockbits" name="Lockbits" type="lockbits" start="0x00000000" size="1" access="RW" executable="0"/>
</address-space>
<address-space key="data" start="0x00000000" size="608" endianness="little">
<memory-segment key="gp_registers" name="General Purpose Registers" type="gp_registers" start="0x00000000" size="32" executable="0"/>
<memory-segment key="mapped_io" name="Mapped Input/Output" type="io" start="0x00000020" size="64" executable="0"/>
<memory-segment key="internal_ram" name="Internal RAM" type="ram" start="0x00000060" size="512" executable="0"/>
</address-space>
<address-space key="eeprom" start="0x00000000" size="512" endianness="little">
<memory-segment key="internal_eeprom" name="Internal EEPROM" type="eeprom" start="0x00000000" size="512" page-size="4" access="RW" executable="0"/>
</address-space>
<address-space key="osccal" start="0x00000000" size="1" endianness="little">
<memory-segment key="osccal" name="OSCCAL" type="osccal" start="0x00000000" size="1" access="R" executable="0"/>
</address-space>
</address-spaces>
<physical-interfaces>
<physical-interface value="debug_wire">
<signals>
<signal name="dW" pad-key="pb7"/>
</signals>
</physical-interface>
<physical-interface value="isp">
<signals>
<signal name="RESET" pad-key="pb7"/>
<signal name="MOSI" pad-key="pb0"/>
<signal name="MISO" pad-key="pb1"/>
<signal name="SCLK" pad-key="pb2"/>
</signals>
</physical-interface>
<physical-interface value="hvpp"/>
</physical-interfaces>
<peripherals>
<peripheral key="porta" name="PORTA" module-key="gpio_port">
<register-group-instance description="I/O Port" register-group-key="porta" address-space-key="data" offset="0x0"/>
<signals>
<signal name="PA0" pad-key="pa0" index="0" function="PORTA"/>
<signal name="PA1" pad-key="pa1" index="1" function="PORTA"/>
<signal name="PA2" pad-key="pa2" index="2" function="PORTA"/>
<signal name="PA3" pad-key="pa3" index="3" function="PORTA"/>
<signal name="PA4" pad-key="pa4" index="4" function="PORTA"/>
<signal name="PA5" pad-key="pa5" index="5" function="PORTA"/>
<signal name="PA6" pad-key="pa6" index="6" function="PORTA"/>
<signal name="PA7" pad-key="pa7" index="7" function="PORTA"/>
</signals>
</peripheral>
<peripheral key="portb" name="PORTB" module-key="gpio_port">
<register-group-instance description="I/O Port" register-group-key="portb" address-space-key="data" offset="0x0"/>
<signals>
<signal name="PB0" pad-key="pb0" index="0" function="PORTB"/>
<signal name="PB1" pad-key="pb1" index="1" function="PORTB"/>
<signal name="PB2" pad-key="pb2" index="2" function="PORTB"/>
<signal name="PB3" pad-key="pb3" index="3" function="PORTB"/>
<signal name="PB4" pad-key="pb4" index="4" function="PORTB"/>
<signal name="PB5" pad-key="pb5" index="5" function="PORTB"/>
<signal name="PB6" pad-key="pb6" index="6" function="PORTB"/>
<signal name="PB7" pad-key="pb7" index="7" function="PORTB"/>
</signals>
</peripheral>
<peripheral key="adc" name="ADC" module-key="adc">
<register-group-instance description="Analog-to-Digital Converter" register-group-key="adc" address-space-key="data" offset="0x0"/>
<signals>
<signal name="ADC" pad-key="pa0" index="0" function="ADC"/>
<signal name="ADC" pad-key="pa1" index="1" function="ADC"/>
<signal name="ADC" pad-key="pa2" index="2" function="ADC"/>
<signal name="ADC" pad-key="pa4" index="3" function="ADC"/>
<signal name="ADC" pad-key="pa5" index="4" function="ADC"/>
<signal name="ADC" pad-key="pa6" index="5" function="ADC"/>
<signal name="ADC" pad-key="pa7" index="6" function="ADC"/>
<signal name="ADC" pad-key="pb4" index="7" function="ADC"/>
<signal name="ADC" pad-key="pb5" index="8" function="ADC"/>
<signal name="ADC" pad-key="pb6" index="9" function="ADC"/>
<signal name="ADC" pad-key="pb7" index="10" function="ADC"/>
<signal name="AREF" pad-key="pa3" function="AREF"/>
</signals>
</peripheral>
<peripheral key="ac" name="AC" module-key="ac">
<register-group-instance description="Analog Comparator" register-group-key="ac" address-space-key="data" offset="0x0"/>
<signals>
<signal name="AIN" pad-key="pa7" index="0" function="ACIN"/>
<signal name="AIN" pad-key="pa6" index="1" function="ACIN"/>
<signal name="AIN" pad-key="pa5" index="2" function="ACIN"/>
</signals>
</peripheral>
<peripheral key="usi" name="USI" module-key="usi">
<register-group-instance description="Universal Serial Interface" register-group-key="usi" address-space-key="data" offset="0x0"/>
<signals>
<signal name="SDA" pad-key="pb0" function="USI" field="USIPOS"/>
<signal name="SCL" pad-key="pb2" function="USI" field="USIPOS"/>
<signal name="SCL " pad-key="pa2" alternative="true" function="USI_ALT" field="USIPOS"/>
<signal name="SDA" pad-key="pa0" alternative="true" function="USI_ALT" field="USIPOS"/>
<signal name="DI" pad-key="pb0" function="USI" field="USIPOS"/>
<signal name="DO" pad-key="pb1" function="USI" field="USIPOS"/>
<signal name="USCK" pad-key="pb2" function="USI" field="USIPOS"/>
<signal name="USCK" pad-key="pa2" alternative="true" function="USI_ALT" field="USIPOS"/>
<signal name="DO" pad-key="pa1" alternative="true" function="USI_ALT" field="USIPOS"/>
<signal name="DI" pad-key="pa0" alternative="true" function="USI_ALT" field="USIPOS"/>
</signals>
</peripheral>
<peripheral key="eeprom" name="EEPROM" module-key="eeprom">
<register-group-instance description="EEPROM" register-group-key="eeprom" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="wdt" name="WDT" module-key="wdt">
<register-group-instance description="Watchdog Timer" register-group-key="wdt" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="tc0" name="TC0" module-key="tc8">
<register-group-instance description="Timer/Counter, 8-bit" register-group-key="tc0" address-space-key="data" offset="0x0"/>
<signals>
<signal name="ICP0" pad-key="pa4" function="T0"/>
<signal name="T0" pad-key="pb6" function="T0"/>
</signals>
</peripheral>
<peripheral key="tc1" name="TC1" module-key="tc16">
<register-group-instance description="Timer/Counter, 16-bit" register-group-key="tc1" address-space-key="data" offset="0x0"/>
<signals>
<signal name="OC1AINV" pad-key="pb0" function="T1"/>
<signal name="OC1A" pad-key="pb1" function="T1"/>
<signal name="OC1BINV" pad-key="pb2" function="T1"/>
<signal name="OC1B" pad-key="pb3" function="T1"/>
<signal name="OC1DINV" pad-key="pb4" function="T1"/>
<signal name="OC1D" pad-key="pb5" function="T1"/>
</signals>
</peripheral>
<peripheral key="boot_load" name="BOOT_LOAD" module-key="boot_load">
<register-group-instance description="Bootloader" register-group-key="boot_load" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="exint" name="EXINT" module-key="exint">
<register-group-instance description="External Interrupts" register-group-key="exint" address-space-key="data" offset="0x0"/>
<signals>
<signal name="PCINT" pad-key="pa0" index="0" function="EXTINT"/>
<signal name="PCINT" pad-key="pa1" index="1" function="EXTINT"/>
<signal name="PCINT" pad-key="pa2" index="2" function="EXTINT"/>
<signal name="PCINT" pad-key="pa3" index="3" function="EXTINT"/>
<signal name="PCINT" pad-key="pa4" index="4" function="EXTINT"/>
<signal name="PCINT" pad-key="pa5" index="5" function="EXTINT"/>
<signal name="PCINT" pad-key="pa6" index="6" function="EXTINT"/>
<signal name="PCINT" pad-key="pa7" index="7" function="EXTINT"/>
<signal name="PCINT" pad-key="pb0" index="8" function="EXTINT"/>
<signal name="PCINT" pad-key="pb1" index="9" function="EXTINT"/>
<signal name="PCINT" pad-key="pb2" index="10" function="EXTINT"/>
<signal name="PCINT" pad-key="pb3" index="11" function="EXTINT"/>
<signal name="PCINT" pad-key="pb4" index="12" function="EXTINT"/>
<signal name="PCINT" pad-key="pb5" index="13" function="EXTINT"/>
<signal name="PCINT" pad-key="pb6" index="14" function="EXTINT"/>
<signal name="PCINT" pad-key="pb7" index="15" function="EXTINT"/>
<signal name="INT" pad-key="pa2" index="1" function="EXTINT"/>
<signal name="INT" pad-key="pb6" index="0" function="EXTINT"/>
</signals>
</peripheral>
<peripheral key="cpu" name="CPU" module-key="cpu">
<register-group-instance description="CPU Registers" register-group-key="cpu" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="fuse" name="FUSE" module-key="fuse">
<register-group-instance description="Fuses" register-group-key="fuse" address-space-key="fuses" offset="0x0"/>
</peripheral>
<peripheral key="lockbit" name="LOCKBIT" module-key="lockbit">
<register-group-instance description="Lockbits" register-group-key="lockbit" address-space-key="lockbits" offset="0x0"/>
</peripheral>
</peripherals>
<modules>
<module key="fuse" name="FUSE" description="Fuses">
<register-group key="fuse" name="FUSE">
<register key="low" name="LOW" offset="0x00" size="1" initial-value="0x62">
<bit-field key="ckdiv8" name="CKDIV8" description="Divide clock by 8 internally" mask="0x80"/>
<bit-field key="ckout" name="CKOUT" description="Clock output on PORTB5" mask="0x40"/>
<bit-field key="sut_cksel" name="SUT_CKSEL" description="Select Clock source" mask="0x3F"/>
</register>
<register key="high" name="HIGH" offset="0x01" size="1" initial-value="0xDF">
<bit-field key="rstdisbl" name="RSTDISBL" description="Reset Disabled (Enable PB7 as i/o pin)" mask="0x80"/>
<bit-field key="dwen" name="DWEN" description="Debug Wire enable" mask="0x40"/>
<bit-field key="spien" name="SPIEN" description="Serial program downloading (SPI) enabled" mask="0x20"/>
<bit-field key="wdton" name="WDTON" description="Watch-dog Timer always on" mask="0x10"/>
<bit-field key="eesave" name="EESAVE" description="Preserve EEPROM through the Chip Erase cycle" mask="0x08"/>
<bit-field key="bodlevel" name="BODLEVEL" description="Brown-out Detector trigger level" mask="0x07"/>
</register>
<register key="extended" name="EXTENDED" offset="0x02" size="1" initial-value="0xFF">
<bit-field key="selfprgen" name="SELFPRGEN" description="Self Programming enable" mask="0x01"/>
</register>
</register-group>
</module>
<module key="lockbit" name="LOCKBIT" description="Lockbits">
<register-group key="lockbit" name="LOCKBIT">
<register key="lockbit" name="LOCKBIT" offset="0x00" size="1" initial-value="0xFF">
<bit-field key="lb" name="LB" description="Memory Lock" mask="0x03"/>
</register>
</register-group>
</module>
<module key="gpio_port" name="PORT" description="I/O Port">
<register-group key="porta" name="PORTA">
<register key="pina" name="PINA" description="Port A Input Pins" offset="0x39" size="1"/>
<register key="ddra" name="DDRA" description="Port A Data Direction Register" offset="0x3A" size="1"/>
<register key="porta" name="PORTA" description="Port A Data Register" offset="0x3B" size="1"/>
</register-group>
<register-group key="portb" name="PORTB">
<register key="pinb" name="PINB" description="Port B Input Pins" offset="0x36" size="1"/>
<register key="ddrb" name="DDRB" description="Port B Data Direction Register" offset="0x37" size="1"/>
<register key="portb" name="PORTB" description="Port B Data Register" offset="0x38" size="1"/>
</register-group>
</module>
<module key="adc" name="ADC" description="Analog-to-Digital Converter">
<register-group key="adc" name="ADC">
<register key="didr0" name="DIDR0" description="Digital Input Disable Register 0" offset="0x21" size="1">
<bit-field key="adc6d" name="ADC6D" description="ADC6 Digital input Disable" mask="0x80"/>
<bit-field key="adc5d" name="ADC5D" description="ADC5 Digital input Disable" mask="0x40"/>
<bit-field key="adc4d" name="ADC4D" description="ADC4 Digital input Disable" mask="0x20"/>
<bit-field key="adc3d" name="ADC3D" description="ADC3 Digital input Disable" mask="0x10"/>
<bit-field key="arefd" name="AREFD" description="AREF Digital Input Disable" mask="0x08"/>
<bit-field key="adc2d" name="ADC2D" description="ADC2 Digital input Disable" mask="0x04"/>
<bit-field key="adc1d" name="ADC1D" description="ADC1 Digital input Disable" mask="0x02"/>
<bit-field key="adc0d" name="ADC0D" description="ADC0 Digital input Disable" mask="0x01"/>
</register>
<register key="didr1" name="DIDR1" description="Digital Input Disable Register 1" offset="0x22" size="1">
<bit-field key="adc10d" name="ADC10D" description="ADC10 Digital input Disable" mask="0x80"/>
<bit-field key="adc9d" name="ADC9D" description="ADC9 Digital input Disable" mask="0x40"/>
<bit-field key="adc8d" name="ADC8D" description="ADC8 Digital input Disable" mask="0x20"/>
<bit-field key="adc7d" name="ADC7D" description="ADC7 Digital input Disable" mask="0x10"/>
</register>
<register key="adcsrb" name="ADCSRB" description="ADC Control and Status Register B" offset="0x23" size="1">
<bit-field key="bin" name="BIN" description="Bipolar Input Mode" mask="0x80"/>
<bit-field key="gsel" name="GSEL" description="Gain Select" mask="0x40"/>
<bit-field key="ipr" name="IPR" description="Input Polarity Mode" mask="0x20"/>
<bit-field key="refs2" name="REFS2" description="Reference Selection Bit" mask="0x10"/>
<bit-field key="mux5" name="MUX5" description="Analog Channel and Gain Selection Bit 5" mask="0x08"/>
<bit-field key="adts" name="ADTS" description="ADC Auto Trigger Sources" mask="0x07"/>
</register>
<register key="adc" name="ADC" description="ADC Data Register Bytes" offset="0x24" size="2"/>
<register key="adcsra" name="ADCSRA" description="The ADC Control and Status register" offset="0x26" size="1">
<bit-field key="aden" name="ADEN" description="ADC Enable" mask="0x80"/>
<bit-field key="adsc" name="ADSC" description="ADC Start Conversion" mask="0x40"/>
<bit-field key="adate" name="ADATE" description="ADC Auto Trigger Enable" mask="0x20"/>
<bit-field key="adif" name="ADIF" description="ADC Interrupt Flag" mask="0x10"/>
<bit-field key="adie" name="ADIE" description="ADC Interrupt Enable" mask="0x08"/>
<bit-field key="adps" name="ADPS" description="ADC Prescaler Select Bits" mask="0x07"/>
</register>
<register key="admux" name="ADMUX" description="The ADC multiplexer Selection Register" offset="0x27" size="1">
<bit-field key="refs" name="REFS" description="Reference Selection Bits" mask="0xC0"/>
<bit-field key="adlar" name="ADLAR" description="Left Adjust Result" mask="0x20"/>
<bit-field key="mux" name="MUX" description="Analog Channel and Gain Selection Bits" mask="0x1F"/>
</register>
</register-group>
</module>
<module key="ac" name="AC" description="Analog Comparator">
<register-group key="ac" name="AC">
<register key="acsra" name="ACSRA" description="Analog Comparator Control And Status Register A" offset="0x28" size="1">
<bit-field key="acd" name="ACD" description="Analog Comparator Disable" mask="0x80"/>
<bit-field key="acbg" name="ACBG" description="Analog Comparator Bandgap Select" mask="0x40"/>
<bit-field key="aco" name="ACO" description="Analog Compare Output" mask="0x20"/>
<bit-field key="aci" name="ACI" description="Analog Comparator Interrupt Flag" mask="0x10"/>
<bit-field key="acie" name="ACIE" description="Analog Comparator Interrupt Enable" mask="0x08"/>
<bit-field key="acme" name="ACME" description="Analog Comparator Multiplexer Enable" mask="0x04"/>
<bit-field key="acis" name="ACIS" description="Analog Comparator Interrupt Mode Select bits" mask="0x03"/>
</register>
<register key="acsrb" name="ACSRB" description="Analog Comparator Control And Status Register B" offset="0x29" size="1">
<bit-field key="hsel" name="HSEL" description="Hysteresis Select" mask="0x80"/>
<bit-field key="hlev" name="HLEV" description="Hysteresis Level" mask="0x40"/>
<bit-field key="acm" name="ACM" description="Analog Comparator Multiplexer" mask="0x07"/>
</register>
</register-group>
</module>
<module key="usi" name="USI" description="Universal Serial Interface">
<register-group key="usi" name="USI">
<register key="usicr" name="USICR" description="USI Control Register" offset="0x2D" size="1">
<bit-field key="usisie" name="USISIE" description="Start Condition Interrupt Enable" mask="0x80"/>
<bit-field key="usioie" name="USIOIE" description="Counter Overflow Interrupt Enable" mask="0x40"/>
<bit-field key="usiwm" name="USIWM" description="USI Wire Mode Bits" mask="0x30"/>
<bit-field key="usics" name="USICS" description="USI Clock Source Select Bits" mask="0x0C"/>
<bit-field key="usiclk" name="USICLK" description="Clock Strobe" mask="0x02"/>
<bit-field key="usitc" name="USITC" description="Toggle Clock Port Pin" mask="0x01"/>
</register>
<register key="usisr" name="USISR" description="USI Status Register" offset="0x2E" size="1">
<bit-field key="usisif" name="USISIF" description="Start Condition Interrupt Flag" mask="0x80"/>
<bit-field key="usioif" name="USIOIF" description="Counter Overflow Interrupt Flag" mask="0x40"/>
<bit-field key="usipf" name="USIPF" description="Stop Condition Flag" mask="0x20"/>
<bit-field key="usidc" name="USIDC" description="Data Output Collision" mask="0x10"/>
<bit-field key="usicnt" name="USICNT" description="USI Counter Value Bits" mask="0x0F"/>
</register>
<register key="usidr" name="USIDR" description="USI Data Register" offset="0x2F" size="1"/>
<register key="usibr" name="USIBR" description="USI Buffer Register" offset="0x30" size="1"/>
<register key="usipp" name="USIPP" description="USI Pin Position" offset="0x31" size="1"/>
</register-group>
</module>
<module key="eeprom" name="EEPROM" description="EEPROM">
<register-group key="eeprom" name="EEPROM">
<register key="eecr" name="EECR" description="EEPROM Control Register" offset="0x3C" size="1">
<bit-field key="eepm" name="EEPM" description="EEPROM Programming Mode Bits" mask="0x30"/>
<bit-field key="eerie" name="EERIE" description="EEPROM Ready Interrupt Enable" mask="0x08"/>
<bit-field key="eempe" name="EEMPE" description="EEPROM Master Write Enable" mask="0x04"/>
<bit-field key="eepe" name="EEPE" description="EEPROM Write Enable" mask="0x02"/>
<bit-field key="eere" name="EERE" description="EEPROM Read Enable" mask="0x01"/>
</register>
<register key="eedr" name="EEDR" description="EEPROM Data Register" offset="0x3D" size="1"/>
<register key="eear" name="EEAR" description="EEPROM Address Register Bytes" offset="0x3E" size="2"/>
</register-group>
</module>
<module key="wdt" name="WDT" description="Watchdog Timer">
<register-group key="wdt" name="WDT">
<register key="wdtcr" name="WDTCR" description="Watchdog Timer Control Register" offset="0x41" size="1">
<bit-field key="wdif" name="WDIF" description="Watchdog Timeout Interrupt Flag" mask="0x80"/>
<bit-field key="wdie" name="WDIE" description="Watchdog Timeout Interrupt Enable" mask="0x40"/>
<bit-field key="wdp" name="WDP" description="Watchdog Timer Prescaler Bits" mask="0x27"/>
<bit-field key="wdce" name="WDCE" description="Watchdog Change Enable" mask="0x10"/>
<bit-field key="wde" name="WDE" description="Watch Dog Enable" mask="0x08"/>
</register>
</register-group>
</module>
<module key="tc8" name="TC8" description="Timer/Counter, 8-bit">
<register-group key="tc0" name="TC0">
<register key="ocr0b" name="OCR0B" description="Timer/Counter0 Output Compare Register" offset="0x32" size="1"/>
<register key="ocr0a" name="OCR0A" description="Timer/Counter0 Output Compare Register" offset="0x33" size="1"/>
<register key="tcnt0h" name="TCNT0H" description="Timer/Counter0 High" offset="0x34" size="1"/>
<register key="tccr0a" name="TCCR0A" description="Timer/Counter Control Register A" offset="0x35" size="1">
<bit-field key="tcw0" name="TCW0" description="Timer/Counter 0 Width" mask="0x80"/>
<bit-field key="icen0" name="ICEN0" description="Input Capture Mode Enable" mask="0x40"/>
<bit-field key="icnc0" name="ICNC0" description="Input Capture Noice Canceler" mask="0x20"/>
<bit-field key="ices0" name="ICES0" description="Input Capture Edge Select" mask="0x10"/>
<bit-field key="acic0" name="ACIC0" description="Analog Comparator Input Capture Enable" mask="0x08"/>
<bit-field key="wgm00" name="WGM00" description="Waveform Generation Mode" mask="0x01"/>
</register>
<register key="tcnt0l" name="TCNT0L" description="Timer/Counter0 Low" offset="0x52" size="1"/>
<register key="tccr0b" name="TCCR0B" description="Timer/Counter Control Register B" offset="0x53" size="1">
<bit-field key="tsm" name="TSM" description="Timer/Counter Synchronization Mode" mask="0x10"/>
<bit-field key="psr0" name="PSR0" description="Timer/Counter 0 Prescaler Reset" mask="0x08"/>
<bit-field key="cs0" name="CS0" description="Clock Select" mask="0x07"/>
</register>
<register key="tifr" name="TIFR" description="Timer/Counter0 Interrupt Flag register" offset="0x58" size="1">
<bit-field key="ocf0a" name="OCF0A" description="Timer/Counter0 Output Compare Flag 0A" mask="0x10"/>
<bit-field key="ocf0b" name="OCF0B" description="Timer/Counter0 Output Compare Flag 0B" mask="0x08"/>
<bit-field key="tov0" name="TOV0" description="Timer/Counter0 Overflow Flag" mask="0x02"/>
<bit-field key="icf0" name="ICF0" description="Timer/Counter0 Input Capture Flag" mask="0x01"/>
</register>
<register key="timsk" name="TIMSK" description="Timer/Counter Interrupt Mask Register" offset="0x59" size="1">
<bit-field key="ocie0a" name="OCIE0A" description="Timer/Counter0 Output Compare Match A Interrupt Enable" mask="0x10"/>
<bit-field key="ocie0b" name="OCIE0B" description="Timer/Counter0 Output Compare Match B Interrupt Enable" mask="0x08"/>
<bit-field key="toie0" name="TOIE0" description="Timer/Counter0 Overflow Interrupt Enable" mask="0x02"/>
<bit-field key="ticie0" name="TICIE0" description="Timer/Counter0 Input Capture Interrupt Enable" mask="0x01"/>
</register>
</register-group>
</module>
<module key="tc16" name="TC16" description="Timer/Counter, 16-bit">
<register-group key="tc1" name="TC1">
<register key="tccr1e" name="TCCR1E" description="Timer/Counter1 Control Register E" offset="0x20" size="1">
<bit-field key="oc1oe" name="OC1OE" description="Ouput Compare Override Enable Bits" mask="0x3F"/>
</register>
<register key="dt1" name="DT1" description="Timer/Counter 1 Dead Time Value" offset="0x44" size="1">
<bit-field key="dt1h" name="DT1H" mask="0xF0"/>
<bit-field key="dt1l" name="DT1L" mask="0x0F"/>
</register>
<register key="tc1h" name="TC1H" description="Timer/Counter 1 Register High" offset="0x45" size="1"/>
<register key="tccr1d" name="TCCR1D" description="Timer/Counter Control Register D" offset="0x46" size="1">
<bit-field key="fpie1" name="FPIE1" description="Fault Protection Interrupt Enable" mask="0x80"/>
<bit-field key="fpen1" name="FPEN1" description="Fault Protection Mode Enable" mask="0x40"/>
<bit-field key="fpnc1" name="FPNC1" description="Fault Protection Noise Canceler" mask="0x20"/>
<bit-field key="fpes1" name="FPES1" description="Fault Protection Edge Select" mask="0x10"/>
<bit-field key="fpac1" name="FPAC1" description="Fault Protection Analog Comparator Enable" mask="0x08"/>
<bit-field key="fpf1" name="FPF1" description="Fault Protection Interrupt Flag" mask="0x04"/>
<bit-field key="wgm1" name="WGM1" description="Waveform Generation Mode Bit" mask="0x03"/>
</register>
<register key="tccr1c" name="TCCR1C" description="Timer/Counter Control Register C" offset="0x47" size="1">
<bit-field key="com1a1s" name="COM1A1S" description="COM1A1 Shadow Bit" mask="0x80"/>
<bit-field key="com1a0s" name="COM1A0S" description="COM1A0 Shadow Bit" mask="0x40"/>
<bit-field key="com1b1s" name="COM1B1S" description="COM1B1 Shadow Bit" mask="0x20"/>
<bit-field key="com1b0s" name="COM1B0S" description="COM1B0 Shadow Bit" mask="0x10"/>
<bit-field key="com1d" name="COM1D" description="Comparator D output mode" mask="0x0C"/>
<bit-field key="foc1d" name="FOC1D" description="Force Output Compare Match 1D" mask="0x02"/>
<bit-field key="pwm1d" name="PWM1D" description="Pulse Width Modulator D Enable" mask="0x01"/>
</register>
<register key="ocr1d" name="OCR1D" description="Output compare register" offset="0x4A" size="1"/>
<register key="ocr1c" name="OCR1C" description="Output compare register" offset="0x4B" size="1"/>
<register key="ocr1b" name="OCR1B" description="Output Compare Register" offset="0x4C" size="1"/>
<register key="ocr1a" name="OCR1A" description="Output Compare Register" offset="0x4D" size="1"/>
<register key="tcnt1" name="TCNT1" description="Timer/Counter Register" offset="0x4E" size="1"/>
<register key="tccr1b" name="TCCR1B" description="Timer/Counter Control Register B" offset="0x4F" size="1">
<bit-field key="pwm1x" name="PWM1X" description="PWM Inversion Mode" mask="0x80"/>
<bit-field key="psr1" name="PSR1" description="Timer/Counter 1 Prescaler reset" mask="0x40"/>
<bit-field key="dtps1" name="DTPS1" description="Dead Time Prescaler" mask="0x30"/>
<bit-field key="cs1" name="CS1" description="Clock Select Bits" mask="0x0F"/>
</register>
<register key="tccr1a" name="TCCR1A" description="Timer/Counter Control Register A" offset="0x50" size="1">
<bit-field key="com1a" name="COM1A" description="Compare Output Mode, Bits" mask="0xC0"/>
<bit-field key="com1b" name="COM1B" description="Compare Output Mode, Bits" mask="0x30"/>
<bit-field key="foc1a" name="FOC1A" description="Force Output Compare Match 1A" mask="0x08"/>
<bit-field key="foc1b" name="FOC1B" description="Force Output Compare Match 1B" mask="0x04"/>
<bit-field key="pwm1a" name="PWM1A" description="Pulse Width Modulator Enable" mask="0x02"/>
<bit-field key="pwm1b" name="PWM1B" description="Pulse Width Modulator Enable" mask="0x01"/>
</register>
<register key="tifr" name="TIFR" description="Timer/Counter Interrupt Flag Register" offset="0x58" size="1">
<bit-field key="ocf1d" name="OCF1D" description="Timer/Counter1 Output Compare Flag 1D" mask="0x80"/>
<bit-field key="ocf1a" name="OCF1A" description="Timer/Counter1 Output Compare Flag 1A" mask="0x40"/>
<bit-field key="ocf1b" name="OCF1B" description="Timer/Counter1 Output Compare Flag 1B" mask="0x20"/>
<bit-field key="tov1" name="TOV1" description="Timer/Counter1 Overflow Flag" mask="0x04"/>
</register>
<register key="timsk" name="TIMSK" description="Timer/Counter Interrupt Mask Register" offset="0x59" size="1">
<bit-field key="ocie1d" name="OCIE1D" description="OCIE1D: Timer/Counter1 Output Compare Interrupt Enable" mask="0x80"/>
<bit-field key="ocie1a" name="OCIE1A" description="OCIE1A: Timer/Counter1 Output Compare Interrupt Enable" mask="0x40"/>
<bit-field key="ocie1b" name="OCIE1B" description="OCIE1A: Timer/Counter1 Output Compare B Interrupt Enable" mask="0x20"/>
<bit-field key="toie1" name="TOIE1" description="Timer/Counter1 Overflow Interrupt Enable" mask="0x04"/>
</register>
</register-group>
</module>
<module key="boot_load" name="BOOT_LOAD" description="Bootloader">
<register-group key="boot_load" name="BOOT_LOAD">
<register key="spmcsr" name="SPMCSR" description="Store Program Memory Control Register" offset="0x57" size="1">
<bit-field key="ctpb" name="CTPB" description="Clear temporary page buffer" mask="0x10"/>
<bit-field key="rflb" name="RFLB" description="Read fuse and lock bits" mask="0x08"/>
<bit-field key="pgwrt" name="PGWRT" description="Page Write" mask="0x04"/>
<bit-field key="pgers" name="PGERS" description="Page Erase" mask="0x02"/>
<bit-field key="spmen" name="SPMEN" description="Store Program Memory Enable" mask="0x01"/>
</register>
</register-group>
</module>
<module key="exint" name="EXINT" description="External Interrupts">
<register-group key="exint" name="EXINT">
<register key="pcmsk1" name="PCMSK1" description="Pin Change Enable Mask 1" offset="0x42" size="1"/>
<register key="pcmsk0" name="PCMSK0" description="Pin Change Enable Mask 0" offset="0x43" size="1"/>
<register key="mcucr" name="MCUCR" description="MCU Control Register" offset="0x55" size="1">
<bit-field key="isc01" name="ISC01" description="Interrupt Sense Control 0 Bit 1" mask="0x02"/>
<bit-field key="isc00" name="ISC00" description="Interrupt Sense Control 0 Bit 0" mask="0x01"/>
</register>
<register key="gifr" name="GIFR" description="General Interrupt Flag register" offset="0x5A" size="1">
<bit-field key="intf" name="INTF" description="External Interrupt Flags" mask="0xC0"/>
<bit-field key="pcif" name="PCIF" description="Pin Change Interrupt Flag" mask="0x20"/>
</register>
<register key="gimsk" name="GIMSK" description="General Interrupt Mask Register" offset="0x5B" size="1">
<bit-field key="int" name="INT" description="External Interrupt Request 1 Enable" mask="0xC0"/>
<bit-field key="pcie" name="PCIE" description="Pin Change Interrupt Enables" mask="0x30"/>
</register>
</register-group>
</module>
<module key="cpu" name="CPU" description="CPU Registers">
<register-group key="cpu" name="CPU">
<register key="gpior0" name="GPIOR0" description="General purpose register 0" offset="0x2A" size="1"/>
<register key="gpior1" name="GPIOR1" description="General Purpose register 1" offset="0x2B" size="1"/>
<register key="gpior2" name="GPIOR2" description="General Purpose IO register 2" offset="0x2C" size="1"/>
<register key="dwdr" name="DWDR" description="debugWIRE data register" offset="0x40" size="1"/>
<register key="clkpr" name="CLKPR" description="Clock Prescale Register" offset="0x48" size="1">
<bit-field key="clkpce" name="CLKPCE" description="Clock Prescaler Change Enable" mask="0x80"/>
<bit-field key="clkps" name="CLKPS" description="Clock Prescaler Select Bits" mask="0x0F"/>
</register>
<register key="pllcsr" name="PLLCSR" description="PLL Control and status register" offset="0x49" size="1">
<bit-field key="lsm" name="LSM" description="Low speed mode" mask="0x80"/>
<bit-field key="pcke" name="PCKE" description="PCK Enable" mask="0x04"/>
<bit-field key="plle" name="PLLE" description="PLL Enable" mask="0x02"/>
<bit-field key="plock" name="PLOCK" description="PLL Lock detector" mask="0x01"/>
</register>
<register key="osccal" name="OSCCAL" description="Oscillator Calibration Register" offset="0x51" size="1">
<bit-field key="osccal" name="OSCCAL" description="Oscillator Calibration" mask="0xFF"/>
</register>
<register key="mcusr" name="MCUSR" description="MCU Status register" offset="0x54" size="1">
<bit-field key="wdrf" name="WDRF" description="Watchdog Reset Flag" mask="0x08"/>
<bit-field key="borf" name="BORF" description="Brown-out Reset Flag" mask="0x04"/>
<bit-field key="extrf" name="EXTRF" description="External Reset Flag" mask="0x02"/>
<bit-field key="porf" name="PORF" description="Power-On Reset Flag" mask="0x01"/>
</register>
<register key="mcucr" name="MCUCR" description="MCU Control Register" offset="0x55" size="1">
<bit-field key="pud" name="PUD" description="Pull-up Disable" mask="0x40"/>
<bit-field key="se" name="SE" description="Sleep Enable" mask="0x20"/>
<bit-field key="sm" name="SM" description="Sleep Mode Select Bits" mask="0x18"/>
<bit-field key="isc0" name="ISC0" description="Interrupt Sense Control 0 bits" mask="0x03"/>
</register>
<register key="prr" name="PRR" description="Power Reduction Register" offset="0x56" size="1">
<bit-field key="prtim1" name="PRTIM1" description="Power Reduction Timer/Counter1" mask="0x08"/>
<bit-field key="prtim0" name="PRTIM0" description="Power Reduction Timer/Counter0" mask="0x04"/>
<bit-field key="prusi" name="PRUSI" description="Power Reduction USI" mask="0x02"/>
<bit-field key="pradc" name="PRADC" description="Power Reduction ADC" mask="0x01"/>
</register>
<register key="sp" name="SP" description="Stack Pointer Bytes" offset="0x5D" size="2"/>
<register key="sreg" name="SREG" description="Status Register" offset="0x5F" size="1">
<bit-field key="i" name="I" description="Global Interrupt Enable" mask="0x80"/>
<bit-field key="t" name="T" description="Bit Copy Storage" mask="0x40"/>
<bit-field key="h" name="H" description="Half Carry Flag" mask="0x20"/>
<bit-field key="s" name="S" description="Sign Bit" mask="0x10"/>
<bit-field key="v" name="V" description="Two's Complement Overflow Flag" mask="0x08"/>
<bit-field key="n" name="N" description="Negative Flag" mask="0x04"/>
<bit-field key="z" name="Z" description="Zero Flag" mask="0x02"/>
<bit-field key="c" name="C" description="Carry Flag" mask="0x01"/>
</register>
</register-group>
</module>
</modules>
<pads>
<pad key="agnd" name="AGND"/>
<pad key="avcc" name="AVCC"/>
<pad key="gnd" name="GND"/>
<pad key="pa0" name="PA0"/>
<pad key="pa1" name="PA1"/>
<pad key="pa2" name="PA2"/>
<pad key="pa3" name="PA3"/>
<pad key="pa4" name="PA4"/>
<pad key="pa5" name="PA5"/>
<pad key="pa6" name="PA6"/>
<pad key="pa7" name="PA7"/>
<pad key="pb0" name="PB0"/>
<pad key="pb1" name="PB1"/>
<pad key="pb2" name="PB2"/>
<pad key="pb3" name="PB3"/>
<pad key="pb4" name="PB4"/>
<pad key="pb5" name="PB5"/>
<pad key="pb6" name="PB6"/>
<pad key="pb7" name="PB7"/>
<pad key="vcc" name="VCC"/>
</pads>
<pinouts>
<pinout key="soic_20" name="SOIC_20" type="soic">
<pin position="1" pad-key="pb0"/>
<pin position="2" pad-key="pb1"/>
<pin position="3" pad-key="pb2"/>
<pin position="4" pad-key="pb3"/>
<pin position="5" pad-key="vcc"/>
<pin position="6" pad-key="gnd"/>
<pin position="7" pad-key="pb4"/>
<pin position="8" pad-key="pb5"/>
<pin position="9" pad-key="pb6"/>
<pin position="10" pad-key="pb7"/>
<pin position="11" pad-key="pa7"/>
<pin position="12" pad-key="pa6"/>
<pin position="13" pad-key="pa5"/>
<pin position="14" pad-key="pa4"/>
<pin position="15" pad-key="avcc"/>
<pin position="16" pad-key="agnd"/>
<pin position="17" pad-key="pa3"/>
<pin position="18" pad-key="pa2"/>
<pin position="19" pad-key="pa1"/>
<pin position="20" pad-key="pa0"/>
</pinout>
<pinout key="qfn_32" name="QFN_32" type="qfn">
<pin position="1"/>
<pin position="2" pad-key="pb3"/>
<pin position="3"/>
<pin position="4" pad-key="vcc"/>
<pin position="5" pad-key="gnd"/>
<pin position="6"/>
<pin position="7" pad-key="pb4"/>
<pin position="8" pad-key="pb5"/>
<pin position="9"/>
<pin position="10" pad-key="pb6"/>
<pin position="11" pad-key="pb7"/>
<pin position="12"/>
<pin position="13" pad-key="pa7"/>
<pin position="14" pad-key="pa6"/>
<pin position="15" pad-key="pa5"/>
<pin position="16"/>
<pin position="17" pad-key="pa4"/>
<pin position="18" pad-key="avcc"/>
<pin position="19"/>
<pin position="20"/>
<pin position="21" pad-key="agnd"/>
<pin position="22" pad-key="pa3"/>
<pin position="23" pad-key="pa2"/>
<pin position="24"/>
<pin position="25" pad-key="pa1"/>
<pin position="26" pad-key="pa0"/>
<pin position="27"/>
<pin position="28"/>
<pin position="29"/>
<pin position="30" pad-key="pb0"/>
<pin position="31" pad-key="pb1"/>
<pin position="32" pad-key="pb2"/>
</pinout>
</pinouts>
<variants>
<variant key="attiny861v_10mu" name="ATtiny861V-10MU" pinout-key="qfn_32"/>
<variant key="attiny861v_10pu" name="ATtiny861V-10PU" pinout-key="soic_20"/>
<variant key="attiny861v_10su" name="ATtiny861V-10SU" pinout-key="soic_20"/>
<variant key="attiny861_20mu" name="ATtiny861-20MU" pinout-key="qfn_32"/>
<variant key="attiny861_20pu" name="ATtiny861-20PU" pinout-key="soic_20"/>
<variant key="attiny861_20su" name="ATtiny861-20SU" pinout-key="soic_20"/>
</variants>
</device>