~ubuntu-branches/ubuntu/feisty/avr-libc/feisty

« back to all changes in this revision

Viewing changes to include/avr/iom3250.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 Eric B. Weddington
 
1
/* Copyright (c) 2004,2005,2006 Eric B. Weddington
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: iom3250.h,v 1.2 2004/10/29 18:21:42 arcanum Exp $ */
 
31
/* $Id: iom3250.h,v 1.9.2.1 2006/03/14 21:01:47 aesok Exp $ */
32
32
 
33
33
/* avr/iom3250.h - definitions for ATmega3250 */
34
34
 
49
49
 
50
50
/* Registers and associated bit numbers */
51
51
 
52
 
/* The bit numbers for the Port A-G registers are defined in <avr/portpins.h> */
53
 
#define PINA    _SFR_IO8(0X00)
54
 
#define DDRA    _SFR_IO8(0X01)
55
 
#define PORTA   _SFR_IO8(0X02)
56
 
 
57
 
#define PINB    _SFR_IO8(0X03)
 
52
#define PINA    _SFR_IO8(0x00)
 
53
#define PINA7   7
 
54
#define PINA6   6
 
55
#define PINA5   5
 
56
#define PINA4   4
 
57
#define PINA3   3
 
58
#define PINA2   2
 
59
#define PINA1   1
 
60
#define PINA0   0
 
61
 
 
62
#define DDRA    _SFR_IO8(0x01)
 
63
#define DDA7    7
 
64
#define DDA6    6
 
65
#define DDA5    5
 
66
#define DDA4    4
 
67
#define DDA3    3
 
68
#define DDA2    2
 
69
#define DDA1    1
 
70
#define DDA0    0
 
71
 
 
72
#define PORTA   _SFR_IO8(0x02)
 
73
#define PA7     7
 
74
#define PA6     6
 
75
#define PA5     5
 
76
#define PA4     4
 
77
#define PA3     3
 
78
#define PA2     2
 
79
#define PA1     1
 
80
#define PA0     0
 
81
 
 
82
#define PINB    _SFR_IO8(0x03)
 
83
#define PINB7   7
 
84
#define PINB6   6
 
85
#define PINB5   5
 
86
#define PINB4   4
 
87
#define PINB3   3
 
88
#define PINB2   2
 
89
#define PINB1   1
 
90
#define PINB0   0
 
91
 
58
92
#define DDRB    _SFR_IO8(0x04)
 
93
#define DDB7    7
 
94
#define DDB6    6
 
95
#define DDB5    5
 
96
#define DDB4    4
 
97
#define DDB3    3
 
98
#define DDB2    2
 
99
#define DDB1    1
 
100
#define DDB0    0
 
101
 
59
102
#define PORTB   _SFR_IO8(0x05)
 
103
#define PB7     7
 
104
#define PB6     6
 
105
#define PB5     5
 
106
#define PB4     4
 
107
#define PB3     3
 
108
#define PB2     2
 
109
#define PB1     1
 
110
#define PB0     0
60
111
 
61
112
#define PINC    _SFR_IO8(0x06)
 
113
#define PINC7   7
 
114
#define PINC6   6
 
115
#define PINC5   5
 
116
#define PINC4   4
 
117
#define PINC3   3
 
118
#define PINC2   2
 
119
#define PINC1   1
 
120
#define PINC0   0
 
121
 
62
122
#define DDRC    _SFR_IO8(0x07)
 
123
#define DDC7    7
 
124
#define DDC6    6
 
125
#define DDC5    5
 
126
#define DDC4    4
 
127
#define DDC3    3
 
128
#define DDC2    2
 
129
#define DDC1    1
 
130
#define DDC0    0
 
131
 
63
132
#define PORTC   _SFR_IO8(0x08)
 
133
#define PC7     7
 
134
#define PC6     6
 
135
#define PC5     5
 
136
#define PC4     4
 
137
#define PC3     3
 
138
#define PC2     2
 
139
#define PC1     1
 
140
#define PC0     0
64
141
 
65
142
#define PIND    _SFR_IO8(0x09)
 
143
#define PIND7   7
 
144
#define PIND6   6
 
145
#define PIND5   5
 
146
#define PIND4   4
 
