Files

944 lines
72 KiB
XML
Raw Permalink Normal View History

2025-11-23 20:39:37 +04:00
<?xml version="1.0" encoding="UTF-8"?>
<device name="AT90PWM2B" family="AVR8" configuration-value="at90pwm2b" architecture="AVRe+" avr-family="MEGA">
<property-groups>
<property-group key="signatures">
<property key="jtagid" value="0x9383"/>
<property key="signature0" value="0x1e"/>
<property key="signature1" value="0x93"/>
<property key="signature2" value="0x83"/>
</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="64"/>
<property key="ispprogramflash_delay" value="10"/>
<property key="ispprogramflash_cmd1" value="0x40"/>
<property key="ispprogramflash_cmd2" value="0x4C"/>
<property key="ispprogramflash_cmd3" value="0x00"/>
<property key="ispprogramflash_pollval1" value="0x00"/>
<property key="ispprogramflash_pollval2" value="0x00"/>
<property key="ispprogrameeprom_mode" value="0x41"/>
<property key="ispprogrameeprom_blocksize" value="4"/>
<property key="ispprogrameeprom_delay" value="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">
<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="0x0D"/>
<property key="ppprogramflash_blocksize" value="256"/>
<property key="ppreadflash_blocksize" value="256"/>
<property key="ppprogrameeprom_polltimeout" value="5"/>
<property key="ppprogrameeprom_mode" value="0x05"/>
<property key="ppprogrameeprom_blocksize" value="256"/>
<property key="ppreadeeprom_blocksize" value="256"/>
<property key="ppprogramfuse_pulsewidth" value="0"/>
<property key="ppprogramfuse_polltimeout" value="5"/>
<property key="ppprogramlock_pulsewidth" value="0"/>
<property key="ppprogramlock_polltimeout" value="5"/>
</property-group>
<property-group key="isp_interface_stk600">
<property key="ispenterprogmode_timeout" value="200"/>
<property key="ispenterprogmode_stabdelay" value="100"/>
<property key="ispenterprogmode_cmdexedelay" value="25"/>
<property key="ispenterprogmode_synchloops" value="32"/>
<property key="ispenterprogmode_bytedelay" value="0"/>
<property key="ispenterprogmode_pollindex" value="3"/>
<property key="ispenterprogmode_pollvalue" value="0x53"/>
<property key="ispleaveprogmode_predelay" value="1"/>
<property key="ispleaveprogmode_postdelay" value="1"/>
<property key="ispchiperase_erasedelay" value="45"/>
<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="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="0x0D"/>
<property key="ppprogramflash_blocksize" value="256"/>
<property key="ppreadflash_blocksize" value="256"/>
<property key="ppprogrameeprom_polltimeout" value="5"/>
<property key="ppprogrameeprom_mode" value="0x05"/>
<property key="ppprogrameeprom_blocksize" value="256"/>
<property key="ppreadeeprom_blocksize" value="256"/>
<property key="ppprogramfuse_pulsewidth" value="0"/>
<property key="ppprogramfuse_polltimeout" value="5"/>
<property key="ppprogramlock_pulsewidth" value="0"/>
<property key="ppprogramlock_polltimeout" value="5"/>
</property-group>
<property-group key="boot_section_options">
<property-group key="boot_section_1">
<property key="start_address" value="0x00001F00"/>
<property key="size" value="256"/>
<property key="page_size" value="64"/>
</property-group>
<property-group key="boot_section_2">
<property key="start_address" value="0x00001E00"/>
<property key="size" value="512"/>
<property key="page_size" value="64"/>
</property-group>
<property-group key="boot_section_3">
<property key="start_address" value="0x00001C00"/>
<property key="size" value="1024"/>
<property key="page_size" value="64"/>
</property-group>
<property-group key="boot_section_4">
<property key="start_address" value="0x00001800"/>
<property key="size" value="2048"/>
<property key="page_size" value="64"/>
</property-group>
</property-group>
</property-groups>
<address-spaces>
<address-space key="prog" start="0x00000000" size="8192" endianness="little">
<memory-segment key="internal_program_memory" name="Internal FLASH" type="flash" start="0x00000000" size="8192" page-size="64" access="RW" executable="1"/>
</address-space>
<address-space key="signatures" start="0x00000000" size="3" endianness="little">
<memory-segment key="signatures" name="Signatures" type="signatures" start="0x00000000" size="3" access="R" executable="0"/>
</address-space>
<address-space key="fuses" start="0x00000000" size="3" endianness="little">
<memory-segment key="fuses" name="Fuses" type="fuses" start="0x00000000" size="3" access="RW" executable="0"/>
</address-space>
<address-space key="lockbits" start="0x00000000" size="1" endianness="little">
<memory-segment key="lockbits" name="Lockbits" type="lockbits" start="0x00000000" size="1" access="RW" executable="0"/>
</address-space>
<address-space key="data" start="0x00000000" size="768" 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="512" executable="0"/>
</address-space>
<address-space key="eeprom" start="0x00000000" size="512" endianness="little">
<memory-segment key="internal_eeprom" name="Internal EEPROM" type="eeprom" start="0x00000000" size="512" page-size="4" access="RW" executable="0"/>
</address-space>
<address-space key="osccal" start="0x00000000" size="1" endianness="little">
<memory-segment key="osccal" name="OSCCAL" type="osccal" start="0x00000000" size="1" access="R" executable="0"/>
</address-space>
</address-spaces>
<physical-interfaces>
<physical-interface value="debug_wire">
<signals>
<signal name="dW" pad-key="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="PORTB"/>
<signal name="PB1" pad-key="pb1" index="1" function="PORTB"/>
<signal name="PB2" pad-key="pb2" index="2" function="PORTB"/>
<signal name="PB3" pad-key="pb3" index="3" function="PORTB"/>
<signal name="PB4" pad-key="pb4" index="4" function="PORTB"/>
<signal name="PB5" pad-key="pb5" index="5" function="PORTB"/>
<signal name="PB6" pad-key="pb6" index="6" function="PORTB"/>
<signal name="PB7" pad-key="pb7" index="7" function="PORTB"/>
</signals>
</peripheral>
<peripheral key="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="PORTD"/>
<signal name="PD1" pad-key="pd1" index="1" function="PORTD"/>
<signal name="PD2" pad-key="pd2" index="2" function="PORTD"/>
<signal name="PD3" pad-key="pd3" index="3" function="PORTD"/>
<signal name="PD4" pad-key="pd4" index="4" function="PORTD"/>
<signal name="PD5" pad-key="pd5" index="5" function="PORTD"/>
<signal name="PD6" pad-key="pd6" index="6" function="PORTD"/>
<signal name="PD7" pad-key="pd7" index="7" function="PORTD"/>
</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="PORTE"/>
<signal name="PE1" pad-key="pe1" index="1" function="PORTE"/>
<signal name="PE2" pad-key="pe2" index="2" function="PORTE"/>
</signals>
</peripheral>
<peripheral key="boot_load" name="BOOT_LOAD" module-key="boot_load">
<register-group-instance description="Bootloader" register-group-key="boot_load" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="eusart" name="EUSART" module-key="eusart">
<register-group-instance description="Extended USART" register-group-key="eusart" 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"/>
</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"/>
</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"/>
</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"/>
</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"/>
</peripheral>
<peripheral key="usart" name="USART" module-key="usart">
<register-group-instance description="USART" register-group-key="usart" address-space-key="data" offset="0x0"/>
</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"/>
</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"/>
</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="psc0" name="PSC0" module-key="psc">
<register-group-instance description="Power Stage Controller" register-group-key="psc0" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="psc2" name="PSC2" module-key="psc">
<register-group-instance description="Power Stage Controller" register-group-key="psc2" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="fuse" name="FUSE" module-key="fuse">
<register-group-instance description="Fuses" register-group-key="fuse" address-space-key="fuses" offset="0x0"/>
</peripheral>
<peripheral key="lockbit" name="LOCKBIT" module-key="lockbit">
<register-group-instance description="Lockbits" register-group-key="lockbit" address-space-key="lockbits" offset="0x0"/>
</peripheral>
</peripherals>
<modules>
<module key="fuse" name="FUSE" description="Fuses">
<register-group key="fuse" name="FUSE">
<register key="low" name="LOW" offset="0x00" size="1" initial-value="0x62">
<bit-field key="ckdiv8" name="CKDIV8" description="Divide clock by 8 internally" mask="0x80"/>
<bit-field key="ckout" name="CKOUT" description="Clock output on PORTB0" mask="0x40"/>
<bit-field key="sut_cksel" name="SUT_CKSEL" description="Select Clock Source" mask="0x3F"/>
</register>
<register key="high" name="HIGH" offset="0x01" size="1" initial-value="0xDF">
<bit-field key="rstdisbl" name="RSTDISBL" description="Reset Disabled (Enable 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="bodlevel" name="BODLEVEL" description="Brown-out Detector Trigger Level" mask="0x07"/>
</register>
<register key="extended" name="EXTENDED" offset="0x02" size="1" initial-value="0xF9">
<bit-field key="psc2rb" name="PSC2RB" description="PSC2 Reset Behavior" mask="0x80"/>
<bit-field key="psc1rb" name="PSC1RB" description="PSC1 Reset Behavior" mask="0x40"/>
<bit-field key="psc0rb" name="PSC0RB" description="PSC0 Reset Behavior" mask="0x20"/>
<bit-field key="pscrv" name="PSCRV" description="PSCOUT Reset Value" mask="0x10"/>
<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-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="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="boot_load" name="BOOT_LOAD" description="Bootloader">
<register-group key="boot_load" name="BOOT_LOAD">
<register key="spmcsr" name="SPMCSR" description="Store Program Memory Control Register" offset="0x57" size="1">
<bit-field key="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="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-group>
</module>
<module key="eusart" name="EUSART" description="Extended USART">
<register-group key="eusart" name="EUSART">
<register key="eucsra" name="EUCSRA" description="EUSART Control and Status Register A" offset="0xC8" size="1">
<bit-field key="utxs" name="UTxS" description="EUSART Control and Status Register A Bits" mask="0xF0"/>
<bit-field key="urxs" name="URxS" description="EUSART Control and Status Register A Bits" mask="0x0F"/>
</register>
<register key="eucsrb" name="EUCSRB" description="EUSART Control Register B" offset="0xC9" size="1">
<bit-field key="eusart" name="EUSART" description="EUSART Enable Bit" mask="0x10"/>
<bit-field key="eusbs" name="EUSBS" description="EUSBS Enable Bit" mask="0x08"/>
<bit-field key="emch" name="EMCH" description="Manchester Mode Bit" mask="0x02"/>
<bit-field key="bodr" name="BODR" description="Order Bit" mask="0x01"/>
</register>
<register key="eucsrc" name="EUCSRC" description="EUSART Status Register C" offset="0xCA" size="1">
<bit-field key="fem" name="FEM" description="Frame Error Manchester Bit" mask="0x08"/>
<bit-field key="f1617" name="F1617" description="F1617 Bit" mask="0x04"/>
<bit-field key="stp" name="STP" description="Stop Bits" mask="0x03"/>
</register>
<register key="mubrr" name="MUBRR" description="Manchester Receiver Baud Rate Register" offset="0xCC" size="2">
<bit-field key="mubrr" name="MUBRR" description="Manchester Receiver Baud Rate Register Bits" mask="0xFFFF"/>
</register>
<register key="eudr" name="EUDR" description="EUSART I/O Data Register" offset="0xCE" size="1">
<bit-field key="eudr" name="EUDR" description="EUSART Extended 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="acckdiv" name="ACCKDIV" description="Analog Comparator Clock Divider" 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="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="0xAD" 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 Bit" mask="0x30"/>
<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="0xAE" 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="0xAF" 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-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="0xAA" 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="0xAB" 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="gpior3" name="GPIOR3" description="General Purpose IO Register 3" offset="0x3B" size="1">
<bit-field key="gpior" name="GPIOR" description="General Purpose IO Register 3 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="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="prr" name="PRR" description="Power Reduction Register" offset="0x64" size="1">
<bit-field key="prpsc2" name="PRPSC2" description="Power Reduction PSC2" mask="0x80"/>
<bit-field key="prpsc1" name="PRPSC1" description="Power Reduction PSC1" mask="0x40"/>
<bit-field key="prpsc0" name="PRPSC0" description="Power Reduction PSC0" 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="prusart0" name="PRUSART0" description="Power Reduction USART" 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="Timer1 Input Capture Selection Bit" mask="0x40"/>
<bit-field key="psr10" name="PSR10" description="Prescaler Reset Timer/Counter1 and Timer/Counter0" 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, Phase Correct PWM Mode" mask="0xC0"/>
<bit-field key="com0b" name="COM0B" description="Compare Output Mode, Fast PWm" 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 Counter 0 value" mask="0xFF"/>
</register>
<register key="ocr0a" name="OCR0A" description="Timer/Counter0 Output Compare Register" offset="0x47" size="1">
<bit-field key="ocr0a" name="OCR0A" description="Timer/Counter0 Output Compare A" mask="0xFF"/>
</register>
<register key="ocr0b" name="OCR0B" description="Timer/Counter0 Output Compare Register" offset="0x48" size="1">
<bit-field key="ocr0b" name="OCR0B" description="Timer/Counter0 Output Compare B" 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="psrsync" name="PSRSYNC" description="Prescaler Reset Timer/Counter1 and Timer/Counter0" 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 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="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" mask="0x80"/>
<bit-field key="foc1b" name="FOC1B" 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" mask="0xFFFF"/>
</register>
<register key="icr1" name="ICR1" description="Timer/Counter1 Input Capture Register Bytes" offset="0x86" size="2">
<bit-field key="icr1" name="ICR1" description="Timer/Counter1 Input Capture" mask="0xFFFF"/>
</register>
<register key="ocr1a" name="OCR1A" description="Timer/Counter1 Output Compare Register Bytes" offset="0x88" size="2"/>
<register key="ocr1b" name="OCR1B" description="Timer/Counter1 Output Compare Register Bytes" offset="0x8A" size="2"/>
</register-group>
</module>
<module key="adc" name="ADC" description="Analog-to-Digital Converter">
<register-group key="adc" name="ADC">
<register key="amp0csr" name="AMP0CSR" offset="0x76" size="1">
<bit-field key="amp0en" name="AMP0EN" mask="0x80"/>
<bit-field key="amp0is" name="AMP0IS" mask="0x40"/>
<bit-field key="amp0g" name="AMP0G" mask="0x30"/>
<bit-field key="amp0ts" name="AMP0TS" mask="0x03"/>
</register>
<register key="amp1csr" name="AMP1CSR" offset="0x77" size="1">
<bit-field key="amp1en" name="AMP1EN" mask="0x80"/>
<bit-field key="amp1is" name="AMP1IS" mask="0x40"/>
<bit-field key="amp1g" name="AMP1G" mask="0x30"/>
<bit-field key="amp1ts" name="AMP1TS" mask="0x03"/>
</register>
<register key="adc" name="ADC" description="ADC Data Register Bytes" offset="0x78" size="2">
<bit-field key="adc" name="ADC" description="ADC Data Register" 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="adts" name="ADTS" description="ADC Auto Trigger Source" 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="Analog Channel and Gain Selection Bits" mask="0x0F"/>
</register>
<register key="didr0" name="DIDR0" description="Digital Input Disable Register 0" 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 key="didr1" name="DIDR1" description="Digital Input Disable Register 1" offset="0x7F" size="1">
<bit-field key="acmp0d" name="ACMP0D" mask="0x20"/>
<bit-field key="amp0pd" name="AMP0PD" mask="0x10"/>
<bit-field key="amp0nd" name="AMP0ND" mask="0x08"/>
<bit-field key="adc10d" name="ADC10D" mask="0x04"/>
<bit-field key="adc9d" name="ADC9D" mask="0x02"/>
<bit-field key="adc8d" name="ADC8D" mask="0x01"/>
</register>
</register-group>
</module>
<module key="usart" name="USART" description="USART">
<register-group key="usart" name="USART">
<register key="ucsra" name="UCSRA" 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="USART Parity Error" mask="0x04"/>
<bit-field key="u2x" name="U2X" description="Double USART Transmission Bit" mask="0x02"/>
<bit-field key="mpcm" name="MPCM" description="Multi-processor Communication Mode" mask="0x01"/>
</register>
<register key="ucsrb" name="UCSRB" description="USART Control an 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="ucsrc" name="UCSRC" description="USART Control an Status register C" offset="0xC2" size="1">
<bit-field key="umsel0" name="UMSEL0" description="USART Mode Select" mask="0x40"/>
<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 Bits" mask="0x06"/>
<bit-field key="ucpol" name="UCPOL" description="Clock Polarity" mask="0x01"/>
</register>
<register key="ubrr" name="UBRR" description="USART Baud Rate Register" offset="0xC4" size="2">
<bit-field key="ubrr" name="UBRR" description="USART Baud Rate Register Bits" mask="0x0FFF"/>
</register>
<register key="udr" name="UDR" description="USART I/O Data Register" offset="0xC6" size="1">
<bit-field key="udr" name="UDR" description="USART I/O Data" 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">
<bit-field key="spd" name="SPD" description="SPI Data bits" mask="0xFF"/>
</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="exint" name="EXINT" description="External Interrupts">
<register-group key="exint" name="EXINT">
<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="eicra" name="EICRA" description="External Interrupt Control Register A" 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 Bit" mask="0x0C"/>
<bit-field key="isc0" name="ISC0" description="External Interrupt Sense Control Bit" mask="0x03"/>
</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 Bytes" offset="0x41" size="2">
<bit-field key="eear" name="EEAR" description="EEPROM Address bytes" mask="0x0FFF"/>
</register>
</register-group>
</module>
<module key="psc" name="PSC" description="Power Stage Controller">
<register-group key="psc0" name="PSC0">
<register key="pifr0" name="PIFR0" description="PSC0 Interrupt Flag Register" offset="0xA0" size="1">
<bit-field key="poac0b" name="POAC0B" description="PSC 0 Output A Activity" mask="0x80"/>
<bit-field key="poac0a" name="POAC0A" description="PSC 0 Output A Activity" mask="0x40"/>
<bit-field key="psei0" name="PSEI0" description="PSC 0 Synchro Error Interrupt" mask="0x20"/>
<bit-field key="pev0b" name="PEV0B" description="External Event B Interrupt" mask="0x10"/>
<bit-field key="pev0a" name="PEV0A" description="External Event A Interrupt" mask="0x08"/>
<bit-field key="prn0" name="PRN0" description="Ramp Number" mask="0x06"/>
<bit-field key="peop0" name="PEOP0" description="End of PSC0 Interrupt" mask="0x01"/>
</register>
<register key="pim0" name="PIM0" description="PSC0 Interrupt Mask Register" offset="0xA1" size="1">
<bit-field key="pseie0" name="PSEIE0" description="PSC 0 Synchro Error Interrupt Enable" mask="0x20"/>
<bit-field key="peve0b" name="PEVE0B" description="External Event B Interrupt Enable" mask="0x10"/>
<bit-field key="peve0a" name="PEVE0A" description="External Event A Interrupt Enable" mask="0x08"/>
<bit-field key="peope0" name="PEOPE0" description="End of Cycle Interrupt Enable" mask="0x01"/>
</register>
<register key="psoc0" name="PSOC0" description="PSC0 Synchro and Output Configuration" offset="0xD0" size="1">
<bit-field key="psync0" name="PSYNC0" description="Synchronization Out for ADC Selection" mask="0x30"/>
<bit-field key="poen0b" name="POEN0B" description="PSCOUT01 Output Enable" mask="0x04"/>
<bit-field key="poen0a" name="POEN0A" description="PSCOUT00 Output Enable" mask="0x01"/>
</register>
<register key="ocr0sa" name="OCR0SA" description="Output Compare 0 SA Register" offset="0xD2" size="2">
<bit-field key="ocr0sa" name="OCR0SA" description="Output Compare SA" mask="0x0FFF"/>
</register>
<register key="ocr0ra" name="OCR0RA" description="Output Compare 0 RA Register" offset="0xD4" size="2">
<bit-field key="ocr0ra" name="OCR0RA" description="Output Compare RA" mask="0x0FFF"/>
</register>
<register key="ocr0sb" name="OCR0SB" description="Output Compare 0 SB Register" offset="0xD6" size="2">
<bit-field key="ocr0sb" name="OCR0SB" description="Output Compare SB" mask="0x0FFF"/>
</register>
<register key="ocr0rb" name="OCR0RB" description="Output Compare 0 RB Register" offset="0xD8" size="2">
<bit-field key="ocr0rb" name="OCR0RB" description="Output Compare RB" mask="0xFFFF"/>
</register>
<register key="pcnf0" name="PCNF0" description="PSC 0 Configuration Register" offset="0xDA" size="1">
<bit-field key="pfifty0" name="PFIFTY0" description="PSC 0 Fifty" mask="0x80"/>
<bit-field key="palock0" name="PALOCK0" description="PSC 0 Autolock" mask="0x40"/>
<bit-field key="plock0" name="PLOCK0" description="PSC 0 Lock" mask="0x20"/>
<bit-field key="pmode0" name="PMODE0" description="PSC 0 Mode" mask="0x18"/>
<bit-field key="pop0" name="POP0" description="PSC 0 Output Polarity" mask="0x04"/>
<bit-field key="pclksel0" name="PCLKSEL0" description="PSC 0 Input Clock Select" mask="0x02"/>
</register>
<register key="pctl0" name="PCTL0" description="PSC 0 Control Register" offset="0xDB" size="1">
<bit-field key="ppre0" name="PPRE0" description="PSC 0 Prescaler Selects" mask="0xC0"/>
<bit-field key="pbfm0" name="PBFM0" description="PSC 0 Balance Flank Width Modulation" mask="0x20"/>
<bit-field key="paoc0b" name="PAOC0B" description="PSC 0 Asynchronous Output Control B" mask="0x10"/>
<bit-field key="paoc0a" name="PAOC0A" description="PSC 0 Asynchronous Output Control A" mask="0x08"/>
<bit-field key="parun0" name="PARUN0" description="PSC0 Auto Run" mask="0x04"/>
<bit-field key="pccyc0" name="PCCYC0" description="PSC0 Complete Cycle" mask="0x02"/>
<bit-field key="prun0" name="PRUN0" description="PSC 0 Run" mask="0x01"/>
</register>
<register key="pfrc0a" name="PFRC0A" description="PSC 0 Input A Control" offset="0xDC" size="1">
<bit-field key="pcae0a" name="PCAE0A" description="PSC 0 Capture Enable Input Part A" mask="0x80"/>
<bit-field key="pisel0a" name="PISEL0A" description="PSC 0 Input Select for Part A" mask="0x40"/>
<bit-field key="pelev0a" name="PELEV0A" description="PSC 0 Edge Level Selector on Input Part A" mask="0x20"/>
<bit-field key="pflte0a" name="PFLTE0A" description="PSC 0 Filter Enable on Input Part A" mask="0x10"/>
<bit-field key="prfm0a" name="PRFM0A" description="PSC 0 Retrigger and Fault Mode for Part A" mask="0x0F"/>
</register>
<register key="pfrc0b" name="PFRC0B" description="PSC 0 Input B Control" offset="0xDD" size="1">
<bit-field key="pcae0b" name="PCAE0B" description="PSC 0 Capture Enable Input Part B" mask="0x80"/>
<bit-field key="pisel0b" name="PISEL0B" description="PSC 0 Input Select for Part B" mask="0x40"/>
<bit-field key="pelev0b" name="PELEV0B" description="PSC 0 Edge Level Selector on Input Part B" mask="0x20"/>
<bit-field key="pflte0b" name="PFLTE0B" description="PSC 0 Filter Enable on Input Part B" mask="0x10"/>
<bit-field key="prfm0b" name="PRFM0B" description="PSC 0 Retrigger and Fault Mode for Part B" mask="0x0F"/>
</register>
<register key="picr0" name="PICR0" description="PSC 0 Input Capture Register" offset="0xDE" size="2">
<bit-field key="pcst0" name="PCST0" description="PSC 0 Input Capture Software Trig" mask="0x8000"/>
<bit-field key="picr0" name="PICR0" description="PSC 0 Input Capture Bytes" mask="0x0FFF"/>
</register>
</register-group>
<register-group key="psc2" name="PSC2">
<register key="pifr2" name="PIFR2" description="PSC2 Interrupt Flag Register" offset="0xA4" size="1">
<bit-field key="poac2b" name="POAC2B" description="PSC 2 Output A Activity" mask="0x80"/>
<bit-field key="poac2a" name="POAC2A" description="PSC 2 Output A Activity" mask="0x40"/>
<bit-field key="psei2" name="PSEI2" description="PSC 2 Synchro Error Interrupt" mask="0x20"/>
<bit-field key="pev2b" name="PEV2B" description="External Event B Interrupt" mask="0x10"/>
<bit-field key="pev2a" name="PEV2A" description="External Event A Interrupt" mask="0x08"/>
<bit-field key="prn2" name="PRN2" description="Ramp Number" mask="0x06"/>
<bit-field key="peop2" name="PEOP2" description="End of PSC2 Interrupt" mask="0x01"/>
</register>
<register key="pim2" name="PIM2" description="PSC2 Interrupt Mask Register" offset="0xA5" size="1">
<bit-field key="pseie2" name="PSEIE2" description="PSC 2 Synchro Error Interrupt Enable" mask="0x20"/>
<bit-field key="peve2b" name="PEVE2B" description="External Event B Interrupt Enable" mask="0x10"/>
<bit-field key="peve2a" name="PEVE2A" description="External Event A Interrupt Enable" mask="0x08"/>
<bit-field key="peope2" name="PEOPE2" description="End of Cycle Interrupt Enable" mask="0x01"/>
</register>
<register key="psoc2" name="PSOC2" description="PSC2 Synchro and Output Configuration" offset="0xF0" size="1">
<bit-field key="pos2" name="POS2" description="PSC 2 Output 23 Select" mask="0xC0"/>
<bit-field key="psync2_" name="PSYNC2_" description="Synchronization Out for ADC Selection" mask="0x30"/>
<bit-field key="poen2d" name="POEN2D" description="PSCOUT23 Output Enable" mask="0x08"/>
<bit-field key="poen2b" name="POEN2B" description="PSCOUT21 Output Enable" mask="0x04"/>
<bit-field key="poen2c" name="POEN2C" description="PSCOUT22 Output Enable" mask="0x02"/>
<bit-field key="poen2a" name="POEN2A" description="PSCOUT20 Output Enable" mask="0x01"/>
</register>
<register key="pom2" name="POM2" description="PSC 2 Output Matrix" offset="0xF1" size="1">
<bit-field key="pomv2b" name="POMV2B" description="Output Matrix Output B Ramps" mask="0xF0"/>
<bit-field key="pomv2a" name="POMV2A" description="Output Matrix Output A Ramps" mask="0x0F"/>
</register>
<register key="ocr2sa" name="OCR2SA" description="Output Compare 2 SA Register" offset="0xF2" size="2">
<bit-field key="ocr2sa" name="OCR2SA" description="Output Compare SA" mask="0x0FFF"/>
</register>
<register key="ocr2ra" name="OCR2RA" description="Output Compare 2 RA Register" offset="0xF4" size="2">
<bit-field key="ocr2ra" name="OCR2RA" description="Output Compare RA" mask="0x0FFF"/>
</register>
<register key="ocr2sb" name="OCR2SB" description="Output Compare 2 SB Register" offset="0xF6" size="2">
<bit-field key="ocr2sb" name="OCR2SB" description="Output Compare SB" mask="0x0FFF"/>
</register>
<register key="ocr2rb" name="OCR2RB" description="Output Compare 2 RB Register" offset="0xF8" size="2">
<bit-field key="ocr2rb" name="OCR2RB" description="Output Compare RB" mask="0xFFFF"/>
</register>
<register key="pcnf2" name="PCNF2" description="PSC 2 Configuration Register" offset="0xFA" size="1">
<bit-field key="pfifty2" name="PFIFTY2" description="PSC 2 Fifty" mask="0x80"/>
<bit-field key="palock2" name="PALOCK2" description="PSC 2 Autolock" mask="0x40"/>
<bit-field key="plock2" name="PLOCK2" description="PSC 2 Lock" mask="0x20"/>
<bit-field key="pmode2" name="PMODE2" description="PSC 2 Mode" mask="0x18"/>
<bit-field key="pop2" name="POP2" description="PSC 2 Output Polarity" mask="0x04"/>
<bit-field key="pclksel2" name="PCLKSEL2" description="PSC 2 Input Clock Select" mask="0x02"/>
<bit-field key="pome2" name="POME2" description="PSC 2 Output Matrix Enable" mask="0x01"/>
</register>
<register key="pctl2" name="PCTL2" description="PSC 2 Control Register" offset="0xFB" size="1">
<bit-field key="ppre2" name="PPRE2" description="PSC 2 Prescaler Selects" mask="0xC0"/>
<bit-field key="pbfm2" name="PBFM2" description="Balance Flank Width Modulation" mask="0x20"/>
<bit-field key="paoc2b" name="PAOC2B" description="PSC 2 Asynchronous Output Control B" mask="0x10"/>
<bit-field key="paoc2a" name="PAOC2A" description="PSC 2 Asynchronous Output Control A" mask="0x08"/>
<bit-field key="parun2" name="PARUN2" description="PSC2 Auto Run" mask="0x04"/>
<bit-field key="pccyc2" name="PCCYC2" description="PSC2 Complete Cycle" mask="0x02"/>
<bit-field key="prun2" name="PRUN2" description="PSC 2 Run" mask="0x01"/>
</register>
<register key="pfrc2a" name="PFRC2A" description="PSC 2 Input B Control" offset="0xFC" size="1">
<bit-field key="pcae2a" name="PCAE2A" description="PSC 2 Capture Enable Input Part A" mask="0x80"/>
<bit-field key="pisel2a" name="PISEL2A" description="PSC 2 Input Select for Part A" mask="0x40"/>
<bit-field key="pelev2a" name="PELEV2A" description="PSC 2 Edge Level Selector on Input Part A" mask="0x20"/>
<bit-field key="pflte2a" name="PFLTE2A" description="PSC 2 Filter Enable on Input Part A" mask="0x10"/>
<bit-field key="prfm2a" name="PRFM2A" description="PSC 2 Retrigger and Fault Mode for Part A" mask="0x0F"/>
</register>
<register key="pfrc2b" name="PFRC2B" description="PSC 2 Input B Control" offset="0xFD" size="1">
<bit-field key="pcae2b" name="PCAE2B" description="PSC 2 Capture Enable Input Part B" mask="0x80"/>
<bit-field key="pisel2b" name="PISEL2B" description="PSC 2 Input Select for Part B" mask="0x40"/>
<bit-field key="pelev2b" name="PELEV2B" description="PSC 2 Edge Level Selector on Input Part B" mask="0x20"/>
<bit-field key="pflte2b" name="PFLTE2B" description="PSC 2 Filter Enable on Input Part B" mask="0x10"/>
<bit-field key="prfm2b" name="PRFM2B" description="PSC 2 Retrigger and Fault Mode for Part B" mask="0x0F"/>
</register>
<register key="picr2" name="PICR2" description="PSC 2 Input Capture Register" offset="0xFE" size="2">
<bit-field key="pcst2" name="PCST2" description="PSC 2 Input Capture Software Trig" mask="0x8000"/>
<bit-field key="picr2" name="PICR2" description="PSC 2 Input Capture Bytes" mask="0x0FFF"/>
</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="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="soic24" name="SOIC24" type="soic">
<pin position="1" pad-key="pd0"/>
<pin position="2" pad-key="pe0"/>
<pin position="3" pad-key="pd1"/>
<pin position="4" pad-key="pd2"/>
<pin position="5" pad-key="pd3"/>
<pin position="6" pad-key="vcc"/>
<pin position="7" pad-key="gnd"/>
<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="avcc"/>
<pin position="18" pad-key="agnd"/>
<pin position="19" pad-key="aref"/>
<pin position="20" pad-key="pb3"/>
<pin position="21" pad-key="pb4"/>
<pin position="22" pad-key="pb5"/>
<pin position="23" pad-key="pb6"/>
<pin position="24" pad-key="pb7"/>
</pinout>
</pinouts>
<variants>
<variant key="at90pwm2b_16su" name="AT90PWM2B-16SU" pinout-key="soic24"/>
</variants>
</device>