<parts>
  <regblock  name="I/O_REG" start="0x0020" end="0x005F" offset="32">
    <register  name="ADCSRB"  addr="0x0003" mask="11100111" 
               bits="ADTS0,ADTS1,ADTS2,0,0,IPR,ACME,BIN" />
               
    <register  name="ADCL"    addr="0x0004" />
    <register  name="ADCH"    addr="0x0005" />
    <register  name="ADCSRA"  addr="0x0006" 
               bits="ADPS0,ADPS1,ADPS2,ADIE,ADIF,ADATE,ADSC,ADEN" />
               
    <register  name="ADMUX"   addr="0x0007" 
               bits="MUX0,MUX1,MUX2,MUX3,REFS2,ADLAR,REFS0,REFS1" />
               
    <register  name="ACSR"    addr="0x0008" mask="11111011"
               bits="ACIS0,ACIS1,0,ACIE,ACI,ACO,ACBG,ACD" />
               
    <register  name="USICR"   addr="0x000D" mask=""
               bits="USITC,USICLK,USICS0,USICS1,USIWM0,USIWM1,USIOIE,USISIE" />
               
    <register  name="USISR"   addr="0x000E" 
               bits="USICNT0,USICNT1,USICNT2,USICNT3,USIDC,USIPF,USIOIF,USISIF" />
               
    <register  name="USIDR"   addr="0x000F" />
    <register  name="USIBR"   addr="0x0010" mask ="00000000"/>
    <register  name="GPIOR0"  addr="0x0011" />
    <register  name="GPIOR1"  addr="0x0012" />
    <register  name="GPIOR2"  addr="0x0013" />
    <register  name="DIDR0"   addr="0x0014" mask="00111111"
               bits="AIN0D,AIN1D,ADC1D,ADC3D,ADC2D,ADC0D,0,0" />
               
    <register  name="PCMSK"   addr="0x0015" mask="00111111" />
    
    <register  name="PINB"    addr="0x0016" />
    <register  name="DDRB"    addr="0x0017" />
    <register  name="PORTB"   addr="0x0018" 
               bits="PORTB0,PORTB1,PORTB2,PORTB3,PORTB4,PORTB5,PORTB6,PORTB7"/><!-- "Needed for USI" -->
    
    <register  name="EECR"    addr="0x001C" mask="00111111"
               bits="EERE,EEPE,EEMPE,EERIE,EEPM0,EEPM1,0,0" />
               
    <register  name="EEDR"    addr="0x001D" />
    <register  name="EEARL"   addr="0x001E" />
    <register  name="EEARH"   addr="0x001F" mask="00000001"/>
    <register  name="PRR"     addr="0x0020" mask="00001111"
               bits="PRADC,PRUSI,PRTIM0,PRTIM1,0,0,0,0" />
               
    <register  name="WDTCR"   addr="0x0021" 
               bits="WDP0,WDP1,WDP2,WDE,WDCE,WDP3,WDIE,WDIF" />
               
    <register  name="DWDR"    addr="0x0022" />
    <register  name="DTPS1"   addr="0x0023" mask="00000011" />
    <register  name="DT1B"    addr="0x0024" />
    <register  name="DT1A"    addr="0x0025" />
    <register  name="CLKPR"   addr="0x0026" mask="10001111" 
               bits="CLKPS0,CLKPS1,CLKPS2,CLKPS3,0,0,0,CLKPCE" />
               
    <register  name="PLLCSR"  addr="0x0027" mask="10000111" 
               bits="PLOCK,PLLE,PCKE,0,0,0,0,LSM" />
               
    <register  name="OCR0B"   addr="0x0028" />
    <register  name="OCR0A"   addr="0x0029" />
    <register  name="TCCR0A"  addr="0x002A" 
               bits="WGM00,WGM01,0,0,COM0B0,COM0B1,COM0A0,COM0A1" />
               
    <register  name="OCR1B"   addr="0x002B" />
    <register  name="GTCCR"   addr="0x002C" 
               bits="PSR0,PSR1,FOC1A,FOC1B,COM1B0,COM1B1,PWM1B,TSM" />
               
    <register  name="OCR1C"   addr="0x002D" />
    <register  name="OCR1A"   addr="0x002E" />
    <register  name="TCNT1"   addr="0x002F" />
    <register  name="TCCR1"   addr="0x0030" 
               bits="CS10,CS11,CS12,CS13,COM1A0,COM1A1,PWM1A,CTC1" />
               
    <register  name="OSCCAL"  addr="0x0031" />
    <register  name="TCNT0"   addr="0x0032" />
    <register  name="TCCR0B"  addr="0x0033" mask="00001111" 
               bits="CS00,CS01,CS02,WGM02,0,0,FOC0B,FOC0A" />
               
    <register  name="MCUSR"   addr="0x0034" mask="00001111" 
               bits="PORF,EXTRF,BORF,WDRF,0,0,0,0" />
               
    <register  name="MCUCR"   addr="0x0035" 
               bits="ISC00,ISC01,BODSE,SM0,SM1,SE,PUD,BODS" />
               
    <register  name="SPMCSR"  addr="0x0037" mask="00111111" 
               bits="SPMEN,PGERS,PGWRT,RFLB,CTPB,RSIG,0,0" />
               
    <register  name="TIFR"    addr="0x0038" mask="01111110" 
               bits="0,TOV0,TOV1,OCF0B,OCF0A,OCF1B,OCF1A,0" />
               
    <register  name="TIMSK"   addr="0x0039" mask="01111110"
               bits="0,TOIE0,TOIE1,OCIE0B,OCIE0A,OCIE1B,OCIE1A,0" />
               
    <register  name="GIFR"    addr="0x003A" mask="01111110"
               bits="0,0,0,0,0,PCIF,INTF0,0" />
               
    <register  name="GIMSK"   addr="0x003B" mask="01111110"
               bits="0,0,0,0,0,PCIE,INT0,0" />
               
    <register  name="SPL"     addr="0x003D" />
    <register  name="SPH"     addr="0x003E" />
  </regblock>
  <stack  spreg="SPL,SPH" increment="postdec" />
</parts>
