Files

1307 lines
117 KiB
XML
Raw Permalink Normal View History

2025-11-23 20:39:37 +04:00
<?xml version="1.0" encoding="UTF-8"?>
<device name="ATtiny412" family="AVR8" configuration-value="attiny412" architecture="AVRxt" avr-family="TINY">
<property-groups>
<property-group key="ocd_features">
<property key="break_pin" value="PA1"/>
</property-group>
<property-group key="programming_info">
<property key="fuse_enabled_value" value="1"/>
</property-group>
<property-group key="updi_interface">
<property key="ocd_base_addr" value="0x00000F80"/>
<property key="progmem_offset" value="0x00008000"/>
</property-group>
<property-group key="signatures">
<property key="signature0" value="0x1E"/>
<property key="signature1" value="0x92"/>
<property key="signature2" value="0x23"/>
</property-group>
</property-groups>
<address-spaces>
<address-space key="register_file" start="0x00000000" size="32" endianness="little">
<memory-segment key="gp_registers" name="General Purpose Registers" type="gp_registers" start="0x00000000" size="32" executable="0"/>
</address-space>
<address-space key="data" start="0x00000000" size="36864" endianness="little">
<memory-segment key="internal_eeprom" name="Internal EEPROM" type="eeprom" start="0x00001400" size="128" page-size="32" access="RW" executable="0"/>
<memory-segment key="fuses" name="Fuses" type="fuses" start="0x00001280" size="10" access="RW" executable="0"/>
<memory-segment key="internal_ram" name="Internal RAM" type="ram" start="0x00003F00" size="256" access="RW" executable="0"/>
<memory-segment key="io" name="Input/Output" type="io" start="0x00000000" size="4352" access="RW" executable="0"/>
<memory-segment key="lockbits" name="Lockbits" type="lockbits" start="0x0000128A" size="1" access="RW" executable="0"/>
<memory-segment key="mapped_progmem" name="MAPPED_PROGMEM" type="aliased" start="0x00008000" size="4096" page-size="64" access="RW" executable="0"/>
<memory-segment key="prod_signatures" name="Production Signatures" type="production_signatures" start="0x00001103" size="61" access="R" executable="0"/>
<memory-segment key="signatures" name="Signatures" type="signatures" start="0x00001100" size="3" access="R" executable="0"/>
<memory-segment key="user_signatures" name="User Signatures" type="user_signatures" start="0x00001300" size="32" access="RW" executable="0"/>
</address-space>
<address-space key="prog" start="0x00000000" size="4096" endianness="little">
<memory-segment key="internal_program_memory" name="Internal FLASH" type="flash" start="0x00000000" size="4096" page-size="64" access="RW" executable="1"/>
</address-space>
</address-spaces>
<physical-interfaces>
<physical-interface value="updi">
<signals>
<signal name="UPDI" pad-key="pa0"/>
</signals>
</physical-interface>
</physical-interfaces>
<peripherals>
<peripheral key="ac0" name="AC0" module-key="i2106">
<register-group-instance register-group-key="ac" address-space-key="data" offset="0x670"/>
<signals>
<signal name="N" pad-key="pa6" index="0" function="AC0"/>
<signal name="OUT" pad-key="pa3" function="AC0"/>
<signal name="P" pad-key="pa7" index="0" function="AC0"/>
</signals>
</peripheral>
<peripheral key="adc0" name="ADC0" module-key="i2132">
<register-group-instance register-group-key="adc" address-space-key="data" offset="0x600"/>
<signals>
<signal name="AIN" pad-key="pa0" index="0" function="AIN0"/>
<signal name="AIN" pad-key="pa1" index="1" function="AIN0"/>
<signal name="AIN" pad-key="pa2" index="2" function="AIN0"/>
<signal name="AIN" pad-key="pa3" index="3" function="AIN0"/>
<signal name="AIN" pad-key="pa6" index="6" function="AIN0"/>
<signal name="AIN" pad-key="pa7" index="7" function="AIN0"/>
</signals>
</peripheral>
<peripheral key="bod" name="BOD" module-key="i2114">
<register-group-instance register-group-key="bod" address-space-key="data" offset="0x80"/>
</peripheral>
<peripheral key="ccl" name="CCL" module-key="i2128">
<register-group-instance register-group-key="ccl" address-space-key="data" offset="0x1C0"/>
<signals>
<signal name="LUT0_IN" pad-key="pa0" index="0" function="CCL"/>
<signal name="LUT0_IN" pad-key="pa1" index="1" function="CCL"/>
<signal name="LUT0_IN" pad-key="pa2" index="2" function="CCL"/>
<signal name="LUT1_OUT" pad-key="pa6" index="0" function="CCL"/>
</signals>
</peripheral>
<peripheral key="clkctrl" name="CLKCTRL" module-key="i2601_clkctrl">
<register-group-instance register-group-key="clkctrl" address-space-key="data" offset="0x60"/>
<signals>
<signal name="CLKI" pad-key="pa3" function="CLKCTRL"/>
</signals>
</peripheral>
<peripheral key="cpu" name="CPU" module-key="i2100">
<register-group-instance register-group-key="cpu" address-space-key="data" offset="0x30"/>
<signals>
<signal name="BREAK" pad-key="pa1" function="OTHER"/>
</signals>
</peripheral>
<peripheral key="cpuint" name="CPUINT" module-key="i2104">
<register-group-instance register-group-key="cpuint" address-space-key="data" offset="0x110"/>
</peripheral>
<peripheral key="crcscan" name="CRCSCAN" module-key="i2122">
<register-group-instance register-group-key="crcscan" address-space-key="data" offset="0x120"/>
</peripheral>
<peripheral key="dac0" name="DAC0" module-key="i2121">
<register-group-instance register-group-key="dac" address-space-key="data" offset="0x680"/>
<signals>
<signal name="OUT" pad-key="pa6" index="0" function="DAC0"/>
</signals>
</peripheral>
<peripheral key="evsys" name="EVSYS" module-key="i2601_evsys">
<register-group-instance register-group-key="evsys" address-space-key="data" offset="0x180"/>
<signals>
<signal name="EVAPA" pad-key="pa0" index="0" function="EVAINCH0" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal name="EVAPA" pad-key="pa1" index="1" function="EVAINCH0" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal name="EVAPA" pad-key="pa2" index="2" function="EVAINCH0" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal name="EVAPA" pad-key="pa3" index="3" function="EVAINCH0" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal name="EVAPA" pad-key="pa6" index="6" function="EVAINCH0" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal name="EVAPA" pad-key="pa7" index="7" function="EVAINCH0" field="EVSYS.ASYNCCH0.ASYNCCH0"/>
<signal name="EVOUT" pad-key="pa2" index="0" function="EVSYS" field="PORTMUX.CTRLA.EVOUT0"/>
<signal name="EVSPA" pad-key="pa0" index="0" function="EVSINCH0" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal name="EVSPA" pad-key="pa1" index="1" function="EVSINCH0" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal name="EVSPA" pad-key="pa2" index="2" function="EVSINCH0" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal name="EVSPA" pad-key="pa3" index="3" function="EVSINCH0" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal name="EVSPA" pad-key="pa6" index="6" function="EVSINCH0" field="EVSYS.SYNCCH0.SYNCCH0"/>
<signal name="EVSPA" pad-key="pa7" index="7" function="EVSINCH0" field="EVSYS.SYNCCH0.SYNCCH0"/>
</signals>
</peripheral>
<peripheral key="fuse" name="FUSE" module-key="i2601_fuse">
<register-group-instance register-group-key="fuse" address-space-key="data" offset="0x1280"/>
</peripheral>
<peripheral key="gpio" name="GPIO" module-key="i2601_gpio">
<register-group-instance register-group-key="gpio" address-space-key="data" offset="0x1C"/>
</peripheral>
<peripheral key="lockbit" name="LOCKBIT" module-key="i2601_lockbit">
<register-group-instance register-group-key="lockbit" address-space-key="data" offset="0x128A"/>
</peripheral>
<peripheral key="nvmctrl" name="NVMCTRL" module-key="i2109">
<register-group-instance register-group-key="nvmctrl" address-space-key="data" offset="0x1000"/>
</peripheral>
<peripheral key="porta" name="PORTA" module-key="gpio_port">
<register-group-instance register-group-key="port" address-space-key="data" offset="0x400"/>
<signals>
<signal name="PA0" pad-key="pa0" index="0" function="IOPORT"/>
<signal name="PA1" pad-key="pa1" index="1" function="IOPORT"/>
<signal name="PA2" pad-key="pa2" index="2" function="IOPORT"/>
<signal name="PA3" pad-key="pa3" index="3" function="IOPORT"/>
<signal name="PA6" pad-key="pa6" index="6" function="IOPORT"/>
<signal name="PA7" pad-key="pa7" index="7" function="IOPORT"/>
</signals>
</peripheral>
<peripheral key="portmux" name="PORTMUX" module-key="i2601_portmux">
<register-group-instance register-group-key="portmux" address-space-key="data" offset="0x200"/>
</peripheral>
<peripheral key="rstctrl" name="RSTCTRL" module-key="i2111">
<register-group-instance register-group-key="rstctrl" address-space-key="data" offset="0x40"/>
<signals>
<signal name="RESET" pad-key="pa0" function="OTHER"/>
</signals>
</peripheral>
<peripheral key="rtc" name="RTC" module-key="i2116">
<register-group-instance register-group-key="rtc" address-space-key="data" offset="0x140"/>
</peripheral>
<peripheral key="sigrow" name="SIGROW" module-key="i2601_sigrow">
<register-group-instance register-group-key="sigrow" address-space-key="data" offset="0x1100"/>
</peripheral>
<peripheral key="slpctrl" name="SLPCTRL" module-key="i2112">
<register-group-instance register-group-key="slpctrl" address-space-key="data" offset="0x50"/>
</peripheral>
<peripheral key="spi0" name="SPI0" module-key="i2107">
<register-group-instance register-group-key="spi" address-space-key="data" offset="0x820"/>
<signals>
<signal name="MISO" pad-key="pa7" alternative="true" function="SPI0_ALT" field="PORTMUX.CTRLB.SPI0"/>
<signal name="MISO" pad-key="pa2" function="SPI0" field="PORTMUX.CTRLB.SPI0"/>
<signal name="MOSI" pad-key="pa6" alternative="true" function="SPI0_ALT" field="PORTMUX.CTRLB.SPI0"/>
<signal name="MOSI" pad-key="pa1" function="SPI0" field="PORTMUX.CTRLB.SPI0"/>
<signal name="SCK" pad-key="pa3" function="SPI0"/>
<signal name="SS" pad-key="pa0" function="SPI0"/>
</signals>
</peripheral>
<peripheral key="syscfg" name="SYSCFG" module-key="i2601_syscfg">
<register-group-instance register-group-key="syscfg" address-space-key="data" offset="0xF00"/>
<signals>
<signal name="UPDI" pad-key="pa0" function="OTHER"/>
</signals>
</peripheral>
<peripheral key="tca0" name="TCA0" module-key="i2117">
<register-group-instance register-group-key="tca" address-space-key="data" offset="0xA00"/>
<signals>
<signal name="WO" pad-key="pa7" alternative="true" index="0" function="TCA0_ALT" field="PORTMUX.CTRLC.TCA00"/>
<signal name="WO" pad-key="pa3" index="0" function="TCA0" field="PORTMUX.CTRLC.TCA00"/>
<signal name="WO" pad-key="pa1" index="1" function="TCA0"/>
<signal name="WO" pad-key="pa2" index="2" function="TCA0"/>
<signal name="WO" pad-key="pa3" index="3" function="TCA0"/>
</signals>
</peripheral>
<peripheral key="tcb0" name="TCB0" module-key="i2119">
<register-group-instance register-group-key="tcb" address-space-key="data" offset="0xA40"/>
<signals>
<signal name="WO" pad-key="pa6" function="TCB0"/>
</signals>
</peripheral>
<peripheral key="tcd0" name="TCD0" module-key="i2129">
<register-group-instance register-group-key="tcd" address-space-key="data" offset="0xA80"/>
<signals>
<signal name="WOA" pad-key="pa6" function="TCD0"/>
<signal name="WOB" pad-key="pa7" function="TCD0"/>
</signals>
</peripheral>
<peripheral key="twi0" name="TWI0" module-key="i2110">
<register-group-instance register-group-key="twi" address-space-key="data" offset="0x810"/>
<signals>
<signal name="SCL" pad-key="pa2" function="TWI0"/>
<signal name="SDA" pad-key="pa1" function="TWI0"/>
</signals>
</peripheral>
<peripheral key="usart0" name="USART0" module-key="i2108">
<register-group-instance register-group-key="usart" address-space-key="data" offset="0x800"/>
<signals>
<signal name="RXD" pad-key="pa2" alternative="true" function="USART0_ALT" field="PORTMUX.CTRLB.USART0"/>
<signal name="RXD" pad-key="pa7" function="USART0" field="PORTMUX.CTRLB.USART0"/>
<signal name="TXD" pad-key="pa1" alternative="true" function="USART0_ALT" field="PORTMUX.CTRLB.USART0"/>
<signal name="TXD" pad-key="pa6" function="USART0" field="PORTMUX.CTRLB.USART0"/>
<signal name="XCK" pad-key="pa3" function="USART0"/>
<signal name="XDIR" pad-key="pa0" function="USART0"/>
</signals>
</peripheral>
<peripheral key="userrow" name="USERROW" module-key="i2601_userrow">
<register-group-instance register-group-key="userrow" address-space-key="data" offset="0x1300"/>
</peripheral>
<peripheral key="vporta" name="VPORTA" module-key="i2103_vport">
<register-group-instance register-group-key="vport" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="vportb" name="VPORTB" module-key="i2103_vport">
<register-group-instance register-group-key="vport" address-space-key="data" offset="0x4"/>
</peripheral>
<peripheral key="vportc" name="VPORTC" module-key="i2103_vport">
<register-group-instance register-group-key="vport" address-space-key="data" offset="0x8"/>
</peripheral>
<peripheral key="vref" name="VREF" module-key="i2601_vref">
<register-group-instance register-group-key="vref" address-space-key="data" offset="0xA0"/>
</peripheral>
<peripheral key="wdt" name="WDT" module-key="i2127">
<register-group-instance register-group-key="wdt" address-space-key="data" offset="0x100"/>
</peripheral>
</peripherals>
<modules>
<module key="i2106" name="AC" description="Analog Comparator">
<register-group key="ac" name="AC">
<register key="ctrla" name="CTRLA" description="Control A" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="enable" name="ENABLE" description="Enable" mask="0x01" access="RW"/>
<bit-field key="hysmode" name="HYSMODE" description="Hysteresis Mode" mask="0x06" access="RW"/>
<bit-field key="intmode" name="INTMODE" description="Interrupt Mode" mask="0x30" access="RW"/>
<bit-field key="lpmode" name="LPMODE" description="Low Power Mode" mask="0x08" access="RW"/>
<bit-field key="outen" name="OUTEN" description="Output Buffer Enable" mask="0x40" access="RW"/>
<bit-field key="runstdby" name="RUNSTDBY" description="Run in Standby Mode" mask="0x80" access="RW"/>
</register>
<register key="muxctrla" name="MUXCTRLA" description="Mux Control A" offset="0x02" size="1" initial-value="0x00" access="RW">
<bit-field key="invert" name="INVERT" description="Invert AC Output" mask="0x80" access="RW"/>
<bit-field key="muxneg" name="MUXNEG" description="Negative Input MUX Selection" mask="0x03" access="RW"/>
<bit-field key="muxpos" name="MUXPOS" description="Positive Input MUX Selection" mask="0x18" access="RW"/>
</register>
<register key="intctrl" name="INTCTRL" description="Interrupt Control" offset="0x06" size="1" initial-value="0x00" access="RW">
<bit-field key="cmp" name="CMP" description="Analog Comparator 0 Interrupt Enable" mask="0x01" access="RW"/>
</register>
<register key="status" name="STATUS" description="Status" offset="0x07" size="1" initial-value="0x00" access="RW">
<bit-field key="cmp" name="CMP" description="Analog Comparator Interrupt Flag" mask="0x01" access="RW"/>
<bit-field key="state" name="STATE" description="Analog Comparator State" mask="0x10" access="R"/>
</register>
</register-group>
</module>
<module key="i2132" name="ADC" description="Analog to Digital Converter">
<register-group key="adc" name="ADC">
<register key="ctrla" name="CTRLA" description="Control A" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="enable" name="ENABLE" description="ADC Enable" mask="0x01" access="RW"/>
<bit-field key="freerun" name="FREERUN" description="ADC Freerun mode" mask="0x02" access="RW"/>
<bit-field key="ressel" name="RESSEL" description="ADC Resolution" mask="0x04" access="RW"/>
<bit-field key="runstby" name="RUNSTBY" description="Run standby mode" mask="0x80" access="RW"/>
</register>
<register key="ctrlb" name="CTRLB" description="Control B" offset="0x01" size="1" initial-value="0x00" access="RW">
<bit-field key="sampnum" name="SAMPNUM" description="Accumulation Samples" mask="0x07" access="RW"/>
</register>
<register key="ctrlc" name="CTRLC" description="Control C" offset="0x02" size="1" initial-value="0x00" access="RW">
<bit-field key="presc" name="PRESC" description="Clock Pre-scaler" mask="0x07" access="RW"/>
<bit-field key="refsel" name="REFSEL" description="Reference Selection" mask="0x30" access="RW"/>
<bit-field key="sampcap" name="SAMPCAP" description="Sample Capacitance Selection" mask="0x40" access="RW"/>
</register>
<register key="ctrld" name="CTRLD" description="Control D" offset="0x03" size="1" initial-value="0x00" access="RW">
<bit-field key="asdv" name="ASDV" description="Automatic Sampling Delay Variation" mask="0x10" access="RW"/>
<bit-field key="initdly" name="INITDLY" description="Initial Delay Selection" mask="0xE0" access="RW"/>
<bit-field key="sampdly" name="SAMPDLY" description="Sampling Delay Selection" mask="0x0F" access="RW"/>
</register>
<register key="ctrle" name="CTRLE" description="Control E" offset="0x04" size="1" initial-value="0x00" access="RW">
<bit-field key="wincm" name="WINCM" description="Window Comparator Mode" mask="0x07" access="RW"/>
</register>
<register key="sampctrl" name="SAMPCTRL" description="Sample Control" offset="0x05" size="1" initial-value="0x00" access="RW">
<bit-field key="samplen" name="SAMPLEN" description="Sample lenght" mask="0x1F" access="RW"/>
</register>
<register key="muxpos" name="MUXPOS" description="Positive mux input" offset="0x06" size="1" initial-value="0x00" access="RW">
<bit-field key="muxpos" name="MUXPOS" description="Analog Channel Selection Bits" mask="0x1F" access="RW"/>
</register>
<register key="command" name="COMMAND" description="Command" offset="0x08" size="1" initial-value="0x00" access="RW">
<bit-field key="stconv" name="STCONV" description="Start Conversion Operation" mask="0x01" access="RW"/>
</register>
<register key="evctrl" name="EVCTRL" description="Event Control" offset="0x09" size="1" initial-value="0x00" access="RW">
<bit-field key="startei" name="STARTEI" description="Start Event Input Enable" mask="0x01" access="RW"/>
</register>
<register key="intctrl" name="INTCTRL" description="Interrupt Control" offset="0x0A" size="1" initial-value="0x00" access="RW">
<bit-field key="resrdy" name="RESRDY" description="Result Ready Interrupt Enable" mask="0x01" access="RW"/>
<bit-field key="wcmp" name="WCMP" description="Window Comparator Interrupt Enable" mask="0x02" access="RW"/>
</register>
<register key="intflags" name="INTFLAGS" description="Interrupt Flags" offset="0x0B" size="1" initial-value="0x00" access="RW">
<bit-field key="resrdy" name="RESRDY" description="Result Ready Flag" mask="0x01" access="RW"/>
<bit-field key="wcmp" name="WCMP" description="Window Comparator Flag" mask="0x02" access="RW"/>
</register>
<register key="dbgctrl" name="DBGCTRL" description="Debug Control" offset="0x0C" size="1" initial-value="0x00" access="RW">
<bit-field key="dbgrun" name="DBGRUN" description="Debug run" mask="0x01" access="RW"/>
</register>
<register key="temp" name="TEMP" description="Temporary Data" offset="0x0D" size="1" initial-value="0x00" access="RW">
<bit-field key="temp" name="TEMP" description="Temporary" mask="0xFF" access="RW"/>
</register>
<register key="res" name="RES" description="ADC Accumulator Result" offset="0x10" size="2" access="R"/>
<register key="winlt" name="WINLT" description="Window comparator low threshold" offset="0x12" size="2" access="RW"/>
<register key="winht" name="WINHT" description="Window comparator high threshold" offset="0x14" size="2" access="RW"/>
<register key="calib" name="CALIB" description="Calibration" offset="0x16" size="1" initial-value="0x00" access="RW">
<bit-field key="dutycyc" name="DUTYCYC" description="Duty Cycle" mask="0x01" access="RW"/>
</register>
</register-group>
</module>
<module key="i2114" name="BOD" description="Bod interface">
<register-group key="bod" name="BOD">
<register key="ctrla" name="CTRLA" description="Control A" offset="0x00" size="1" initial-value="0x05" access="RW">
<bit-field key="active" name="ACTIVE" description="Operation in active mode" mask="0x0C" access="R"/>
<bit-field key="sampfreq" name="SAMPFREQ" description="Sample frequency" mask="0x10" access="R"/>
<bit-field key="sleep" name="SLEEP" description="Operation in sleep mode" mask="0x03" access="RW"/>
</register>
<register key="ctrlb" name="CTRLB" description="Control B" offset="0x01" size="1" initial-value="0x00" access="RW">
<bit-field key="lvl" name="LVL" description="Bod level" mask="0x07" access="R"/>
</register>
<register key="vlmctrla" name="VLMCTRLA" description="Voltage level monitor Control" offset="0x08" size="1" initial-value="0x00" access="RW">
<bit-field key="vlmlvl" name="VLMLVL" description="voltage level monitor level" mask="0x03" access="RW"/>
</register>
<register key="intctrl" name="INTCTRL" description="Voltage level monitor interrupt Control" offset="0x09" size="1" initial-value="0x00" access="RW">
<bit-field key="vlmcfg" name="VLMCFG" description="Configuration" mask="0x06" access="RW"/>
<bit-field key="vlmie" name="VLMIE" description="voltage level monitor interrrupt enable" mask="0x01" access="RW"/>
</register>
<register key="intflags" name="INTFLAGS" description="Voltage level monitor interrupt Flags" offset="0x0A" size="1" initial-value="0x00" access="RW">
<bit-field key="vlmif" name="VLMIF" description="Voltage level monitor interrupt flag" mask="0x01" access="RW"/>
</register>
<register key="status" name="STATUS" description="Voltage level monitor status" offset="0x0B" size="1" initial-value="0x00" access="RW">
<bit-field key="vlms" name="VLMS" description="Voltage level monitor status" mask="0x01" access="R"/>
</register>
</register-group>
</module>
<module key="i2128" name="CCL" description="Configurable Custom Logic">
<register-group key="ccl" name="CCL">
<register key="ctrla" name="CTRLA" description="Control Register A" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="enable" name="ENABLE" description="Enable" mask="0x01" access="RW"/>
<bit-field key="runstdby" name="RUNSTDBY" description="Run in Standby" mask="0x40" access="RW"/>
</register>
<register key="seqctrl0" name="SEQCTRL0" description="Sequential Control 0" offset="0x01" size="1" initial-value="0x00" access="RW">
<bit-field key="seqsel" name="SEQSEL" description="Sequential Selection" mask="0x07" access="RW"/>
</register>
<register key="lut0ctrla" name="LUT0CTRLA" description="LUT Control 0 A" offset="0x05" size="1" initial-value="0x00" access="RW">
<bit-field key="clksrc" name="CLKSRC" description="Clock Source Selection" mask="0x40" access="RW"/>
<bit-field key="edgedet" name="EDGEDET" description="Edge Detection Enable" mask="0x80" access="RW"/>
<bit-field key="enable" name="ENABLE" description="LUT Enable" mask="0x01" access="RW"/>
<bit-field key="filtsel" name="FILTSEL" description="Filter Selection" mask="0x30" access="RW"/>
<bit-field key="outen" name="OUTEN" description="Output Enable" mask="0x08" access="RW"/>
</register>
<register key="lut0ctrlb" name="LUT0CTRLB" description="LUT Control 0 B" offset="0x06" size="1" initial-value="0x00" access="RW">
<bit-field key="insel0" name="INSEL0" description="LUT Input 0 Source Selection" mask="0x0F" access="RW"/>
<bit-field key="insel1" name="INSEL1" description="LUT Input 1 Source Selection" mask="0xF0" access="RW"/>
</register>
<register key="lut0ctrlc" name="LUT0CTRLC" description="LUT Control 0 C" offset="0x07" size="1" initial-value="0x00" access="RW">
<bit-field key="insel2" name="INSEL2" description="LUT Input 2 Source Selection" mask="0x0F" access="RW"/>
</register>
<register key="truth0" name="TRUTH0" description="Truth 0" offset="0x08" size="1" access="RW"/>
<register key="lut1ctrla" name="LUT1CTRLA" description="LUT Control 1 A" offset="0x09" size="1" initial-value="0x00" access="RW">
<bit-field key="clksrc" name="CLKSRC" description="Clock Source Selection" mask="0x40" access="RW"/>
<bit-field key="edgedet" name="EDGEDET" description="Edge Detection Enable" mask="0x80" access="RW"/>
<bit-field key="enable" name="ENABLE" description="LUT Enable" mask="0x01" access="RW"/>
<bit-field key="filtsel" name="FILTSEL" description="Filter Selection" mask="0x30" access="RW"/>
<bit-field key="outen" name="OUTEN" description="Output Enable" mask="0x08" access="RW"/>
</register>
<register key="lut1ctrlb" name="LUT1CTRLB" description="LUT Control 1 B" offset="0x0A" size="1" initial-value="0x00" access="RW">
<bit-field key="insel0" name="INSEL0" description="LUT Input 0 Source Selection" mask="0x0F" access="RW"/>
<bit-field key="insel1" name="INSEL1" description="LUT Input 1 Source Selection" mask="0xF0" access="RW"/>
</register>
<register key="lut1ctrlc" name="LUT1CTRLC" description="LUT Control 1 C" offset="0x0B" size="1" initial-value="0x00" access="RW">
<bit-field key="insel2" name="INSEL2" description="LUT Input 2 Source Selection" mask="0x0F" access="RW"/>
</register>
<register key="truth1" name="TRUTH1" description="Truth 1" offset="0x0C" size="1" access="RW"/>
</register-group>
</module>
<module key="i2601_clkctrl" name="CLKCTRL" description="Clock controller">
<register-group key="clkctrl" name="CLKCTRL">
<register key="mclkctrla" name="MCLKCTRLA" description="MCLK Control A" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="clkout" name="CLKOUT" description="System clock out" mask="0x80" access="RW"/>
<bit-field key="clksel" name="CLKSEL" description="clock select" mask="0x03" access="RW"/>
</register>
<register key="mclkctrlb" name="MCLKCTRLB" description="MCLK Control B" offset="0x01" size="1" initial-value="0x00" access="RW">
<bit-field key="pdiv" name="PDIV" description="Prescaler division" mask="0x1E" access="RW"/>
<bit-field key="pen" name="PEN" description="Prescaler enable" mask="0x01" access="RW"/>
</register>
<register key="mclklock" name="MCLKLOCK" description="MCLK Lock" offset="0x02" size="1" access="RW">
<bit-field key="locken" name="LOCKEN" description="lock ebable" mask="0x01" access="RW"/>
</register>
<register key="mclkstatus" name="MCLKSTATUS" description="MCLK Status" offset="0x03" size="1" initial-value="0x00" access="R">
<bit-field key="exts" name="EXTS" description="External Clock status" mask="0x80" access="R"/>
<bit-field key="osc20ms" name="OSC20MS" description="20MHz oscillator status" mask="0x10" access="R"/>
<bit-field key="osc32ks" name="OSC32KS" description="32KHz oscillator status" mask="0x20" access="R"/>
<bit-field key="sosc" name="SOSC" description="System Oscillator changing" mask="0x01" access="R"/>
<bit-field key="xosc32ks" name="XOSC32KS" description="32.768 kHz Crystal Oscillator status" mask="0x40" access="R"/>
</register>
<register key="osc20mctrla" name="OSC20MCTRLA" description="OSC20M Control A" offset="0x10" size="1" access="RW">
<bit-field key="runstdby" name="RUNSTDBY" description="Run standby" mask="0x02" access="RW"/>
</register>
<register key="osc20mcaliba" name="OSC20MCALIBA" description="OSC20M Calibration A" offset="0x11" size="1" initial-value="0x00" access="RW">
<bit-field key="cal20m" name="CAL20M" description="Calibration" mask="0x3F" access="RW"/>
</register>
<register key="osc20mcalibb" name="OSC20MCALIBB" description="OSC20M Calibration B" offset="0x12" size="1" initial-value="0x00" access="RW">
<bit-field key="lock" name="LOCK" description="Lock" mask="0x80" access="RW"/>
<bit-field key="tempcal20m" name="TEMPCAL20M" description="Oscillator temperature coefficient" mask="0x0F" access="RW"/>
</register>
<register key="osc32kctrla" name="OSC32KCTRLA" description="OSC32K Control A" offset="0x18" size="1" initial-value="0x00" access="RW">
<bit-field key="runstdby" name="RUNSTDBY" description="Run standby" mask="0x02" access="RW"/>
</register>
<register key="xosc32kctrla" name="XOSC32KCTRLA" description="XOSC32K Control A" offset="0x1C" size="1" initial-value="0x00" access="RW">
<bit-field key="csut" name="CSUT" description="Crystal startup time" mask="0x30" access="RW"/>
<bit-field key="enable" name="ENABLE" description="Enable" mask="0x01" access="RW"/>
<bit-field key="runstdby" name="RUNSTDBY" description="Run standby" mask="0x02" access="RW"/>
<bit-field key="sel" name="SEL" description="Select" mask="0x04" access="RW"/>
</register>
</register-group>
</module>
<module key="i2100" name="CPU" description="CPU">
<register-group key="cpu" name="CPU">
<register key="ccp" name="CCP" description="Configuration Change Protection" offset="0x04" size="1" initial-value="0x00" access="RW">
<bit-field key="ccp" name="CCP" description="CCP signature" mask="0xFF" access="RW"/>
</register>
<register key="spl" name="SPL" description="Stack Pointer Low" offset="0x0D" size="1" access="RW"/>
<register key="sph" name="SPH" description="Stack Pointer High" offset="0x0E" size="1" access="RW"/>
<register key="sreg" name="SREG" description="Status Register" offset="0x0F" size="1" initial-value="0x00" access="RW">
<bit-field key="c" name="C" description="Carry Flag" mask="0x01" access="RW"/>
<bit-field key="h" name="H" description="Half Carry Flag" mask="0x20" access="RW"/>
<bit-field key="i" name="I" description="Global Interrupt Enable Flag" mask="0x80" access="RW"/>
<bit-field key="n" name="N" description="Negative Flag" mask="0x04" access="RW"/>
<bit-field key="s" name="S" description="N Exclusive Or V Flag" mask="0x10" access="RW"/>
<bit-field key="t" name="T" description="Transfer Bit" mask="0x40" access="RW"/>
<bit-field key="v" name="V" description="Two's Complement Overflow Flag" mask="0x08" access="RW"/>
<bit-field key="z" name="Z" description="Zero Flag" mask="0x02" access="RW"/>
</register>
</register-group>
</module>
<module key="i2104" name="CPUINT" description="Interrupt Controller">
<register-group key="cpuint" name="CPUINT">
<register key="ctrla" name="CTRLA" description="Control A" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="cvt" name="CVT" description="Compact Vector Table" mask="0x20" access="RW"/>
<bit-field key="ivsel" name="IVSEL" description="Interrupt Vector Select" mask="0x40" access="RW"/>
<bit-field key="lvl0rr" name="LVL0RR" description="Round-robin Scheduling Enable" mask="0x01" access="RW"/>
</register>
<register key="status" name="STATUS" description="Status" offset="0x01" size="1" initial-value="0x00" access="RW">
<bit-field key="lvl0ex" name="LVL0EX" description="Level 0 Interrupt Executing" mask="0x01" access="R"/>
<bit-field key="lvl1ex" name="LVL1EX" description="Level 1 Interrupt Executing" mask="0x02" access="R"/>
<bit-field key="nmiex" name="NMIEX" description="Non-maskable Interrupt Executing" mask="0x80" access="R"/>
</register>
<register key="lvl0pri" name="LVL0PRI" description="Interrupt Level 0 Priority" offset="0x02" size="1" initial-value="0x00" access="RW">
<bit-field key="lvl0pri" name="LVL0PRI" description="Interrupt Level Priority" mask="0xFF" access="RW"/>
</register>
<register key="lvl1vec" name="LVL1VEC" description="Interrupt Level 1 Priority Vector" offset="0x03" size="1" initial-value="0x00" access="RW">
<bit-field key="lvl1vec" name="LVL1VEC" description="Interrupt Vector with High Priority" mask="0xFF" access="RW"/>
</register>
</register-group>
</module>
<module key="i2122" name="CRCSCAN" description="CRCSCAN">
<register-group key="crcscan" name="CRCSCAN">
<register key="ctrla" name="CTRLA" description="Control A" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="enable" name="ENABLE" description="Enable CRC scan" mask="0x01" access="RW"/>
<bit-field key="nmien" name="NMIEN" description="Enable NMI Trigger" mask="0x02" access="RW"/>
<bit-field key="reset" name="RESET" description="Reset CRC scan" mask="0x80" access="RW"/>
</register>
<register key="ctrlb" name="CTRLB" description="Control B" offset="0x01" size="1" initial-value="0x00" access="RW">
<bit-field key="mode" name="MODE" description="CRC Flash Access Mode" mask="0x30" access="RW"/>
<bit-field key="src" name="SRC" description="CRC Source" mask="0x03" access="RW"/>
</register>
<register key="status" name="STATUS" description="Status" offset="0x02" size="1" initial-value="0x00" access="R">
<bit-field key="busy" name="BUSY" description="CRC Busy" mask="0x01" access="R"/>
<bit-field key="ok" name="OK" description="CRC Ok" mask="0x02" access="R"/>
</register>
</register-group>
</module>
<module key="i2121" name="DAC" description="Digital to Analog Converter">
<register-group key="dac" name="DAC">
<register key="ctrla" name="CTRLA" description="Control Register A" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="enable" name="ENABLE" description="DAC Enable" mask="0x01" access="RW"/>
<bit-field key="outen" name="OUTEN" description="Output Buffer Enable" mask="0x40" access="RW"/>
<bit-field key="runstdby" name="RUNSTDBY" description="Run in Standby Mode" mask="0x80" access="RW"/>
</register>
<register key="data" name="DATA" description="DATA Register" offset="0x01" size="1" access="RW"/>
</register-group>
</module>
<module key="i2601_evsys" name="EVSYS" description="Event System">
<register-group key="evsys" name="EVSYS">
<register key="asyncstrobe" name="ASYNCSTROBE" description="Asynchronous Channel Strobe" offset="0x00" size="1" initial-value="0x00" access="W"/>
<register key="syncstrobe" name="SYNCSTROBE" description="Synchronous Channel Strobe" offset="0x01" size="1" initial-value="0x00" access="W"/>
<register key="asyncch0" name="ASYNCCH0" description="Asynchronous Channel 0 Generator Selection" offset="0x02" size="1" initial-value="0x00" access="RW">
<bit-field key="asyncch0" name="ASYNCCH0" description="Asynchronous Channel 0 Generator Selection" mask="0xFF" access="RW"/>
</register>
<register key="asyncch1" name="ASYNCCH1" description="Asynchronous Channel 1 Generator Selection" offset="0x03" size="1" initial-value="0x00" access="RW">
<bit-field key="asyncch1" name="ASYNCCH1" description="Asynchronous Channel 1 Generator Selection" mask="0xFF" access="RW"/>
</register>
<register key="asyncch2" name="ASYNCCH2" description="Asynchronous Channel 2 Generator Selection" offset="0x04" size="1" initial-value="0x00" access="RW">
<bit-field key="asyncch2" name="ASYNCCH2" description="Asynchronous Channel 2 Generator Selection" mask="0xFF" access="RW"/>
</register>
<register key="asyncch3" name="ASYNCCH3" description="Asynchronous Channel 3 Generator Selection" offset="0x05" size="1" initial-value="0x00" access="RW">
<bit-field key="asyncch3" name="ASYNCCH3" description="Asynchronous Channel 3 Generator Selection" mask="0xFF" access="RW"/>
</register>
<register key="syncch0" name="SYNCCH0" description="Synchronous Channel 0 Generator Selection" offset="0x0A" size="1" initial-value="0x00" access="RW">
<bit-field key="syncch0" name="SYNCCH0" description="Synchronous Channel 0 Generator Selection" mask="0xFF" access="RW"/>
</register>
<register key="syncch1" name="SYNCCH1" description="Synchronous Channel 1 Generator Selection" offset="0x0B" size="1" initial-value="0x00" access="RW">
<bit-field key="syncch1" name="SYNCCH1" description="Synchronous Channel 1 Generator Selection" mask="0xFF" access="RW"/>
</register>
<register key="asyncuser0" name="ASYNCUSER0" description="Asynchronous User Ch 0 Input Selection - TCB0" offset="0x12" size="1" initial-value="0x00" access="RW">
<bit-field key="asyncuser0" name="ASYNCUSER0" description="Asynchronous User Ch 0 Input Selection - TCB0" mask="0xFF" access="RW"/>
</register>
<register key="asyncuser1" name="ASYNCUSER1" description="Asynchronous User Ch 1 Input Selection - ADC0" offset="0x13" size="1" initial-value="0x00" access="RW">
<bit-field key="asyncuser1" name="ASYNCUSER1" description="Asynchronous User Ch 1 Input Selection - ADC0" mask="0xFF" access="RW"/>
</register>
<register key="asyncuser2" name="ASYNCUSER2" description="Asynchronous User Ch 2 Input Selection - CCL LUT0 Event 0" offset="0x14" size="1" initial-value="0x00" access="RW">
<bit-field key="asyncuser2" name="ASYNCUSER2" description="Asynchronous User Ch 2 Input Selection - CCL LUT0 Event 0" mask="0xFF" access="RW"/>
</register>
<register key="asyncuser3" name="ASYNCUSER3" description="Asynchronous User Ch 3 Input Selection - CCL LUT1 Event 0" offset="0x15" size="1" initial-value="0x00" access="RW">
<bit-field key="asyncuser3" name="ASYNCUSER3" description="Asynchronous User Ch 3 Input Selection - CCL LUT1 Event 0" mask="0xFF" access="RW"/>
</register>
<register key="asyncuser4" name="ASYNCUSER4" description="Asynchronous User Ch 4 Input Selection - CCL LUT0 Event 1" offset="0x16" size="1" initial-value="0x00" access="RW">
<bit-field key="asyncuser4" name="ASYNCUSER4" description="Asynchronous User Ch 4 Input Selection - CCL LUT0 Event 1" mask="0xFF" access="RW"/>
</register>
<register key="asyncuser5" name="ASYNCUSER5" description="Asynchronous User Ch 5 Input Selection - CCL LUT1 Event 1" offset="0x17" size="1" initial-value="0x00" access="RW">
<bit-field key="asyncuser5" name="ASYNCUSER5" description="Asynchronous User Ch 5 Input Selection - CCL LUT1 Event 1" mask="0xFF" access="RW"/>
</register>
<register key="asyncuser6" name="ASYNCUSER6" description="Asynchronous User Ch 6 Input Selection - TCD0 Event 0" offset="0x18" size="1" initial-value="0x00" access="RW">
<bit-field key="asyncuser6" name="ASYNCUSER6" description="Asynchronous User Ch 6 Input Selection - TCD0 Event 0" mask="0xFF" access="RW"/>
</register>
<register key="asyncuser7" name="ASYNCUSER7" description="Asynchronous User Ch 7 Input Selection - TCD0 Event 1" offset="0x19" size="1" initial-value="0x00" access="RW">
<bit-field key="asyncuser7" name="ASYNCUSER7" description="Asynchronous User Ch 7 Input Selection - TCD0 Event 1" mask="0xFF" access="RW"/>
</register>
<register key="asyncuser8" name="ASYNCUSER8" description="Asynchronous User Ch 8 Input Selection - Event Out 0" offset="0x1A" size="1" initial-value="0x00" access="RW">
<bit-field key="asyncuser8" name="ASYNCUSER8" description="Asynchronous User Ch 8 Input Selection - Event Out 0" mask="0xFF" access="RW"/>
</register>
<register key="asyncuser9" name="ASYNCUSER9" description="Asynchronous User Ch 9 Input Selection - Event Out 1" offset="0x1B" size="1" initial-value="0x00" access="RW">
<bit-field key="asyncuser9" name="ASYNCUSER9" description="Asynchronous User Ch 9 Input Selection - Event Out 1" mask="0xFF" access="RW"/>
</register>
<register key="asyncuser10" name="ASYNCUSER10" description="Asynchronous User Ch 10 Input Selection - Event Out 2" offset="0x1C" size="1" initial-value="0x00" access="RW">
<bit-field key="asyncuser10" name="ASYNCUSER10" description="Asynchronous User Ch 10 Input Selection - Event Out 2" mask="0xFF" access="RW"/>
</register>
<register key="syncuser0" name="SYNCUSER0" description="Synchronous User Ch 0 Input Selection - TCA0" offset="0x22" size="1" initial-value="0x00" access="RW">
<bit-field key="syncuser0" name="SYNCUSER0" description="Synchronous User Ch 0 Input Selection - TCA0" mask="0xFF" access="RW"/>
</register>
<register key="syncuser1" name="SYNCUSER1" description="Synchronous User Ch 1 Input Selection - USART0" offset="0x23" size="1" initial-value="0x00" access="RW">
<bit-field key="syncuser1" name="SYNCUSER1" description="Synchronous User Ch 1 Input Selection - USART0" mask="0xFF" access="RW"/>
</register>
</register-group>
</module>
<module key="i2601_fuse" name="FUSE" description="Fuses">
<register-group key="fuse" name="FUSE">
<register key="wdtcfg" name="WDTCFG" description="Watchdog Configuration" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="period" name="PERIOD" description="Watchdog Timeout Period" mask="0x0F" access="RW"/>
<bit-field key="window" name="WINDOW" description="Watchdog Window Timeout Period" mask="0xF0" access="RW"/>
</register>
<register key="bodcfg" name="BODCFG" description="BOD Configuration" offset="0x01" size="1" initial-value="0x00" access="RW">
<bit-field key="active" name="ACTIVE" description="BOD Operation in Active Mode" mask="0x0C" access="RW"/>
<bit-field key="lvl" name="LVL" description="BOD Level" mask="0xE0" access="RW"/>
<bit-field key="sampfreq" name="SAMPFREQ" description="BOD Sample Frequency" mask="0x10" access="RW"/>
<bit-field key="sleep" name="SLEEP" description="BOD Operation in Sleep Mode" mask="0x03" access="RW"/>
</register>
<register key="osccfg" name="OSCCFG" description="Oscillator Configuration" offset="0x02" size="1" initial-value="0x02" access="RW">
<bit-field key="freqsel" name="FREQSEL" description="Frequency Select" mask="0x03" access="RW"/>
<bit-field key="osclock" name="OSCLOCK" description="Oscillator Lock" mask="0x80" access="RW"/>
</register>
<register key="tcd0cfg" name="TCD0CFG" description="TCD0 Configuration" offset="0x04" size="1" initial-value="0x00" access="RW">
<bit-field key="cmpa" name="CMPA" description="Compare A Default Output Value" mask="0x01" access="RW"/>
<bit-field key="cmpaen" name="CMPAEN" description="Compare A Output Enable" mask="0x10" access="RW"/>
<bit-field key="cmpb" name="CMPB" description="Compare B Default Output Value" mask="0x02" access="RW"/>
<bit-field key="cmpben" name="CMPBEN" description="Compare B Output Enable" mask="0x20" access="RW"/>
<bit-field key="cmpc" name="CMPC" description="Compare C Default Output Value" mask="0x04" access="RW"/>
<bit-field key="cmpcen" name="CMPCEN" description="Compare C Output Enable" mask="0x40" access="RW"/>
<bit-field key="cmpd" name="CMPD" description="Compare D Default Output Value" mask="0x08" access="RW"/>
<bit-field key="cmpden" name="CMPDEN" description="Compare D Output Enable" mask="0x80" access="RW"/>
</register>
<register key="syscfg0" name="SYSCFG0" description="System Configuration 0" offset="0x05" size="1" initial-value="0xC4" access="RW">
<bit-field key="crcsrc" name="CRCSRC" description="CRC Source" mask="0xC0" access="RW"/>
<bit-field key="eesave" name="EESAVE" description="EEPROM Save" mask="0x01" access="RW"/>
<bit-field key="rstpincfg" name="RSTPINCFG" description="Reset Pin Configuration" mask="0x0C" access="RW"/>
</register>
<register key="syscfg1" name="SYSCFG1" description="System Configuration 1" offset="0x06" size="1" initial-value="0x07" access="RW">
<bit-field key="sut" name="SUT" description="Startup Time" mask="0x07" access="RW"/>
</register>
<register key="append" name="APPEND" description="Application Code Section End" offset="0x07" size="1" initial-value="0x00" access="RW"/>
<register key="bootend" name="BOOTEND" description="Boot Section End" offset="0x08" size="1" initial-value="0x00" access="RW"/>
</register-group>
</module>
<module key="i2601_gpio" name="GPIO" description="General Purpose IO">
<register-group key="gpio" name="GPIO">
<register key="gpior0" name="GPIOR0" description="General Purpose IO Register 0" offset="0x00" size="1" access="RW"/>
<register key="gpior1" name="GPIOR1" description="General Purpose IO Register 1" offset="0x01" size="1" access="RW"/>
<register key="gpior2" name="GPIOR2" description="General Purpose IO Register 2" offset="0x02" size="1" access="RW"/>
<register key="gpior3" name="GPIOR3" description="General Purpose IO Register 3" offset="0x03" size="1" access="RW"/>
</register-group>
</module>
<module key="i2601_lockbit" name="LOCKBIT" description="Lockbit">
<register-group key="lockbit" name="LOCKBIT">
<register key="lockbit" name="LOCKBIT" description="Lock bits" offset="0x00" size="1" initial-value="0xC5" access="RW">
<bit-field key="lb" name="LB" description="Lock Bits" mask="0xFF" access="RW"/>
</register>
</register-group>
</module>
<module key="i2109" name="NVMCTRL" description="Non-volatile Memory Controller">
<register-group key="nvmctrl" name="NVMCTRL">
<register key="ctrla" name="CTRLA" description="Control A" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="cmd" name="CMD" description="Command" mask="0x07" access="RW"/>
</register>
<register key="ctrlb" name="CTRLB" description="Control B" offset="0x01" size="1" initial-value="0x00" access="RW">
<bit-field key="apcwp" name="APCWP" description="Application code write protect" mask="0x01" access="RW"/>
<bit-field key="bootlock" name="BOOTLOCK" description="Boot Lock" mask="0x02" access="RW"/>
</register>
<register key="status" name="STATUS" description="Status" offset="0x02" size="1" access="R">
<bit-field key="eebusy" name="EEBUSY" description="EEPROM busy" mask="0x02" access="R"/>
<bit-field key="fbusy" name="FBUSY" description="Flash busy" mask="0x01" access="R"/>
<bit-field key="wrerror" name="WRERROR" description="Write error" mask="0x04" access="R"/>
</register>
<register key="intctrl" name="INTCTRL" description="Interrupt Control" offset="0x03" size="1" initial-value="0x00" access="RW">
<bit-field key="eeready" name="EEREADY" description="EEPROM Ready" mask="0x01" access="RW"/>
</register>
<register key="intflags" name="INTFLAGS" description="Interrupt Flags" offset="0x04" size="1" initial-value="0x00" access="RW">
<bit-field key="eeready" name="EEREADY" description="EEPROM Ready" mask="0x01" access="RW"/>
</register>
<register key="data" name="DATA" description="Data" offset="0x06" size="2" access="RW"/>
<register key="addr" name="ADDR" description="Address" offset="0x08" size="2" access="RW"/>
</register-group>
</module>
<module key="gpio_port" name="PORT" description="I/O Ports">
<register-group key="port" name="PORT">
<register key="dir" name="DIR" description="Data Direction" offset="0x00" size="1" access="RW"/>
<register key="dirset" name="DIRSET" description="Data Direction Set" offset="0x01" size="1" access="RW"/>
<register key="dirclr" name="DIRCLR" description="Data Direction Clear" offset="0x02" size="1" access="RW"/>
<register key="dirtgl" name="DIRTGL" description="Data Direction Toggle" offset="0x03" size="1" access="RW"/>
<register key="out" name="OUT" description="Output Value" offset="0x04" size="1" access="RW"/>
<register key="outset" name="OUTSET" description="Output Value Set" offset="0x05" size="1" access="RW"/>
<register key="outclr" name="OUTCLR" description="Output Value Clear" offset="0x06" size="1" access="RW"/>
<register key="outtgl" name="OUTTGL" description="Output Value Toggle" offset="0x07" size="1" access="RW"/>
<register key="in" name="IN" description="Input Value" offset="0x08" size="1" access="RW"/>
<register key="intflags" name="INTFLAGS" description="Interrupt Flags" offset="0x09" size="1" initial-value="0x00" access="RW">
<bit-field key="int" name="INT" description="Pin Interrupt" mask="0xFF" access="RW"/>
</register>
<register key="pin0ctrl" name="PIN0CTRL" description="Pin 0 Control" offset="0x10" size="1" initial-value="0x00" access="RW"/>
<register key="pin1ctrl" name="PIN1CTRL" description="Pin 1 Control" offset="0x11" size="1" initial-value="0x00" access="RW"/>
<register key="pin2ctrl" name="PIN2CTRL" description="Pin 2 Control" offset="0x12" size="1" initial-value="0x00" access="RW"/>
<register key="pin3ctrl" name="PIN3CTRL" description="Pin 3 Control" offset="0x13" size="1" initial-value="0x00" access="RW"/>
<register key="pin4ctrl" name="PIN4CTRL" description="Pin 4 Control" offset="0x14" size="1" initial-value="0x00" access="RW"/>
<register key="pin5ctrl" name="PIN5CTRL" description="Pin 5 Control" offset="0x15" size="1" initial-value="0x00" access="RW"/>
<register key="pin6ctrl" name="PIN6CTRL" description="Pin 6 Control" offset="0x16" size="1" initial-value="0x00" access="RW"/>
<register key="pin7ctrl" name="PIN7CTRL" description="Pin 7 Control" offset="0x17" size="1" initial-value="0x00" access="RW"/>
</register-group>
</module>
<module key="i2601_portmux" name="PORTMUX" description="Port Multiplexer">
<register-group key="portmux" name="PORTMUX">
<register key="ctrla" name="CTRLA" description="Port Multiplexer Control A" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="evout0" name="EVOUT0" description="Event Output 0" mask="0x01" access="RW"/>
<bit-field key="evout1" name="EVOUT1" description="Event Output 1" mask="0x02" access="RW"/>
<bit-field key="evout2" name="EVOUT2" description="Event Output 2" mask="0x04" access="RW"/>
<bit-field key="lut0" name="LUT0" description="Configurable Custom Logic LUT0" mask="0x10" access="RW"/>
<bit-field key="lut1" name="LUT1" description="Configurable Custom Logic LUT1" mask="0x20" access="RW"/>
</register>
<register key="ctrlb" name="CTRLB" description="Port Multiplexer Control B" offset="0x01" size="1" initial-value="0x00" access="RW">
<bit-field key="spi0" name="SPI0" description="Port Multiplexer SPI0" mask="0x04" access="RW"/>
<bit-field key="usart0" name="USART0" description="Port Multiplexer USART0" mask="0x01" access="RW"/>
</register>
<register key="ctrlc" name="CTRLC" description="Port Multiplexer Control C" offset="0x02" size="1" initial-value="0x00" access="RW">
<bit-field key="tca00" name="TCA00" description="Port Multiplexer TCA0 Output 0" mask="0x01" access="RW"/>
<bit-field key="tca01" name="TCA01" description="Port Multiplexer TCA0 Output 1" mask="0x02" access="RW"/>
<bit-field key="tca02" name="TCA02" description="Port Multiplexer TCA0 Output 2" mask="0x04" access="RW"/>
<bit-field key="tca03" name="TCA03" description="Port Multiplexer TCA0 Output 3" mask="0x08" access="RW"/>
</register>
<register key="ctrld" name="CTRLD" description="Port Multiplexer Control D" offset="0x03" size="1" initial-value="0x00" access="RW">
<bit-field key="tcb0" name="TCB0" description="Port Multiplexer TCB" mask="0x01" access="RW"/>
</register>
</register-group>
</module>
<module key="i2111" name="RSTCTRL" description="Reset controller">
<register-group key="rstctrl" name="RSTCTRL">
<register key="rstfr" name="RSTFR" description="Reset Flags" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="borf" name="BORF" description="Brown out detector Reset flag" mask="0x02" access="RW"/>
<bit-field key="extrf" name="EXTRF" description="External Reset flag" mask="0x04" access="RW"/>
<bit-field key="porf" name="PORF" description="Power on Reset flag" mask="0x01" access="RW"/>
<bit-field key="swrf" name="SWRF" description="Software Reset flag" mask="0x10" access="RW"/>
<bit-field key="updirf" name="UPDIRF" description="UPDI Reset flag" mask="0x20" access="RW"/>
<bit-field key="wdrf" name="WDRF" description="Watch dog Reset flag" mask="0x08" access="RW"/>
</register>
<register key="swrr" name="SWRR" description="Software Reset" offset="0x01" size="1" initial-value="0x00" access="RW">
<bit-field key="swre" name="SWRE" description="Software reset enable" mask="0x01" access="RW"/>
</register>
</register-group>
</module>
<module key="i2116" name="RTC" description="Real-Time Counter">
<register-group key="rtc" name="RTC">
<register key="ctrla" name="CTRLA" description="Control A" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="prescaler" name="PRESCALER" description="Prescaling Factor" mask="0x78" access="RW"/>
<bit-field key="rtcen" name="RTCEN" description="Enable" mask="0x01" access="RW"/>
<bit-field key="runstdby" name="RUNSTDBY" description="Run In Standby" mask="0x80" access="RW"/>
</register>
<register key="status" name="STATUS" description="Status" offset="0x01" size="1" access="R">
<bit-field key="cmpbusy" name="CMPBUSY" description="Comparator Synchronization Busy Flag" mask="0x08" access="R"/>
<bit-field key="cntbusy" name="CNTBUSY" description="Count Synchronization Busy Flag" mask="0x02" access="R"/>
<bit-field key="ctrlabusy" name="CTRLABUSY" description="CTRLA Synchronization Busy Flag" mask="0x01" access="R"/>
<bit-field key="perbusy" name="PERBUSY" description="Period Synchronization Busy Flag" mask="0x04" access="R"/>
</register>
<register key="intctrl" name="INTCTRL" description="Interrupt Control" offset="0x02" size="1" initial-value="0x00" access="RW">
<bit-field key="cmp" name="CMP" description="Compare Match Interrupt enable" mask="0x02" access="RW"/>
<bit-field key="ovf" name="OVF" description="Overflow Interrupt enable" mask="0x01" access="RW"/>
</register>
<register key="intflags" name="INTFLAGS" description="Interrupt Flags" offset="0x03" size="1" initial-value="0x00" access="RW">
<bit-field key="cmp" name="CMP" description="Compare Match Interrupt" mask="0x02" access="RW"/>
<bit-field key="ovf" name="OVF" description="Overflow Interrupt Flag" mask="0x01" access="RW"/>
</register>
<register key="temp" name="TEMP" description="Temporary" offset="0x04" size="1" access="RW"/>
<register key="dbgctrl" name="DBGCTRL" description="Debug control" offset="0x05" size="1" initial-value="0x00" access="RW">
<bit-field key="dbgrun" name="DBGRUN" description="Run in debug" mask="0x01" access="RW"/>
</register>
<register key="clksel" name="CLKSEL" description="Clock Select" offset="0x07" size="1" initial-value="0x00" access="RW">
<bit-field key="clksel" name="CLKSEL" description="Clock Select" mask="0x03" access="RW"/>
</register>
<register key="cnt" name="CNT" description="Counter" offset="0x08" size="2" access="RW"/>
<register key="per" name="PER" description="Period" offset="0x0A" size="2" access="RW"/>
<register key="cmp" name="CMP" description="Compare" offset="0x0C" size="2" access="RW"/>
<register key="pitctrla" name="PITCTRLA" description="PIT Control A" offset="0x10" size="1" initial-value="0x00" access="RW">
<bit-field key="period" name="PERIOD" description="Period" mask="0x78" access="RW"/>
<bit-field key="piten" name="PITEN" description="Enable" mask="0x01" access="RW"/>
</register>
<register key="pitstatus" name="PITSTATUS" description="PIT Status" offset="0x11" size="1" initial-value="0x00" access="R">
<bit-field key="ctrlbusy" name="CTRLBUSY" description="CTRLA Synchronization Busy Flag" mask="0x01" access="R"/>
</register>
<register key="pitintctrl" name="PITINTCTRL" description="PIT Interrupt Control" offset="0x12" size="1" initial-value="0x00" access="RW">
<bit-field key="pi" name="PI" description="Periodic Interrupt" mask="0x01" access="RW"/>
</register>
<register key="pitintflags" name="PITINTFLAGS" description="PIT Interrupt Flags" offset="0x13" size="1" initial-value="0x00" access="RW">
<bit-field key="pi" name="PI" description="Periodic Interrupt" mask="0x01" access="RW"/>
</register>
<register key="pitdbgctrl" name="PITDBGCTRL" description="PIT Debug control" offset="0x15" size="1" initial-value="0x00" access="RW">
<bit-field key="dbgrun" name="DBGRUN" description="Run in debug" mask="0x01" access="RW"/>
</register>
</register-group>
</module>
<module key="i2601_sigrow" name="SIGROW" description="Signature row">
<register-group key="sigrow" name="SIGROW">
<register key="deviceid0" name="DEVICEID0" description="Device ID Byte 0" offset="0x00" size="1" access="R"/>
<register key="deviceid1" name="DEVICEID1" description="Device ID Byte 1" offset="0x01" size="1" access="R"/>
<register key="deviceid2" name="DEVICEID2" description="Device ID Byte 2" offset="0x02" size="1" access="R"/>
<register key="sernum0" name="SERNUM0" description="Serial Number Byte 0" offset="0x03" size="1" access="R"/>
<register key="sernum1" name="SERNUM1" description="Serial Number Byte 1" offset="0x04" size="1" access="R"/>
<register key="sernum2" name="SERNUM2" description="Serial Number Byte 2" offset="0x05" size="1" access="R"/>
<register key="sernum3" name="SERNUM3" description="Serial Number Byte 3" offset="0x06" size="1" access="R"/>
<register key="sernum4" name="SERNUM4" description="Serial Number Byte 4" offset="0x07" size="1" access="R"/>
<register key="sernum5" name="SERNUM5" description="Serial Number Byte 5" offset="0x08" size="1" access="R"/>
<register key="sernum6" name="SERNUM6" description="Serial Number Byte 6" offset="0x09" size="1" access="R"/>
<register key="sernum7" name="SERNUM7" description="Serial Number Byte 7" offset="0x0A" size="1" access="R"/>
<register key="sernum8" name="SERNUM8" description="Serial Number Byte 8" offset="0x0B" size="1" access="R"/>
<register key="sernum9" name="SERNUM9" description="Serial Number Byte 9" offset="0x0C" size="1" access="R"/>
<register key="tempsense0" name="TEMPSENSE0" description="Temperature Sensor Calibration Byte 0" offset="0x20" size="1" access="R"/>
<register key="tempsense1" name="TEMPSENSE1" description="Temperature Sensor Calibration Byte 1" offset="0x21" size="1" access="R"/>
<register key="osc16err3v" name="OSC16ERR3V" description="OSC16 error at 3V" offset="0x22" size="1" access="R"/>
<register key="osc16err5v" name="OSC16ERR5V" description="OSC16 error at 5V" offset="0x23" size="1" access="R"/>
<register key="osc20err3v" name="OSC20ERR3V" description="OSC20 error at 3V" offset="0x24" size="1" access="R"/>
<register key="osc20err5v" name="OSC20ERR5V" description="OSC20 error at 5V" offset="0x25" size="1" access="R"/>
</register-group>
</module>
<module key="i2112" name="SLPCTRL" description="Sleep Controller">
<register-group key="slpctrl" name="SLPCTRL">
<register key="ctrla" name="CTRLA" description="Control" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="sen" name="SEN" description="Sleep enable" mask="0x01" access="RW"/>
<bit-field key="smode" name="SMODE" description="Sleep mode" mask="0x06" access="RW"/>
</register>
</register-group>
</module>
<module key="i2107" name="SPI" description="Serial Peripheral Interface">
<register-group key="spi" name="SPI">
<register key="ctrla" name="CTRLA" description="Control A" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="clk2x" name="CLK2X" description="Enable Double Speed" mask="0x10" access="RW"/>
<bit-field key="dord" name="DORD" description="Data Order Setting" mask="0x40" access="RW"/>
<bit-field key="enable" name="ENABLE" description="Enable Module" mask="0x01" access="RW"/>
<bit-field key="master" name="MASTER" description="Master Operation Enable" mask="0x20" access="RW"/>
<bit-field key="presc" name="PRESC" description="Prescaler" mask="0x06" access="RW"/>
</register>
<register key="ctrlb" name="CTRLB" description="Control B" offset="0x01" size="1" initial-value="0x00" access="RW">
<bit-field key="bufen" name="BUFEN" description="Buffer Mode Enable" mask="0x80" access="RW"/>
<bit-field key="bufwr" name="BUFWR" description="Buffer Write Mode" mask="0x40" access="RW"/>
<bit-field key="mode" name="MODE" description="SPI Mode" mask="0x03" access="RW"/>
<bit-field key="ssd" name="SSD" description="Slave Select Disable" mask="0x04" access="RW"/>
</register>
<register key="intctrl" name="INTCTRL" description="Interrupt Control" offset="0x02" size="1" access="RW">
<bit-field key="dreie" name="DREIE" description="Data Register Empty Interrupt Enable" mask="0x20" access="RW"/>
<bit-field key="ie" name="IE" description="Interrupt Enable" mask="0x01" access="RW"/>
<bit-field key="rxcie" name="RXCIE" description="Receive Complete Interrupt Enable" mask="0x80" access="RW"/>
<bit-field key="ssie" name="SSIE" description="Slave Select Trigger Interrupt Enable" mask="0x10" access="RW"/>
<bit-field key="txcie" name="TXCIE" description="Transfer Complete Interrupt Enable" mask="0x40" access="RW"/>
</register>
<register key="intflags" name="INTFLAGS" description="Interrupt Flags" offset="0x03" size="1" initial-value="0x00" access="RW"/>
<register key="data" name="DATA" description="Data" offset="0x04" size="1" access="RW"/>
</register-group>
</module>
<module key="i2601_syscfg" name="SYSCFG" description="System Configuration Registers">
<register-group key="syscfg" name="SYSCFG">
<register key="revid" name="REVID" description="Revision ID" offset="0x01" size="1" access="RW"/>
<register key="extbrk" name="EXTBRK" description="External Break" offset="0x02" size="1" initial-value="0x00" access="RW">
<bit-field key="enextbrk" name="ENEXTBRK" description="External break enable" mask="0x01" access="RW"/>
</register>
</register-group>
</module>
<module key="i2117" name="TCA" description="16-bit Timer/Counter Type A">
<register-group key="tca_single" name="TCA_SINGLE">
<register key="ctrla" name="CTRLA" description="Control A" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="clksel" name="CLKSEL" description="Clock Selection" mask="0x0E" access="RW"/>
<bit-field key="enable" name="ENABLE" description="Module Enable" mask="0x01" access="RW"/>
</register>
<register key="ctrlb" name="CTRLB" description="Control B" offset="0x01" size="1" initial-value="0x00" access="RW">
<bit-field key="alupd" name="ALUPD" description="Auto Lock Update" mask="0x08" access="RW"/>
<bit-field key="cmp0en" name="CMP0EN" description="Compare 0 Enable" mask="0x10" access="RW"/>
<bit-field key="cmp1en" name="CMP1EN" description="Compare 1 Enable" mask="0x20" access="RW"/>
<bit-field key="cmp2en" name="CMP2EN" description="Compare 2 Enable" mask="0x40" access="RW"/>
<bit-field key="wgmode" name="WGMODE" description="Waveform generation mode" mask="0x07" access="RW"/>
</register>
<register key="ctrlc" name="CTRLC" description="Control C" offset="0x02" size="1" initial-value="0x00" access="RW">
<bit-field key="cmp0ov" name="CMP0OV" description="Compare 0 Waveform Output Value" mask="0x01" access="RW"/>
<bit-field key="cmp1ov" name="CMP1OV" description="Compare 1 Waveform Output Value" mask="0x02" access="RW"/>
<bit-field key="cmp2ov" name="CMP2OV" description="Compare 2 Waveform Output Value" mask="0x04" access="RW"/>
</register>
<register key="ctrld" name="CTRLD" description="Control D" offset="0x03" size="1" initial-value="0x00" access="RW">
<bit-field key="splitm" name="SPLITM" description="Split Mode Enable" mask="0x01" access="RW"/>
</register>
<register key="ctrleclr" name="CTRLECLR" description="Control E Clear" offset="0x04" size="1" initial-value="0x00" access="RW">
<bit-field key="cmd" name="CMD" description="Command" mask="0x0C" access="RW"/>
<bit-field key="dir" name="DIR" description="Direction" mask="0x01" access="RW"/>
<bit-field key="lupd" name="LUPD" description="Lock Update" mask="0x02" access="RW"/>
</register>
<register key="ctrleset" name="CTRLESET" description="Control E Set" offset="0x05" size="1" initial-value="0x00" access="RW">
<bit-field key="cmd" name="CMD" description="Command" mask="0x0C" access="RW"/>
<bit-field key="dir" name="DIR" description="Direction" mask="0x01" access="RW"/>
<bit-field key="lupd" name="LUPD" description="Lock Update" mask="0x02" access="RW"/>
</register>
<register key="ctrlfclr" name="CTRLFCLR" description="Control F Clear" offset="0x06" size="1" initial-value="0x00" access="RW">
<bit-field key="cmp0bv" name="CMP0BV" description="Compare 0 Buffer Valid" mask="0x02" access="RW"/>
<bit-field key="cmp1bv" name="CMP1BV" description="Compare 1 Buffer Valid" mask="0x04" access="RW"/>
<bit-field key="cmp2bv" name="CMP2BV" description="Compare 2 Buffer Valid" mask="0x08" access="RW"/>
<bit-field key="perbv" name="PERBV" description="Period Buffer Valid" mask="0x01" access="RW"/>
</register>
<register key="ctrlfset" name="CTRLFSET" description="Control F Set" offset="0x07" size="1" initial-value="0x00" access="RW">
<bit-field key="cmp0bv" name="CMP0BV" description="Compare 0 Buffer Valid" mask="0x02" access="RW"/>
<bit-field key="cmp1bv" name="CMP1BV" description="Compare 1 Buffer Valid" mask="0x04" access="RW"/>
<bit-field key="cmp2bv" name="CMP2BV" description="Compare 2 Buffer Valid" mask="0x08" access="RW"/>
<bit-field key="perbv" name="PERBV" description="Period Buffer Valid" mask="0x01" access="RW"/>
</register>
<register key="evctrl" name="EVCTRL" description="Event Control" offset="0x09" size="1" initial-value="0x00" access="RW">
<bit-field key="cntei" name="CNTEI" description="Count on Event Input" mask="0x01" access="RW"/>
<bit-field key="evact" name="EVACT" description="Event Action" mask="0x06" access="RW"/>
</register>
<register key="intctrl" name="INTCTRL" description="Interrupt Control" offset="0x0A" size="1" initial-value="0x00" access="RW">
<bit-field key="cmp0" name="CMP0" description="Compare 0 Interrupt" mask="0x10" access="RW"/>
<bit-field key="cmp1" name="CMP1" description="Compare 1 Interrupt" mask="0x20" access="RW"/>
<bit-field key="cmp2" name="CMP2" description="Compare 2 Interrupt" mask="0x40" access="RW"/>
<bit-field key="ovf" name="OVF" description="Overflow Interrupt" mask="0x01" access="RW"/>
</register>
<register key="intflags" name="INTFLAGS" description="Interrupt Flags" offset="0x0B" size="1" initial-value="0x00" access="RW">
<bit-field key="cmp0" name="CMP0" description="Compare 0 Interrupt" mask="0x10" access="RW"/>
<bit-field key="cmp1" name="CMP1" description="Compare 1 Interrupt" mask="0x20" access="RW"/>
<bit-field key="cmp2" name="CMP2" description="Compare 2 Interrupt" mask="0x40" access="RW"/>
<bit-field key="ovf" name="OVF" description="Overflow Interrupt" mask="0x01" access="RW"/>
</register>
<register key="dbgctrl" name="DBGCTRL" description="Degbug Control" offset="0x0E" size="1" initial-value="0x00" access="RW">
<bit-field key="dbgrun" name="DBGRUN" description="Debug Run" mask="0x01" access="RW"/>
</register>
<register key="temp" name="TEMP" description="Temporary data for 16-bit Access" offset="0x0F" size="1" access="RW"/>
<register key="cnt" name="CNT" description="Count" offset="0x20" size="2" access="RW"/>
<register key="per" name="PER" description="Period" offset="0x26" size="2" access="RW"/>
<register key="cmp0" name="CMP0" description="Compare 0" offset="0x28" size="2" access="RW"/>
<register key="cmp1" name="CMP1" description="Compare 1" offset="0x2A" size="2" access="RW"/>
<register key="cmp2" name="CMP2" description="Compare 2" offset="0x2C" size="2" access="RW"/>
<register key="perbuf" name="PERBUF" description="Period Buffer" offset="0x36" size="2" access="RW"/>
<register key="cmp0buf" name="CMP0BUF" description="Compare 0 Buffer" offset="0x38" size="2" access="RW"/>
<register key="cmp1buf" name="CMP1BUF" description="Compare 1 Buffer" offset="0x3A" size="2" access="RW"/>
<register key="cmp2buf" name="CMP2BUF" description="Compare 2 Buffer" offset="0x3C" size="2" access="RW"/>
</register-group>
<register-group key="tca_split" name="TCA_SPLIT">
<register key="ctrla" name="CTRLA" description="Control A" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="clksel" name="CLKSEL" description="Clock Selection" mask="0x0E" access="RW"/>
<bit-field key="enable" name="ENABLE" description="Module Enable" mask="0x01" access="RW"/>
</register>
<register key="ctrlb" name="CTRLB" description="Control B" offset="0x01" size="1" initial-value="0x00" access="RW">
<bit-field key="hcmp0en" name="HCMP0EN" description="High Compare 0 Enable" mask="0x10" access="RW"/>
<bit-field key="hcmp1en" name="HCMP1EN" description="High Compare 1 Enable" mask="0x20" access="RW"/>
<bit-field key="hcmp2en" name="HCMP2EN" description="High Compare 2 Enable" mask="0x40" access="RW"/>
<bit-field key="lcmp0en" name="LCMP0EN" description="Low Compare 0 Enable" mask="0x01" access="RW"/>
<bit-field key="lcmp1en" name="LCMP1EN" description="Low Compare 1 Enable" mask="0x02" access="RW"/>
<bit-field key="lcmp2en" name="LCMP2EN" description="Low Compare 2 Enable" mask="0x04" access="RW"/>
</register>
<register key="ctrlc" name="CTRLC" description="Control C" offset="0x02" size="1" initial-value="0x00" access="RW">
<bit-field key="hcmp0ov" name="HCMP0OV" description="High Compare 0 Output Value" mask="0x10" access="RW"/>
<bit-field key="hcmp1ov" name="HCMP1OV" description="High Compare 1 Output Value" mask="0x20" access="RW"/>
<bit-field key="hcmp2ov" name="HCMP2OV" description="High Compare 2 Output Value" mask="0x40" access="RW"/>
<bit-field key="lcmp0ov" name="LCMP0OV" description="Low Compare 0 Output Value" mask="0x01" access="RW"/>
<bit-field key="lcmp1ov" name="LCMP1OV" description="Low Compare 1 Output Value" mask="0x02" access="RW"/>
<bit-field key="lcmp2ov" name="LCMP2OV" description="Low Compare 2 Output Value" mask="0x04" access="RW"/>
</register>
<register key="ctrld" name="CTRLD" description="Control D" offset="0x03" size="1" initial-value="0x00" access="RW">
<bit-field key="splitm" name="SPLITM" description="Split Mode Enable" mask="0x01" access="RW"/>
</register>
<register key="ctrleclr" name="CTRLECLR" description="Control E Clear" offset="0x04" size="1" initial-value="0x00" access="RW">
<bit-field key="cmd" name="CMD" description="Command" mask="0x0C" access="RW"/>
</register>
<register key="ctrleset" name="CTRLESET" description="Control E Set" offset="0x05" size="1" initial-value="0x00" access="RW">
<bit-field key="cmd" name="CMD" description="Command" mask="0x0C" access="RW"/>
</register>
<register key="intctrl" name="INTCTRL" description="Interrupt Control" offset="0x0A" size="1" initial-value="0x00" access="RW">
<bit-field key="hunf" name="HUNF" description="High Underflow Interrupt Enable" mask="0x02" access="RW"/>
<bit-field key="lcmp0" name="LCMP0" description="Low Compare 0 Interrupt Enable" mask="0x10" access="RW"/>
<bit-field key="lcmp1" name="LCMP1" description="Low Compare 1 Interrupt Enable" mask="0x20" access="RW"/>
<bit-field key="lcmp2" name="LCMP2" description="Low Compare 2 Interrupt Enable" mask="0x40" access="RW"/>
<bit-field key="lunf" name="LUNF" description="Low Underflow Interrupt Enable" mask="0x01" access="RW"/>
</register>
<register key="intflags" name="INTFLAGS" description="Interrupt Flags" offset="0x0B" size="1" initial-value="0x00" access="RW">
<bit-field key="hunf" name="HUNF" description="High Underflow Interrupt Flag" mask="0x02" access="RW"/>
<bit-field key="lcmp0" name="LCMP0" description="Low Compare 2 Interrupt Flag" mask="0x10" access="RW"/>
<bit-field key="lcmp1" name="LCMP1" description="Low Compare 1 Interrupt Flag" mask="0x20" access="RW"/>
<bit-field key="lcmp2" name="LCMP2" description="Low Compare 0 Interrupt Flag" mask="0x40" access="RW"/>
<bit-field key="lunf" name="LUNF" description="Low Underflow Interrupt Flag" mask="0x01" access="RW"/>
</register>
<register key="dbgctrl" name="DBGCTRL" description="Degbug Control" offset="0x0E" size="1" initial-value="0x00" access="RW">
<bit-field key="dbgrun" name="DBGRUN" description="Debug Run" mask="0x01" access="RW"/>
</register>
<register key="lcnt" name="LCNT" description="Low Count" offset="0x20" size="1" access="RW"/>
<register key="hcnt" name="HCNT" description="High Count" offset="0x21" size="1" access="RW"/>
<register key="lper" name="LPER" description="Low Period" offset="0x26" size="1" access="RW"/>
<register key="hper" name="HPER" description="High Period" offset="0x27" size="1" access="RW"/>
<register key="lcmp0" name="LCMP0" description="Low Compare" offset="0x28" size="1" access="RW"/>
<register key="hcmp0" name="HCMP0" description="High Compare" offset="0x29" size="1" access="RW"/>
<register key="lcmp1" name="LCMP1" description="Low Compare" offset="0x2A" size="1" access="RW"/>
<register key="hcmp1" name="HCMP1" description="High Compare" offset="0x2B" size="1" access="RW"/>
<register key="lcmp2" name="LCMP2" description="Low Compare" offset="0x2C" size="1" access="RW"/>
<register key="hcmp2" name="HCMP2" description="High Compare" offset="0x2D" size="1" access="RW"/>
</register-group>
<register-group key="tca" name="TCA">
<register-group-reference key="single" name="SINGLE" register-group-key="tca_single" offset="0x0"/>
<register-group-reference key="split" name="SPLIT" register-group-key="tca_split" offset="0x0"/>
</register-group>
</module>
<module key="i2119" name="TCB" description="16-bit Timer Type B">
<register-group key="tcb" name="TCB">
<register key="ctrla" name="CTRLA" description="Control A" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="clksel" name="CLKSEL" description="Clock Select" mask="0x06" access="RW"/>
<bit-field key="enable" name="ENABLE" description="Enable" mask="0x01" access="RW"/>
<bit-field key="runstdby" name="RUNSTDBY" description="Run Standby" mask="0x40" access="RW"/>
<bit-field key="syncupd" name="SYNCUPD" description="Synchronize Update" mask="0x10" access="RW"/>
</register>
<register key="ctrlb" name="CTRLB" description="Control Register B" offset="0x01" size="1" initial-value="0x00" access="RW">
<bit-field key="async" name="ASYNC" description="Asynchronous Enable" mask="0x40" access="RW"/>
<bit-field key="ccmpen" name="CCMPEN" description="Pin Output Enable" mask="0x10" access="RW"/>
<bit-field key="ccmpinit" name="CCMPINIT" description="Pin Initial State" mask="0x20" access="RW"/>
<bit-field key="cntmode" name="CNTMODE" description="Timer Mode" mask="0x07" access="RW"/>
</register>
<register key="evctrl" name="EVCTRL" description="Event Control" offset="0x04" size="1" initial-value="0x00" access="RW">
<bit-field key="captei" name="CAPTEI" description="Event Input Enable" mask="0x01" access="RW"/>
<bit-field key="edge" name="EDGE" description="Event Edge" mask="0x10" access="RW"/>
<bit-field key="filter" name="FILTER" description="Input Capture Noise Cancellation Filter" mask="0x40" access="RW"/>
</register>
<register key="intctrl" name="INTCTRL" description="Interrupt Control" offset="0x05" size="1" initial-value="0x00" access="RW">
<bit-field key="capt" name="CAPT" description="Capture or Timeout" mask="0x01" access="RW"/>
</register>
<register key="intflags" name="INTFLAGS" description="Interrupt Flags" offset="0x06" size="1" initial-value="0x00" access="RW">
<bit-field key="capt" name="CAPT" description="Capture or Timeout" mask="0x01" access="RW"/>
</register>
<register key="status" name="STATUS" description="Status" offset="0x07" size="1" initial-value="0x00" access="R">
<bit-field key="run" name="RUN" description="Run" mask="0x01" access="R"/>
</register>
<register key="dbgctrl" name="DBGCTRL" description="Debug Control" offset="0x08" size="1" initial-value="0x00" access="RW">
<bit-field key="dbgrun" name="DBGRUN" description="Debug Run" mask="0x01" access="RW"/>
</register>
<register key="temp" name="TEMP" description="Temporary Value" offset="0x09" size="1" access="RW"/>
<register key="cnt" name="CNT" description="Count" offset="0x0A" size="2" initial-value="0x0000" access="RW"/>
<register key="ccmp" name="CCMP" description="Compare or Capture" offset="0x0C" size="2" access="RW"/>
</register-group>
</module>
<module key="i2129" name="TCD" description="Timer Counter D">
<register-group key="tcd" name="TCD">
<register key="ctrla" name="CTRLA" description="Control A" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="clksel" name="CLKSEL" description="clock select" mask="0x60" access="RW"/>
<bit-field key="cntpres" name="CNTPRES" description="counter prescaler" mask="0x18" access="RW"/>
<bit-field key="enable" name="ENABLE" description="Enable" mask="0x01" access="RW"/>
<bit-field key="syncpres" name="SYNCPRES" description="Syncronization prescaler" mask="0x06" access="RW"/>
</register>
<register key="ctrlb" name="CTRLB" description="Control B" offset="0x01" size="1" initial-value="0x00" access="RW">
<bit-field key="wgmode" name="WGMODE" description="Waveform generation mode" mask="0x03" access="RW"/>
</register>
<register key="ctrlc" name="CTRLC" description="Control C" offset="0x02" size="1" initial-value="0x00" access="RW">
<bit-field key="aupdate" name="AUPDATE" description="Auto update" mask="0x02" access="RW"/>
<bit-field key="cmpcsel" name="CMPCSEL" description="Compare C output select" mask="0x40" access="RW"/>
<bit-field key="cmpdsel" name="CMPDSEL" description="Compare D output select" mask="0x80" access="RW"/>
<bit-field key="cmpovr" name="CMPOVR" description="Compare output value override" mask="0x01" access="RW"/>
<bit-field key="fifty" name="FIFTY" description="Fifty percent waveform" mask="0x08" access="RW"/>
</register>
<register key="ctrld" name="CTRLD" description="Control D" offset="0x03" size="1" initial-value="0x00" access="RW">
<bit-field key="cmpaval" name="CMPAVAL" description="Compare A value" mask="0x0F" access="RW"/>
<bit-field key="cmpbval" name="CMPBVAL" description="Compare B value" mask="0xF0" access="RW"/>
</register>
<register key="ctrle" name="CTRLE" description="Control E" offset="0x04" size="1" initial-value="0x00" access="RW">
<bit-field key="diseoc" name="DISEOC" description="Disable at end of cycle" mask="0x80" access="RW"/>
<bit-field key="restart" name="RESTART" description="Restart strobe" mask="0x04" access="RW"/>
<bit-field key="scapturea" name="SCAPTUREA" description="Software Capture A Strobe" mask="0x08" access="RW"/>
<bit-field key="scaptureb" name="SCAPTUREB" description="Software Capture B Strobe" mask="0x10" access="RW"/>
<bit-field key="sync" name="SYNC" description="synchronize strobe" mask="0x02" access="RW"/>
<bit-field key="synceoc" name="SYNCEOC" description="synchronize end of cycle strobe" mask="0x01" access="RW"/>
</register>
<register key="evctrla" name="EVCTRLA" description="EVCTRLA" offset="0x08" size="1" initial-value="0x00" access="RW">
<bit-field key="action" name="ACTION" description="event action" mask="0x04" access="RW"/>
<bit-field key="cfg" name="CFG" description="event config" mask="0xC0" access="RW"/>
<bit-field key="edge" name="EDGE" description="edge select" mask="0x10" access="RW"/>
<bit-field key="trigei" name="TRIGEI" description="Trigger event enable" mask="0x01" access="RW"/>
</register>
<register key="evctrlb" name="EVCTRLB" description="EVCTRLB" offset="0x09" size="1" initial-value="0x00" access="RW">
<bit-field key="action" name="ACTION" description="event action" mask="0x04" access="RW"/>
<bit-field key="cfg" name="CFG" description="event config" mask="0xC0" access="RW"/>
<bit-field key="edge" name="EDGE" description="edge select" mask="0x10" access="RW"/>
<bit-field key="trigei" name="TRIGEI" description="Trigger event enable" mask="0x01" access="RW"/>
</register>
<register key="intctrl" name="INTCTRL" description="Interrupt Control" offset="0x0C" size="1" initial-value="0x00" access="RW">
<bit-field key="ovf" name="OVF" description="Overflow interrupt enable" mask="0x01" access="RW"/>
<bit-field key="triga" name="TRIGA" description="Trigger A interrupt enable" mask="0x04" access="RW"/>
<bit-field key="trigb" name="TRIGB" description="Trigger B interrupt enable" mask="0x08" access="RW"/>
</register>
<register key="intflags" name="INTFLAGS" description="Interrupt Flags" offset="0x0D" size="1" initial-value="0x00" access="RW">
<bit-field key="ovf" name="OVF" description="Overflow interrupt enable" mask="0x01" access="RW"/>
<bit-field key="triga" name="TRIGA" description="Trigger A interrupt enable" mask="0x04" access="RW"/>
<bit-field key="trigb" name="TRIGB" description="Trigger B interrupt enable" mask="0x08" access="RW"/>
</register>
<register key="status" name="STATUS" description="Status" offset="0x0E" size="1" initial-value="0x00" access="RW">
<bit-field key="cmdrdy" name="CMDRDY" description="Command ready" mask="0x02" access="R"/>
<bit-field key="enrdy" name="ENRDY" description="Enable ready" mask="0x01" access="R"/>
<bit-field key="pwmacta" name="PWMACTA" description="PWM activity on A" mask="0x40" access="RW"/>
<bit-field key="pwmactb" name="PWMACTB" description="PWM activity on B" mask="0x80" access="RW"/>
</register>
<register key="inputctrla" name="INPUTCTRLA" description="Input Control A" offset="0x10" size="1" initial-value="0x00" access="RW">
<bit-field key="inputmode" name="INPUTMODE" description="Input mode" mask="0x0F" access="RW"/>
</register>
<register key="inputctrlb" name="INPUTCTRLB" description="Input Control B" offset="0x11" size="1" initial-value="0x00" access="RW">
<bit-field key="inputmode" name="INPUTMODE" description="Input mode" mask="0x0F" access="RW"/>
</register>
<register key="faultctrl" name="FAULTCTRL" description="Fault Control" offset="0x12" size="1" initial-value="0x00" access="RW">
<bit-field key="cmpa" name="CMPA" description="Compare A value" mask="0x01" access="RW"/>
<bit-field key="cmpaen" name="CMPAEN" description="Compare A enable" mask="0x10" access="RW"/>
<bit-field key="cmpb" name="CMPB" description="Compare B value" mask="0x02" access="RW"/>
<bit-field key="cmpben" name="CMPBEN" description="Compare B enable" mask="0x20" access="RW"/>
<bit-field key="cmpc" name="CMPC" description="Compare C value" mask="0x04" access="RW"/>
<bit-field key="cmpcen" name="CMPCEN" description="Compare C enable" mask="0x40" access="RW"/>
<bit-field key="cmpd" name="CMPD" description="Compare D vaule" mask="0x08" access="RW"/>
<bit-field key="cmpden" name="CMPDEN" description="Compare D enable" mask="0x80" access="RW"/>
</register>
<register key="dlyctrl" name="DLYCTRL" description="Delay Control" offset="0x14" size="1" initial-value="0x00" access="RW">
<bit-field key="dlypresc" name="DLYPRESC" description="Delay prescaler" mask="0x30" access="RW"/>
<bit-field key="dlysel" name="DLYSEL" description="Delay select" mask="0x03" access="RW"/>
<bit-field key="dlytrig" name="DLYTRIG" description="Delay trigger" mask="0x0C" access="RW"/>
</register>
<register key="dlyval" name="DLYVAL" description="Delay value" offset="0x15" size="1" initial-value="0x00" access="RW">
<bit-field key="dlyval" name="DLYVAL" description="Delay value" mask="0xFF" access="RW"/>
</register>
<register key="ditctrl" name="DITCTRL" description="Dither Control A" offset="0x18" size="1" initial-value="0x00" access="RW">
<bit-field key="dithersel" name="DITHERSEL" description="dither select" mask="0x03" access="RW"/>
</register>
<register key="ditval" name="DITVAL" description="Dither value" offset="0x19" size="1" initial-value="0x00" access="RW">
<bit-field key="dither" name="DITHER" description="Dither value" mask="0x0F" access="RW"/>
</register>
<register key="dbgctrl" name="DBGCTRL" description="Debug Control" offset="0x1E" size="1" initial-value="0x00" access="RW">
<bit-field key="dbgrun" name="DBGRUN" description="Debug run" mask="0x01" access="RW"/>
<bit-field key="faultdet" name="FAULTDET" description="Fault detection" mask="0x04" access="RW"/>
</register>
<register key="capturea" name="CAPTUREA" description="Capture A" offset="0x22" size="2" access="R"/>
<register key="captureb" name="CAPTUREB" description="Capture B" offset="0x24" size="2" access="R"/>
<register key="cmpaset" name="CMPASET" description="Compare A Set" offset="0x28" size="2" access="RW"/>
<register key="cmpaclr" name="CMPACLR" description="Compare A Clear" offset="0x2A" size="2" access="RW"/>
<register key="cmpbset" name="CMPBSET" description="Compare B Set" offset="0x2C" size="2" access="RW"/>
<register key="cmpbclr" name="CMPBCLR" description="Compare B Clear" offset="0x2E" size="2" access="RW"/>
</register-group>
</module>
<module key="i2110" name="TWI" description="Two-Wire Interface">
<register-group key="twi" name="TWI">
<register key="ctrla" name="CTRLA" description="Control A" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="fmpen" name="FMPEN" description="FM Plus Enable" mask="0x02" access="RW"/>
<bit-field key="sdahold" name="SDAHOLD" description="SDA Hold Time" mask="0x0C" access="RW"/>
<bit-field key="sdasetup" name="SDASETUP" description="SDA Setup Time" mask="0x10" access="RW"/>
</register>
<register key="dbgctrl" name="DBGCTRL" description="Debug Control Register" offset="0x02" size="1" initial-value="0x00" access="RW">
<bit-field key="dbgrun" name="DBGRUN" description="Debug Run" mask="0x01" access="RW"/>
</register>
<register key="mctrla" name="MCTRLA" description="Master Control A" offset="0x03" size="1" initial-value="0x00" access="RW">
<bit-field key="enable" name="ENABLE" description="Enable TWI Master" mask="0x01" access="RW"/>
<bit-field key="qcen" name="QCEN" description="Quick Command Enable" mask="0x10" access="RW"/>
<bit-field key="rien" name="RIEN" description="Read Interrupt Enable" mask="0x80" access="RW"/>
<bit-field key="smen" name="SMEN" description="Smart Mode Enable" mask="0x02" access="RW"/>
<bit-field key="timeout" name="TIMEOUT" description="Inactive Bus Timeout" mask="0x0C" access="RW"/>
<bit-field key="wien" name="WIEN" description="Write Interrupt Enable" mask="0x40" access="RW"/>
</register>
<register key="mctrlb" name="MCTRLB" description="Master Control B" offset="0x04" size="1" initial-value="0x00" access="RW">
<bit-field key="ackact" name="ACKACT" description="Acknowledge Action" mask="0x04" access="RW"/>
<bit-field key="flush" name="FLUSH" description="Flush" mask="0x08" access="RW"/>
<bit-field key="mcmd" name="MCMD" description="Command" mask="0x03" access="RW"/>
</register>
<register key="mstatus" name="MSTATUS" description="Master Status" offset="0x05" size="1" initial-value="0x00" access="RW">
<bit-field key="arblost" name="ARBLOST" description="Arbitration Lost" mask="0x08" access="RW"/>
<bit-field key="buserr" name="BUSERR" description="Bus Error" mask="0x04" access="RW"/>
<bit-field key="busstate" name="BUSSTATE" description="Bus State" mask="0x03" access="RW"/>
<bit-field key="clkhold" name="CLKHOLD" description="Clock Hold" mask="0x20" access="RW"/>
<bit-field key="rif" name="RIF" description="Read Interrupt Flag" mask="0x80" access="RW"/>
<bit-field key="rxack" name="RXACK" description="Received Acknowledge" mask="0x10" access="R"/>
<bit-field key="wif" name="WIF" description="Write Interrupt Flag" mask="0x40" access="RW"/>
</register>
<register key="mbaud" name="MBAUD" description="Master Baurd Rate Control" offset="0x06" size="1" access="RW"/>
<register key="maddr" name="MADDR" description="Master Address" offset="0x07" size="1" access="RW"/>
<register key="mdata" name="MDATA" description="Master Data" offset="0x08" size="1" access="RW"/>
<register key="sctrla" name="SCTRLA" description="Slave Control A" offset="0x09" size="1" initial-value="0x00" access="RW">
<bit-field key="apien" name="APIEN" description="Address/Stop Interrupt Enable" mask="0x40" access="RW"/>
<bit-field key="dien" name="DIEN" description="Data Interrupt Enable" mask="0x80" access="RW"/>
<bit-field key="enable" name="ENABLE" description="Enable TWI Slave" mask="0x01" access="RW"/>
<bit-field key="pien" name="PIEN" description="Stop Interrupt Enable" mask="0x20" access="RW"/>
<bit-field key="pmen" name="PMEN" description="Promiscuous Mode Enable" mask="0x04" access="RW"/>
<bit-field key="smen" name="SMEN" description="Smart Mode Enable" mask="0x02" access="RW"/>
</register>
<register key="sctrlb" name="SCTRLB" description="Slave Control B" offset="0x0A" size="1" initial-value="0x00" access="RW">
<bit-field key="ackact" name="ACKACT" description="Acknowledge Action" mask="0x04" access="RW"/>
<bit-field key="scmd" name="SCMD" description="Command" mask="0x03" access="RW"/>
</register>
<register key="sstatus" name="SSTATUS" description="Slave Status" offset="0x0B" size="1" initial-value="0x00" access="RW">
<bit-field key="ap" name="AP" description="Slave Address or Stop" mask="0x01" access="R"/>
<bit-field key="apif" name="APIF" description="Address/Stop Interrupt Flag" mask="0x40" access="RW"/>
<bit-field key="buserr" name="BUSERR" description="Bus Error" mask="0x04" access="RW"/>
<bit-field key="clkhold" name="CLKHOLD" description="Clock Hold" mask="0x20" access="R"/>
<bit-field key="coll" name="COLL" description="Collision" mask="0x08" access="RW"/>
<bit-field key="dif" name="DIF" description="Data Interrupt Flag" mask="0x80" access="RW"/>
<bit-field key="dir" name="DIR" description="Read/Write Direction" mask="0x02" access="R"/>
<bit-field key="rxack" name="RXACK" description="Received Acknowledge" mask="0x10" access="R"/>
</register>
<register key="saddr" name="SADDR" description="Slave Address" offset="0x0C" size="1" access="RW"/>
<register key="sdata" name="SDATA" description="Slave Data" offset="0x0D" size="1" access="RW"/>
<register key="saddrmask" name="SADDRMASK" description="Slave Address Mask" offset="0x0E" size="1" access="RW">
<bit-field key="addren" name="ADDREN" description="Address Enable" mask="0x01" access="RW"/>
<bit-field key="addrmask" name="ADDRMASK" description="Address Mask" mask="0xFE" access="RW"/>
</register>
</register-group>
</module>
<module key="i2108" name="USART" description="Universal Synchronous and Asynchronous Receiver and Transmitter">
<register-group key="usart" name="USART">
<register key="rxdatal" name="RXDATAL" description="Receive Data Low Byte" offset="0x00" size="1" initial-value="0x00" access="R">
<bit-field key="data" name="DATA" description="RX Data" mask="0xFF" access="R"/>
</register>
<register key="rxdatah" name="RXDATAH" description="Receive Data High Byte" offset="0x01" size="1" initial-value="0x00" access="R">
<bit-field key="bufovf" name="BUFOVF" description="Buffer Overflow" mask="0x40" access="R"/>
<bit-field key="data8" name="DATA8" description="Receiver Data Register" mask="0x01" access="R"/>
<bit-field key="ferr" name="FERR" description="Frame Error" mask="0x04" access="R"/>
<bit-field key="perr" name="PERR" description="Parity Error" mask="0x02" access="R"/>
<bit-field key="rxcif" name="RXCIF" description="Receive Complete Interrupt Flag" mask="0x80" access="R"/>
</register>
<register key="txdatal" name="TXDATAL" description="Transmit Data Low Byte" offset="0x02" size="1" initial-value="0x00" access="RW">
<bit-field key="data" name="DATA" description="Transmit Data Register" mask="0xFF" access="RW"/>
</register>
<register key="txdatah" name="TXDATAH" description="Transmit Data High Byte" offset="0x03" size="1" initial-value="0x00" access="RW">
<bit-field key="data8" name="DATA8" description="Transmit Data Register (CHSIZE=9bit)" mask="0x01" access="RW"/>
</register>
<register key="status" name="STATUS" description="Status" offset="0x04" size="1" initial-value="0x00" access="RW">
<bit-field key="bdf" name="BDF" description="Break Detected Flag" mask="0x02" access="RW"/>
<bit-field key="dreif" name="DREIF" description="Data Register Empty Flag" mask="0x20" access="R"/>
<bit-field key="isfif" name="ISFIF" description="Inconsistent Sync Field Interrupt Flag" mask="0x08" access="RW"/>
<bit-field key="rxcif" name="RXCIF" description="Receive Complete Interrupt Flag" mask="0x80" access="R"/>
<bit-field key="rxsif" name="RXSIF" description="Receive Start Interrupt" mask="0x10" access="R"/>
<bit-field key="txcif" name="TXCIF" description="Transmit Interrupt Flag" mask="0x40" access="RW"/>
<bit-field key="wfb" name="WFB" description="Wait For Break" mask="0x01" access="RW"/>
</register>
<register key="ctrla" name="CTRLA" description="Control A" offset="0x05" size="1" initial-value="0x00" access="RW">
<bit-field key="abeie" name="ABEIE" description="Auto-baud Error Interrupt Enable" mask="0x04" access="RW"/>
<bit-field key="dreie" name="DREIE" description="Data Register Empty Interrupt Enable" mask="0x20" access="RW"/>
<bit-field key="lbme" name="LBME" description="Loop-back Mode Enable" mask="0x08" access="RW"/>
<bit-field key="rs485" name="RS485" description="RS485 Mode internal transmitter" mask="0x03" access="RW"/>
<bit-field key="rxcie" name="RXCIE" description="Receive Complete Interrupt Enable" mask="0x80" access="RW"/>
<bit-field key="rxsie" name="RXSIE" description="Receiver Start Frame Interrupt Enable" mask="0x10" access="RW"/>
<bit-field key="txcie" name="TXCIE" description="Transmit Complete Interrupt Enable" mask="0x40" access="RW"/>
</register>
<register key="ctrlb" name="CTRLB" description="Control B" offset="0x06" size="1" initial-value="0x00" access="RW">
<bit-field key="mpcm" name="MPCM" description="Multi-processor Communication Mode" mask="0x01" access="RW"/>
<bit-field key="odme" name="ODME" description="Open Drain Mode Enable" mask="0x08" access="RW"/>
<bit-field key="rxen" name="RXEN" description="Reciever enable" mask="0x80" access="RW"/>
<bit-field key="rxmode" name="RXMODE" description="Receiver Mode" mask="0x06" access="RW"/>
<bit-field key="sfden" name="SFDEN" description="Start Frame Detection Enable" mask="0x10" access="RW"/>
<bit-field key="txen" name="TXEN" description="Transmitter Enable" mask="0x40" access="RW"/>
</register>
<register key="ctrlc" name="CTRLC" description="Control C" offset="0x07" size="1" initial-value="0x03" access="RW"/>
<register key="baud" name="BAUD" description="Baud Rate" offset="0x08" size="2" initial-value="0x0000" access="RW"/>
<register key="dbgctrl" name="DBGCTRL" description="Debug Control" offset="0x0B" size="1" initial-value="0x00" access="RW">
<bit-field key="abmbp" name="ABMBP" description="Autobaud majority voter bypass" mask="0x80" access="RW"/>
<bit-field key="dbgrun" name="DBGRUN" description="Debug Run" mask="0x01" access="RW"/>
</register>
<register key="evctrl" name="EVCTRL" description="Event Control" offset="0x0C" size="1" initial-value="0x00" access="RW">
<bit-field key="irei" name="IREI" description="IrDA Event Input Enable" mask="0x01" access="RW"/>
</register>
<register key="txplctrl" name="TXPLCTRL" description="IRCOM Transmitter Pulse Length Control" offset="0x0D" size="1" initial-value="0x00" access="RW">
<bit-field key="txpl" name="TXPL" description="Transmit pulse length" mask="0xFF" access="RW"/>
</register>
<register key="rxplctrl" name="RXPLCTRL" description="IRCOM Receiver Pulse Length Control" offset="0x0E" size="1" initial-value="0x00" access="RW">
<bit-field key="rxpl" name="RXPL" description="Receiver Pulse Lenght" mask="0x7F" access="RW"/>
</register>
</register-group>
</module>
<module key="i2601_userrow" name="USERROW" description="User Row">
<register-group key="userrow" name="USERROW">
<register key="userrow0" name="USERROW0" description="User Row Byte 0" offset="0x00" size="1" access="RW"/>
<register key="userrow1" name="USERROW1" description="User Row Byte 1" offset="0x01" size="1" access="RW"/>
<register key="userrow2" name="USERROW2" description="User Row Byte 2" offset="0x02" size="1" access="RW"/>
<register key="userrow3" name="USERROW3" description="User Row Byte 3" offset="0x03" size="1" access="RW"/>
<register key="userrow4" name="USERROW4" description="User Row Byte 4" offset="0x04" size="1" access="RW"/>
<register key="userrow5" name="USERROW5" description="User Row Byte 5" offset="0x05" size="1" access="RW"/>
<register key="userrow6" name="USERROW6" description="User Row Byte 6" offset="0x06" size="1" access="RW"/>
<register key="userrow7" name="USERROW7" description="User Row Byte 7" offset="0x07" size="1" access="RW"/>
<register key="userrow8" name="USERROW8" description="User Row Byte 8" offset="0x08" size="1" access="RW"/>
<register key="userrow9" name="USERROW9" description="User Row Byte 9" offset="0x09" size="1" access="RW"/>
<register key="userrow10" name="USERROW10" description="User Row Byte 10" offset="0x0A" size="1" access="RW"/>
<register key="userrow11" name="USERROW11" description="User Row Byte 11" offset="0x0B" size="1" access="RW"/>
<register key="userrow12" name="USERROW12" description="User Row Byte 12" offset="0x0C" size="1" access="RW"/>
<register key="userrow13" name="USERROW13" description="User Row Byte 13" offset="0x0D" size="1" access="RW"/>
<register key="userrow14" name="USERROW14" description="User Row Byte 14" offset="0x0E" size="1" access="RW"/>
<register key="userrow15" name="USERROW15" description="User Row Byte 15" offset="0x0F" size="1" access="RW"/>
<register key="userrow16" name="USERROW16" description="User Row Byte 16" offset="0x10" size="1" access="RW"/>
<register key="userrow17" name="USERROW17" description="User Row Byte 17" offset="0x11" size="1" access="RW"/>
<register key="userrow18" name="USERROW18" description="User Row Byte 18" offset="0x12" size="1" access="RW"/>
<register key="userrow19" name="USERROW19" description="User Row Byte 19" offset="0x13" size="1" access="RW"/>
<register key="userrow20" name="USERROW20" description="User Row Byte 20" offset="0x14" size="1" access="RW"/>
<register key="userrow21" name="USERROW21" description="User Row Byte 21" offset="0x15" size="1" access="RW"/>
<register key="userrow22" name="USERROW22" description="User Row Byte 22" offset="0x16" size="1" access="RW"/>
<register key="userrow23" name="USERROW23" description="User Row Byte 23" offset="0x17" size="1" access="RW"/>
<register key="userrow24" name="USERROW24" description="User Row Byte 24" offset="0x18" size="1" access="RW"/>
<register key="userrow25" name="USERROW25" description="User Row Byte 25" offset="0x19" size="1" access="RW"/>
<register key="userrow26" name="USERROW26" description="User Row Byte 26" offset="0x1A" size="1" access="RW"/>
<register key="userrow27" name="USERROW27" description="User Row Byte 27" offset="0x1B" size="1" access="RW"/>
<register key="userrow28" name="USERROW28" description="User Row Byte 28" offset="0x1C" size="1" access="RW"/>
<register key="userrow29" name="USERROW29" description="User Row Byte 29" offset="0x1D" size="1" access="RW"/>
<register key="userrow30" name="USERROW30" description="User Row Byte 30" offset="0x1E" size="1" access="RW"/>
<register key="userrow31" name="USERROW31" description="User Row Byte 31" offset="0x1F" size="1" access="RW"/>
</register-group>
</module>
<module key="i2103_vport" name="VPORT" description="Virtual Ports">
<register-group key="vport" name="VPORT">
<register key="dir" name="DIR" description="Data Direction" offset="0x00" size="1" access="RW"/>
<register key="out" name="OUT" description="Output Value" offset="0x01" size="1" access="RW"/>
<register key="in" name="IN" description="Input Value" offset="0x02" size="1" access="RW"/>
<register key="intflags" name="INTFLAGS" description="Interrupt Flags" offset="0x03" size="1" initial-value="0x00" access="RW">
<bit-field key="int" name="INT" description="Pin Interrupt" mask="0xFF" access="RW"/>
</register>
</register-group>
</module>
<module key="i2601_vref" name="VREF" description="Voltage reference">
<register-group key="vref" name="VREF">
<register key="ctrla" name="CTRLA" description="Control A" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="adc0refsel" name="ADC0REFSEL" description="ADC0 reference select" mask="0x70" access="RW"/>
<bit-field key="dac0refsel" name="DAC0REFSEL" description="DAC0/AC0 reference select" mask="0x07" access="RW"/>
</register>
<register key="ctrlb" name="CTRLB" description="Control B" offset="0x01" size="1" initial-value="0x00" access="RW">
<bit-field key="adc0refen" name="ADC0REFEN" description="ADC0 reference enable" mask="0x02" access="RW"/>
<bit-field key="dac0refen" name="DAC0REFEN" description="DAC0/AC0 reference enable" mask="0x01" access="RW"/>
</register>
</register-group>
</module>
<module key="i2127" name="WDT" description="Watch-Dog Timer">
<register-group key="wdt" name="WDT">
<register key="ctrla" name="CTRLA" description="Control A" offset="0x00" size="1" initial-value="0x00" access="RW">
<bit-field key="period" name="PERIOD" description="Period" mask="0x0F" access="RW"/>
<bit-field key="window" name="WINDOW" description="Window" mask="0xF0" access="RW"/>
</register>
<register key="status" name="STATUS" description="Status" offset="0x01" size="1" initial-value="0x00" access="RW">
<bit-field key="lock" name="LOCK" description="Lock enable" mask="0x80" access="RW"/>
<bit-field key="syncbusy" name="SYNCBUSY" description="Syncronization busy" mask="0x01" access="R"/>
</register>
</register-group>
</module>
</modules>
<pads>
<pad key="gnd" name="GND"/>
<pad key="pa0" name="PA0"/>
<pad key="pa1" name="PA1"/>
<pad key="pa2" name="PA2"/>
<pad key="pa3" name="PA3"/>
<pad key="pa6" name="PA6"/>
<pad key="pa7" name="PA7"/>
<pad key="vdd" name="VDD"/>
</pads>
<pinouts>
<pinout key="soic8" name="SOIC8" type="soic">
<pin position="1" pad-key="vdd"/>
<pin position="2" pad-key="pa6"/>
<pin position="3" pad-key="pa7"/>
<pin position="4" pad-key="pa1"/>
<pin position="5" pad-key="pa2"/>
<pin position="6" pad-key="pa0"/>
<pin position="7" pad-key="pa3"/>
<pin position="8" pad-key="gnd"/>
</pinout>
</pinouts>
<variants>
<variant key="attiny412_ssfr" name="ATtiny412-SSFR" pinout-key="soic8"/>
<variant key="attiny412_ssnr" name="ATtiny412-SSNR" pinout-key="soic8"/>
</variants>
</device>