147
#define PIND3   3
 
148
#define PIND2   2
 
149
#define PIND1   1
 
150
#define PIND0   0
 
151
 
66
152
#define DDRD    _SFR_IO8(0x0A)
 
153
#define DDD7    7
 
154
#define DDD6    6
 
155
#define DDD5    5
 
156
#define DDD4    4
 
157
#define DDD3    3
 
158
#define DDD2    2
 
159
#define DDD1    1
 
160
#define DDD0    0
 
161
 
67
162
#define PORTD   _SFR_IO8(0x0B)
 
163
#define PD7     7
 
164
#define PD6     6
 
165
#define PD5     5
 
166
#define PD4     4
 
167
#define PD3     3
 
168
#define PD2     2
 
169
#define PD1     1
 
170
#define PD0     0
68
171
 
69
172
#define PINE    _SFR_IO8(0x0C)
 
173
#define PINE7   7
 
174
#define PINE6   6
 
175
#define PINE5   5
 
176
#define PINE4   4
 
177
#define PINE3   3
 
178
#define PINE2   2
 
179
#define PINE1   1
 
180
#define PINE0   0
 
181
 
70
182
#define DDRE    _SFR_IO8(0x0D)
 
183
#define DDE7    7
 
184
#define DDE6    6
 
185
#define DDE5    5
 
186
#define DDE4    4
 
187
#define DDE3    3
 
188
#define DDE2    2
 
189
#define DDE1    1
 
190
#define DDE0    0
 
191
 
71
192
#define PORTE   _SFR_IO8(0x0E)
 
193
#define PE7     7
 
194
#define PE6     6
 
195
#define PE5     5
 
196
#define PE4     4
 
197
#define PE3     3
 
198
#define PE2     2
 
199
#define PE1     1
 
200
#define PE0     0
72
201
 
73
202
#define PINF    _SFR_IO8(0x0F)
 
203
#define PINF7   7
 
204
#define PINF6   6
 
205
#define PINF5   5
 
206
#define PINF4   4
 
207
#define PINF3   3
 
208
#define PINF2   2
 
209
#define PINF1   1
 
210
#define PINF0   0
 
211
 
74
212
#define DDRF    _SFR_IO8(0x10)
 
213
#define DDF7    7
 
214
#define DDF6    6
 
215
#define DDF5    5
 
216
#define DDF4    4
 
217
#define DDF3    3
 
218
#define DDF2    2
 
219
#define DDF1    1
 
220
#define DDF0    0
 
221
 
75
222
#define PORTF   _SFR_IO8(0x11)
 
223
#define PF7     7
 
224
#define PF6     6
 
225
#define PF5     5
 
226
#define PF4     4
 
227
#define PF3     3
 
228
#define PF2     2
 
229
#define PF1     1
 
230
#define PF0     0
76
231
 
77
232
#define PING    _SFR_IO8(0x12)
 
233
#define PING5   5
 
234
#define PING4   4
 
235
#define PING3   3
 
236
#define PING2   2
 
237
#define PING1   1
 
238
#define PING0   0
 
239
 
78
240
#define DDRG    _SFR_IO8(0x13)
 
241
#define DDG4    4
 
242
#define DDG3    3
 
243
#define DDG2    2
 
244
#define DDG1    1
 
245
#define DDG0    0
 
246
 
79
247
#define PORTG   _SFR_IO8(0x14)
 
248
#define PG4     4
 
249
#define PG3     3
 
250
#define PG2     2
 
251
#define PG1     1
 
252
#define PG0     0
80
253
 
81
254
#define TIFR0   _SFR_IO8(0x15)
82
255
#define TOV0    0
110
283
 
111
284
#define GPIOR0  _SFR_IO8(0x1E)
112
285
 
113
 
/* 
114
 
EEPROM [0x1F..0X22] These locations are different than defined in <avr/io.h>.
115
 
The bit numbers are defined in <avr/io.h>
116
 
*/
117
 
#ifdef EECR
118
 
#undef EECR
119
 
#endif
120
286
#define EECR    _SFR_IO8(0x1F)
 
287
#define EERE    0
 
288
#define EEWE    1
 
289
#define EEMWE   2
 
290
#define EERIE   3
121
291
 
122
 
