Commit bd76c91f authored by Petter Breedveld's avatar Petter Breedveld
Browse files

Added files for attiny

To be used for linux programming
parent 0c90220f
This source diff could not be displayed because it is too large. You can view the blob instead.
<?xml version="1.0" encoding="UTF-8"?>
<avr-tools-device-file xmlns:xalan="http://xml.apache.org/xalan" xmlns:NumHelper="NumHelper" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schema-version="0.3" xsi:noNamespaceSchemaLocation="../../schema/avr_tools_device_file.xsd">
<variants>
<variant ordercode="ATtiny10-TSHR" speedmax="12000000" tempmin="-40" tempmax="85" vccmin="1.8" vccmax="5.5" package="SOT23-6" pinout="SOT23_6"/>
<variant ordercode="ATtiny10-MAHR" speedmax="12000000" tempmin="-40" tempmax="85" vccmin="1.8" vccmax="5.5" package="UDFN8" pinout="UDFN8"/>
<variant ordercode="ATtiny10-TS8R" speedmax="10000000" tempmin="-40" tempmax="125" vccmin="1.8" vccmax="5.5" package="SOT23-6" pinout="SOT23_6"/>
</variants>
<devices>
<device name="ATtiny10" architecture="AVR8L" family="tinyAVR">
<address-spaces>
<address-space endianness="little" name="prog" id="prog" start="0x0000" size="0x0400">
<memory-segment start="0x0000" size="0x0400" type="flash" rw="RW" exec="1" name="FLASH" pagesize="0x80"/>
</address-space>
<address-space endianness="little" name="signatures" id="signatures" start="0" size="3">
<memory-segment start="0" size="3" type="signatures" rw="R" exec="0" name="SIGNATURES"/>
</address-space>
<address-space endianness="little" name="fuses" id="fuses" start="0" size="0x0001">
<memory-segment start="0" size="0x0001" type="fuses" rw="RW" exec="0" name="FUSES"/>
</address-space>
<address-space endianness="little" name="lockbits" id="lockbits" start="0" size="0x0001">
<memory-segment start="0" size="0x0001" type="lockbits" rw="RW" exec="0" name="LOCKBITS"/>
</address-space>
<address-space size="0x4400" start="0x0000" endianness="little" name="data" id="data">
<memory-segment type="io" size="0x40" start="0x0000" name="IO"/>
<memory-segment type="ram" size="0x20" start="0x0040" name="SRAM"/>
<memory-segment type="sysreg" size="0x0002" start="0x3F00" name="MAPPED_NVM_LOCK_BITS"/>
<memory-segment type="sysreg" size="0x0002" start="0x3F40" name="MAPPED_CONFIGURATION_BITS"/>
<memory-segment type="sysreg" size="0x0002" start="0x3F80" name="MAPPED_CALIBRATION_BITS"/>
<memory-segment type="sysreg" size="0x0004" start="0x3FC0" name="MAPPED_DEVICE_ID_BITS"/>
<memory-segment type="flash" start="0x4000" name="MAPPED_FLASH" size="0x0400"/>
</address-space>
</address-spaces>
<peripherals>
<module name="ADC">
<instance name="ADC" caption="Analog-to-Digital Converter">
<register-group name="ADC" name-in-module="ADC" offset="0x00" address-space="data" caption="Analog-to-Digital Converter"/>
<signals>
<signal group="ADC" index="0" pad="PB0" function="default"/>
<signal group="ADC" index="1" pad="PB1" function="default"/>
<signal group="ADC" index="2" pad="PB2" function="default"/>
<signal group="ADC" index="3" pad="PB3" function="default"/>
</signals>
</instance>
</module>
<module name="AC">
<instance name="AC" caption="Analog Comparator">
<register-group name="AC" name-in-module="AC" offset="0x00" address-space="data" caption="Analog Comparator"/>
<signals>
<signal group="AIN" index="0" pad="PB0" function="default"/>
<signal group="AIN" index="1" pad="PB1" function="default"/>
</signals>
</instance>
</module>
<module name="CPU">
<instance name="CPU" caption="CPU Registers">
<register-group name="CPU" name-in-module="CPU" offset="0x00" address-space="data" caption="CPU Registers"/>
</instance>
</module>
<module name="PORT">
<instance name="PORTB" caption="I/O Port">
<register-group name="PORTB" name-in-module="PORTB" offset="0x00" address-space="data" caption="I/O Port"/>
<signals>
<signal group="P" function="default" pad="PB0" index="0"/>
<signal group="P" function="default" pad="PB1" index="1"/>
<signal group="P" function="default" pad="PB2" index="2"/>
<signal group="P" function="default" pad="PB3" index="3"/>
</signals>
</instance>
</module>
<module name="EXINT">
<instance name="EXINT" caption="External Interrupts">
<register-group name="EXINT" name-in-module="EXINT" offset="0x00" address-space="data" caption="External Interrupts"/>
<signals>
<signal group="PCINT" index="0" pad="PB0" function="default"/>
<signal group="PCINT" index="1" pad="PB1" function="default"/>
<signal group="PCINT" index="2" pad="PB2" function="default"/>
<signal group="PCINT" index="3" pad="PB3" function="default"/>
<signal group="INT" index="0" pad="PB2" function="default"/>
</signals>
</instance>
</module>
<module name="TC16">
<instance name="TC0" caption="Timer/Counter, 16-bit">
<register-group name="TC0" name-in-module="TC0" offset="0x00" address-space="data" caption="Timer/Counter, 16-bit"/>
<signals>
<signal group="OCA" pad="PB0" function="default"/>
<signal group="OCB" pad="PB1" function="default"/>
<signal group="T" pad="PB2" function="default"/>
</signals>
</instance>
</module>
<module name="WDT">
<instance name="WDT" caption="Watchdog Timer">
<register-group name="WDT" name-in-module="WDT" offset="0x00" address-space="data" caption="Watchdog Timer"/>
</instance>
</module>
<module name="FUSE">
<instance name="FUSE" caption="Fuses">
<register-group name="FUSE" name-in-module="FUSE" offset="0" address-space="fuses" caption="Fuses"/>
</instance>
</module>
<module name="LOCKBIT">
<instance name="LOCKBIT" caption="Lockbits">
<register-group name="LOCKBIT" name-in-module="LOCKBIT" offset="0" address-space="lockbits" caption="Lockbits"/>
</instance>
</module>
</peripherals>
<interrupts>
<interrupt index="0" name="RESET" caption="External Reset, Power-on Reset and Watchdog Reset"/>
<interrupt index="1" name="INT0" caption="External Interrupt Request 0"/>
<interrupt index="2" name="PCINT0" caption="Pin Change Interrupt Request 0"/>
<interrupt index="3" name="TIM0_CAPT" caption="Timer/Counter0 Input Capture"/>
<interrupt index="4" name="TIM0_OVF" caption="Timer/Counter0 Overflow"/>
<interrupt index="5" name="TIM0_COMPA" caption="Timer/Counter Compare Match A"/>
<interrupt index="6" name="TIM0_COMPB" caption="Timer/Counter Compare Match B"/>
<interrupt index="7" name="ANA_COMP" caption="Analog Comparator"/>
<interrupt index="8" name="WDT" caption="Watchdog Time-out"/>
<interrupt index="9" name="VLM" caption="Vcc Voltage Level Monitor"/>
<interrupt index="10" name="ADC" caption="ADC Conversion Complete"/>
</interrupts>
<interfaces>
<interface name="TPI" type="tpi"/>
</interfaces>
<property-groups>
<property-group name="SIGNATURES">
<property name="SIGNATURE0" value="0x1e"/>
<property name="SIGNATURE1" value="0x90"/>
<property name="SIGNATURE2" value="0x03"/>
</property-group>
</property-groups>
</device>
</devices>
<modules>
<module caption="Fuses" name="FUSE">
<register-group caption="Fuses" name="FUSE">
<register caption="" name="BYTE0" offset="0x00" size="1" initval="0xFF">
<bitfield caption="Output external clock" mask="0x04" name="CKOUT"/>
<bitfield caption="Watch dog timer always on" mask="0x02" name="WDTON"/>
<bitfield caption="Disable external reset" mask="0x01" name="RSTDISBL"/>
</register>
</register-group>
</module>
<module caption="Lockbits" name="LOCKBIT">
<register-group caption="Lockbits" name="LOCKBIT">
<register caption="" name="LOCKBIT" offset="0x00" size="1">
<bitfield caption="Memory Lock" mask="0x03" name="LB" values="ENUM_LB"/>
</register>
</register-group>
<value-group caption="" name="ENUM_LB">
<value caption="Further programming and verification disabled" name="PROG_VER_DISABLED" value="0x00"/>
<value caption="Further programming disabled" name="PROG_DISABLED" value="0x02"/>
<value caption="No memory lock features enabled" name="NO_LOCK" value="0x03"/>
</value-group>
</module>
<module caption="Analog-to-Digital Converter" name="ADC">
<register-group caption="Analog-to-Digital Converter" name="ADC">
<register caption="The ADC multiplexer Selection Register" name="ADMUX" offset="0x1B" size="1">
<bitfield caption="Analog Channel Selection Bits" mask="0x03" name="MUX"/>
</register>
<register caption="ADC Data Register" name="ADCL" offset="0x19" size="1" mask="0xFF"/>
<register caption="The ADC Control and Status register A" name="ADCSRA" offset="0x1D" size="1">
<bitfield caption="ADC Enable" mask="0x80" name="ADEN"/>
<bitfield caption="ADC Start Conversion" mask="0x40" name="ADSC"/>
<bitfield caption="ADC Auto Trigger Enable" mask="0x20" name="ADATE"/>
<bitfield caption="ADC Interrupt Flag" mask="0x10" name="ADIF"/>
<bitfield caption="ADC Interrupt Enable" mask="0x08" name="ADIE"/>
<bitfield caption="ADC Prescaler Select Bits" mask="0x07" name="ADPS" values="ANALOG_ADC_PRESCALER"/>
</register>
<register caption="The ADC Control and Status register B" name="ADCSRB" offset="0x1C" size="1">
<bitfield caption="ADC Auto Trigger Source bits" mask="0x07" name="ADTS" values="ANALOG_ADC_AUTO_TRIGGER_T10"/>
</register>
<register caption="Digital Input Disable Register" name="DIDR0" offset="0x17" size="1">
<bitfield caption="" mask="0x08" name="ADC3D"/>
<bitfield caption="" mask="0x04" name="ADC2D"/>
<bitfield caption="" mask="0x02" name="ADC1D"/>
<bitfield caption="" mask="0x01" name="ADC0D"/>
</register>
</register-group>
<value-group caption="" name="ANALOG_ADC_PRESCALER">
<value caption="2" name="VAL_0x00" value="0x00"/>
<value caption="2" name="VAL_0x01" value="0x01"/>
<value caption="4" name="VAL_0x02" value="0x02"/>
<value caption="8" name="VAL_0x03" value="0x03"/>
<value caption="16" name="VAL_0x04" value="0x04"/>
<value caption="32" name="VAL_0x05" value="0x05"/>
<value caption="64" name="VAL_0x06" value="0x06"/>
<value caption="128" name="VAL_0x07" value="0x07"/>
</value-group>
<value-group caption="" name="ANALOG_ADC_AUTO_TRIGGER_T10">
<value caption="Free Running mode" name="VAL_0x00" value="0x00"/>
<value caption="Analog Comparator" name="VAL_0x01" value="0x01"/>
<value caption="External Interrupt Request 0" name="VAL_0x02" value="0x02"/>
<value caption="Timer/Counter0 Compare Match A" name="VAL_0x03" value="0x03"/>
<value caption="Timer/Counter0 Overflow" name="VAL_0x04" value="0x04"/>
<value caption="Timer/Counter0 Compare Match B" name="VAL_0x05" value="0x05"/>
<value caption="Pin Change Interrupt 0 Request" name="VAL_0x06" value="0x06"/>
<value caption="Timer/Counter0 Capture Event" name="VAL_0x07" value="0x07"/>
</value-group>
</module>
<module caption="Analog Comparator" name="AC">
<register-group caption="Analog Comparator" name="AC">
<register caption="Analog Comparator Control And Status Register" name="ACSR" offset="0x1F" size="1">
<bitfield caption="Analog Comparator Disable" mask="0x80" name="ACD"/>
<bitfield caption="Analog Compare Output" mask="0x20" name="ACO"/>
<bitfield caption="Analog Comparator Interrupt Flag" mask="0x10" name="ACI"/>
<bitfield caption="Analog Comparator Interrupt Enable" mask="0x08" name="ACIE"/>
<bitfield caption="Analog Comparator Input Capture Enable" mask="0x04" name="ACIC"/>
<bitfield caption="Analog Comparator Interrupt Mode Select bits" mask="0x03" name="ACIS" values="ANALOG_COMP_INTERRUPT"/>
</register>
<register caption="" name="DIDR0" offset="0x17" size="1">
<bitfield caption="AIN1 Digital Input Disable" mask="0x02" name="AIN1D"/>
<bitfield caption="AIN0 Digital Input Disable" mask="0x01" name="AIN0D"/>
</register>
</register-group>
<value-group caption="" name="ANALOG_COMP_INTERRUPT">
<value caption="Interrupt on Toggle" name="VAL_0x00" value="0x00"/>
<value caption="Reserved" name="VAL_0x01" value="0x01"/>
<value caption="Interrupt on Falling Edge" name="VAL_0x02" value="0x02"/>
<value caption="Interrupt on Rising Edge" name="VAL_0x03" value="0x03"/>
</value-group>
</module>
<module caption="CPU Registers" name="CPU">
<register-group caption="CPU Registers" name="CPU">
<register caption="Configuration Change Protection" name="CCP" offset="0x3C" size="1" mask="0xFF"/>
<register caption="Stack Pointer " name="SP" offset="0x3D" size="2" mask="0xFFFF"/>
<register caption="Status Register" name="SREG" offset="0x3F" size="1">
<bitfield caption="Global Interrupt Enable" mask="0x80" name="I"/>
<bitfield caption="Bit Copy Storage" mask="0x40" name="T"/>
<bitfield caption="Half Carry Flag" mask="0x20" name="H"/>
<bitfield caption="Sign Bit" mask="0x10" name="S"/>
<bitfield caption="Two's Complement Overflow Flag" mask="0x08" name="V"/>
<bitfield caption="Negative Flag" mask="0x04" name="N"/>
<bitfield caption="Zero Flag" mask="0x02" name="Z"/>
<bitfield caption="Carry Flag" mask="0x01" name="C"/>
</register>
<register caption="Clock Main Settings Register" name="CLKMSR" offset="0x37" size="1">
<bitfield caption="Clock Main Select Bits" mask="0x03" name="CLKMS"/>
</register>
<register caption="Clock Prescale Register" name="CLKPSR" offset="0x36" size="1">
<bitfield caption="Clock Prescaler Select Bits" mask="0x0F" name="CLKPS" values="CPU_CLK_PRESCALE_4_BITS_SMALL"/>
</register>
<register caption="Oscillator Calibration Value" name="OSCCAL" offset="0x39" size="1" mask="0xFF"/>
<register caption="Sleep Mode Control Register" name="SMCR" offset="0x3A" size="1">
<bitfield caption="Sleep Mode Select Bits" mask="0x0E" name="SM" values="CPU_SLEEP_MODE_3BITS"/>
<bitfield caption="Sleep Enable" mask="0x01" name="SE"/>
</register>
<register caption="Power Reduction Register" name="PRR" offset="0x35" size="1">
<bitfield caption="Power Reduction ADC" mask="0x02" name="PRADC"/>
<bitfield caption="Power Reduction Timer/Counter0" mask="0x01" name="PRTIM0"/>
</register>
<register caption="Vcc Level Monitoring Control and Status Register" name="VLMCSR" offset="0x34" size="1">
<bitfield caption="VLM Flag" mask="0x80" name="VLMF"/>
<bitfield caption="VLM Interrupt Enable" mask="0x40" name="VLMIE"/>
<bitfield caption="Trigger Level of Voltage Level Monitor bits" mask="0x07" name="VLM"/>
</register>
<register caption="Reset Flag Register" name="RSTFLR" offset="0x3B" size="1">
<bitfield caption="Watchdog Reset Flag" mask="0x08" name="WDRF"/>
<bitfield caption="External Reset Flag" mask="0x02" name="EXTRF"/>
<bitfield caption="Power-on Reset Flag" mask="0x01" name="PORF"/>
</register>
<register caption="Non-Volatile Memory Control and Status Register" name="NVMCSR" offset="0x32" size="1">
<bitfield caption="Non-Volatile Memory Busy" mask="0x80" name="NVMBSY"/>
</register>
<register caption="Non-Volatile Memory Command" name="NVMCMD" offset="0x33" size="1" mask="0x3F"/>
</register-group>
<value-group caption="" name="CPU_CLK_PRESCALE_4_BITS_SMALL">
<value caption="1" name="VAL_0x00" value="0x00"/>
<value caption="2" name="VAL_0x01" value="0x01"/>
<value caption="4" name="VAL_0x02" value="0x02"/>
<value caption="8" name="VAL_0x03" value="0x03"/>
<value caption="16" name="VAL_0x04" value="0x04"/>
<value caption="32" name="VAL_0x05" value="0x05"/>
<value caption="64" name="VAL_0x06" value="0x06"/>
<value caption="128" name="VAL_0x07" value="0x07"/>
<value caption="256" name="VAL_0x08" value="0x08"/>
</value-group>
<value-group caption="Sleep Mode" name="CPU_SLEEP_MODE_3BITS">
<value caption="Idle" name="IDLE" value="0x00"/>
<value caption="ADC Noise Reduction" name="ADC" value="0x01"/>
<value caption="Power Down" name="PDOWN" value="0x02"/>
<value caption="Reserved" name="VAL_0x03" value="0x03"/>
<value caption="Standby" name="STDBY" value="0x04"/>
<value caption="Reserved" name="VAL_0x05" value="0x05"/>
<value caption="Reserved" name="VAL_0x06" value="0x06"/>
<value caption="Reserved" name="VAL_0x07" value="0x07"/>
</value-group>
<parameters>
<param name="CORE_VERSION" value="AVR8L_0"/>
</parameters>
</module>
<module caption="I/O Port" name="PORT">
<register-group caption="I/O Port" name="PORTB">
<register caption="Port Control Register" name="PORTCR" offset="0x0C" size="1">
<bitfield caption="Break-Before-Make Mode Enable" mask="0x02" name="BBMB"/>
</register>
<register caption="Pull-up Enable Control Register" name="PUEB" offset="0x03" size="1" mask="0x0F"/>
<register caption="Data Direction Register, Port B" name="DDRB" offset="0x01" size="1" mask="0x0F"/>
<register caption="Port B Data register" name="PINB" offset="0x00" size="1" mask="0x0F"/>
<register caption="Input Pins, Port B" name="PORTB" offset="0x02" size="1" mask="0x0F"/>
</register-group>
</module>
<module caption="External Interrupts" name="EXINT">
<register-group caption="External Interrupts" name="EXINT">
<register caption="External Interrupt Control Register A" name="EICRA" offset="0x15" size="1">
<bitfield caption="Interrupt Sense Control 0 Bit 1" mask="0x02" name="ISC01"/>
<bitfield caption="Interrupt Sense Control 0 Bit 0" mask="0x01" name="ISC00"/>
</register>
<register caption="External Interrupt Mask register" name="EIMSK" offset="0x13" size="1">
<bitfield caption="External Interrupt Request 0 Enable" mask="0x01" name="INT0"/>
</register>
<register caption="External Interrupt Flag register" name="EIFR" offset="0x14" size="1">
<bitfield caption="External Interrupt Flag 0" mask="0x01" name="INTF0"/>
</register>
<register caption="Pin Change Interrupt Control Register" name="PCICR" offset="0x12" size="1">
<bitfield caption="Pin Change Interrupt Enable 0" mask="0x01" name="PCIE0"/>
</register>
<register caption="Pin Change Interrupt Flag Register" name="PCIFR" offset="0x11" size="1">
<bitfield caption="Pin Change Interrupt Flag 0" mask="0x01" name="PCIF0"/>
</register>
<register caption="Pin Change Mask Register" name="PCMSK" offset="0x10" size="1">
<bitfield caption="Pin Change Enable Masks" mask="0x0F" name="PCINT"/>
</register>
</register-group>
</module>
<module caption="Timer/Counter, 16-bit" name="TC16">
<register-group caption="Timer/Counter, 16-bit" name="TC0">
<register caption="Timer/Counter 0 Control Register A" name="TCCR0A" offset="0x2E" size="1">
<bitfield caption="Compare Output Mode for Channel A bits" mask="0xC0" name="COM0A"/>
<bitfield caption="Compare Output Mode for Channel B bits" mask="0x30" name="COM0B"/>
<bitfield caption="Waveform Generation Mode" mask="0x03" name="WGM0"/>
</register>
<register caption="Timer/Counter 0 Control Register B" name="TCCR0B" offset="0x2D" size="1">
<bitfield caption="Input Capture Noise Canceler" mask="0x80" name="ICNC0"/>
<bitfield caption="Input Capture Edge Select" mask="0x40" name="ICES0"/>
<bitfield caption="Waveform Generation Mode" mask="0x18" name="WGM0" lsb="2"/>
<bitfield caption="Clock Select" mask="0x07" name="CS0" values="CLK_SEL_3BIT_EXT"/>
</register>
<register caption="Timer/Counter 0 Control Register C" name="TCCR0C" offset="0x2C" size="1">
<bitfield caption="Force Output Compare for Channel A" mask="0x80" name="FOC0A"/>
<bitfield caption="Force Output Compare for Channel B" mask="0x40" name="FOC0B"/>
</register>
<register caption="Timer/Counter0 " name="TCNT0" offset="0x28" size="2" mask="0xFFFF"/>
<register caption="Timer/Counter 0 Output Compare Register A " name="OCR0A" offset="0x26" size="2" mask="0xFFFF"/>
<register caption="Timer/Counter0 Output Compare Register B " name="OCR0B" offset="0x24" size="2" mask="0xFFFF"/>
<register caption="Input Capture Register Bytes" name="ICR0" offset="0x22" size="2" mask="0xFFFF"/>
<register caption="Timer Interrupt Mask Register 0" name="TIMSK0" offset="0x2B" size="1">
<bitfield caption="Input Capture Interrupt Enable" mask="0x20" name="ICIE0"/>
<bitfield caption="Output Compare B Match Interrupt Enable" mask="0x04" name="OCIE0B"/>
<bitfield caption="Output Compare A Match Interrupt Enable" mask="0x02" name="OCIE0A"/>
<bitfield caption="Overflow Interrupt Enable" mask="0x01" name="TOIE0"/>
</register>
<register caption="Overflow Interrupt Enable" name="TIFR0" offset="0x2A" size="1">
<bitfield caption="Input Capture Flag" mask="0x20" name="ICF0"/>
<bitfield caption="Timer Output Compare Flag 0B" mask="0x04" name="OCF0B"/>
<bitfield caption="Timer Output Compare Flag 0A" mask="0x02" name="OCF0A"/>
<bitfield caption="Timer Overflow Flag" mask="0x01" name="TOV0"/>
</register>
<register caption="General Timer/Counter Control Register" name="GTCCR" offset="0x2F" size="1">
<bitfield caption="Timer Synchronization Mode" mask="0x80" name="TSM"/>
<bitfield caption="Prescaler Reset" mask="0x01" name="PSR"/>
</register>
</register-group>
<value-group caption="" name="CLK_SEL_3BIT_EXT">
<value caption="No Clock Source (Stopped)" name="VAL_0x00" value="0x00"/>
<value caption="Running, No Prescaling" name="VAL_0x01" value="0x01"/>
<value caption="Running, CLK/8" name="VAL_0x02" value="0x02"/>
<value caption="Running, CLK/64" name="VAL_0x03" value="0x03"/>
<value caption="Running, CLK/256" name="VAL_0x04" value="0x04"/>
<value caption="Running, CLK/1024" name="VAL_0x05" value="0x05"/>
<value caption="Running, ExtClk Tx Falling Edge" name="VAL_0x06" value="0x06"/>
<value caption="Running, ExtClk Tx Rising Edge" name="VAL_0x07" value="0x07"/>
</value-group>
</module>
<module caption="Watchdog Timer" name="WDT">
<register-group caption="Watchdog Timer" name="WDT">
<register caption="Watchdog Timer Control and Status Register" name="WDTCSR" offset="0x31" size="1">
<bitfield caption="Watchdog Timer Interrupt Flag" mask="0x80" name="WDIF"/>
<bitfield caption="Watchdog Timer Interrupt Enable" mask="0x40" name="WDIE"/>
<bitfield caption="Watchdog Timer Prescaler Bits" mask="0x27" name="WDP" values="WDOG_TIMER_PRESCALE_4BITS"/>
<bitfield caption="Watch Dog Enable" mask="0x08" name="WDE"/>
</register>
</register-group>
<value-group caption="" name="WDOG_TIMER_PRESCALE_4BITS">
<value caption="Oscillator Cycles 2K" name="VAL_0x00" value="0x00"/>
<value caption="Oscillator Cycles 4K" name="VAL_0x01" value="0x01"/>
<value caption="Oscillator Cycles 8K" name="VAL_0x02" value="0x02"/>
<value caption="Oscillator Cycles 16K" name="VAL_0x03" value="0x03"/>
<value caption="Oscillator Cycles 32K" name="VAL_0x04" value="0x04"/>
<value caption="Oscillator Cycles 64K" name="VAL_0x05" value="0x05"/>
<value caption="Oscillator Cycles 128K" name="VAL_0x06" value="0x06"/>
<value caption="Oscillator Cycles 256K" name="VAL_0x07" value="0x07"/>
<value caption="Oscillator Cycles 512K" name="VAL_0x08" value="0x08"/>
<value caption="Oscillator Cycles 1024K" name="VAL_0x09" value="0x09"/>
</value-group>
</module>
</modules>
<pinouts>
<pinout name="SOT23_6">
<pin pad="PB0" position="1"/>
<pin pad="GND" position="2"/>
<pin pad="PB1" position="3"/>
<pin pad="PB2" position="4"/>
<pin pad="VCC" position="5"/>
<pin pad="PB3" position="6"/>
</pinout>
<pinout name="UDFN8">
<pin pad="PB1" position="1"/>
<pin pad="GND" position="4"/>
<pin pad="PB0" position="5"/>
<pin pad="PB3" position="6"/>
<pin pad="VCC" position="7"/>
<pin pad="PB2" position="8"/>
</pinout>
</pinouts>
</avr-tools-device-file>
<?xml version="1.0" encoding="UTF-8"?>
<avr-tools-device-file
xmlns:xalan="http://xml.apache.org/xalan"
xmlns:NumHelper="NumHelper"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schema-version="4.1" xsi:noNamespaceSchemaLocation="avr_tools_device_file.xsd">
<variants>
<variant ordercode="ATtiny102-M7R " package="UDFN8" pinout="SOIC_8" speedmax="12000000" tempmax="105" tempmin="-40" vccmax="5.5" vccmin="1.8"/>
<variant ordercode="ATtiny102F-M7R" package="UDFN8" pinout="SOIC_8" speedmax="12000000" tempmax="105" tempmin="-40" vccmax="5.5" vccmin="1.8"/>
<variant ordercode="ATtiny102-SSNR " package="SOIC8" pinout="SOIC_8" speedmax="12000000" tempmax="105" tempmin="-40" vccmax="5.5" vccmin="1.8"/>
<variant ordercode="ATtiny102F-SSNR" package="SOIC8" pinout="SOIC_8" speedmax="12000000" tempmax="105" tempmin="-40" vccmax="5.5" vccmin="1.8"/>
<variant ordercode="ATtiny102-M8R " package="UDFN8" pinout="SOIC_8" speedmax="12000000" tempmax="125" tempmin="-40" vccmax="5.5" vccmin="1.8"/>
<variant ordercode="ATtiny102F-M8R" package="UDFN8" pinout="SOIC_8" speedmax="12000000" tempmax="125" tempmin="-40" vccmax="5.5" vccmin="1.8"/>
<variant ordercode="ATtiny102-SSFR " package="SOIC8" pinout="SOIC_8" speedmax="12000000" tempmax="125" tempmin="-40" vccmax="5.5" vccmin="1.8"/>
<variant ordercode="ATtiny102F-SSFR" package="SOIC8" pinout="SOIC_8" speedmax="12000000" tempmax="125" tempmin="-40" vccmax="5.5" vccmin="1.8"/>
</variants>
<devices>
<device name="ATtiny102" architecture="AVR8L" family="tinyAVR">
<address-spaces>
<address-space endianness="little" name="prog" id="prog" start="0x0000" size="0x0400">
<memory-segment start="0x0000" size="0x0400" type="flash" rw="RW" exec="1" name="FLASH" pagesize="0x80"/>
</address-space>
<address-space endianness="little" name="signatures" id="signatures" start="0" size="3">
<memory-segment start="0" size="3" type="signatures" rw="R" exec="0" name="SIGNATURES"/>
</address-space>
<address-space endianness="little" name="fuses" id="fuses" start="0" size="0x0001">
<memory-segment start="0" size="0x0001" type="fuses" rw="RW" exec="0" name="FUSES"/>
</address-space>
<address-space endianness="little" name="lockbits" id="lockbits" start="0" size="0x0001">
<memory-segment start="0" size="0x0001" type="lockbits" rw="RW" exec="0" name="LOCKBITS"/>
</address-space>
<address-space size="0x4400" start="0x0000" endianness="little" name="data" id="data">
<memory-segment type="io" size="0x40" start="0x0000" name="IO"/>
<memory-segment type="ram" size="0x20" start="0x0040" name="SRAM"/>
<memory-segment type="sysreg" size="0x0002" start="0x3F00" name="MAPPED_NVM_LOCK_BITS"/>
<memory-segment type="sysreg" size="0x0002" start="0x3F40" name="MAPPED_CONFIGURATION_BITS"/>
<memory-segment type="sysreg" size="0x0002" start="0x3F80" name="MAPPED_CALIBRATION_BITS"/>
<memory-segment type="sysreg" size="0x0004" start="0x3FC0" name="MAPPED_DEVICE_ID_BITS"/>
<memory-segment type="other" start="0x4000" name="MAPPED_FLASH" size="0x0400"/>
</address-space>
</address-spaces>
<peripherals>
<module name="ADC">
<instance name="ADC" caption="Analog-to-Digital Converter">
<register-group name="ADC" name-in-module="ADC" offset="0x00" address-space="data" caption="Analog-to-Digital Converter"/>
<signals>
<signal function="ADC" group="ADC" index="0" pad="PA0"/>
<signal function="ADC" group="ADC" index="1" pad="PA1"/>
<signal function="ADC" group="ADC" index="5" pad="PB1"/>
<signal function="ADC" group="ADC" index="6" pad="PB2"/>
<signal function="ADC" group="ADC" index="7" pad="PB3"/>
</signals>
</instance>
</module>
<module name="AC">
<instance name="AC" caption="Analog Comparator">
<register-group name="AC" name-in-module="AC" offset="0x00" address-space="data" caption="Analog Comparator"/>
<signals>
<signal function="ACIN" group="AIN" index="0" pad="PA0"/>
<signal function="ACIN" group="AIN" index="1" pad="PA1"/>
<signal function="ACOUT" group="ACO" pad="PB3"/>
</signals>
</instance>
</module>
<module name="CPU">
<instance name="CPU" caption="CPU Registers">
<register-group name="CPU" name-in-module="CPU" offset="0x00" address-space="data" caption="CPU Registers"/>
</instance>
</module>
<module name="PORT">
<instance name="PORTA" caption="I/O Port">
<register-group name="PORTA" name-in-module="PORTA" offset="0x00" address-space="data" caption="I/O Port"/>
<signals>
<signal function="PORTA" group="P" index="0" pad="PA0"/>
<signal function="PORTA" group="P" index="1" pad="PA1"/>
<signal function="PORTA" group="P" index="2" pad="PA2"/>
</signals>
</instance>
<instance name="PORTB" caption="I/O Port">
<register-group name="PORTB" name-in-module="PORTB" offset="0x00" address-space="data" caption="I/O Port"/>
<signals>
<signal function="PORTB" group="P" index="1" pad="PB1"/>
<signal function="PORTB" group="P" index="2" pad="PB2"/>
<signal function="PORTB" group="P" index="3" pad="PB3"/>
</signals>
</instance>
</module>
<module name="EXINT">
<instance name="EXINT" caption="External Interrupts">
<register-group name="EXINT" name-in-module="EXINT" offset="0x00" address-space="data" caption="External Interrupts"/>
<signals>
<signal function="EXTINT" group="PCINT" index="0" pad="PA0"/>
<signal function="EXTINT" group="PCINT" index="1" pad="PA1"/>
<signal function="EXTINT" group="PCINT" index="2" pad="PA2"/>
<signal function="EXTINT" group="PCINT" index="9" pad="PB1"/>
<signal function="EXTINT" group="PCINT" index="10" pad="PB2"/>
<signal function="EXTINT" group="PCINT" index="11" pad="PB3"/>
<signal function="EXTINT" group="INT" index="0" pad="PB1"/>
</signals>
</instance>
</module>
<module name="TC16">
<instance name="TC0" caption="Timer/Counter, 16-bit">
<register-group name="TC0" name-in-module="TC0" offset="0x00" address-space="data" caption="Timer/Counter, 16-bit"/>
<signals>
<signal function="DEF" group="ICP0" pad="PB2"/>
<signal function="DEF" group="OC0A" pad="PB1"/>
<signal function="DEF" group="OC0B" pad="PA1"/>
<signal function="DEF" group="T0" pad="PA0"/>
</signals>
</instance>
</module>
<module name="WDT">
<instance name="WDT" caption="Watchdog Timer">
<register-group name="WDT" name-in-module="WDT" offset="0x00" address-space="data" caption="Watchdog Timer"/>
</instance>
</module>
<module name="FUSE">
<instance name="FUSE" caption="Fuses">
<register-group name="FUSE" name-in-module="FUSE" offset="0" address-space="fuses" caption="Fuses"/>
</instance>
</module>
<module name="LOCKBIT">
<instance name="LOCKBIT" caption="Lockbits">
<register-group name="LOCKBIT" name-in-module="LOCKBIT" offset="0" address-space="lockbits" caption="Lockbits"/>
</instance>
</module>
<module name="USART">
<instance name="USART" caption="USART">
<register-group name="USART" name-in-module="USART" offset="0" address-space="data" caption="USART"/>
<signals>
<signal function="USART" group="XCK" pad="PB1"/>
<signal function="USART" group="TXD" pad="PB2"/>
<signal function="USART" group="RXD" pad="PB3"/>
</signals>
</instance>
</module>
</peripherals>
<interrupts>
<interrupt index="0" name="RESET" caption="External Reset, Power-on Reset and Watchdog Reset"/>
<interrupt index="1" name="INT0" caption="External Interrupt Request 0"/>
<interrupt index="2" name="PCINT0" caption="Pin Change Interrupt Request 0"/>
<interrupt index="3" name="PCINT1" caption="Pin Change Interrupt Request 1"/>
<interrupt index="4" name="TIM0_CAPT" caption="Timer/Counter0 Input Capture"/>
<interrupt index="5" name="TIM0_OVF" caption="Timer/Counter0 Overflow"/>
<interrupt index="6" name="TIM0_COMPA" caption="Timer/Counter Compare Match A"/>
<interrupt index="7" name="TIM0_COMPB" caption="Timer/Counter Compare Match B"/>
<interrupt index="8" name="ANA_COMP" caption="Analog Comparator"/>
<interrupt index="9" name="WDT" caption="Watchdog Time-out"/>
<interrupt index="10" name="VLM" caption="Vcc Voltage Level Monitor"/>
<interrupt index="11" name="ADC" caption="ADC Conversion complete"/>
<interrupt index="12" name="USART_RXS" caption="USART RX Start"/>
<interrupt index="13" name="USART_RXC" caption="USART RX Complete"/>
<interrupt index="14" name="USART_DRE" caption="USART Data register empty"/>
<interrupt index="15" name="USART_TXC" caption="USART Tx Complete"/>
</interrupts>
<interfaces>
<interface name="TPI" type="tpi"/>
</interfaces>
<property-groups>
<property-group name="SIGNATURES">
<property name="SIGNATURE0" value="0x1e"/