Files
2025-11-23 20:39:37 +04:00

1181 lines
91 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<device name="ATmega16M1" family="AVR8" configuration-value="atmega16m1" architecture="AVRe+" avr-family="MEGA">
<property-groups>
<property-group key="signatures">
<property key="jtagid" value="0x9484"/>
<property key="signature0" value="0x1e"/>
<property key="signature1" value="0x94"/>
<property key="signature2" value="0x84"/>
</property-group>
<property-group key="ocd">
<property key="ocd_revision" value="1"/>
<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="45"/>
<property key="ispchiperase_pollmethod" value="1"/>
<property key="ispprogramflash_mode" value="0x41"/>
<property key="ispprogramflash_blocksize" value="128"/>
<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="5"/>
<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="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="0x00003E00"/>
<property key="size" value="512"/>
<property key="page_size" value="128"/>
</property-group>
<property-group key="boot_section_2">
<property key="start_address" value="0x00003C00"/>
<property key="size" value="1024"/>
<property key="page_size" value="128"/>
</property-group>
<property-group key="boot_section_3">
<property key="start_address" value="0x00003800"/>
<property key="size" value="2048"/>
<property key="page_size" value="128"/>
</property-group>
<property-group key="boot_section_4">
<property key="start_address" value="0x00003000"/>
<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="16384" endianness="little">
<memory-segment key="internal_program_memory" name="Internal FLASH" type="flash" start="0x00000000" size="16384" 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="1280" 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="1024" 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="pe0"/>
</signals>
</physical-interface>
<physical-interface value="isp">
<signals>
<signal name="RESET" pad-key="pe0"/>
<signal name="MOSI" pad-key="pd3"/>
<signal name="MISO" pad-key="pd2"/>
<signal name="SCLK" pad-key="pd4"/>
</signals>
</physical-interface>
<physical-interface value="hvpp"/>
</physical-interfaces>
<peripherals>
<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="IOPORT"/>
<signal name="PB1" pad-key="pb1" index="1" function="IOPORT"/>
<signal name="PB2" pad-key="pb2" index="2" function="IOPORT"/>
<signal name="PB3" pad-key="pb3" index="3" function="IOPORT"/>
<signal name="PB4" pad-key="pb4" index="4" function="IOPORT"/>
<signal name="PB5" pad-key="pb5" index="5" function="IOPORT"/>
<signal name="PB6" pad-key="pb6" index="6" function="IOPORT"/>
<signal name="PB7" pad-key="pb7" index="7" function="IOPORT"/>
</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" index="0" function="IOPORT"/>
<signal name="PC1" pad-key="pc1" index="1" function="IOPORT"/>
<signal name="PC2" pad-key="pc2" index="2" function="IOPORT"/>
<signal name="PC3" pad-key="pc3" index="3" function="IOPORT"/>
<signal name="PC4" pad-key="pc4" index="4" function="IOPORT"/>
<signal name="PC5" pad-key="pc5" index="5" function="IOPORT"/>
<signal name="PC6" pad-key="pc6" index="6" function="IOPORT"/>
<signal name="PC7" pad-key="pc7" index="7" function="IOPORT"/>
</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" index="0" function="IOPORT"/>
<signal name="PD1" pad-key="pd1" index="1" function="IOPORT"/>
<signal name="PD2" pad-key="pd2" index="2" function="IOPORT"/>
<signal name="PD3" pad-key="pd3" index="3" function="IOPORT"/>
<signal name="PD4" pad-key="pd4" index="4" function="IOPORT"/>
<signal name="PD5" pad-key="pd5" index="5" function="IOPORT"/>
<signal name="PD6" pad-key="pd6" index="6" function="IOPORT"/>
<signal name="PD7" pad-key="pd7" index="7" function="IOPORT"/>
</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" index="0" function="IOPORT"/>
<signal name="PE1" pad-key="pe1" index="1" function="IOPORT"/>
<signal name="PE2" pad-key="pe2" index="2" function="IOPORT"/>
</signals>
</peripheral>
<peripheral key="can" name="CAN" module-key="can">
<register-group-instance description="Controller Area Network" register-group-key="can" address-space-key="data" offset="0x0"/>
</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="ACMP" pad-key="pd7" index="0" function="AC"/>
<signal name="ACMP" pad-key="pc6" index="1" function="AC"/>
<signal name="ACMP" pad-key="pd5" index="2" function="AC"/>
<signal name="ACMP" pad-key="pc5" index="3" function="AC"/>
<signal name="ACMPN" pad-key="pb2" index="0" function="AC"/>
<signal name="ACMPN" pad-key="pb5" index="1" function="AC"/>
<signal name="ACMPN" pad-key="pd6" index="2" function="AC"/>
<signal name="ACMPN" pad-key="pc4" index="3" function="AC"/>
</signals>
</peripheral>
<peripheral key="dac" name="DAC" module-key="dac">
<register-group-instance description="Digital-to-Analog Converter" register-group-key="dac" address-space-key="data" offset="0x0"/>
<signals>
<signal name="D2A" pad-key="pc7" function="DAC"/>
</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="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="T0" pad-key="pc2" function="TC0"/>
<signal name="OC0A" pad-key="pd3" function="TC0"/>
<signal name="OC0B" pad-key="pe1" function="TC0"/>
</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="T1" pad-key="pc3" function="TC1"/>
<signal name="ICP1A" pad-key="pd4" function="TC1"/>
<signal name="ICP1B" pad-key="pc3" function="TC1"/>
<signal name="OC1A" pad-key="pd2" function="TC1"/>
<signal name="OC1B" pad-key="pc1" function="TC1"/>
</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="pe2" index="0" function="ADC"/>
<signal name="ADC" pad-key="pd4" index="1" function="ADC"/>
<signal name="ADC" pad-key="pd5" index="2" function="ADC"/>
<signal name="ADC" pad-key="pd6" index="3" function="ADC"/>
<signal name="ADC" pad-key="pb7" index="4" function="ADC"/>
<signal name="ADC" pad-key="pb2" index="5" function="ADC"/>
<signal name="ADC" pad-key="pb5" index="6" function="ADC"/>
<signal name="ADC" pad-key="pb6" index="7" function="ADC"/>
<signal name="ADC" pad-key="pc4" index="8" function="ADC"/>
<signal name="ADC" pad-key="pc5" index="9" function="ADC"/>
<signal name="ADC" pad-key="pc6" index="10" function="ADC"/>
</signals>
</peripheral>
<peripheral key="linuart" name="LINUART" module-key="linuart">
<register-group-instance description="Local Interconnect Network" register-group-key="linuart" address-space-key="data" offset="0x0"/>
<signals>
<signal name="TXLIN" pad-key="pd3" function="LIN"/>
<signal name="RXLIN" pad-key="pd4" function="LIN"/>
</signals>
</peripheral>
<peripheral key="spi" name="SPI" module-key="spi">
<register-group-instance description="Serial Peripheral Interface" register-group-key="spi" address-space-key="data" offset="0x0"/>
<signals>
<signal name="MISO" pad-key="pb0" function="SPI"/>
<signal name="MISO" pad-key="pd2" alternative="true" function="SPI_ALT"/>
<signal name="MOSI" pad-key="pb1" function="SPI"/>
<signal name="MOSI" pad-key="pd3" alternative="true" function="SPI_ALT"/>
<signal name="SCK" pad-key="pb7" function="SPI"/>
<signal name="SCK" pad-key="pd4" alternative="true" function="SPI_ALT"/>
<signal name="SS" pad-key="pd3" function="SPI"/>
<signal name="SS" pad-key="pc1" alternative="true" function="SPI_ALT"/>
</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="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="INT" pad-key="pd6" index="0" function="EXINT"/>
<signal name="INT" pad-key="pb2" index="1" function="EXINT"/>
<signal name="INT" pad-key="pb5" index="2" function="EXINT"/>
<signal name="INT" pad-key="pc0" index="3" function="EXINT"/>
<signal name="PCINT" pad-key="pb0" index="0" function="EXINT"/>
<signal name="PCINT" pad-key="pb1" index="1" function="EXINT"/>
<signal name="PCINT" pad-key="pb2" index="2" function="EXINT"/>
<signal name="PCINT" pad-key="pb3" index="3" function="EXINT"/>
<signal name="PCINT" pad-key="pb4" index="4" function="EXINT"/>
<signal name="PCINT" pad-key="pb5" index="5" function="EXINT"/>
<signal name="PCINT" pad-key="pb6" index="6" function="EXINT"/>
<signal name="PCINT" pad-key="pb7" index="7" function="EXINT"/>
<signal name="PCINT" pad-key="pc0" index="8" function="EXINT"/>
<signal name="PCINT" pad-key="pc1" index="9" function="EXINT"/>
<signal name="PCINT" pad-key="pc2" index="10" function="EXINT"/>
<signal name="PCINT" pad-key="pc3" index="11" function="EXINT"/>
<signal name="PCINT" pad-key="pc4" index="12" function="EXINT"/>
<signal name="PCINT" pad-key="pc5" index="13" function="EXINT"/>
<signal name="PCINT" pad-key="pc6" index="14" function="EXINT"/>
<signal name="PCINT" pad-key="pc7" index="15" function="EXINT"/>
<signal name="PCINT" pad-key="pd0" index="16" function="EXINT"/>
<signal name="PCINT" pad-key="pd1" index="17" function="EXINT"/>
<signal name="PCINT" pad-key="pd2" index="18" function="EXINT"/>
<signal name="PCINT" pad-key="pd3" index="19" function="EXINT"/>
<signal name="PCINT" pad-key="pd4" index="20" function="EXINT"/>
<signal name="PCINT" pad-key="pd5" index="21" function="EXINT"/>
<signal name="PCINT" pad-key="pd6" index="22" function="EXINT"/>
<signal name="PCINT" pad-key="pd7" index="23" function="EXINT"/>
<signal name="PCINT" pad-key="pe0" index="24" function="EXINT"/>
<signal name="PCINT" pad-key="pe1" index="25" function="EXINT"/>
<signal name="PCINT" pad-key="pe2" index="26" function="EXINT"/>
</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="psc" name="PSC" module-key="psc">
<register-group-instance description="Power Stage Controller" register-group-key="psc" address-space-key="data" offset="0x0"/>
<signals>
<signal name="PSCIN2" pad-key="pd2" function="PSC"/>
<signal name="PSCOUT2A" pad-key="pb0" function="PSC"/>
<signal name="PSCOUT2B" pad-key="pb1" function="PSC"/>
<signal name="PSCIN1" pad-key="pc1" function="PSC"/>
<signal name="PSCOUT1A" pad-key="pc0" function="PSC"/>
<signal name="PSCOUT1B" pad-key="pb6" function="PSC"/>
<signal name="PSCIN0" pad-key="pd1" function="PSC"/>
<signal name="PSCOUT0A" pad-key="pd0" function="PSC"/>
<signal name="PSCOUT0B" pad-key="pb7" function="PSC"/>
</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 PORTD1" 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="0xD9">
<bit-field key="rstdisbl" name="RSTDISBL" description="Reset Disabled (Enable PC6 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="bootsz" name="BOOTSZ" description="Select Boot Size" mask="0x06"/>
<bit-field key="bootrst" name="BOOTRST" description="Select Reset Vector" mask="0x01"/>
</register>
<register key="extended" name="EXTENDED" offset="0x02" size="1" initial-value="0xFF">
<bit-field key="pscrb" name="PSCRB" description="PSC Reset Behavior" mask="0x20"/>
<bit-field key="pscrva" name="PSCRVA" description="PSCOUTnA Reset Value" mask="0x10"/>
<bit-field key="pscrvb" name="PSCRVB" description="PSC0UTnB Reset Value" 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="gpio_port" name="PORT" description="I/O Port">
<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="can" name="CAN" description="Controller Area Network">
<register-group key="can" name="CAN">
<register key="cangcon" name="CANGCON" description="CAN General Control Register" offset="0xD8" size="1">
<bit-field key="abrq" name="ABRQ" description="Abort Request" mask="0x80"/>
<bit-field key="ovrq" name="OVRQ" description="Overload Frame Request" mask="0x40"/>
<bit-field key="ttc" name="TTC" description="Time Trigger Communication" mask="0x20"/>
<bit-field key="synttc" name="SYNTTC" description="Synchronization of TTC" mask="0x10"/>
<bit-field key="listen" name="LISTEN" description="Listening Mode" mask="0x08"/>
<bit-field key="test" name="TEST" description="Test Mode" mask="0x04"/>
<bit-field key="enastb" name="ENASTB" description="Enable / Standby" mask="0x02"/>
<bit-field key="swres" name="SWRES" description="Software Reset Request" mask="0x01"/>
</register>
<register key="cangsta" name="CANGSTA" description="CAN General Status Register" offset="0xD9" size="1">
<bit-field key="ovfg" name="OVFG" description="Overload Frame Flag" mask="0x40"/>
<bit-field key="txbsy" name="TXBSY" description="Transmitter Busy" mask="0x10"/>
<bit-field key="rxbsy" name="RXBSY" description="Receiver Busy" mask="0x08"/>
<bit-field key="enfg" name="ENFG" description="Enable Flag" mask="0x04"/>
<bit-field key="boff" name="BOFF" description="Bus Off Mode" mask="0x02"/>
<bit-field key="errp" name="ERRP" description="Error Passive Mode" mask="0x01"/>
</register>
<register key="cangit" name="CANGIT" description="CAN General Interrupt Register Flags" offset="0xDA" size="1">
<bit-field key="canit" name="CANIT" description="General Interrupt Flag" mask="0x80"/>
<bit-field key="boffit" name="BOFFIT" description="Bus Off Interrupt Flag" mask="0x40"/>
<bit-field key="ovrtim" name="OVRTIM" description="Overrun CAN Timer Flag" mask="0x20"/>
<bit-field key="bxok" name="BXOK" description="Burst Receive Interrupt Flag" mask="0x10"/>
<bit-field key="serg" name="SERG" description="Stuff Error General Flag" mask="0x08"/>
<bit-field key="cerg" name="CERG" description="CRC Error General Flag" mask="0x04"/>
<bit-field key="ferg" name="FERG" description="Form Error General Flag" mask="0x02"/>
<bit-field key="aerg" name="AERG" description="Ackknowledgement Error General Flag" mask="0x01"/>
</register>
<register key="cangie" name="CANGIE" description="CAN General Interrupt Enable Register" offset="0xDB" size="1">
<bit-field key="enit" name="ENIT" description="Enable all Interrupts" mask="0x80"/>
<bit-field key="enboff" name="ENBOFF" description="Enable Bus Off Interrupt" mask="0x40"/>
<bit-field key="enrx" name="ENRX" description="Enable Receive Interrupt" mask="0x20"/>
<bit-field key="entx" name="ENTX" description="Enable Transmitt Interrupt" mask="0x10"/>
<bit-field key="enerr" name="ENERR" description="Enable MOb Error Interrupt" mask="0x08"/>
<bit-field key="enbx" name="ENBX" description="Enable Burst Receive Interrupt" mask="0x04"/>
<bit-field key="energ" name="ENERG" description="Enable General Error Interrupt" mask="0x02"/>
<bit-field key="enovrt" name="ENOVRT" description="Enable CAN Timer Overrun Interrupt" mask="0x01"/>
</register>
<register key="canen2" name="CANEN2" description="Enable MOb Register 2" offset="0xDC" size="1">
<bit-field key="enmob" name="ENMOB" description="Enable MObs" mask="0x3F"/>
</register>
<register key="canen1" name="CANEN1" description="Enable MOb Register 1(empty)" offset="0xDD" size="1"/>
<register key="canie2" name="CANIE2" description="Enable Interrupt MOb Register 2" offset="0xDE" size="1">
<bit-field key="iemob" name="IEMOB" description="Interrupt Enable MObs" mask="0x3F"/>
</register>
<register key="canie1" name="CANIE1" description="Enable Interrupt MOb Register 1 (empty)" offset="0xDF" size="1"/>
<register key="cansit2" name="CANSIT2" description="CAN Status Interrupt MOb Register 2" offset="0xE0" size="1">
<bit-field key="sit" name="SIT" description="Status of Interrupt MObs" mask="0x3F"/>
</register>
<register key="cansit1" name="CANSIT1" description="CAN Status Interrupt MOb Register 1 (empty)" offset="0xE1" size="1"/>
<register key="canbt1" name="CANBT1" description="CAN Bit Timing Register 1" offset="0xE2" size="1">
<bit-field key="brp" name="BRP" description="Baud Rate Prescaler bits" mask="0x7E"/>
</register>
<register key="canbt2" name="CANBT2" description="CAN Bit Timing Register 2" offset="0xE3" size="1">
<bit-field key="sjw" name="SJW" description="Re-Sync Jump Width bits" mask="0x60"/>
<bit-field key="prs" name="PRS" description="Propagation Time Segment bits" mask="0x0E"/>
</register>
<register key="canbt3" name="CANBT3" description="CAN Bit Timing Register 3" offset="0xE4" size="1">
<bit-field key="phs2" name="PHS2" description="Phase Segment 2 bits" mask="0x70"/>
<bit-field key="phs1" name="PHS1" description="Phase Segment 1 bits" mask="0x0E"/>
<bit-field key="smp" name="SMP" description="Sample Type" mask="0x01"/>
</register>
<register key="cantcon" name="CANTCON" description="Timer Control Register" offset="0xE5" size="1">
<bit-field key="tprsc" name="TPRSC" description="Timer Control bits" mask="0xFF"/>
</register>
<register key="cantim" name="CANTIM" description="Timer Register" offset="0xE6" size="2">
<bit-field key="cantim" name="CANTIM" description="Timer bits" mask="0xFFFF"/>
</register>
<register key="canttc" name="CANTTC" description="TTC Timer Register" offset="0xE8" size="2">
<bit-field key="timttc" name="TIMTTC" description="TTC Timer Count" mask="0xFFFF"/>
</register>
<register key="cantec" name="CANTEC" description="Transmit Error Counter Register" offset="0xEA" size="1">
<bit-field key="tec" name="TEC" description="Transmit Error Counter bits" mask="0xFF"/>
</register>
<register key="canrec" name="CANREC" description="Receive Error Counter Register" offset="0xEB" size="1">
<bit-field key="rec" name="REC" description="Receive Error Counter bits" mask="0xFF"/>
</register>
<register key="canhpmob" name="CANHPMOB" description="Highest Priority MOb Register" offset="0xEC" size="1">
<bit-field key="hpmob" name="HPMOB" description="Highest Priority MOb Number bits" mask="0xF0"/>
<bit-field key="cgp" name="CGP" description="CAN General Purpose bits" mask="0x0F"/>
</register>
<register key="canpage" name="CANPAGE" description="Page MOb Register" offset="0xED" size="1">
<bit-field key="mobnb" name="MOBNB" description="MOb Number bits" mask="0xF0"/>
<bit-field key="ainc" name="AINC" description="MOb Data Buffer Auto Increment (Active Low)" mask="0x08"/>
<bit-field key="indx" name="INDX" description="Data Buffer Index bits" mask="0x07"/>
</register>
<register key="canstmob" name="CANSTMOB" description="MOb Status Register" offset="0xEE" size="1">
<bit-field key="dlcw" name="DLCW" description="Data Length Code Warning on MOb" mask="0x80"/>
<bit-field key="txok" name="TXOK" description="Transmit OK on MOb" mask="0x40"/>
<bit-field key="rxok" name="RXOK" description="Receive OK on MOb" mask="0x20"/>
<bit-field key="berr" name="BERR" description="Bit Error on MOb" mask="0x10"/>
<bit-field key="serr" name="SERR" description="Stuff Error on MOb" mask="0x08"/>
<bit-field key="cerr" name="CERR" description="CRC Error on MOb" mask="0x04"/>
<bit-field key="ferr" name="FERR" description="Form Error on MOb" mask="0x02"/>
<bit-field key="aerr" name="AERR" description="Ackknowledgement Error on MOb" mask="0x01"/>
</register>
<register key="cancdmob" name="CANCDMOB" description="MOb Control and DLC Register" offset="0xEF" size="1">
<bit-field key="conmob" name="CONMOB" description="MOb Config bits" mask="0xC0"/>
<bit-field key="rplv" name="RPLV" description="Reply Valid" mask="0x20"/>
<bit-field key="ide" name="IDE" description="Identifier Extension" mask="0x10"/>
<bit-field key="dlc" name="DLC" description="Data Length Code bits" mask="0x0F"/>
</register>
<register key="canidt4" name="CANIDT4" description="Identifier Tag Register 4" offset="0xF0" size="1">
<bit-field key="idt" name="IDT" description="Identifier Tag" mask="0xF8"/>
<bit-field key="rtrtag" name="RTRTAG" description="Remote Transmission Request Tag" mask="0x04"/>
<bit-field key="rb1tag" name="RB1TAG" description="Reserved Bit 1 Tag" mask="0x02"/>
<bit-field key="rb0tag" name="RB0TAG" description="Reserved Bit 0 Tag" mask="0x01"/>
</register>
<register key="canidt3" name="CANIDT3" description="Identifier Tag Register 3" offset="0xF1" size="1">
<bit-field key="idt" name="IDT" description="Identifier Tag" mask="0xFF"/>
</register>
<register key="canidt2" name="CANIDT2" description="Identifier Tag Register 2" offset="0xF2" size="1">
<bit-field key="idt" name="IDT" description="Identifier Tag" mask="0xFF"/>
</register>
<register key="canidt1" name="CANIDT1" description="Identifier Tag Register 1" offset="0xF3" size="1">
<bit-field key="idt" name="IDT" description="Identifier Tag" mask="0xFF"/>
</register>
<register key="canidm4" name="CANIDM4" description="Identifier Mask Register 4" offset="0xF4" size="1">
<bit-field key="idemsk" name="IDEMSK" description="Identifier Extension Mask" mask="0x01"/>
<bit-field key="rtrmsk" name="RTRMSK" description="Remote Transmission Request Mask" mask="0x04"/>
<bit-field key="idmsk" name="IDMSK" description="Identifier Mask" mask="0xF8"/>
</register>
<register key="canidm3" name="CANIDM3" description="Identifier Mask Register 3" offset="0xF5" size="1">
<bit-field key="idmsk" name="IDMSK" description="Identifier Mask" mask="0xFF"/>
</register>
<register key="canidm2" name="CANIDM2" description="Identifier Mask Register 2" offset="0xF6" size="1">
<bit-field key="idmsk" name="IDMSK" description="Identifier Mask" mask="0xFF"/>
</register>
<register key="canidm1" name="CANIDM1" description="Identifier Mask Register 1" offset="0xF7" size="1">
<bit-field key="idmsk" name="IDMSK" description="Identifier Mask" mask="0xFF"/>
</register>
<register key="canstm" name="CANSTM" description="Time Stamp Register" offset="0xF8" size="2">
<bit-field key="timstm" name="TIMSTM" description="TIMSTM" mask="0xFFFF"/>
</register>
<register key="canmsg" name="CANMSG" description="Message Data Register" offset="0xFA" size="1">
<bit-field key="msg" name="MSG" description="Message Data bits" mask="0xFF"/>
</register>
</register-group>
</module>
<module key="ac" name="AC" description="Analog Comparator">
<register-group key="ac" name="AC">
<register key="acsr" name="ACSR" description="Analog Comparator Status Register" offset="0x50" size="1">
<bit-field key="ac3if" name="AC3IF" description="Analog Comparator 3 Interrupt Flag Bit" mask="0x80"/>
<bit-field key="ac2if" name="AC2IF" description="Analog Comparator 2 Interrupt Flag Bit" mask="0x40"/>
<bit-field key="ac1if" name="AC1IF" description="Analog Comparator 1 Interrupt Flag Bit" mask="0x20"/>
<bit-field key="ac0if" name="AC0IF" description="Analog Comparator 0 Interrupt Flag Bit" mask="0x10"/>
<bit-field key="ac3o" name="AC3O" description="Analog Comparator 3 Output Bit" mask="0x08"/>
<bit-field key="ac2o" name="AC2O" description="Analog Comparator 2 Output Bit" mask="0x04"/>
<bit-field key="ac1o" name="AC1O" description="Analog Comparator 1 Output Bit" mask="0x02"/>
<bit-field key="ac0o" name="AC0O" description="Analog Comparator 0 Output Bit" mask="0x01"/>
</register>
<register key="ac0con" name="AC0CON" description="Analog Comparator 0 Control Register" offset="0x94" size="1">
<bit-field key="ac0en" name="AC0EN" description="Analog Comparator 0 Enable Bit" mask="0x80"/>
<bit-field key="ac0ie" name="AC0IE" description="Analog Comparator 0 Interrupt Enable Bit" mask="0x40"/>
<bit-field key="ac0is" name="AC0IS" description="Analog Comparator 0 Interrupt Select Bits" mask="0x30"/>
<bit-field key="accksel" name="ACCKSEL" description="Analog Comparator Clock Select" mask="0x08"/>
<bit-field key="ac0m" name="AC0M" description="Analog Comparator 0 Multiplexer Register" mask="0x07"/>
</register>
<register key="ac1con" name="AC1CON" description="Analog Comparator 1 Control Register" offset="0x95" size="1">
<bit-field key="ac1en" name="AC1EN" description="Analog Comparator 1 Enable Bit" mask="0x80"/>
<bit-field key="ac1ie" name="AC1IE" description="Analog Comparator 1 Interrupt Enable Bit" mask="0x40"/>
<bit-field key="ac1is" name="AC1IS" description="Analog Comparator 1 Interrupt Select Bit" mask="0x30"/>
<bit-field key="ac1ice" name="AC1ICE" description="Analog Comparator 1 Interrupt Capture Enable Bit" mask="0x08"/>
<bit-field key="ac1m" name="AC1M" description="Analog Comparator 1 Multiplexer Register" mask="0x07"/>
</register>
<register key="ac2con" name="AC2CON" description="Analog Comparator 2 Control Register" offset="0x96" size="1">
<bit-field key="ac2en" name="AC2EN" description="Analog Comparator 2 Enable Bit" mask="0x80"/>
<bit-field key="ac2ie" name="AC2IE" description="Analog Comparator 2 Interrupt Enable Bit" mask="0x40"/>
<bit-field key="ac2is" name="AC2IS" description="Analog Comparator 2 Interrupt Select Bit" mask="0x30"/>
<bit-field key="ac2m" name="AC2M" description="Analog Comparator 2 Multiplexer Register" mask="0x07"/>
</register>
<register key="ac3con" name="AC3CON" description="Analog Comparator 3 Control Register" offset="0x97" size="1">
<bit-field key="ac3en" name="AC3EN" description="Analog Comparator 3 Enable Bit" mask="0x80"/>
<bit-field key="ac3ie" name="AC3IE" description="Analog Comparator 3 Interrupt Enable Bit" mask="0x40"/>
<bit-field key="ac3is" name="AC3IS" description="Analog Comparator 3 Interrupt Select Bit" mask="0x30"/>
<bit-field key="ac3m" name="AC3M" description="Analog Comparator 3 Multiplexer Register" mask="0x07"/>
</register>
</register-group>
</module>
<module key="dac" name="DAC" description="Digital-to-Analog Converter">
<register-group key="dac" name="DAC">
<register key="dacon" name="DACON" description="DAC Control Register" offset="0x90" size="1">
<bit-field key="daate" name="DAATE" description="DAC Auto Trigger Enable Bit" mask="0x80"/>
<bit-field key="dats" name="DATS" description="DAC Trigger Selection Bits" mask="0x70"/>
<bit-field key="dala" name="DALA" description="DAC Left Adjust" mask="0x04"/>
<bit-field key="daoe" name="DAOE" description="DAC Output Enable" mask="0x02"/>
<bit-field key="daen" name="DAEN" description="DAC Enable Bit" mask="0x01"/>
</register>
<register key="dac" name="DAC" description="DAC Data Register" offset="0x91" size="2">
<bit-field key="dac" name="DAC" description="DAC Data Register Bits" mask="0xFFFF"/>
</register>
</register-group>
</module>
<module key="cpu" name="CPU" description="CPU Registers">
<register-group key="cpu" name="CPU">
<register key="gpior1" name="GPIOR1" description="General Purpose IO Register 1" offset="0x39" size="1">
<bit-field key="gpior" name="GPIOR" description="General Purpose IO Register 1 bis" mask="0xFF"/>
</register>
<register key="gpior2" name="GPIOR2" description="General Purpose IO Register 2" offset="0x3A" size="1">
<bit-field key="gpior" name="GPIOR" description="General Purpose IO Register 2 bis" mask="0xFF"/>
</register>
<register key="gpior0" name="GPIOR0" description="General Purpose IO Register 0" offset="0x3E" size="1">
<bit-field key="gpior07" name="GPIOR07" description="General Purpose IO Register 0 bit 7" mask="0x80"/>
<bit-field key="gpior06" name="GPIOR06" description="General Purpose IO Register 0 bit 6" mask="0x40"/>
<bit-field key="gpior05" name="GPIOR05" description="General Purpose IO Register 0 bit 5" mask="0x20"/>
<bit-field key="gpior04" name="GPIOR04" description="General Purpose IO Register 0 bit 4" mask="0x10"/>
<bit-field key="gpior03" name="GPIOR03" description="General Purpose IO Register 0 bit 3" mask="0x08"/>
<bit-field key="gpior02" name="GPIOR02" description="General Purpose IO Register 0 bit 2" mask="0x04"/>
<bit-field key="gpior01" name="GPIOR01" description="General Purpose IO Register 0 bit 1" mask="0x02"/>
<bit-field key="gpior00" name="GPIOR00" description="General Purpose IO Register 0 bit 0" mask="0x01"/>
</register>
<register key="pllcsr" name="PLLCSR" description="PLL Control And Status Register" offset="0x49" size="1">
<bit-field key="pllf" name="PLLF" description="PLL Factor" 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="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="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="spips" name="SPIPS" description="SPI Pin Select" mask="0x80"/>
<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" description="Clock Prescaler Change Enable" mask="0x80"/>
<bit-field key="clkps" name="CLKPS" description="Clock Prescaler Select" mask="0x0F"/>
</register>
<register key="prr" name="PRR" description="Power Reduction Register" offset="0x64" size="1">
<bit-field key="prcan" name="PRCAN" description="Power Reduction CAN" mask="0x40"/>
<bit-field key="prpsc" name="PRPSC" description="Power Reduction PSC" mask="0x20"/>
<bit-field key="prtim1" name="PRTIM1" description="Power Reduction Timer/Counter1" mask="0x10"/>
<bit-field key="prtim0" name="PRTIM0" description="Power Reduction Timer/Counter0" mask="0x08"/>
<bit-field key="prspi" name="PRSPI" description="Power Reduction Serial Peripheral Interface" mask="0x04"/>
<bit-field key="prlin" name="PRLIN" description="Power Reduction LIN UART" mask="0x02"/>
<bit-field key="pradc" name="PRADC" description="Power Reduction ADC" 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>
<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="icpsel1" name="ICPSEL1" description="Timer/Counter1 Input Capture Selection" mask="0x40"/>
<bit-field key="psrsync" name="PSRSYNC" description="Timer/Counter Prescaler Reset" mask="0x01"/>
</register>
<register key="tccr0a" name="TCCR0A" description="Timer/Counter Control Register A" offset="0x44" size="1">
<bit-field key="com0a" name="COM0A" description="Compare Output Mode for Channel A" mask="0xC0"/>
<bit-field key="com0b" name="COM0B" description="Compare Output Mode for Channel B" mask="0x30"/>
<bit-field key="wgm0" name="WGM0" description="Waveform Generation Mode" mask="0x03"/>
</register>
<register key="tccr0b" name="TCCR0B" description="Timer/Counter 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" 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">
<bit-field key="tcnt0" name="TCNT0" description="Timer/Counter0 bits" mask="0xFF"/>
</register>
<register key="ocr0a" name="OCR0A" description="Timer/Counter0 Output Compare Register A" offset="0x47" size="1">
<bit-field key="ocr0a" name="OCR0A" description="Timer/Counter0 Output Compare bits" mask="0xFF"/>
</register>
<register key="ocr0b" name="OCR0B" description="Timer/Counter0 Output Compare Register B" offset="0x48" size="1">
<bit-field key="ocr0b" name="OCR0B" description="Timer/Counter0 Output Compare bits" mask="0xFF"/>
</register>
<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="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="Input Capture Flag 1" mask="0x20"/>
<bit-field key="ocf1b" name="OCF1B" description="Output Compare Flag 1B" mask="0x04"/>
<bit-field key="ocf1a" name="OCF1A" description="Output Compare Flag 1A" mask="0x02"/>
<bit-field key="tov1" name="TOV1" description="Timer/Counter1 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="icpsel1" name="ICPSEL1" description="Timer/Counter1 Input Capture Selection" mask="0x40"/>
<bit-field key="psrsync" name="PSRSYNC" description="Timer/Counter Prescaler Reset" mask="0x01"/>
</register>
<register key="timsk1" name="TIMSK1" description="Timer/Counter 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 CompareB Match Interrupt Enable" mask="0x04"/>
<bit-field key="ocie1a" name="OCIE1A" description="Timer/Counter1 Output CompareA 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 for Channel A" mask="0xC0"/>
<bit-field key="com1b" name="COM1B" description="Compare Output Mode for Channel B" mask="0x30"/>
<bit-field key="wgm1" name="WGM1" description="Waveform Generation Mode" 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" mask="0x18"/>
<bit-field key="cs1" name="CS1" description="Prescaler source of Timer/Counter 1" 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">
<bit-field key="tcnt1" name="TCNT1" description="Timer/Counter1 bits" mask="0xFFFF"/>
</register>
<register key="icr1" name="ICR1" description="Timer/Counter1 Input Capture Register" offset="0x86" size="2">
<bit-field key="icr1" name="ICR1" description="Timer/Counter1 Input Capture bits" mask="0xFFFF"/>
</register>
<register key="ocr1a" name="OCR1A" description="Timer/Counter1 Output Compare Register A" offset="0x88" size="2">
<bit-field key="ocr1a" name="OCR1A" description="Timer/Counter1 Output Compare bits" mask="0xFFFF"/>
</register>
<register key="ocr1b" name="OCR1B" description="Timer/Counter1 Output Compare Register B" offset="0x8A" size="2">
<bit-field key="ocr1b" name="OCR1B" description="Timer/Counter1 Output Compare bits" mask="0xFFFF"/>
</register>
</register-group>
</module>
<module key="adc" name="ADC" description="Analog-to-Digital Converter">
<register-group key="adc" name="ADC">
<register key="amp0csr" name="AMP0CSR" description="Amplifier 0 Control and Status Register" offset="0x75" size="1">
<bit-field key="amp0en" name="AMP0EN" description="Amplifier 0 Enable" mask="0x80"/>
<bit-field key="amp0is" name="AMP0IS" description="Amplifier 0 Input Shunt" mask="0x40"/>
<bit-field key="amp0g" name="AMP0G" description="Amplifier 0 Gain Selection" mask="0x30"/>
<bit-field key="ampcmp0" name="AMPCMP0" description="Amplifier 0 - Comparator 0 connection" mask="0x08"/>
<bit-field key="amp0ts" name="AMP0TS" description="Amplifier 0 Clock Source Selection" mask="0x07"/>
</register>
<register key="amp1csr" name="AMP1CSR" description="Amplifier 1 Control and Status Register" offset="0x76" size="1">
<bit-field key="amp1en" name="AMP1EN" description="Amplifier 1 Enable" mask="0x80"/>
<bit-field key="amp1is" name="AMP1IS" description="Amplifier 1 Input Shunt" mask="0x40"/>
<bit-field key="amp1g" name="AMP1G" description="Amplifier 1 Gain Selection" mask="0x30"/>
<bit-field key="ampcmp1" name="AMPCMP1" description="Amplifier 1 - Comparator 1 Connection" mask="0x08"/>
<bit-field key="amp1ts" name="AMP1TS" description="Amplifier 1 Clock Source Selection" mask="0x07"/>
</register>
<register key="amp2csr" name="AMP2CSR" description="Amplifier 2 Control and Status Register" offset="0x77" size="1">
<bit-field key="amp2en" name="AMP2EN" description="Amplifier 2 Enable" mask="0x80"/>
<bit-field key="amp2is" name="AMP2IS" description="Amplifier 2 Input Shunt" mask="0x40"/>
<bit-field key="amp2g" name="AMP2G" description="Amplifier 2 Gain Selection" mask="0x30"/>
<bit-field key="ampcmp2" name="AMPCMP2" description="Amplifier 2 - Comparator 2 Connection" mask="0x08"/>
<bit-field key="amp2ts" name="AMP2TS" description="Amplifier 2 Clock Source Selection" mask="0x07"/>
</register>
<register key="adc" name="ADC" description="ADC Data Register Bytes" offset="0x78" size="2">
<bit-field key="adc" name="ADC" description="ADC Data bits" mask="0xFFFF"/>
</register>
<register key="adcsra" name="ADCSRA" description="The ADC Control and Status register" 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="adhsm" name="ADHSM" description="ADC High Speed Mode" mask="0x80"/>
<bit-field key="isrcen" name="ISRCEN" description="Current Source Enable" mask="0x40"/>
<bit-field key="arefen" name="AREFEN" description="Analog Reference pin Enable" mask="0x20"/>
<bit-field key="adts" name="ADTS" description="ADC Auto Trigger Sources" mask="0x0F"/>
</register>
<register key="admux" name="ADMUX" description="The 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="ADC channel selection bits" mask="0x1F"/>
</register>
<register key="didr0" name="DIDR0" description="Digital Input Disable Register 0" offset="0x7E" size="1">
<bit-field key="adc7d" name="ADC7D" description="ADC7 Digital input Disable" mask="0x80"/>
<bit-field key="adc6d" name="ADC6D" description="ADC6 Digital input Disable" mask="0x40"/>
<bit-field key="adc5d" name="ADC5D" description="ADC5 Digital input Disable" mask="0x20"/>
<bit-field key="adc4d" name="ADC4D" description="ADC4 Digital input Disable" mask="0x10"/>
<bit-field key="adc3d" name="ADC3D" description="ADC3 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 0" offset="0x7F" size="1">
<bit-field key="amp2pd" name="AMP2PD" description="AMP2P Pin Digital input Disable" mask="0x40"/>
<bit-field key="acmp0d" name="ACMP0D" description="ACMP0 Pin Digital input Disable" mask="0x20"/>
<bit-field key="amp0pd" name="AMP0PD" description="AMP0P Pin Digital input Disable" mask="0x10"/>
<bit-field key="amp0nd" name="AMP0ND" description="AMP0N Pin Digital input Disable" mask="0x08"/>
<bit-field key="adc10d" name="ADC10D" description="ADC10 Pin Digital input Disable" mask="0x04"/>
<bit-field key="adc9d" name="ADC9D" description="ADC9 Pin Digital input Disable" mask="0x02"/>
<bit-field key="adc8d" name="ADC8D" description="ADC8 Pin Digital input Disable" mask="0x01"/>
</register>
</register-group>
</module>
<module key="linuart" name="LINUART" description="Local Interconnect Network">
<register-group key="linuart" name="LINUART">
<register key="lincr" name="LINCR" description="LIN Control Register" offset="0xC8" size="1">
<bit-field key="lswres" name="LSWRES" description="Software Reset" mask="0x80"/>
<bit-field key="lin13" name="LIN13" description="LIN Standard" mask="0x40"/>
<bit-field key="lconf" name="LCONF" description="LIN Configuration bits" mask="0x30"/>
<bit-field key="lena" name="LENA" description="LIN or UART Enable" mask="0x08"/>
<bit-field key="lcmd" name="LCMD" description="LIN Command and Mode bits" mask="0x07"/>
</register>
<register key="linsir" name="LINSIR" description="LIN Status and Interrupt Register" offset="0xC9" size="1">
<bit-field key="lidst" name="LIDST" description="Identifier Status bits" mask="0xE0"/>
<bit-field key="lbusy" name="LBUSY" description="Busy Signal" mask="0x10"/>
<bit-field key="lerr" name="LERR" description="Error Interrupt" mask="0x08"/>
<bit-field key="lidok" name="LIDOK" description="Identifier Interrupt" mask="0x04"/>
<bit-field key="ltxok" name="LTXOK" description="Transmit Performed Interrupt" mask="0x02"/>
<bit-field key="lrxok" name="LRXOK" description="Receive Performed Interrupt" mask="0x01"/>
</register>
<register key="linenir" name="LINENIR" description="LIN Enable Interrupt Register" offset="0xCA" size="1">
<bit-field key="lenerr" name="LENERR" description="Enable Error Interrupt" mask="0x08"/>
<bit-field key="lenidok" name="LENIDOK" description="Enable Identifier Interrupt" mask="0x04"/>
<bit-field key="lentxok" name="LENTXOK" description="Enable Transmit Performed Interrupt" mask="0x02"/>
<bit-field key="lenrxok" name="LENRXOK" description="Enable Receive Performed Interrupt" mask="0x01"/>
</register>
<register key="linerr" name="LINERR" description="LIN Error Register" offset="0xCB" size="1">
<bit-field key="labort" name="LABORT" description="Abort Flag" mask="0x80"/>
<bit-field key="ltoerr" name="LTOERR" description="Frame Time Out Error Flag" mask="0x40"/>
<bit-field key="loverr" name="LOVERR" description="Overrun Error Flag" mask="0x20"/>
<bit-field key="lferr" name="LFERR" description="Framing Error Flag" mask="0x10"/>
<bit-field key="lserr" name="LSERR" description="Synchronization Error Flag" mask="0x08"/>
<bit-field key="lperr" name="LPERR" description="Parity Error Flag" mask="0x04"/>
<bit-field key="lcerr" name="LCERR" description="Checksum Error Flag" mask="0x02"/>
<bit-field key="lberr" name="LBERR" description="Bit Error Flag" mask="0x01"/>
</register>
<register key="linbtr" name="LINBTR" description="LIN Bit Timing Register" offset="0xCC" size="1">
<bit-field key="ldisr" name="LDISR" description="Disable Bit Timing Resynchronization" mask="0x80"/>
<bit-field key="lbt" name="LBT" description="LIN Bit Timing bits" mask="0x3F"/>
</register>
<register key="linbrr" name="LINBRR" description="LIN Baud Rate Register" offset="0xCD" size="2">
<bit-field key="ldiv" name="LDIV" mask="0x0FFF"/>
</register>
<register key="lindlr" name="LINDLR" description="LIN Data Length Register" offset="0xCF" size="1">
<bit-field key="ltxdl" name="LTXDL" description="LIN Transmit Data Length bits" mask="0xF0"/>
<bit-field key="lrxdl" name="LRXDL" description="LIN Receive Data Length bits" mask="0x0F"/>
</register>
<register key="linidr" name="LINIDR" description="LIN Identifier Register" offset="0xD0" size="1">
<bit-field key="lp" name="LP" description="Parity bits" mask="0xC0"/>
<bit-field key="lid" name="LID" description="Identifier bit 5 or Data Length bits" mask="0x3F"/>
</register>
<register key="linsel" name="LINSEL" description="LIN Data Buffer Selection Register" offset="0xD1" size="1">
<bit-field key="lainc" name="LAINC" description="Auto Increment of Data Buffer Index (Active Low)" mask="0x08"/>
<bit-field key="lindx" name="LINDX" description="FIFO LIN Data Buffer Index bits" mask="0x07"/>
</register>
<register key="lindat" name="LINDAT" description="LIN Data Register" offset="0xD2" size="1">
<bit-field key="ldata" name="LDATA" description="LIN Data In / Data out" mask="0xFF"/>
</register>
</register-group>
</module>
<module key="spi" name="SPI" description="Serial Peripheral Interface">
<register-group key="spi" name="SPI">
<register key="spcr" name="SPCR" 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 Selects" mask="0x03"/>
</register>
<register key="spsr" name="SPSR" 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="spdr" name="SPDR" description="SPI Data Register" offset="0x4E" size="1"/>
</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="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="0x0F"/>
</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="0x0F"/>
</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 3 Enable" mask="0x0F"/>
</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="0x0F"/>
</register>
<register key="eicra" name="EICRA" description="External Interrupt Control Register" offset="0x69" size="1">
<bit-field key="isc3" name="ISC3" description="External Interrupt Sense Control Bit" mask="0xC0"/>
<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 1 Bits" mask="0x0C"/>
<bit-field key="isc0" name="ISC0" description="External Interrupt Sense Control 0 Bits" mask="0x03"/>
</register>
<register key="pcmsk0" name="PCMSK0" description="Pin Change Mask Register 0" offset="0x6A" 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="0x6B" 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="0x6C" 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="0x6D" size="1">
<bit-field key="pcint" name="PCINT" description="Pin Change Enable Masks" mask="0x07"/>
</register>
</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" mask="0x30"/>
<bit-field key="eerie" name="EERIE" description="EEPROM Ready Interrupt Enable" mask="0x08"/>
<bit-field key="eemwe" name="EEMWE" description="EEPROM Master Write Enable" mask="0x04"/>
<bit-field key="eewe" name="EEWE" 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="0x40" size="1">
<bit-field key="eedr" name="EEDR" description="EEPROM Data bits" mask="0xFF"/>
</register>
<register key="eear" name="EEAR" description="EEPROM Read/Write Access" offset="0x41" size="2">
<bit-field key="eear" name="EEAR" description="EEPROM Address bits" mask="0x03FF"/>
</register>
</register-group>
</module>
<module key="psc" name="PSC" description="Power Stage Controller">
<register-group key="psc" name="PSC">
<register key="pocr0sa" name="POCR0SA" description="PSC Module 0 Output Compare SA Register" offset="0xA0" size="2">
<bit-field key="pocr0sa" name="POCR0SA" description="PSC Output Compare SA bits" mask="0x0FFF"/>
</register>
<register key="pocr0ra" name="POCR0RA" description="PSC Module 0 Output Compare RA Register" offset="0xA2" size="2">
<bit-field key="pocr0ra" name="POCR0RA" description="PSC Output Compare RA bits" mask="0x0FFF"/>
</register>
<register key="pocr0sb" name="POCR0SB" description="PSC Module 0 Output Compare SB Register" offset="0xA4" size="2">
<bit-field key="pocr0sb" name="POCR0SB" description="PSC Output Compare SB bits" mask="0x0FFF"/>
</register>
<register key="pocr1sa" name="POCR1SA" description="PSC Module 1 Output Compare SA Register" offset="0xA6" size="2">
<bit-field key="pocr1sa" name="POCR1SA" description="PSC Output Compare SA bits" mask="0x0FFF"/>
</register>
<register key="pocr1ra" name="POCR1RA" description="PSC Module 1 Output Compare RA Register" offset="0xA8" size="2">
<bit-field key="pocr1ra" name="POCR1RA" description="PSC Output Compare RA bits" mask="0x0FFF"/>
</register>
<register key="pocr1sb" name="POCR1SB" description="PSC Module 1 Output Compare SB Register" offset="0xAA" size="2">
<bit-field key="pocr1sb" name="POCR1SB" description="PSC Output Compare SB bits" mask="0x0FFF"/>
</register>
<register key="pocr2sa" name="POCR2SA" description="PSC Module 2 Output Compare SA Register" offset="0xAC" size="2">
<bit-field key="pocr2sa" name="POCR2SA" description="PSC Output Compare SA bits" mask="0x0FFF"/>
</register>
<register key="pocr2ra" name="POCR2RA" description="PSC Module 2 Output Compare RA Register" offset="0xAE" size="2">
<bit-field key="pocr2ra" name="POCR2RA" description="PSC Output Compare RA bits" mask="0x0FFF"/>
</register>
<register key="pocr2sb" name="POCR2SB" description="PSC Module 2 Output Compare SB Register" offset="0xB0" size="2">
<bit-field key="pocr2sb" name="POCR2SB" description="PSC Output Compare SB bits" mask="0x0FFF"/>
</register>
<register key="pocr_rb" name="POCR_RB" description="PSC Output Compare RB Register" offset="0xB2" size="2">
<bit-field key="pocr_rb" name="POCR_RB" description="PSC Output Compare RB bits" mask="0x0FFF"/>
</register>
<register key="psync" name="PSYNC" description="PSC Synchro Configuration" offset="0xB4" size="1">
<bit-field key="psync2" name="PSYNC2" description="Selection of Synchronization Out for ADC" mask="0x30"/>
<bit-field key="psync1" name="PSYNC1" description="Selection of Synchronization Out for ADC" mask="0x0C"/>
<bit-field key="psync0" name="PSYNC0" description="Selection of Synchronization Out for ADC" mask="0x03"/>
</register>
<register key="pcnf" name="PCNF" description="PSC Configuration Register" offset="0xB5" size="1">
<bit-field key="pulock" name="PULOCK" description="PSC Update Lock" mask="0x20"/>
<bit-field key="pmode" name="PMODE" description="PSC Mode" mask="0x10"/>
<bit-field key="popb" name="POPB" description="PSC Output B Polarity" mask="0x08"/>
<bit-field key="popa" name="POPA" description="PSC Output A Polarity" mask="0x04"/>
</register>
<register key="poc" name="POC" description="PSC Output Configuration" offset="0xB6" size="1">
<bit-field key="poen2b" name="POEN2B" description="PSC Output 2B Enable" mask="0x20"/>
<bit-field key="poen2a" name="POEN2A" description="PSC Output 2A Enable" mask="0x10"/>
<bit-field key="poen1b" name="POEN1B" description="PSC Output 1B Enable" mask="0x08"/>
<bit-field key="poen1a" name="POEN1A" description="PSC Output 1A Enable" mask="0x04"/>
<bit-field key="poen0b" name="POEN0B" description="PSC Output 0B Enable" mask="0x02"/>
<bit-field key="poen0a" name="POEN0A" description="PSC Output 0A Enable" mask="0x01"/>
</register>
<register key="pctl" name="PCTL" description="PSC Control Register" offset="0xB7" size="1">
<bit-field key="ppre" name="PPRE" description="PSC Prescaler Select bits" mask="0xC0"/>
<bit-field key="pclksel" name="PCLKSEL" description="PSC Input Clock Select" mask="0x20"/>
<bit-field key="pccyc" name="PCCYC" description="PSC Complete Cycle" mask="0x02"/>
<bit-field key="prun" name="PRUN" description="PSC Run" mask="0x01"/>
</register>
<register key="pmic0" name="PMIC0" description="PSC Module 0 Input Control Register" offset="0xB8" size="1">
<bit-field key="poven0" name="POVEN0" description="PSC Module 0 Overlap Enable" mask="0x80"/>
<bit-field key="pisel0" name="PISEL0" description="PSC Module 0 Input Select" mask="0x40"/>
<bit-field key="pelev0" name="PELEV0" description="PSC Module 0 Input Level Selector" mask="0x20"/>
<bit-field key="pflte0" name="PFLTE0" description="PSC Module 0 Input Filter Enable" mask="0x10"/>
<bit-field key="paoc0" name="PAOC0" description="PSC Module 0 Asynchronous Output Control" mask="0x08"/>
<bit-field key="prfm0" name="PRFM0" description="PSC Module 0 Input Mode bits" mask="0x07"/>
</register>
<register key="pmic1" name="PMIC1" description="PSC Module 1 Input Control Register" offset="0xB9" size="1">
<bit-field key="poven1" name="POVEN1" description="PSC Module 1 Overlap Enable" mask="0x80"/>
<bit-field key="pisel1" name="PISEL1" description="PSC Module 1 Input Select" mask="0x40"/>
<bit-field key="pelev1" name="PELEV1" description="PSC Module 1 Input Level Selector" mask="0x20"/>
<bit-field key="pflte1" name="PFLTE1" description="PSC Module 1 Input Filter Enable" mask="0x10"/>
<bit-field key="paoc1" name="PAOC1" description="PSC Module 1 Asynchronous Output Control" mask="0x08"/>
<bit-field key="prfm1" name="PRFM1" description="PSC Module 1 Input Mode bits" mask="0x07"/>
</register>
<register key="pmic2" name="PMIC2" description="PSC Module 2 Input Control Register" offset="0xBA" size="1">
<bit-field key="poven2" name="POVEN2" description="PSC Module 2 Overlap Enable" mask="0x80"/>
<bit-field key="pisel2" name="PISEL2" description="PSC Module 2 Input Select" mask="0x40"/>
<bit-field key="pelev2" name="PELEV2" description="PSC Module 2 Input Level Selector" mask="0x20"/>
<bit-field key="pflte2" name="PFLTE2" description="PSC Module 2 Input Filter Enable" mask="0x10"/>
<bit-field key="paoc2" name="PAOC2" description="PSC Module 2 Asynchronous Output Control" mask="0x08"/>
<bit-field key="prfm2" name="PRFM2" description="PSC Module 2 Input Mode bits" mask="0x07"/>
</register>
<register key="pim" name="PIM" description="PSC Interrupt Mask Register" offset="0xBB" size="1">
<bit-field key="peve" name="PEVE" description="External Event 2 Interrupt Enable" mask="0x0E"/>
<bit-field key="peope" name="PEOPE" description="PSC End of Cycle Interrupt Enable" mask="0x01"/>
</register>
<register key="pifr" name="PIFR" description="PSC Interrupt Flag Register" offset="0xBC" size="1">
<bit-field key="pev" name="PEV" description="PSC External Event 2 Interrupt" mask="0x0E"/>
<bit-field key="peop" name="PEOP" description="PSC End of Cycle Interrupt" mask="0x01"/>
</register>
</register-group>
</module>
</modules>
<pads>
<pad key="agnd" name="AGND"/>
<pad key="aref" name="AREF"/>
<pad key="avcc" name="AVCC"/>
<pad key="gnd" name="GND"/>
<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="vcc" name="VCC"/>
</pads>
<pinouts>
<pinout key="tqfpqfn32" name="TQFPQFN32" type="qfn">
<pin position="1" pad-key="pd2"/>
<pin position="2" pad-key="pd3"/>
<pin position="3" pad-key="pc1"/>
<pin position="4" pad-key="vcc"/>
<pin position="5" pad-key="gnd"/>
<pin position="6" pad-key="pc2"/>
<pin position="7" pad-key="pc3"/>
<pin position="8" pad-key="pb0"/>
<pin position="9" pad-key="pb1"/>
<pin position="10" pad-key="pe1"/>
<pin position="11" pad-key="pe2"/>
<pin position="12" pad-key="pd4"/>
<pin position="13" pad-key="pd5"/>
<pin position="14" pad-key="pd6"/>
<pin position="15" pad-key="pd7"/>
<pin position="16" pad-key="pb2"/>
<pin position="17" pad-key="pc4"/>
<pin position="18" pad-key="pc5"/>
<pin position="19" pad-key="avcc"/>
<pin position="20" pad-key="agnd"/>
<pin position="21" pad-key="aref"/>
<pin position="22" pad-key="pc6"/>
<pin position="23" pad-key="pb3"/>
<pin position="24" pad-key="pb4"/>
<pin position="25" pad-key="pc7"/>
<pin position="26" pad-key="pb5"/>
<pin position="27" pad-key="pb6"/>
<pin position="28" pad-key="pb7"/>
<pin position="29" pad-key="pd0"/>
<pin position="30" pad-key="pc0"/>
<pin position="31" pad-key="pe0"/>
<pin position="32" pad-key="pd1"/>
</pinout>
</pinouts>
<variants>
<variant key="atmega16m1_au" name="ATmega16M1-AU" pinout-key="tqfpqfn32"/>
<variant key="atmega16m1_mu" name="ATmega16M1-MU" pinout-key="tqfpqfn32"/>
</variants>
</device>