#ifdef EEDR
123
 
#undef EEDR
124
 
#endif
125
292
#define EEDR    _SFR_IO8(0X20)
126
293
 
127
 
#ifdef EEAR
128
 
#undef EEAR
129
 
#endif
130
294
/* Combine EEARL and EEARH */
131
295
#define EEAR    _SFR_IO16(0x21)
132
 
 
133
 
#ifdef EEARL
134
 
#undef EEARL
135
 
#endif
136
296
#define EEARL   _SFR_IO8(0x21)
137
 
 
138
 
#ifdef EEARH
139
 
#undef EEARH
140
 
#endif
141
297
#define EEARH   _SFR_IO8(0X22)
142
298
 
 
299
/* 6-char sequence denoting where to find the EEPROM registers in memory space.
 
300
   Adresses denoted in hex syntax with uppercase letters. Used by the EEPROM
 
301
   subroutines.
 
302
   First two letters:  EECR address.
 
303
   Second two letters: EEDR address.
 
304
   Last two letters:   EEAR address.  */
 
305
#define __EEPROM_REG_LOCATIONS__ 1F2021
 
306
 
143
307
#define GTCCR   _SFR_IO8(0x23)
144
308
#define PSR10   0
145
309
#define PSR2    1
163
327
 
164
328
/* Reserved [0x28..0x29] */
165
329
 
166
 
#define GPIOR1  SFR_IO8(0x2A)
167
 
 
168
 
#define GPIOR2  SFR_IO8(0x2B)
169
 
 
170
 
#define SPCR    SFR_IO8(0x2C)
 
330
#define GPIOR1  _SFR_IO8(0x2A)
 
331
 
 
332
#define GPIOR2  _SFR_IO8(0x2B)
 
333
 
 
334
#define SPCR    _SFR_IO8(0x2C)
171
335
#define SPR0    0
172
336
#define SPR1    1
173
337
#define CPHA    2
177
341
#define SPE     6
178
342
#define SPIE    7
179
343
 
180
 
#define SPSR    SFR_IO8(0x2D)
 
344
#define SPSR    _SFR_IO8(0x2D)
181
345
#define SPI2X   0
182
346
#define WCOL    6
183
347
#define SPIF    7
184
348
 
185
 
#define SPDR    SFR_IO8(0X2E)
 
349
#define SPDR    _SFR_IO8(0X2E)
186
350
 
187
351
/* Reserved [0x2F] */
188
352
 
189
 
#define ACSR    SFR_IO8(0x30)
 
353
#define ACSR    _SFR_IO8(0x30)
190
354
#define ACIS0   0
191
355
#define ACIS1   1
192
356
#define ACIC    2
196
360
#define ACBG    6
197
361
#define ACD     7
198
362
 
199
 
#define OCDR    SFR_IO8(0x31)
 
363
#define OCDR    _SFR_IO8(0x31)
200
364
#define OCDR0   0
201
365
#define OCDR1   1
202
366
#define OCDR2   2
336
500
/* Reserved [0x74..0x77] */
337
501
 
338
502
/* Combine ADCL and ADCH */
 
503
#ifndef __ASSEMBLER__
339
504
#define ADC     _SFR_MEM16(0x78)
340
 
 
 
505
#endif
 
506
#define ADCW    _SFR_MEM16(0x78)
341
507
#define ADCL    _SFR_MEM8(0x78)
342
508
#define ADCH    _SFR_MEM8(0x79)
343
509
 
496
662
#define UCSR0B  _SFR_MEM8(0XC1)
497
663
#define TXB80   0
498
664
#define RXB80   1
499
 
#define UCSZ20  2
 
665
#define UCSZ02  2
500
666
#define TXEN0   3
501
667
#define RXEN0   4
502
668
#define UDRIE0  5
525
691
/* Reserved [0xC7..0xD7] */
526
692
 
527
693
#define PINH    _SFR_MEM8(0xD8)
 
694
#define PINH7   7
 
695
#define PINH6   6
 
696
#define PINH5   5
 
697
#define PINH4   4
 
698
#define PINH3   3
 
699
#define PINH2   2
 
700
#define PINH1   1
 
701
#define PINH0   0
 
702
 
528
703
#define DDRH    _SFR_MEM8(0xD9)
 
