~ubuntu-branches/ubuntu/gutsy/avr-libc/gutsy

« back to all changes in this revision

Viewing changes to include/avr/iomx8.h

  • Committer: Bazaar Package Importer
  • Author(s): Hakan Ardo
  • Date: 2006-11-15 21:12:47 UTC
  • mfrom: (3.1.2 feisty)
  • Revision ID: james.westby@ubuntu.com-20061115211247-b7qhgnb6o49v5zsg
Tags: 1:1.4.5-2
* Convertion to debheler fixed (closes: #398220)
* Reference to /usr/share/common-licenses in copyright file

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Copyright (c) 2004, Theodore A. Roth
 
1
/* Copyright (c) 2004,2005, Theodore A. Roth
2
2
   All rights reserved.
3
3
 
4
4
   Redistribution and use in source and binary forms, with or without
28
28
  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29
29
  POSSIBILITY OF SUCH DAMAGE. */
30
30
 
31
 
/* $Id: iomx8.h,v 1.7 2004/12/21 17:52:19 arcanum Exp $ */
 
31
/* $Id: iomx8.h,v 1.12 2005/11/10 22:19:07 joerg_wunsch Exp $ */
32
32
 
33
33
/* avr/iomx8.h - definitions for ATmega48, ATmega88 and ATmega168 */
34
34
 
188
188
 
189
189
#define GPIOR0  _SFR_IO8 (0x1E)
190
190
 
191
 
/* The eeprom API won't work with this header. :-( */
192
 
 
193
 
#undef EECR
194
 
#define EECR    _SFR_IO8 (0x1F)
 
191
#define EECR    _SFR_IO8(0x1F)
195
192
/* EECT - EEPROM Control Register */
196
193
#define EEPM1   5
197
194
#define EEPM0   4
200
197
#define EEPE    1
201
198
#define EERE    0
202
199
 
203
 
#undef EEDR
204
 
#undef EEAR
205
 
#undef EEARL
206
 
#undef EEARH
 
200
#define EEDR    _SFR_IO8(0X20)
207
201
 
208
 
#define EEDR    _SFR_IO8 (0x20)
209
 
#define EEAR    _SFR_IO16 (0x21)
210
 
#define EEARL   _SFR_IO8 (0x21)
211
 
#define EEARH   _SFR_IO8 (0x22)
 
202
/* Combine EEARL and EEARH */
 
203
#define EEAR    _SFR_IO16(0x21)
 
204
#define EEARL   _SFR_IO8(0x21)
 
205
#define EEARH   _SFR_IO8(0X22)
212
206
/* 
213
207
Even though EEARH is not used by the mega48, the EEAR8 bit in the register
214
208
must be written to 0, according to the datasheet, hence the EEARH register
215
209
must be defined for the mega48.
216
210
*/
 
211
/* 6-char sequence denoting where to find the EEPROM registers in memory space.
 
212
   Adresses denoted in hex syntax with uppercase letters. Used by the EEPROM
 
213
   subroutines.
 
214
   First two letters:  EECR address.
 
215
   Second two letters: EEDR address.
 
216
   Last two letters:   EEAR address.  */
 
217
#define __EEPROM_REG_LOCATIONS__ 1F2021
 
218
 
217
219
 
218
220
#define GTCCR   _SFR_IO8 (0x23)
219
221
/* GTCCR */
617
619
 
618
620
/* Interrupt vectors */
619
621
 
620
 
#define SIG_INTERRUPT0          _VECTOR(1)
621
 
#define SIG_INTERRUPT1          _VECTOR(2)
622
 
#define SIG_PIN_CHANGE0         _VECTOR(3)
623
 
#define SIG_PIN_CHANGE1         _VECTOR(4)
624
 
#define SIG_PIN_CHANGE2         _VECTOR(5)
625
 
#define SIG_WATCHDOG_TIMEOUT    _VECTOR(6)
626
 
#define SIG_OUTPUT_COMPARE2A    _VECTOR(7)
627
 
#define SIG_OUTPUT_COMPARE2B    _VECTOR(8)
628
 
#define SIG_OVERFLOW2           _VECTOR(9)
629
 
#define SIG_INPUT_CAPTURE1      _VECTOR(10)
630
 
#define SIG_OUTPUT_COMPARE1A    _VECTOR(11)
631
 
#define SIG_OUTPUT_COMPARE1B    _VECTOR(12)
632
 
#define SIG_OVERFLOW1           _VECTOR(13)
633
 
#define SIG_OUTPUT_COMPARE0A    _VECTOR(14)
634
 
#define SIG_OUTPUT_COMPARE0B    _VECTOR(15)
635
 
#define SIG_OVERFLOW0           _VECTOR(16)
636
 
#define SIG_SPI                 _VECTOR(17)
637
 
#define SIG_USART_RECV          _VECTOR(18)
638
 
#define SIG_USART_DATA          _VECTOR(19)
639
 
#define SIG_USART_TRANS         _VECTOR(20)
640
 
#define SIG_ADC                 _VECTOR(21)
641
 
#define SIG_EEPROM_READY        _VECTOR(22)
642
 
#define SIG_COMPARATOR          _VECTOR(23)
643
 
#define SIG_TWI                 _VECTOR(24)
644
 
#define SIG_SPM_READY           _VECTOR(25)
 
622
/* External Interrupt Request 0 */
 
623
#define INT0_vect                       _VECTOR(1)
 
624
#define SIG_INTERRUPT0                  _VECTOR(1)
 
625
 
 
626
/* External Interrupt Request 1 */
 
627
#define INT1_vect                       _VECTOR(2)
 
628
#define SIG_INTERRUPT1                  _VECTOR(2)
 
629
 
 
630
/* Pin Change Interrupt Request 0 */
 
631
#define PCINT0_vect                     _VECTOR(3)
 
632
#define SIG_PIN_CHANGE0                 _VECTOR(3)
 
633
 
 
634
/* Pin Change Interrupt Request 0 */
 
635
#define PCINT1_vect                     _VECTOR(4)
 
636
#define SIG_PIN_CHANGE1                 _VECTOR(4)
 
637
 
 
638
/* Pin Change Interrupt Request 1 */
 
639
#define PCINT2_vect                     _VECTOR(5)
 
640
#define SIG_PIN_CHANGE2                 _VECTOR(5)
 
641
 
 
642
/* Watchdog Time-out Interrupt */
 
643
#define WDT_vect                        _VECTOR(6)
 
644
#define SIG_WATCHDOG_TIMEOUT            _VECTOR(6)
 
645
 
 
646
/* Timer/Counter2 Compare Match A */
 
647
#define TIMER2_COMPA_vect               _VECTOR(7)
 
648
#define SIG_OUTPUT_COMPARE2A            _VECTOR(7)
 
649
 
 
650
/* Timer/Counter2 Compare Match A */
 
651
#define TIMER2_COMPB_vect               _VECTOR(8)
 
652
#define SIG_OUTPUT_COMPARE2B            _VECTOR(8)
 
653
 
 
654
/* Timer/Counter2 Overflow */
 
655
#define TIMER2_OVF_vect                 _VECTOR(9)
 
656
#define SIG_OVERFLOW2                   _VECTOR(9)
 
657
 
 
658
/* Timer/Counter1 Capture Event */
 
659
#define TIMER1_CAPT_vect                _VECTOR(10)
 
660
#define SIG_INPUT_CAPTURE1              _VECTOR(10)
 
661
 
 
662
/* Timer/Counter1 Compare Match A */
 
663
#define TIMER1_COMPA_vect               _VECTOR(11)
 
664
#define SIG_OUTPUT_COMPARE1A            _VECTOR(11)
 
665
 
 
666
/* Timer/Counter1 Compare Match B */
 
667
#define TIMER1_COMPB_vect               _VECTOR(12)
 
668
#define SIG_OUTPUT_COMPARE1B            _VECTOR(12)
 
669
 
 
670
/* Timer/Counter1 Overflow */
 
671
#define TIMER1_OVF_vect                 _VECTOR(13)
 
672
#define SIG_OVERFLOW1                   _VECTOR(13)
 
673
 
 
674
/* TimerCounter0 Compare Match A */
 
675
#define TIMER0_COMPA_vect               _VECTOR(14)
 
676
#define SIG_OUTPUT_COMPARE0A            _VECTOR(14)
 
677
 
 
678
/* TimerCounter0 Compare Match B */
 
679
#define TIMER0_COMPB_vect               _VECTOR(15)
 
680
#define SIG_OUTPUT_COMPARE0B            _VECTOR(15)
 
681
 
 
682
/* Timer/Couner0 Overflow */
 
683
#define TIMER0_OVF_vect                 _VECTOR(16)
 
684
#define SIG_OVERFLOW0                   _VECTOR(16)
 
685
 
 
686
/* SPI Serial Transfer Complete */
 
687
#define SPI_STC_vect                    _VECTOR(17)
 
688
#define SIG_SPI                         _VECTOR(17)
 
689
 
 
690
/* USART Rx Complete */
 
691
#define USART_RX_vect                   _VECTOR(18)
 
692
#define SIG_USART_RECV                  _VECTOR(18)
 
693
 
 
694
/* USART, Data Register Empty */
 
695
#define USART_UDRE_vect                 _VECTOR(19)
 
696
#define SIG_USART_DATA                  _VECTOR(19)
 
697
 
 
698
/* USART Tx Complete */
 
699
#define USART_TX_vect                   _VECTOR(20)
 
700
#define SIG_USART_TRANS                 _VECTOR(20)
 
701
 
 
702
/* ADC Conversion Complete */
 
703
#define ADC_vect                        _VECTOR(21)
 
704
#define SIG_ADC                         _VECTOR(21)
 
705
 
 
706
/* EEPROM Ready */
 
707
#define EE_READY_vect                   _VECTOR(22)
 
708
#define SIG_EEPROM_READY                _VECTOR(22)
 
709
 
 
710
/* Analog Comparator */
 
711
#define ANALOG_COMP_vect                _VECTOR(23)
 
712
#define SIG_COMPARATOR                  _VECTOR(23)
 
713
 
 
714
/* Two-wire Serial Interface */
 
715
#define TWI_vect                        _VECTOR(24)
 
716
#define SIG_TWI                         _VECTOR(24)
 
717
#define SIG_2WIRE_SERIAL                _VECTOR(24)
 
718
 
 
719
/* Store Program Memory Read */
 
720
#define SPM_READY_vect                  _VECTOR(25)
 
721
#define SIG_SPM_READY                   _VECTOR(25)
645
722
 
646
723
/* The mega48 and mega88 vector tables are single instruction entries (16 bits
647
724
   per entry for an RJMP) while the mega168 table has double instruction