Files
BloomPatched/resources/TargetDescriptionFiles/AVR8/ATMEGA324PB.xml
2025-11-23 20:39:37 +04:00

1319 lines
100 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<device name="ATmega324PB" family="AVR8" configuration-value="atmega324pb" architecture="AVRe+" avr-family="MEGA">
<property-groups>
<property-group key="signatures">
<property key="jtagid" value="0x0951703F"/>
<property key="signature0" value="0x1e"/>
<property key="signature1" value="0x95"/>
<property key="signature2" value="0x17"/>
</property-group>
<property-group key="ocd">
<property key="ocd_revision" value="3"/>
<property key="ocd_datareg" value="0x31"/>
<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="45"/>
<property key="ispchiperase_pollmethod" value="1"/>
<property key="ispprogramflash_mode" value="0x41"/>
<property key="ispprogramflash_blocksize" value="128"/>
<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="0x0E 0x1E 0x0F 0x1F 0x2E 0x3E 0x2F 0x3F 0x4E 0x5E 0x4F 0x5F 0x6E 0x7E 0x6F 0x7F 0x66 0x76 0x67 0x77 0x6A 0x7A 0x6B 0x7B 0xBE 0xFD 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="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="0x0F"/>
<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="55"/>
<property key="ispchiperase_pollmethod" value="1"/>
<property key="ispprogramflash_mode" value="0x41"/>
<property key="ispprogramflash_blocksize" value="64"/>
<property key="ispprogramflash_delay" value="6"/>
<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 0x0F 0x1F 0x2E 0x3E 0x2F 0x3F 0x4E 0x5E 0x4F 0x5F 0x6E 0x7E 0x6F 0x7F 0x66 0x76 0x67 0x77 0x6A 0x7A 0x6B 0x7B 0xBE 0xFD 0x00 0x01 0x00 0x00 0x00 0x00"/>
<property key="ppenterprogmode_stabdelay" value="100"/>
<property key="ppenterprogmode_progmodedelay" value="0"/>
<property key="ppenterprogmode_latchcycles" value="6"/>
<property key="ppenterprogmode_togglevtg" value="1"/>
<property key="ppenterprogmode_poweroffdelay" value="20"/>
<property key="ppenterprogmode_resetdelayms" value="0"/>
<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="0x0F"/>
<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="0x0E 0x1E 0x0F 0x1F 0x2E 0x3E 0x2F 0x3F 0x4E 0x5E 0x4F 0x5F 0x6E 0x7E 0x6F 0x7F 0x66 0x76 0x67 0x77 0x6A 0x7A 0x6B 0x7B 0xBE 0xFD 0x0C 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="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="0x0F"/>
<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="boot_section_options">
<property-group key="boot_section_1">
<property key="start_address" value="0x00007E00"/>
<property key="size" value="512"/>
<property key="page_size" value="128"/>
</property-group>
<property-group key="boot_section_2">
<property key="start_address" value="0x00007C00"/>
<property key="size" value="1024"/>
<property key="page_size" value="128"/>
</property-group>
<property-group key="boot_section_3">
<property key="start_address" value="0x00007800"/>
<property key="size" value="2048"/>
<property key="page_size" value="128"/>
</property-group>
<property-group key="boot_section_4">
<property key="start_address" value="0x00007000"/>
<property key="size" value="4096"/>
<property key="page_size" value="128"/>
</property-group>
</property-group>
</property-groups>
<address-spaces>
<address-space key="prog" start="0x00000000" size="32768" endianness="little">
<memory-segment key="internal_program_memory" name="Internal FLASH" type="flash" start="0x00000000" size="32768" page-size="128" 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="2304" 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="224" executable="0"/>
<memory-segment key="internal_ram" name="Internal RAM" type="ram" start="0x00000100" size="2048" executable="0"/>
</address-space>
<address-space key="eeprom" start="0x00000000" size="1024" endianness="little">
<memory-segment key="internal_eeprom" name="Internal EEPROM" type="eeprom" start="0x00000000" size="1024" 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="isp"/>
<physical-interface value="hvpp"/>
<physical-interface value="jtag">
<signals>
<signal name="TCK" pad-key="pc2"/>
<signal name="TMS" pad-key="pc3"/>
<signal name="TDO" pad-key="pc4"/>
<signal name="TDI" pad-key="pc5"/>
</signals>
</physical-interface>
</physical-interfaces>
<peripherals>
<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="AC" pad-key="pc5" alternative="false" function="default"/>
<signal name="AIN0" pad-key="pb2" alternative="false" function="default"/>
<signal name="AIN1" pad-key="pb3" alternative="false" function="default"/>
</signals>
</peripheral>
<peripheral key="usart0" name="USART0" module-key="usart">
<register-group-instance description="USART" register-group-key="usart0" address-space-key="data" offset="0x0"/>
<signals>
<signal name="TXD" pad-key="pd1" alternative="false" function="default"/>
<signal name="RXD" pad-key="pd0" alternative="false" function="default"/>
<signal name="XCK" pad-key="pb0" alternative="false" function="default"/>
</signals>
</peripheral>
<peripheral key="usart1" name="USART1" module-key="usart">
<register-group-instance description="USART" register-group-key="usart1" address-space-key="data" offset="0x0"/>
<signals>
<signal name="TXD" pad-key="pd3" alternative="false" function="default"/>
<signal name="RXD" pad-key="pd2" alternative="false" function="default"/>
<signal name="XCK" pad-key="pd4" alternative="false" function="default"/>
</signals>
</peripheral>
<peripheral key="usart2" name="USART2" module-key="usart">
<register-group-instance description="USART" register-group-key="usart2" address-space-key="data" offset="0x0"/>
<signals>
<signal name="TXD" pad-key="pe3" alternative="false" function="default"/>
<signal name="RXD" pad-key="pe2" alternative="false" function="default"/>
<signal name="XCK" pad-key="pd7" alternative="false" function="default"/>
</signals>
</peripheral>
<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" alternative="false" index="0" function="default"/>
<signal name="PA1" pad-key="pa1" alternative="false" index="1" function="default"/>
<signal name="PA2" pad-key="pa2" alternative="false" index="2" function="default"/>
<signal name="PA3" pad-key="pa3" alternative="false" index="3" function="default"/>
<signal name="PA4" pad-key="pa4" alternative="false" index="4" function="default"/>
<signal name="PA5" pad-key="pa5" alternative="false" index="5" function="default"/>
<signal name="PA6" pad-key="pa6" alternative="false" index="6" function="default"/>
<signal name="PA7" pad-key="pa7" alternative="false" index="7" function="default"/>
</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" alternative="false" index="0" function="default"/>
<signal name="PB1" pad-key="pb1" alternative="false" index="1" function="default"/>
<signal name="PB2" pad-key="pb2" alternative="false" index="2" function="default"/>
<signal name="PB3" pad-key="pb3" alternative="false" index="3" function="default"/>
<signal name="PB4" pad-key="pb4" alternative="false" index="4" function="default"/>
<signal name="PB5" pad-key="pb5" alternative="false" index="5" function="default"/>
<signal name="PB6" pad-key="pb6" alternative="false" index="6" function="default"/>
<signal name="PB7" pad-key="pb7" alternative="false" index="7" function="default"/>
</signals>
</peripheral>
<peripheral key="portc" name="PORTC" module-key="gpio_port">
<register-group-instance description="I/O Port" register-group-key="portc" address-space-key="data" offset="0x0"/>
<signals>
<signal name="PC0" pad-key="pc0" alternative="false" index="0" function="default"/>
<signal name="PC1" pad-key="pc1" alternative="false" index="1" function="default"/>
<signal name="PC2" pad-key="pc2" alternative="false" index="2" function="default"/>
<signal name="PC3" pad-key="pc3" alternative="false" index="3" function="default"/>
<signal name="PC4" pad-key="pc4" alternative="false" index="4" function="default"/>
<signal name="PC5" pad-key="pc5" alternative="false" index="5" function="default"/>
<signal name="PC6" pad-key="pc6" alternative="false" index="6" function="default"/>
<signal name="PC7" pad-key="pc7" alternative="false" index="7" function="default"/>
</signals>
</peripheral>
<peripheral key="portd" name="PORTD" module-key="gpio_port">
<register-group-instance description="I/O Port" register-group-key="portd" address-space-key="data" offset="0x0"/>
<signals>
<signal name="PD0" pad-key="pd0" alternative="false" index="0" function="default"/>
<signal name="PD1" pad-key="pd1" alternative="false" index="1" function="default"/>
<signal name="PD2" pad-key="pd2" alternative="false" index="2" function="default"/>
<signal name="PD3" pad-key="pd3" alternative="false" index="3" function="default"/>
<signal name="PD4" pad-key="pd4" alternative="false" index="4" function="default"/>
<signal name="PD5" pad-key="pd5" alternative="false" index="5" function="default"/>
<signal name="PD6" pad-key="pd6" alternative="false" index="6" function="default"/>
<signal name="PD7" pad-key="pd7" alternative="false" index="7" function="default"/>
</signals>
</peripheral>
<peripheral key="porte" name="PORTE" module-key="gpio_port">
<register-group-instance description="I/O Port" register-group-key="porte" address-space-key="data" offset="0x0"/>
<signals>
<signal name="PE0" pad-key="pe0" alternative="false" index="0" function="default"/>
<signal name="PE1" pad-key="pe1" alternative="false" index="1" function="default"/>
<signal name="PE2" pad-key="pe2" alternative="false" index="2" function="default"/>
<signal name="PE3" pad-key="pe3" alternative="false" index="3" function="default"/>
<signal name="PE4" pad-key="pe4" alternative="false" index="4" function="default"/>
<signal name="PE5" pad-key="pe5" alternative="false" index="5" function="default"/>
<signal name="PE6" pad-key="pe6" alternative="false" index="6" function="default"/>
</signals>
</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="T" pad-key="pb0" alternative="false" function="default"/>
<signal name="OCB" pad-key="pb4" alternative="false" function="default"/>
<signal name="OCA" pad-key="pb3" alternative="false" function="default"/>
</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="T" pad-key="pb1" alternative="false" function="default"/>
<signal name="ICP" pad-key="pd6" alternative="false" function="default"/>
<signal name="OCA" pad-key="pd5" alternative="false" function="default"/>
<signal name="OCB" pad-key="pd4" alternative="false" function="default"/>
</signals>
</peripheral>
<peripheral key="tc3" name="TC3" module-key="tc16">
<register-group-instance description="Timer/Counter, 16-bit" register-group-key="tc3" address-space-key="data" offset="0x0"/>
<signals>
<signal name="T" pad-key="pd0" alternative="false" function="default"/>
<signal name="ICP" pad-key="pb5" alternative="false" function="default"/>
<signal name="OCA" pad-key="pb6" alternative="false" function="default"/>
<signal name="OCB" pad-key="pb7" alternative="false" function="default"/>
</signals>
</peripheral>
<peripheral key="tc4" name="TC4" module-key="tc16">
<register-group-instance description="Timer/Counter, 16-bit" register-group-key="tc4" address-space-key="data" offset="0x0"/>
<signals>
<signal name="T" pad-key="pc2" alternative="false" function="default"/>
<signal name="ICP" pad-key="pc3" alternative="false" function="default"/>
<signal name="OCA" pad-key="pc4" alternative="false" function="default"/>
<signal name="OCB" pad-key="pb7" alternative="false" function="default"/>
</signals>
</peripheral>
<peripheral key="tc2" name="TC2" module-key="tc8_async">
<register-group-instance description="Timer/Counter, 8-bit Async" register-group-key="tc2" address-space-key="data" offset="0x0"/>
<signals>
<signal name="OCA" pad-key="pd7" alternative="false" function="default"/>
<signal name="OCB" pad-key="pd6" alternative="false" function="default"/>
</signals>
</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="ptc" name="PTC" module-key="ptc">
<signals>
<signal name="X" pad-key="pd0" alternative="false" index="0" function="default"/>
<signal name="X" pad-key="pd1" alternative="false" index="1" function="default"/>
<signal name="X" pad-key="pd2" alternative="false" index="2" function="default"/>
<signal name="X" pad-key="pd3" alternative="false" index="3" function="default"/>
<signal name="X" pad-key="pd4" alternative="false" index="4" function="default"/>
<signal name="X" pad-key="pd5" alternative="false" index="5" function="default"/>
<signal name="X" pad-key="pd6" alternative="false" index="6" function="default"/>
<signal name="X" pad-key="pd7" alternative="false" index="7" function="default"/>
<signal name="X" pad-key="pe2" alternative="false" index="8" function="default"/>
<signal name="X" pad-key="pe3" alternative="false" index="9" function="default"/>
<signal name="X" pad-key="pc0" alternative="false" index="10" function="default"/>
<signal name="X" pad-key="pc1" alternative="false" index="11" function="default"/>
<signal name="X" pad-key="pc2" alternative="false" index="12" function="default"/>
<signal name="X" pad-key="pc3" alternative="false" index="13" function="default"/>
<signal name="X" pad-key="pc4" alternative="false" index="14" function="default"/>
<signal name="X" pad-key="pc5" alternative="false" index="15" function="default"/>
<signal name="Y" pad-key="pa0" alternative="false" index="0" function="default"/>
<signal name="Y" pad-key="pa1" alternative="false" index="1" function="default"/>
<signal name="Y" pad-key="pa2" alternative="false" index="2" function="default"/>
<signal name="Y" pad-key="pa3" alternative="false" index="3" function="default"/>
<signal name="Y" pad-key="pa4" alternative="false" index="4" function="default"/>
<signal name="Y" pad-key="pa5" alternative="false" index="5" function="default"/>
<signal name="Y" pad-key="pa6" alternative="false" index="6" function="default"/>
<signal name="Y" pad-key="pa7" alternative="false" index="7" function="default"/>
<signal name="Y" pad-key="pd0" alternative="false" index="8" function="default"/>
<signal name="Y" pad-key="pd1" alternative="false" index="9" function="default"/>
<signal name="Y" pad-key="pd2" alternative="false" index="10" function="default"/>
<signal name="Y" pad-key="pd3" alternative="false" index="11" function="default"/>
<signal name="Y" pad-key="pd4" alternative="false" index="12" function="default"/>
<signal name="Y" pad-key="pd5" alternative="false" index="13" function="default"/>
<signal name="Y" pad-key="pd6" alternative="false" index="14" function="default"/>
<signal name="Y" pad-key="pd7" alternative="false" index="15" function="default"/>
<signal name="Y" pad-key="pe2" alternative="false" index="16" function="default"/>
<signal name="Y" pad-key="pe3" alternative="false" index="17" function="default"/>
<signal name="Y" pad-key="pc0" alternative="false" index="18" function="default"/>
<signal name="Y" pad-key="pc1" alternative="false" index="19" function="default"/>
<signal name="Y" pad-key="pc2" alternative="false" index="20" function="default"/>
<signal name="Y" pad-key="pc3" alternative="false" index="21" function="default"/>
<signal name="Y" pad-key="pc4" alternative="false" index="22" function="default"/>
<signal name="Y" pad-key="pc5" alternative="false" index="23" function="default"/>
<signal name="Y" pad-key="pb0" alternative="false" index="24" function="default"/>
<signal name="Y" pad-key="pb1" alternative="false" index="25" function="default"/>
<signal name="Y" pad-key="pb2" alternative="false" index="26" function="default"/>
<signal name="Y" pad-key="pb3" alternative="false" index="27" function="default"/>
<signal name="Y" pad-key="pb4" alternative="false" index="28" function="default"/>
<signal name="Y" pad-key="pb5" alternative="false" index="29" function="default"/>
<signal name="Y" pad-key="pb6" alternative="false" index="30" function="default"/>
<signal name="Y" pad-key="pb7" alternative="false" index="31" function="default"/>
</signals>
</peripheral>
<peripheral key="jtag" name="JTAG" module-key="jtag">
<register-group-instance description="JTAG Interface" register-group-key="jtag" address-space-key="data" offset="0x0"/>
<signals>
<signal name="TCK" pad-key="pc2" alternative="false" function="default"/>
<signal name="TMS" pad-key="pc3" alternative="false" function="default"/>
<signal name="TDO" pad-key="pc4" alternative="false" function="default"/>
<signal name="TDI" pad-key="pc5" alternative="false" function="default"/>
</signals>
</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" alternative="false" index="0" function="default"/>
<signal name="PCINT" pad-key="pa1" alternative="false" index="1" function="default"/>
<signal name="PCINT" pad-key="pa2" alternative="false" index="2" function="default"/>
<signal name="PCINT" pad-key="pa3" alternative="false" index="3" function="default"/>
<signal name="PCINT" pad-key="pa4" alternative="false" index="4" function="default"/>
<signal name="PCINT" pad-key="pa5" alternative="false" index="5" function="default"/>
<signal name="PCINT" pad-key="pa6" alternative="false" index="6" function="default"/>
<signal name="PCINT" pad-key="pa7" alternative="false" index="7" function="default"/>
<signal name="PCINT" pad-key="pb0" alternative="false" index="8" function="default"/>
<signal name="PCINT" pad-key="pb1" alternative="false" index="9" function="default"/>
<signal name="PCINT" pad-key="pb2" alternative="false" index="10" function="default"/>
<signal name="PCINT" pad-key="pb3" alternative="false" index="11" function="default"/>
<signal name="PCINT" pad-key="pb4" alternative="false" index="12" function="default"/>
<signal name="PCINT" pad-key="pb5" alternative="false" index="13" function="default"/>
<signal name="PCINT" pad-key="pb6" alternative="false" index="14" function="default"/>
<signal name="PCINT" pad-key="pb7" alternative="false" index="15" function="default"/>
<signal name="PCINT" pad-key="pc0" alternative="false" index="16" function="default"/>
<signal name="PCINT" pad-key="pc1" alternative="false" index="17" function="default"/>
<signal name="PCINT" pad-key="pc2" alternative="false" index="18" function="default"/>
<signal name="PCINT" pad-key="pc3" alternative="false" index="19" function="default"/>
<signal name="PCINT" pad-key="pc4" alternative="false" index="20" function="default"/>
<signal name="PCINT" pad-key="pc5" alternative="false" index="21" function="default"/>
<signal name="PCINT" pad-key="pc6" alternative="false" index="22" function="default"/>
<signal name="PCINT" pad-key="pc7" alternative="false" index="23" function="default"/>
<signal name="PCINT" pad-key="pd0" alternative="false" index="24" function="default"/>
<signal name="PCINT" pad-key="pd1" alternative="false" index="25" function="default"/>
<signal name="PCINT" pad-key="pd2" alternative="false" index="26" function="default"/>
<signal name="PCINT" pad-key="pd3" alternative="false" index="27" function="default"/>
<signal name="PCINT" pad-key="pd4" alternative="false" index="28" function="default"/>
<signal name="PCINT" pad-key="pd5" alternative="false" index="29" function="default"/>
<signal name="PCINT" pad-key="pd6" alternative="false" index="30" function="default"/>
<signal name="PCINT" pad-key="pd7" alternative="false" index="31" function="default"/>
<signal name="PCINT" pad-key="pe0" alternative="false" index="32" function="default"/>
<signal name="PCINT" pad-key="pe1" alternative="false" index="33" function="default"/>
<signal name="INT" pad-key="pd2" alternative="false" index="0" function="default"/>
<signal name="INT" pad-key="pd3" alternative="false" index="1" function="default"/>
<signal name="INT" pad-key="pb2" alternative="false" index="2" function="default"/>
</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="ADC0" pad-key="pa0" alternative="false" function="default"/>
<signal name="ADC1" pad-key="pa1" alternative="false" function="default"/>
<signal name="ADC2" pad-key="pa2" alternative="false" function="default"/>
<signal name="ADC3" pad-key="pa3" alternative="false" function="default"/>
<signal name="ADC4" pad-key="pa4" alternative="false" function="default"/>
<signal name="ADC5" pad-key="pa5" alternative="false" function="default"/>
<signal name="ADC6" pad-key="pa6" alternative="false" function="default"/>
<signal name="ADC7" pad-key="pa7" alternative="false" function="default"/>
</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="spi0" name="SPI0" module-key="spi">
<register-group-instance description="Serial Peripheral Interface" register-group-key="spi0" address-space-key="data" offset="0x0"/>
<signals>
<signal name="SS" pad-key="pb4" alternative="false" function="default"/>
<signal name="MOSI" pad-key="pb5" alternative="false" function="default"/>
<signal name="MISO" pad-key="pb6" alternative="false" function="default"/>
<signal name="SCK" pad-key="pb7" alternative="false" function="default"/>
</signals>
</peripheral>
<peripheral key="spi1" name="SPI1" module-key="spi">
<register-group-instance description="Serial Peripheral Interface" register-group-key="spi1" address-space-key="data" offset="0x0"/>
<signals>
<signal name="SS" pad-key="pd6" alternative="false" function="default"/>
<signal name="SCK" pad-key="pd7" alternative="false" function="default"/>
<signal name="MISO" pad-key="pe2" alternative="false" function="default"/>
<signal name="MOSI" pad-key="pe3" alternative="false" function="default"/>
</signals>
</peripheral>
<peripheral key="twi0" name="TWI0" module-key="twi">
<register-group-instance description="Two Wire Serial Interface" register-group-key="twi0" address-space-key="data" offset="0x0"/>
<signals>
<signal name="SDA0" pad-key="pc1" alternative="false" function="default"/>
<signal name="SCL0" pad-key="pc0" alternative="false" function="default"/>
</signals>
</peripheral>
<peripheral key="twi1" name="TWI1" module-key="twi">
<register-group-instance description="Two Wire Serial Interface" register-group-key="twi1" address-space-key="data" offset="0x0"/>
<signals>
<signal name="SDA1" pad-key="pe5" alternative="false" function="default"/>
<signal name="SCL1" pad-key="pe6" alternative="false" function="default"/>
</signals>
</peripheral>
<peripheral key="cfd" name="CFD" module-key="cfd">
<register-group-instance description="Clock Failure Detection" register-group-key="cfd" address-space-key="data" offset="0x0"/>
</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"/>
<signals>
<signal name="CLK" pad-key="pb1" alternative="false" index="0" function="default"/>
</signals>
</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 PORTB1" 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="0x99">
<bit-field key="ocden" name="OCDEN" description="On-Chip Debug Enabled" mask="0x80"/>
<bit-field key="jtagen" name="JTAGEN" description="JTAG Interface Enabled" mask="0x40"/>
<bit-field key="spien" name="SPIEN" description="Serial program downloading (SPI) enabled" mask="0x20"/>
<bit-field key="wdton" name="WDTON" description="Watchdog timer always on" mask="0x10"/>
<bit-field key="eesave" name="EESAVE" description="Preserve EEPROM through the Chip Erase cycle" mask="0x08"/>
<bit-field key="bootsz" name="BOOTSZ" description="Select Boot Size" mask="0x06"/>
<bit-field key="bootrst" name="BOOTRST" description="Boot Reset vector Enabled" mask="0x01"/>
</register>
<register key="extended" name="EXTENDED" offset="0x02" size="1" initial-value="0x07">
<bit-field key="cfd" name="CFD" description="Clock Failure Detection" mask="0x08"/>
<bit-field key="bodlevel" name="BODLEVEL" description="Brown-out Detector trigger level" mask="0x07"/>
</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"/>
<bit-field key="blb0" name="BLB0" description="Boot Loader Protection Mode" mask="0x0C"/>
<bit-field key="blb1" name="BLB1" description="Boot Loader Protection Mode" mask="0x30"/>
</register>
</register-group>
</module>
<module key="ac" name="AC" description="Analog Comparator">
<register-group key="ac" name="AC">
<register key="acsrb" name="ACSRB" description="Analog Comparator Control And Status Register B" offset="0x4F" size="1">
<bit-field key="acoe" name="ACOE" description="Analog Comparator Output enable" mask="0x01"/>
</register>
<register key="acsr" name="ACSR" description="Analog Comparator Control And Status Register" offset="0x50" 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="acic" name="ACIC" description="Analog Comparator Input Capture Enable" mask="0x04"/>
<bit-field key="acis" name="ACIS" description="Analog Comparator Interrupt Mode Select bits" mask="0x03"/>
</register>
<register key="didr1" name="DIDR1" description="Digital Input Disable Register 1" offset="0x7F" size="1">
<bit-field key="ain1d" name="AIN1D" description="AIN1 Digital Input Disable" mask="0x02"/>
<bit-field key="ain0d" name="AIN0D" description="AIN0 Digital Input Disable" mask="0x01"/>
</register>
</register-group>
</module>
<module key="usart" name="USART" description="USART">
<register-group key="usart0" name="USART0">
<register key="ucsr0a" name="UCSR0A" description="USART Control and Status Register A" offset="0xC0" size="1">
<bit-field key="rxc" name="RXC" description="USART Receive Complete" mask="0x80"/>
<bit-field key="txc" name="TXC" description="USART Transmitt Complete" mask="0x40"/>
<bit-field key="udre" name="UDRE" description="USART Data Register Empty" mask="0x20"/>
<bit-field key="fe" name="FE" description="Framing Error" mask="0x10"/>
<bit-field key="dor" name="DOR" description="Data overRun" mask="0x08"/>
<bit-field key="upe" name="UPE" description="Parity Error" mask="0x04"/>
<bit-field key="u2x" name="U2X" description="Double the USART transmission speed" mask="0x02"/>
<bit-field key="mpcm" name="MPCM" description="Multi-processor Communication Mode" mask="0x01"/>
</register>
<register key="ucsr0b" name="UCSR0B" description="USART Control and Status Register B" offset="0xC1" size="1">
<bit-field key="rxcie" name="RXCIE" description="RX Complete Interrupt Enable" mask="0x80"/>
<bit-field key="txcie" name="TXCIE" description="TX Complete Interrupt Enable" mask="0x40"/>
<bit-field key="udrie" name="UDRIE" description="USART Data register Empty Interrupt Enable" mask="0x20"/>
<bit-field key="rxen" name="RXEN" description="Receiver Enable" mask="0x10"/>
<bit-field key="txen" name="TXEN" description="Transmitter Enable" mask="0x08"/>
<bit-field key="ucsz2" name="UCSZ2" description="Character Size" mask="0x04"/>
<bit-field key="rxb8" name="RXB8" description="Receive Data Bit 8" mask="0x02"/>
<bit-field key="txb8" name="TXB8" description="Transmit Data Bit 8" mask="0x01"/>
</register>
<register key="ucsr0c" name="UCSR0C" description="USART Control and Status Register C" offset="0xC2" size="1">
<bit-field key="umsel" name="UMSEL" description="USART Mode Select" mask="0xC0"/>
<bit-field key="upm" name="UPM" description="Parity Mode Bits" mask="0x30"/>
<bit-field key="usbs" name="USBS" description="Stop Bit Select" mask="0x08"/>
<bit-field key="ucsz" name="UCSZ" description="Character Size" mask="0x06"/>
<bit-field key="ucpol" name="UCPOL" description="Clock Polarity" mask="0x01"/>
</register>
<register key="ucsr0d" name="UCSR0D" description="USART Control and Status Register D" offset="0xC3" size="1">
<bit-field key="rxsie" name="RXSIE" description="RX Start Frame Interrupt Enable" mask="0x80"/>
<bit-field key="rxs" name="RXS" description="Start Frame Detect Flag" mask="0x40"/>
<bit-field key="sfde" name="SFDE" description="Start Frame Detection Enable" mask="0x20"/>
</register>
<register key="ubrr0" name="UBRR0" description="USART Baud Rate Register Bytes" offset="0xC4" size="2"/>
<register key="udr0" name="UDR0" description="USART I/O Data Register" offset="0xC6" size="1"/>
</register-group>
<register-group key="usart1" name="USART1">
<register key="ucsr1a" name="UCSR1A" description="USART Control and Status Register A" offset="0xC8" size="1">
<bit-field key="rxc" name="RXC" description="USART Receive Complete" mask="0x80"/>
<bit-field key="txc" name="TXC" description="USART Transmitt Complete" mask="0x40"/>
<bit-field key="udre" name="UDRE" description="USART Data Register Empty" mask="0x20"/>
<bit-field key="fe" name="FE" description="Framing Error" mask="0x10"/>
<bit-field key="dor" name="DOR" description="Data overRun" mask="0x08"/>
<bit-field key="upe" name="UPE" description="Parity Error" mask="0x04"/>
<bit-field key="u2x" name="U2X" description="Double the USART transmission speed" mask="0x02"/>
<bit-field key="mpcm" name="MPCM" description="Multi-processor Communication Mode" mask="0x01"/>
</register>
<register key="ucsr1b" name="UCSR1B" description="USART Control and Status Register B" offset="0xC9" size="1">
<bit-field key="rxcie" name="RXCIE" description="RX Complete Interrupt Enable" mask="0x80"/>
<bit-field key="txcie" name="TXCIE" description="TX Complete Interrupt Enable" mask="0x40"/>
<bit-field key="udrie" name="UDRIE" description="USART Data register Empty Interrupt Enable" mask="0x20"/>
<bit-field key="rxen" name="RXEN" description="Receiver Enable" mask="0x10"/>
<bit-field key="txen" name="TXEN" description="Transmitter Enable" mask="0x08"/>
<bit-field key="ucsz2" name="UCSZ2" description="Character Size" mask="0x04"/>
<bit-field key="rxb8" name="RXB8" description="Receive Data Bit 8" mask="0x02"/>
<bit-field key="txb8" name="TXB8" description="Transmit Data Bit 8" mask="0x01"/>
</register>
<register key="ucsr1c" name="UCSR1C" description="USART Control and Status Register C" offset="0xCA" size="1">
<bit-field key="umsel" name="UMSEL" description="USART Mode Select" mask="0xC0"/>
<bit-field key="upm" name="UPM" description="Parity Mode Bits" mask="0x30"/>
<bit-field key="usbs" name="USBS" description="Stop Bit Select" mask="0x08"/>
<bit-field key="ucsz" name="UCSZ" description="Character Size" mask="0x06"/>
<bit-field key="ucpol" name="UCPOL" description="Clock Polarity" mask="0x01"/>
</register>
<register key="ucsr1d" name="UCSR1D" description="USART Control and Status Register D" offset="0xCB" size="1">
<bit-field key="rxsie" name="RXSIE" description="RX Start Frame Interrupt Enable" mask="0x80"/>
<bit-field key="rxs" name="RXS" description="Start Frame Detect Flag" mask="0x40"/>
<bit-field key="sfde" name="SFDE" description="Start Frame Detection Enable" mask="0x20"/>
</register>
<register key="ubrr1" name="UBRR1" description="USART Baud Rate Register Bytes" offset="0xCC" size="2"/>
<register key="udr1" name="UDR1" description="USART I/O Data Register" offset="0xCE" size="1"/>
</register-group>
<register-group key="usart2" name="USART2">
<register key="ucsr2a" name="UCSR2A" description="USART Control and Status Register A" offset="0xD0" size="1">
<bit-field key="rxc" name="RXC" description="USART Receive Complete" mask="0x80"/>
<bit-field key="txc" name="TXC" description="USART Transmitt Complete" mask="0x40"/>
<bit-field key="udre" name="UDRE" description="USART Data Register Empty" mask="0x20"/>
<bit-field key="fe" name="FE" description="Framing Error" mask="0x10"/>
<bit-field key="dor" name="DOR" description="Data overRun" mask="0x08"/>
<bit-field key="upe" name="UPE" description="Parity Error" mask="0x04"/>
<bit-field key="u2x" name="U2X" description="Double the USART transmission speed" mask="0x02"/>
<bit-field key="mpcm" name="MPCM" description="Multi-processor Communication Mode" mask="0x01"/>
</register>
<register key="ucsr2b" name="UCSR2B" description="USART Control and Status Register B" offset="0xD1" size="1">
<bit-field key="rxcie" name="RXCIE" description="RX Complete Interrupt Enable" mask="0x80"/>
<bit-field key="txcie" name="TXCIE" description="TX Complete Interrupt Enable" mask="0x40"/>
<bit-field key="udrie" name="UDRIE" description="USART Data register Empty Interrupt Enable" mask="0x20"/>
<bit-field key="rxen" name="RXEN" description="Receiver Enable" mask="0x10"/>
<bit-field key="txen" name="TXEN" description="Transmitter Enable" mask="0x08"/>
<bit-field key="ucsz2" name="UCSZ2" description="Character Size" mask="0x04"/>
<bit-field key="rxb8" name="RXB8" description="Receive Data Bit 8" mask="0x02"/>
<bit-field key="txb8" name="TXB8" description="Transmit Data Bit 8" mask="0x01"/>
</register>
<register key="ucsr2c" name="UCSR2C" description="USART Control and Status Register C" offset="0xD2" size="1">
<bit-field key="umsel" name="UMSEL" description="USART Mode Select" mask="0xC0"/>
<bit-field key="upm" name="UPM" description="Parity Mode Bits" mask="0x30"/>
<bit-field key="usbs" name="USBS" description="Stop Bit Select" mask="0x08"/>
<bit-field key="ucsz" name="UCSZ" description="Character Size" mask="0x06"/>
<bit-field key="ucpol" name="UCPOL" description="Clock Polarity" mask="0x01"/>
</register>
<register key="ucsr2d" name="UCSR2D" description="USART Control and Status Register D" offset="0xD3" size="1">
<bit-field key="rxsie" name="RXSIE" description="RX Start Frame Interrupt Enable" mask="0x80"/>
<bit-field key="rxs" name="RXS" description="Start Frame Detect Flag" mask="0x40"/>
<bit-field key="sfde" name="SFDE" description="Start Frame Detection Enable" mask="0x20"/>
</register>
<register key="ubrr2" name="UBRR2" description="USART Baud Rate Register Bytes" offset="0xD4" size="2"/>
<register key="udr2" name="UDR2" description="USART I/O Data Register" offset="0xD6" size="1"/>
</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="0x20" size="1"/>
<register key="ddra" name="DDRA" description="Port A Data Direction Register" offset="0x21" size="1"/>
<register key="porta" name="PORTA" description="Port A Data Register" offset="0x22" size="1"/>
</register-group>
<register-group key="portb" name="PORTB">
<register key="pinb" name="PINB" description="Port B Input Pins" offset="0x23" size="1"/>
<register key="ddrb" name="DDRB" description="Port B Data Direction Register" offset="0x24" size="1"/>
<register key="portb" name="PORTB" description="Port B Data Register" offset="0x25" size="1"/>
</register-group>
<register-group key="portc" name="PORTC">
<register key="pinc" name="PINC" description="Port C Input Pins" offset="0x26" size="1"/>
<register key="ddrc" name="DDRC" description="Port C Data Direction Register" offset="0x27" size="1"/>
<register key="portc" name="PORTC" description="Port C Data Register" offset="0x28" size="1"/>
</register-group>
<register-group key="portd" name="PORTD">
<register key="pind" name="PIND" description="Port D Input Pins" offset="0x29" size="1"/>
<register key="ddrd" name="DDRD" description="Port D Data Direction Register" offset="0x2A" size="1"/>
<register key="portd" name="PORTD" description="Port D Data Register" offset="0x2B" size="1"/>
</register-group>
<register-group key="porte" name="PORTE">
<register key="pine" name="PINE" description="Port E Input Pins" offset="0x2C" size="1"/>
<register key="ddre" name="DDRE" description="Port E Data Direction Register" offset="0x2D" size="1"/>
<register key="porte" name="PORTE" description="Port E Data Register" offset="0x2E" size="1"/>
</register-group>
</module>
<module key="tc8" name="TC8" description="Timer/Counter, 8-bit">
<register-group key="tc0" name="TC0">
<register key="tifr0" name="TIFR0" description="Timer/Counter0 Interrupt Flag register" offset="0x35" size="1">
<bit-field key="ocf0b" name="OCF0B" description="Timer/Counter0 Output Compare Flag 0B" mask="0x04"/>
<bit-field key="ocf0a" name="OCF0A" description="Timer/Counter0 Output Compare Flag 0A" mask="0x02"/>
<bit-field key="tov0" name="TOV0" description="Timer/Counter0 Overflow Flag" mask="0x01"/>
</register>
<register key="gtccr" name="GTCCR" description="General Timer/Counter Control Register" offset="0x43" size="1">
<bit-field key="tsm" name="TSM" description="Timer/Counter Synchronization Mode" mask="0x80"/>
<bit-field key="psrasy" name="PSRASY" description="Prescaler Reset Timer/Counter2" mask="0x02"/>
<bit-field key="psrsync" name="PSRSYNC" description="Prescaler Reset Timer/Counter1 and Timer/Counter0" mask="0x01"/>
</register>
<register key="tccr0a" name="TCCR0A" description="Timer/Counter0 Control Register A" offset="0x44" size="1">
<bit-field key="com0a" name="COM0A" description="Compare Match Output A Mode" mask="0xC0"/>
<bit-field key="com0b" name="COM0B" description="Compare Match Output B Mode" mask="0x30"/>
<bit-field key="wgm0" name="WGM0" description="Waveform Generation Mode" mask="0x03"/>
</register>
<register key="tccr0b" name="TCCR0B" description="Timer/Counter0 Control Register B" offset="0x45" size="1">
<bit-field key="foc0a" name="FOC0A" description="Force Output Compare A" mask="0x80"/>
<bit-field key="foc0b" name="FOC0B" description="Force Output Compare B" mask="0x40"/>
<bit-field key="wgm02" name="WGM02" description="Waveform Generation Mode" mask="0x08"/>
<bit-field key="cs0" name="CS0" description="Clock Select" mask="0x07"/>
</register>
<register key="tcnt0" name="TCNT0" description="Timer/Counter0" offset="0x46" size="1"/>
<register key="ocr0a" name="OCR0A" description="Timer/Counter0 Output Compare Register" offset="0x47" size="1"/>
<register key="ocr0b" name="OCR0B" description="Timer/Counter0 Output Compare Register" offset="0x48" size="1"/>
<register key="timsk0" name="TIMSK0" description="Timer/Counter0 Interrupt Mask Register" offset="0x6E" size="1">
<bit-field key="ocie0b" name="OCIE0B" description="Timer/Counter0 Output Compare Match B Interrupt Enable" mask="0x04"/>
<bit-field key="ocie0a" name="OCIE0A" description="Timer/Counter0 Output Compare Match A Interrupt Enable" mask="0x02"/>
<bit-field key="toie0" name="TOIE0" description="Timer/Counter0 Overflow Interrupt Enable" mask="0x01"/>
</register>
</register-group>
</module>
<module key="tc8_async" name="TC8_ASYNC" description="Timer/Counter, 8-bit Async">
<register-group key="tc2" name="TC2">
<register key="tifr2" name="TIFR2" description="Timer/Counter Interrupt Flag Register" offset="0x37" size="1">
<bit-field key="ocf2b" name="OCF2B" description="Output Compare Flag 2B" mask="0x04"/>
<bit-field key="ocf2a" name="OCF2A" description="Output Compare Flag 2A" mask="0x02"/>
<bit-field key="tov2" name="TOV2" description="Timer/Counter2 Overflow Flag" mask="0x01"/>
</register>
<register key="timsk2" name="TIMSK2" description="Timer/Counter Interrupt Mask register" offset="0x70" size="1">
<bit-field key="ocie2b" name="OCIE2B" description="Timer/Counter2 Output Compare Match B Interrupt Enable" mask="0x04"/>
<bit-field key="ocie2a" name="OCIE2A" description="Timer/Counter2 Output Compare Match A Interrupt Enable" mask="0x02"/>
<bit-field key="toie2" name="TOIE2" description="Timer/Counter2 Overflow Interrupt Enable" mask="0x01"/>
</register>
<register key="tccr2a" name="TCCR2A" description="Timer/Counter2 Control Register A" offset="0xB0" size="1">
<bit-field key="com2a" name="COM2A" description="Compare Output Mode 2A bits" mask="0xC0"/>
<bit-field key="com2b" name="COM2B" description="Compare Output Mode 2B bits" mask="0x30"/>
<bit-field key="wgm2" name="WGM2" description="Waveform Genration Mode" mask="0x03"/>
</register>
<register key="tccr2b" name="TCCR2B" description="Timer/Counter2 Control Register B" offset="0xB1" size="1">
<bit-field key="foc2a" name="FOC2A" description="Force Output Compare A" mask="0x80"/>
<bit-field key="foc2b" name="FOC2B" description="Force Output Compare B" mask="0x40"/>
<bit-field key="wgm22" name="WGM22" description="Waveform Generation Mode" mask="0x08"/>
<bit-field key="cs2" name="CS2" description="Clock Select bits" mask="0x07"/>
</register>
<register key="tcnt2" name="TCNT2" description="Timer/Counter2" offset="0xB2" size="1"/>
<register key="ocr2a" name="OCR2A" description="Timer/Counter2 Output Compare Register A" offset="0xB3" size="1"/>
<register key="ocr2b" name="OCR2B" description="Timer/Counter2 Output Compare Register B" offset="0xB4" size="1"/>
<register key="assr" name="ASSR" description="Asynchronous Status Register" offset="0xB6" size="1">
<bit-field key="exclk" name="EXCLK" description="Enable External Clock Input" mask="0x40"/>
<bit-field key="as2" name="AS2" description="Asynchronous Timer/Counter2" mask="0x20"/>
<bit-field key="tcn2ub" name="TCN2UB" description="Timer/Counter2 Update Busy" mask="0x10"/>
<bit-field key="ocr2aub" name="OCR2AUB" description="Output Compare Register2 Update Busy" mask="0x08"/>
<bit-field key="ocr2bub" name="OCR2BUB" description="Output Compare Register 2 Update Busy" mask="0x04"/>
<bit-field key="tcr2aub" name="TCR2AUB" description="Timer/Counter Control Register2 Update Busy" mask="0x02"/>
<bit-field key="tcr2bub" name="TCR2BUB" description="Timer/Counter Control Register2 Update Busy" mask="0x01"/>
</register>
</register-group>
</module>
<module key="wdt" name="WDT" description="Watchdog Timer">
<register-group key="wdt" name="WDT">
<register key="wdtcsr" name="WDTCSR" description="Watchdog Timer Control Register" offset="0x60" 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="jtag" name="JTAG" description="JTAG Interface">
<register-group key="jtag" name="JTAG">
<register key="ocdr" name="OCDR" description="On-Chip Debug Related Register in I/O Memory" offset="0x51" size="1"/>
<register key="mcusr" name="MCUSR" description="MCU Status Register" offset="0x54" size="1">
<bit-field key="jtrf" name="JTRF" description="JTAG Reset Flag" mask="0x10"/>
</register>
<register key="mcucr" name="MCUCR" description="MCU Control Register" offset="0x55" size="1">
<bit-field key="jtd" name="JTD" description="JTAG Interface Disable" mask="0x80"/>
</register>
</register-group>
</module>
<module key="exint" name="EXINT" description="External Interrupts">
<register-group key="exint" name="EXINT">
<register key="pcifr" name="PCIFR" description="Pin Change Interrupt Flag Register" offset="0x3B" size="1">
<bit-field key="pcif" name="PCIF" description="Pin Change Interrupt Flags" mask="0x1F"/>
</register>
<register key="eifr" name="EIFR" description="External Interrupt Flag Register" offset="0x3C" size="1">
<bit-field key="intf" name="INTF" description="External Interrupt Flags" mask="0x07"/>
</register>
<register key="eimsk" name="EIMSK" description="External Interrupt Mask Register" offset="0x3D" size="1">
<bit-field key="int" name="INT" description="External Interrupt Request Enable" mask="0x07"/>
</register>
<register key="pcicr" name="PCICR" description="Pin Change Interrupt Control Register" offset="0x68" size="1">
<bit-field key="pcie" name="PCIE" description="Pin Change Interrupt Enables" mask="0x1F"/>
</register>
<register key="eicra" name="EICRA" description="External Interrupt Control Register A" offset="0x69" size="1">
<bit-field key="isc2" name="ISC2" description="External Interrupt Sense Control Bit" mask="0x30"/>
<bit-field key="isc1" name="ISC1" description="External Interrupt Sense Control Bit" mask="0x0C"/>
<bit-field key="isc0" name="ISC0" description="External Interrupt Sense Control Bit" mask="0x03"/>
</register>
<register key="pcmsk0" name="PCMSK0" description="Pin Change Mask Register 0" offset="0x6B" size="1">
<bit-field key="pcint" name="PCINT" description="Pin Change Enable Masks" mask="0xFF"/>
</register>
<register key="pcmsk1" name="PCMSK1" description="Pin Change Mask Register 1" offset="0x6C" size="1">
<bit-field key="pcint" name="PCINT" description="Pin Change Enable Masks" mask="0xFF"/>
</register>
<register key="pcmsk2" name="PCMSK2" description="Pin Change Mask Register 2" offset="0x6D" size="1">
<bit-field key="pcint" name="PCINT" description="Pin Change Enable Masks" mask="0xFF"/>
</register>
<register key="pcmsk3" name="PCMSK3" description="Pin Change Mask Register 3" offset="0x73" size="1">
<bit-field key="pcint" name="PCINT" description="Pin Change Enable Masks" mask="0xFF"/>
</register>
<register key="pcmsk4" name="PCMSK4" description="Pin Change Mask Register 4" offset="0x75" size="1">
<bit-field key="pcint" name="PCINT" description="Pin Change Enable Masks" mask="0x7F"/>
</register>
</register-group>
</module>
<module key="adc" name="ADC" description="Analog-to-Digital Converter">
<register-group key="adc" name="ADC">
<register key="adc" name="ADC" description="ADC Data Register Bytes" offset="0x78" size="2"/>
<register key="adcsra" name="ADCSRA" description="ADC Control and Status register A" offset="0x7A" 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="adcsrb" name="ADCSRB" description="ADC Control and Status register B" offset="0x7B" size="1">
<bit-field key="gpioen" name="GPIOEN" description="Enable GPIO function of PE4" mask="0x80"/>
<bit-field key="acme" name="ACME" description="Analog Comparator Multiplexer Enable" mask="0x40"/>
<bit-field key="adts" name="ADTS" description="ADC Auto Trigger Source bits" mask="0x07"/>
</register>
<register key="admux" name="ADMUX" description="ADC multiplexer Selection Register" offset="0x7C" 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 key="didr0" name="DIDR0" description="Digital Input Disable Register" offset="0x7E" size="1">
<bit-field key="adc7d" name="ADC7D" mask="0x80"/>
<bit-field key="adc6d" name="ADC6D" mask="0x40"/>
<bit-field key="adc5d" name="ADC5D" mask="0x20"/>
<bit-field key="adc4d" name="ADC4D" mask="0x10"/>
<bit-field key="adc3d" name="ADC3D" mask="0x08"/>
<bit-field key="adc2d" name="ADC2D" mask="0x04"/>
<bit-field key="adc1d" name="ADC1D" mask="0x02"/>
<bit-field key="adc0d" name="ADC0D" mask="0x01"/>
</register>
</register-group>
</module>
<module key="tc16" name="TC16" description="Timer/Counter, 16-bit">
<register-group key="tc1" name="TC1">
<register key="tifr1" name="TIFR1" description="Timer/Counter Interrupt Flag register" offset="0x36" size="1">
<bit-field key="icf1" name="ICF1" description="Timer/Counter1 Input Capture Flag" mask="0x20"/>
<bit-field key="ocf1b" name="OCF1B" description="Timer/Counter1 Output Compare B Match Flag" mask="0x04"/>
<bit-field key="ocf1a" name="OCF1A" description="Timer/Counter1 Output Compare A Match Flag" mask="0x02"/>
<bit-field key="tov1" name="TOV1" description="Timer/Counter1 Overflow Flag" mask="0x01"/>
</register>
<register key="timsk1" name="TIMSK1" description="Timer/Counter1 Interrupt Mask Register" offset="0x6F" size="1">
<bit-field key="icie1" name="ICIE1" description="Timer/Counter1 Input Capture Interrupt Enable" mask="0x20"/>
<bit-field key="ocie1b" name="OCIE1B" description="Timer/Counter1 Output Compare B Match Interrupt Enable" mask="0x04"/>
<bit-field key="ocie1a" name="OCIE1A" description="Timer/Counter1 Output Compare A Match Interrupt Enable" mask="0x02"/>
<bit-field key="toie1" name="TOIE1" description="Timer/Counter1 Overflow Interrupt Enable" mask="0x01"/>
</register>
<register key="tccr1a" name="TCCR1A" description="Timer/Counter1 Control Register A" offset="0x80" size="1">
<bit-field key="com1a" name="COM1A" description="Compare Output Mode 1A, bits" mask="0xC0"/>
<bit-field key="com1b" name="COM1B" description="Compare Output Mode 1B, bits" mask="0x30"/>
<bit-field key="wgm1" name="WGM1" description="Pulse Width Modulator Select Bits" mask="0x03"/>
</register>
<register key="tccr1b" name="TCCR1B" description="Timer/Counter1 Control Register B" offset="0x81" size="1">
<bit-field key="icnc1" name="ICNC1" description="Input Capture 1 Noise Canceler" mask="0x80"/>
<bit-field key="ices1" name="ICES1" description="Input Capture 1 Edge Select" mask="0x40"/>
<bit-field key="wgm1" name="WGM1" description="Waveform Generation Mode Bits" mask="0x18"/>
<bit-field key="cs1" name="CS1" description="Clock Select1 bits" mask="0x07"/>
</register>
<register key="tccr1c" name="TCCR1C" description="Timer/Counter1 Control Register C" offset="0x82" size="1">
<bit-field key="foc1a" name="FOC1A" description="Force Output Compare for Channel A" mask="0x80"/>
<bit-field key="foc1b" name="FOC1B" description="Force Output Compare for Channel B" mask="0x40"/>
</register>
<register key="tcnt1" name="TCNT1" description="Timer/Counter1 Bytes" offset="0x84" size="2"/>
<register key="icr1" name="ICR1" description="Timer/Counter1 Input Capture Register Bytes" offset="0x86" size="2"/>
<register key="ocr1a" name="OCR1A" description="Timer/Counter1 Output Compare Register A Bytes" offset="0x88" size="2"/>
<register key="ocr1b" name="OCR1B" description="Timer/Counter1 Output Compare Register B Bytes" offset="0x8A" size="2"/>
</register-group>
<register-group key="tc3" name="TC3">
<register key="tifr3" name="TIFR3" description="Timer/Counter Interrupt Flag register" offset="0x38" size="1">
<bit-field key="icf3" name="ICF3" description="Timer/Counter3 Input Capture Flag" mask="0x20"/>
<bit-field key="ocf3b" name="OCF3B" description="Timer/Counter3 Output Compare B Match Flag" mask="0x04"/>
<bit-field key="ocf3a" name="OCF3A" description="Timer/Counter3 Output Compare A Match Flag" mask="0x02"/>
<bit-field key="tov3" name="TOV3" description="Timer/Counter3 Overflow Flag" mask="0x01"/>
</register>
<register key="timsk3" name="TIMSK3" description="Timer/Counter3 Interrupt Mask Register" offset="0x71" size="1">
<bit-field key="icie3" name="ICIE3" description="Timer/Counter3 Input Capture Interrupt Enable" mask="0x20"/>
<bit-field key="ocie3b" name="OCIE3B" description="Timer/Counter3 Output Compare B Match Interrupt Enable" mask="0x04"/>
<bit-field key="ocie3a" name="OCIE3A" description="Timer/Counter3 Output Compare A Match Interrupt Enable" mask="0x02"/>
<bit-field key="toie3" name="TOIE3" description="Timer/Counter3 Overflow Interrupt Enable" mask="0x01"/>
</register>
<register key="tccr3a" name="TCCR3A" description="Timer/Counter3 Control Register A" offset="0x90" size="1">
<bit-field key="com3a" name="COM3A" description="Compare Output Mode 3A, bits" mask="0xC0"/>
<bit-field key="com3b" name="COM3B" description="Compare Output Mode 3B, bits" mask="0x30"/>
<bit-field key="wgm3" name="WGM3" description="Pulse Width Modulator Select Bits" mask="0x03"/>
</register>
<register key="tccr3b" name="TCCR3B" description="Timer/Counter3 Control Register B" offset="0x91" size="1">
<bit-field key="icnc3" name="ICNC3" description="Input Capture 3 Noise Canceler" mask="0x80"/>
<bit-field key="ices3" name="ICES3" description="Input Capture 3 Edge Select" mask="0x40"/>
<bit-field key="wgm3" name="WGM3" description="Waveform Generation Mode Bits" mask="0x18"/>
<bit-field key="cs3" name="CS3" description="Clock Select3 bits" mask="0x07"/>
</register>
<register key="tccr3c" name="TCCR3C" description="Timer/Counter3 Control Register C" offset="0x92" size="1">
<bit-field key="foc3a" name="FOC3A" description="Force Output Compare for Channel A" mask="0x80"/>
<bit-field key="foc3b" name="FOC3B" description="Force Output Compare for Channel B" mask="0x40"/>
</register>
<register key="tcnt3" name="TCNT3" description="Timer/Counter3 Bytes" offset="0x94" size="2"/>
<register key="icr3" name="ICR3" description="Timer/Counter3 Input Capture Register Bytes" offset="0x96" size="2"/>
<register key="ocr3a" name="OCR3A" description="Timer/Counter3 Output Compare Register A Bytes" offset="0x98" size="2"/>
<register key="ocr3b" name="OCR3B" description="Timer/Counter3 Output Compare Register B Bytes" offset="0x9A" size="2"/>
</register-group>
<register-group key="tc4" name="TC4">
<register key="tifr4" name="TIFR4" description="Timer/Counter Interrupt Flag register" offset="0x39" size="1">
<bit-field key="icf4" name="ICF4" description="Timer/Counter4 Input Capture Flag" mask="0x20"/>
<bit-field key="ocf4b" name="OCF4B" description="Timer/Counter4 Output Compare B Match Flag" mask="0x04"/>
<bit-field key="ocf4a" name="OCF4A" description="Timer/Counter4 Output Compare A Match Flag" mask="0x02"/>
<bit-field key="tov4" name="TOV4" description="Timer/Counter4 Overflow Flag" mask="0x01"/>
</register>
<register key="timsk4" name="TIMSK4" description="Timer/Counter4 Interrupt Mask Register" offset="0x72" size="1">
<bit-field key="icie4" name="ICIE4" description="Timer/Counter4 Input Capture Interrupt Enable" mask="0x20"/>
<bit-field key="ocie4b" name="OCIE4B" description="Timer/Counter4 Output Compare B Match Interrupt Enable" mask="0x04"/>
<bit-field key="ocie4a" name="OCIE4A" description="Timer/Counter4 Output Compare A Match Interrupt Enable" mask="0x02"/>
<bit-field key="toie4" name="TOIE4" description="Timer/Counter4 Overflow Interrupt Enable" mask="0x01"/>
</register>
<register key="tccr4a" name="TCCR4A" description="Timer/Counter4 Control Register A" offset="0xA0" size="1">
<bit-field key="com4a" name="COM4A" description="Compare Output Mode 4A, bits" mask="0xC0"/>
<bit-field key="com4b" name="COM4B" description="Compare Output Mode 4B, bits" mask="0x30"/>
<bit-field key="wgm4" name="WGM4" description="Pulse Width Modulator Select Bits" mask="0x03"/>
</register>
<register key="tccr4b" name="TCCR4B" description="Timer/Counter4 Control Register B" offset="0xA1" size="1">
<bit-field key="icnc4" name="ICNC4" description="Input Capture 4 Noise Canceler" mask="0x80"/>
<bit-field key="ices4" name="ICES4" description="Input Capture 4 Edge Select" mask="0x40"/>
<bit-field key="wgm4" name="WGM4" description="Waveform Generation Mode Bits" mask="0x18"/>
<bit-field key="cs4" name="CS4" description="Clock Select4 bits" mask="0x07"/>
</register>
<register key="tccr4c" name="TCCR4C" description="Timer/Counter4 Control Register C" offset="0xA2" size="1">
<bit-field key="foc4a" name="FOC4A" description="Force Output Compare for Channel A" mask="0x80"/>
<bit-field key="foc4b" name="FOC4B" description="Force Output Compare for Channel B" mask="0x40"/>
</register>
<register key="tcnt4" name="TCNT4" description="Timer/Counter4 Bytes" offset="0xA4" size="2"/>
<register key="icr4" name="ICR4" description="Timer/Counter4 Input Capture Register Bytes" offset="0xA6" size="2"/>
<register key="ocr4a" name="OCR4A" description="Timer/Counter4 Output Compare Register A Bytes" offset="0xA8" size="2"/>
<register key="ocr4b" name="OCR4B" description="Timer/Counter4 Output Compare Register B Bytes" offset="0xAA" size="2"/>
</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="0x3F" 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 Programming Enable" mask="0x04"/>
<bit-field key="eepe" name="EEPE" description="EEPROM Programming 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="0x40" size="1"/>
<register key="eear" name="EEAR" description="EEPROM Address Register Low Bytes" offset="0x41" size="2"/>
</register-group>
</module>
<module key="spi" name="SPI" description="Serial Peripheral Interface">
<register-group key="spi0" name="SPI0">
<register key="spcr0" name="SPCR0" description="SPI Control Register" offset="0x4C" size="1">
<bit-field key="spie" name="SPIE" description="SPI Interrupt Enable" mask="0x80"/>
<bit-field key="spe" name="SPE" description="SPI Enable" mask="0x40"/>
<bit-field key="dord" name="DORD" description="Data Order" mask="0x20"/>
<bit-field key="mstr" name="MSTR" description="Master/Slave Select" mask="0x10"/>
<bit-field key="cpol" name="CPOL" description="Clock polarity" mask="0x08"/>
<bit-field key="cpha" name="CPHA" description="Clock Phase" mask="0x04"/>
<bit-field key="spr" name="SPR" description="SPI Clock Rate Select" mask="0x03"/>
</register>
<register key="spsr0" name="SPSR0" description="SPI Status Register" offset="0x4D" size="1">
<bit-field key="spif" name="SPIF" description="SPI Interrupt Flag" mask="0x80"/>
<bit-field key="wcol" name="WCOL" description="Write Collision Flag" mask="0x40"/>
<bit-field key="spi2x" name="SPI2X" description="Double SPI Speed Bit" mask="0x01"/>
</register>
<register key="spdr0" name="SPDR0" description="SPI Data Register" offset="0x4E" size="1"/>
</register-group>
<register-group key="spi1" name="SPI1">
<register key="spcr1" name="SPCR1" description="SPI Control Register" offset="0xAC" size="1">
<bit-field key="spie" name="SPIE" description="SPI Interrupt Enable" mask="0x80"/>
<bit-field key="spe" name="SPE" description="SPI Enable" mask="0x40"/>
<bit-field key="dord" name="DORD" description="Data Order" mask="0x20"/>
<bit-field key="mstr" name="MSTR" description="Master/Slave Select" mask="0x10"/>
<bit-field key="cpol" name="CPOL" description="Clock polarity" mask="0x08"/>
<bit-field key="cpha" name="CPHA" description="Clock Phase" mask="0x04"/>
<bit-field key="spr" name="SPR" description="SPI Clock Rate Select" mask="0x03"/>
</register>
<register key="spsr1" name="SPSR1" description="SPI Status Register" offset="0xAD" size="1">
<bit-field key="spif" name="SPIF" description="SPI Interrupt Flag" mask="0x80"/>
<bit-field key="wcol" name="WCOL" description="Write Collision Flag" mask="0x40"/>
<bit-field key="spi2x" name="SPI2X" description="Double SPI Speed Bit" mask="0x01"/>
</register>
<register key="spdr1" name="SPDR1" description="SPI Data Register" offset="0xAE" size="1"/>
</register-group>
</module>
<module key="twi" name="TWI" description="Two Wire Serial Interface">
<register-group key="twi0" name="TWI0">
<register key="twbr0" name="TWBR0" description="TWI Bit Rate register" offset="0xB8" size="1"/>
<register key="twsr0" name="TWSR0" description="TWI Status Register" offset="0xB9" size="1">
<bit-field key="tws0" name="TWS0" description="TWI Status" mask="0xF8"/>
<bit-field key="twps" name="TWPS" description="TWI Prescaler" mask="0x03"/>
</register>
<register key="twar0" name="TWAR0" description="TWI (Slave) Address register" offset="0xBA" size="1">
<bit-field key="twa" name="TWA" description="TWI (Slave) Address register Bits" mask="0xFE"/>
<bit-field key="twgce" name="TWGCE" description="TWI General Call Recognition Enable Bit" mask="0x01"/>
</register>
<register key="twdr0" name="TWDR0" description="TWI Data register" offset="0xBB" size="1"/>
<register key="twcr0" name="TWCR0" description="TWI Control Register" offset="0xBC" size="1">
<bit-field key="twint" name="TWINT" description="TWI Interrupt Flag" mask="0x80"/>
<bit-field key="twea" name="TWEA" description="TWI Enable Acknowledge Bit" mask="0x40"/>
<bit-field key="twsta" name="TWSTA" description="TWI Start Condition Bit" mask="0x20"/>
<bit-field key="twsto" name="TWSTO" description="TWI Stop Condition Bit" mask="0x10"/>
<bit-field key="twwc" name="TWWC" description="TWI Write Collition Flag" mask="0x08"/>
<bit-field key="twen" name="TWEN" description="TWI Enable Bit" mask="0x04"/>
<bit-field key="twie" name="TWIE" description="TWI Interrupt Enable" mask="0x01"/>
</register>
<register key="twamr0" name="TWAMR0" description="TWI (Slave) Address Mask Register" offset="0xBD" size="1">
<bit-field key="twam0" name="TWAM0" mask="0xFE"/>
</register>
</register-group>
<register-group key="twi1" name="TWI1">
<register key="twbr1" name="TWBR1" description="TWI Bit Rate register" offset="0xD8" size="1"/>
<register key="twsr1" name="TWSR1" description="TWI Status Register" offset="0xD9" size="1">
<bit-field key="tws0" name="TWS0" description="TWI Status" mask="0xF8"/>
<bit-field key="twps" name="TWPS" description="TWI Prescaler" mask="0x03"/>
</register>
<register key="twar1" name="TWAR1" description="TWI (Slave) Address register" offset="0xDA" size="1">
<bit-field key="twa" name="TWA" description="TWI (Slave) Address register Bits" mask="0xFE"/>
<bit-field key="twgce" name="TWGCE" description="TWI General Call Recognition Enable Bit" mask="0x01"/>
</register>
<register key="twdr1" name="TWDR1" description="TWI Data register" offset="0xDB" size="1"/>
<register key="twcr1" name="TWCR1" description="TWI Control Register" offset="0xDC" size="1">
<bit-field key="twint" name="TWINT" description="TWI Interrupt Flag" mask="0x80"/>
<bit-field key="twea" name="TWEA" description="TWI Enable Acknowledge Bit" mask="0x40"/>
<bit-field key="twsta" name="TWSTA" description="TWI Start Condition Bit" mask="0x20"/>
<bit-field key="twsto" name="TWSTO" description="TWI Stop Condition Bit" mask="0x10"/>
<bit-field key="twwc" name="TWWC" description="TWI Write Collition Flag" mask="0x08"/>
<bit-field key="twen" name="TWEN" description="TWI Enable Bit" mask="0x04"/>
<bit-field key="twie" name="TWIE" description="TWI Interrupt Enable" mask="0x01"/>
</register>
<register key="twamr1" name="TWAMR1" description="TWI (Slave) Address Mask Register" offset="0xDD" size="1">
<bit-field key="twam1" name="TWAM1" mask="0xFE"/>
</register>
</register-group>
</module>
<module key="cfd" name="CFD" description="Clock Failure Detection">
<register-group key="cfd" name="CFD">
<register key="xfdcsr" name="XFDCSR" description="XOSC Failure Detection Control and Status Register" offset="0x62" size="1">
<bit-field key="xfdif" name="XFDIF" description="Failure Detection Interrupt Flag" mask="0x02"/>
<bit-field key="xfdie" name="XFDIE" description="Failure Detection Interrupt Enable" mask="0x01"/>
</register>
</register-group>
</module>
<module key="ptc" name="PTC" description="Peripheral Touch Controller"/>
<module key="cpu" name="CPU" description="CPU Registers">
<register-group key="cpu" name="CPU">
<register key="gpior0" name="GPIOR0" description="General Purpose IO Register 0" offset="0x3E" size="1"/>
<register key="gpior1" name="GPIOR1" description="General Purpose IO Register 1" offset="0x4A" size="1"/>
<register key="gpior2" name="GPIOR2" description="General Purpose IO Register 2" offset="0x4B" size="1"/>
<register key="smcr" name="SMCR" description="Sleep Mode Control Register" offset="0x53" size="1">
<bit-field key="sm" name="SM" description="Sleep Mode Select bits" mask="0x0E"/>
<bit-field key="se" name="SE" description="Sleep Enable" mask="0x01"/>
</register>
<register key="mcusr" name="MCUSR" description="MCU Status Register" offset="0x54" size="1">
<bit-field key="jtrf" name="JTRF" description="JTAG Reset Flag" mask="0x10"/>
<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="jtd" name="JTD" description="JTAG Interface Disable" mask="0x80"/>
<bit-field key="bods" name="BODS" description="BOD Power Down in Sleep" mask="0x40"/>
<bit-field key="bodse" name="BODSE" description="BOD Power Down in Sleep Enable" mask="0x20"/>
<bit-field key="pud" name="PUD" description="Pull-up disable" mask="0x10"/>
<bit-field key="ivsel" name="IVSEL" description="Interrupt Vector Select" mask="0x02"/>
<bit-field key="ivce" name="IVCE" description="Interrupt Vector Change Enable" mask="0x01"/>
</register>
<register key="spmcsr" name="SPMCSR" description="Store Program Memory Control Register" offset="0x57" size="1">
<bit-field key="spmie" name="SPMIE" description="SPM Interrupt Enable" mask="0x80"/>
<bit-field key="rwwsb" name="RWWSB" description="Read While Write Section Busy" mask="0x40"/>
<bit-field key="sigrd" name="SIGRD" description="Signature Row Read" mask="0x20"/>
<bit-field key="rwwsre" name="RWWSRE" description="Read While Write section read enable" mask="0x10"/>
<bit-field key="blbset" name="BLBSET" description="Boot Lock Bit Set" 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 key="sp" name="SP" description="Stack Pointer" 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 key="clkpr" name="CLKPR" offset="0x61" size="1">
<bit-field key="clkpce" name="CLKPCE" mask="0x80"/>
<bit-field key="clkps" name="CLKPS" mask="0x0F"/>
</register>
<register key="prr2" name="PRR2" description="Power Reduction Register2" offset="0x63" size="1">
<bit-field key="prptc" name="PRPTC" description="Power Reduction Peripheral Touch Controller" mask="0x08"/>
<bit-field key="prusart2" name="PRUSART2" description="Power Reduction USART2" mask="0x04"/>
<bit-field key="prspi1" name="PRSPI1" description="Power Reduction Serial Peripheral Interface 1" mask="0x02"/>
<bit-field key="prtwi1" name="PRTWI1" description="Power Reduction TWI1" mask="0x01"/>
</register>
<register key="prr0" name="PRR0" description="Power Reduction Register0" offset="0x64" size="1">
<bit-field key="prtwi0" name="PRTWI0" description="Power Reduction TWI0" mask="0x80"/>
<bit-field key="prtim2" name="PRTIM2" description="Power Reduction Timer/Counter2" mask="0x40"/>
<bit-field key="prtim0" name="PRTIM0" description="Power Reduction Timer/Counter0" mask="0x20"/>
<bit-field key="prusart1" name="PRUSART1" description="Power Reduction USART1" mask="0x10"/>
<bit-field key="prtim1" name="PRTIM1" description="Power Reduction Timer/Counter1" mask="0x08"/>
<bit-field key="prspi0" name="PRSPI0" description="Power Reduction Serial Peripheral Interface 0" mask="0x04"/>
<bit-field key="prusart0" name="PRUSART0" description="Power Reduction USART0" mask="0x02"/>
<bit-field key="pradc" name="PRADC" description="Power Reduction ADC" mask="0x01"/>
</register>
<register key="prr1" name="PRR1" description="Power Reduction Register1" offset="0x65" size="1">
<bit-field key="prtim4" name="PRTIM4" description="Power Reduction Timer/Counter4" mask="0x02"/>
<bit-field key="prtim3" name="PRTIM3" description="Power Reduction Timer/Counter3" mask="0x01"/>
</register>
<register key="osccal" name="OSCCAL" description="Oscillator Calibration Value" offset="0x66" size="1">
<bit-field key="osccal" name="OSCCAL" description="Oscillator Calibration" mask="0xFF"/>
</register>
</register-group>
</module>
</modules>
<pads>
<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="pc0" name="PC0"/>
<pad key="pc1" name="PC1"/>
<pad key="pc2" name="PC2"/>
<pad key="pc3" name="PC3"/>
<pad key="pc4" name="PC4"/>
<pad key="pc5" name="PC5"/>
<pad key="pc6" name="PC6"/>
<pad key="pc7" name="PC7"/>
<pad key="pd0" name="PD0"/>
<pad key="pd1" name="PD1"/>
<pad key="pd2" name="PD2"/>
<pad key="pd3" name="PD3"/>
<pad key="pd4" name="PD4"/>
<pad key="pd5" name="PD5"/>
<pad key="pd6" name="PD6"/>
<pad key="pd7" name="PD7"/>
<pad key="pe0" name="PE0"/>
<pad key="pe1" name="PE1"/>
<pad key="pe2" name="PE2"/>
<pad key="pe3" name="PE3"/>
<pad key="pe4" name="PE4"/>
<pad key="pe5" name="PE5"/>
<pad key="pe6" name="PE6"/>
<pad key="reset" name="RESET"/>
<pad key="vcc" name="VCC"/>
</pads>
<pinouts>
<pinout key="tqfp44" name="TQFP44" type="qfp">
<pin position="1" pad-key="pb5"/>
<pin position="2" pad-key="pb6"/>
<pin position="3" pad-key="pb7"/>
<pin position="4" pad-key="reset"/>
<pin position="5" pad-key="vcc"/>
<pin position="6" pad-key="gnd"/>
<pin position="7" pad-key="pe0"/>
<pin position="8" pad-key="pe1"/>
<pin position="9" pad-key="pd0"/>
<pin position="10" pad-key="pd1"/>
<pin position="11" pad-key="pd2"/>
<pin position="12" pad-key="pd3"/>
<pin position="13" pad-key="pd4"/>
<pin position="14" pad-key="pd5"/>
<pin position="15" pad-key="pd6"/>
<pin position="16" pad-key="pd7"/>
<pin position="17" pad-key="pe2"/>
<pin position="18" pad-key="pe3"/>
<pin position="19" pad-key="pc0"/>
<pin position="20" pad-key="pc1"/>
<pin position="21" pad-key="pc2"/>
<pin position="22" pad-key="pc3"/>
<pin position="23" pad-key="pc4"/>
<pin position="24" pad-key="pc5"/>
<pin position="25" pad-key="pc6"/>
<pin position="26" pad-key="pc7"/>
<pin position="27" pad-key="avcc"/>
<pin position="28" pad-key="gnd"/>
<pin position="29" pad-key="pe4"/>
<pin position="30" pad-key="pa7"/>
<pin position="31" pad-key="pa6"/>
<pin position="32" pad-key="pa5"/>
<pin position="33" pad-key="pa4"/>
<pin position="34" pad-key="pa3"/>
<pin position="35" pad-key="pa2"/>
<pin position="36" pad-key="pa1"/>
<pin position="37" pad-key="pa0"/>
<pin position="38" pad-key="pe5"/>
<pin position="39" pad-key="pe6"/>
<pin position="40" pad-key="pb0"/>
<pin position="41" pad-key="pb1"/>
<pin position="42" pad-key="pb2"/>
<pin position="43" pad-key="pb3"/>
<pin position="44" pad-key="pb4"/>
</pinout>
<pinout key="vqfn44" name="VQFN44" type="qfn">
<pin position="1" pad-key="pb5"/>
<pin position="2" pad-key="pb6"/>
<pin position="3" pad-key="pb7"/>
<pin position="4" pad-key="reset"/>
<pin position="5" pad-key="vcc"/>
<pin position="6" pad-key="gnd"/>
<pin position="7" pad-key="pe0"/>
<pin position="8" pad-key="pe1"/>
<pin position="9" pad-key="pd0"/>
<pin position="10" pad-key="pd1"/>
<pin position="11" pad-key="pd2"/>
<pin position="12" pad-key="pd3"/>
<pin position="13" pad-key="pd4"/>
<pin position="14" pad-key="pd5"/>
<pin position="15" pad-key="pd6"/>
<pin position="16" pad-key="pd7"/>
<pin position="17" pad-key="pe2"/>
<pin position="18" pad-key="pe3"/>
<pin position="19" pad-key="pc0"/>
<pin position="20" pad-key="pc1"/>
<pin position="21" pad-key="pc2"/>
<pin position="22" pad-key="pc3"/>
<pin position="23" pad-key="pc4"/>
<pin position="24" pad-key="pc5"/>
<pin position="25" pad-key="pc6"/>
<pin position="26" pad-key="pc7"/>
<pin position="27" pad-key="avcc"/>
<pin position="28" pad-key="gnd"/>
<pin position="29" pad-key="pe4"/>
<pin position="30" pad-key="pa7"/>
<pin position="31" pad-key="pa6"/>
<pin position="32" pad-key="pa5"/>
<pin position="33" pad-key="pa4"/>
<pin position="34" pad-key="pa3"/>
<pin position="35" pad-key="pa2"/>
<pin position="36" pad-key="pa1"/>
<pin position="37" pad-key="pa0"/>
<pin position="38" pad-key="pe5"/>
<pin position="39" pad-key="pe6"/>
<pin position="40" pad-key="pb0"/>
<pin position="41" pad-key="pb1"/>
<pin position="42" pad-key="pb2"/>
<pin position="43" pad-key="pb3"/>
<pin position="44" pad-key="pb4"/>
</pinout>
</pinouts>
<variants>
<variant key="atmega324pb_au" name="ATmega324PB-AU" pinout-key="tqfp44"/>
<variant key="atmega324pb_aur" name="ATmega324PB-AUR" pinout-key="tqfp44"/>
<variant key="atmega324pb_mu" name="ATmega324PB-MU" pinout-key="vqfn44"/>
<variant key="atmega324pb_mur" name="ATmega324PB-MUR" pinout-key="vqfn44"/>
<variant key="atmega324pb_an" name="ATmega324PB-AN" pinout-key="tqfp44"/>
<variant key="atmega324pb_anr" name="ATmega324PB-ANR" pinout-key="tqfp44"/>
<variant key="atmega324pb_mn" name="ATmega324PB-MN" pinout-key="vqfn44"/>
<variant key="atmega324pb_mnr" name="ATmega324PB-MNR" pinout-key="vqfn44"/>
</variants>
</device>