704
#define DDH7    7
 
705
#define DDH6    6
 
706
#define DDH5    5
 
707
#define DDH4    4
 
708
#define DDH3    3
 
709
#define DDH2    2
 
710
#define DDH1    1
 
711
#define DDH0    0
 
712
 
529
713
#define PORTH   _SFR_MEM8(0xDA)
 
714
#define PH7     7
 
715
#define PH6     6
 
716
#define PH5     5
 
717
#define PH4     4
 
718
#define PH3     3
 
719
#define PH2     2
 
720
#define PH1     1
 
721
#define PH0     0
530
722
 
531
723
#define PINJ    _SFR_MEM8(0xDB)
 
724
#define PINJ6   6
 
725
#define PINJ5   5
 
726
#define PINJ4   4
 
727
#define PINJ3   3
 
728
#define PINJ2   2
 
729
#define PINJ1   1
 
730
#define PINJ0   0
 
731
 
532
732
#define DDRJ    _SFR_MEM8(0xDC)
 
733
#define DDJ6    6
 
734
#define DDJ5    5
 
735
#define DDJ4    4
 
736
#define DDJ3    3
 
737
#define DDJ2    2
 
738
#define DDJ1    1
 
739
#define DDJ0    0
 
740
 
533
741
#define PORTJ   _SFR_MEM8(0xDD)
 
742
#define PJ6     6
 
743
#define PJ5     5
 
744
#define PJ4     4
 
745
#define PJ3     3
 
746
#define PJ2     2
 
747
#define PJ1     1
 
748
#define PJ0     0
534
749
 
535
750
/* Reserved [0xDE..0xFF] */
536
751
 
537
752
 
538
753
/* Interrupt vectors */
539
754
/* Vector 0 is the reset vector */
540
 
#define SIG_INTERRUPT0          _VECTOR(1)
541
 
#define SIG_PIN_CHANGE0         _VECTOR(2)
542
 
#define SIG_PIN_CHANGE1         _VECTOR(3)
543
 
#define SIG_OUTPUT_COMPARE2     _VECTOR(4)
544
 
#define SIG_OVERFLOW2           _VECTOR(5)
545
 
#define SIG_INPUT_CAPTURE1      _VECTOR(6)
546
 
#define SIG_OUTPUT_COMPARE1A    _VECTOR(7)
547
 
#define SIG_OUTPUT_COMPARE1B    _VECTOR(8)
548
 
#define SIG_OVERFLOW1           _VECTOR(9)
549
 
#define SIG_OUTPUT_COMPARE0     _VECTOR(10)
550
 
#define SIG_OVERFLOW0           _VECTOR(11)
551
 
#define SIG_SPI                 _VECTOR(12)
552
 
#define SIG_UART_RECV           _VECTOR(13)
553
 
#define SIG_UART_DATA           _VECTOR(14)
554
 
#define SIG_UART_TRANS          _VECTOR(15)
555
 
#define SIG_USI_START           _VECTOR(16)
556
 
#define SIG_USI_OVERFLOW        _VECTOR(17)
557
 
#define SIG_COMPARATOR          _VECTOR(18)
558
 
#define SIG_ADC                 _VECTOR(19)
559
 
#define SIG_EEPROM_READY        _VECTOR(20)
560
 
#define SIG_SPM_READY           _VECTOR(21)
561
 
/* Vector 22 is Reserved */
562
 
#define SIG_PIN_CHANGE2         _VECTOR(23)
563
 
#define SIG_PIN_CHANGE3         _VECTOR(24)
 
755
/* External Interrupt Request 0 */
 
756
#define INT0_vect                       _VECTOR(1)
 
757
#define SIG_INTERRUPT0                  _VECTOR(1)
 
758
 
 
759
/* Pin Change Interrupt Request 0 */
 
760
#define PCINT0_vect                     _VECTOR(2)
 
761
#define SIG_PIN_CHANGE0                 _VECTOR(2)
 
762
 
 
763
/* Pin Change Interrupt Request 1 */
 
764
#define PCINT1_vect                     _VECTOR(3)
 
765
#define SIG_PIN_CHANGE1                 _VECTOR(3)
 
766
 
 
767
/* Timer/Counter2 Compare Match */
 
768
#define TIMER2_COMP_vect                _VECTOR(4)
 
769
#define SIG_OUTPUT_COMPARE2             _VECTOR(4)
 
770
 
 
771
/* Timer/Counter2 Overflow */
 
772
#define TIMER2_OVF_vect                 _VECTOR(5)
 
773
#define SIG_OVERFLOW2                   _VECTOR(5)
 
774
 
 
775
/* Timer/Counter1 Capture Event */
 
776
#define TIMER1_CAPT_vect                _VECTOR(6)
 
777
#define SIG_INPUT_CAPTURE1              _VECTOR(6)
 
778
 
 
779
/* Timer/Counter1 Compare Match A */
 
780
#define TIMER1_COMPA_vect               _VECTOR(7)
 
781
#define SIG_OUTPUT_COMPARE1A            _VECTOR(7)
 
782
 
 
783
/* Timer/Counter Compare Match B */
 
784
#define TIMER1_COMPB_vect               _VECTOR(8)
 
785
#define SIG_OUTPUT_COMPARE1B            _VECTOR(8)
 
786
 
 
787
/* Timer/Counter1 Overflow */
 
788
#define TIMER1_OVF_vect                 _VECTOR(9)
 
789
#define SIG_OVERFLOW1                   _VECTOR(9)
 
790
 
 
791
/* Timer/Counter0 Compare Match */
 
792
#define TIMER0_COMP_vect                _VECTOR(10)
 
793
#define SIG_OUTPUT_COMPARE0             _VECTOR(10)
 
794
 
 
795
/* Timer/Counter0 Overflow */
 
796
#define TIMER0_OVF_vect                 _VECTOR(11)
 
797
#define SIG_OVERFLOW0                   _VECTOR(11)
 
798
 
 
799
/* SPI Serial Transfer Complete */
 
800
#define SPI_STC_vect                    _VECTOR(12)
 
801
#define SIG_SPI                         _VECTOR(12)
 
802
 
 
803
/* USART, Rx Complete */
 
804
#define USART_RX_vect                   _VECTOR(13)
 
805
#define SIG_UART_RECV                   _VECTOR(13)
 
806
 
 
807
/* USART Data register Empty */
 
808
#define USART_UDRE_vect                 _VECTOR(14)
 
809
#define SIG_UART_DATA                   _VECTOR(14)
 
810
 
 
811
/* USART0, Tx Complete */
 
812
#define USART0_TX_vect                  _VECTOR(15)
 
813
#define SIG_UART_TRANS                  _VECTOR(15)
 
814
 
 
815
/* USI Start Condition */
 
816
#define USI_START_vect                  _VECTOR(16)
 
817
#define SIG_USI_START                   _VECTOR(16)
 
818
 
 
819
/* USI Overflow */
 
820
#define USI_OVERFLOW_vect               _VECTOR(17)
 
821
#define SIG_USI_OVERFLOW                _VECTOR(17)
 
822
 
 
823
/* Analog Comparator */
 
824
#define ANALOG_COMP_vect                _VECTOR(18)
 
825
#define SIG_COMPARATOR                  _VECTOR(18)
 
826
 
 
827
/* ADC Conversion Complete */
 
828
#define ADC_vect                        _VECTOR(19)
 
829
#define SIG_ADC                         _VECTOR(19)
 
830
 
 
831
/* EEPROM Ready */
 
832
#define EE_READY_vect                   _VECTOR(20)
 
833
#define SIG_EEPROM_READY                _VECTOR(20)
 
834
 
 
835
/* Store Program Memory Read */
 
836
#define SPM_READY_vect                  _VECTOR(21)
 
837
#define SIG_SPM_READY                   _VECTOR(21)
 
838
 
 
839
/* Pin Change Interrupt Request 2 */
 
840
#define PCINT2_vect                     _VECTOR(23)
 
841
#define SIG_PIN_CHANGE2                 _VECTOR(23)
 
842
 
 
843
/* Pin Change Interrupt Request 3 */
 
844
#define PCINT3_vect                     _VECTOR(24)
 
845
#define SIG_PIN_CHANGE3                 _VECTOR(24)
564
846
 
565
847
#define _VECTORS_SIZE 100
566
848