source: rtems/cpukit/score/cpu/avr/avr/iotn15.h @ 9b4422a2

4.115
Last change on this file since 9b4422a2 was 9b4422a2, checked in by Joel Sherrill <joel.sherrill@…>, on 05/03/12 at 15:09:24

Remove All CVS Id Strings Possible Using a Script

Script does what is expected and tries to do it as
smartly as possible.

+ remove occurrences of two blank comment lines

next to each other after Id string line removed.

+ remove entire comment blocks which only exited to

contain CVS Ids

+ If the processing left a blank line at the top of

a file, it was removed.

  • Property mode set to 100644
File size: 6.8 KB
Line 
1/* Copyright (c) 2002,2005 Marek Michalkiewicz
2   All rights reserved.
3
4   Redistribution and use in source and binary forms, with or without
5   modification, are permitted provided that the following conditions are met:
6
7   * Redistributions of source code must retain the above copyright
8     notice, this list of conditions and the following disclaimer.
9
10   * Redistributions in binary form must reproduce the above copyright
11     notice, this list of conditions and the following disclaimer in
12     the documentation and/or other materials provided with the
13     distribution.
14
15   * Neither the name of the copyright holders nor the names of
16     contributors may be used to endorse or promote products derived
17     from this software without specific prior written permission.
18
19  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29  POSSIBILITY OF SUCH DAMAGE. */
30
31
32/* avr/iotn15.h - definitions for ATtiny15 */
33
34#ifndef _AVR_IOTN15_H_
35#define _AVR_IOTN15_H_ 1
36
37/* This file should only be included from <avr/io.h>, never directly. */
38
39#ifndef _AVR_IO_H_
40#  error "Include <avr/io.h> instead of this file."
41#endif
42
43#ifndef _AVR_IOXXX_H_
44#  define _AVR_IOXXX_H_ "iotn15.h"
45#else
46#  error "Attempt to include more than one <avr/ioXXX.h> file."
47#endif
48
49#ifndef __ASSEMBLER__
50#  warning "MCU not supported by the C compiler"
51#endif
52
53/* I/O registers */
54
55/* 0x00..0x03 reserved */
56
57#ifndef __ASSEMBLER__
58#define ADC     _SFR_IO16 (0x04)
59#endif
60#define ADCW    _SFR_IO16(0x04)
61#define ADCL    _SFR_IO8(0x04)
62#define ADCH    _SFR_IO8(0x05)
63#define ADCSR   _SFR_IO8(0x06)
64#define ADMUX   _SFR_IO8(0x07)
65
66/* Analog Comparator Control and Status Register */
67#define ACSR    _SFR_IO8(0x08)
68
69/* 0x09..0x15 reserved */
70
71/* Input Pins, Port B */
72#define PINB    _SFR_IO8(0x16)
73
74/* Data Direction Register, Port B */
75#define DDRB    _SFR_IO8(0x17)
76
77/* Data Register, Port B */
78#define PORTB   _SFR_IO8(0x18)
79
80/* 0x19..0x1B reserved */
81
82/* EEPROM Control Register */
83#define EECR    _SFR_IO8(0x1C)
84
85/* EEPROM Data Register */
86#define EEDR    _SFR_IO8(0x1D)
87
88/* EEPROM Address Register */
89#define EEAR    _SFR_IO8(0x1E)
90#define EEARL   _SFR_IO8(0x1E)
91
92/* 0x1F..0x20 reserved */
93
94/* Watchdog Timer Control Register */
95#define WDTCR   _SFR_IO8(0x21)
96
97/* 0x22..0x2B reserved */
98#define SFIOR   _SFR_IO8(0x2C)
99
100#define OCR1B   _SFR_IO8(0x2D)
101#define OCR1A   _SFR_IO8(0x2E)
102#define TCNT1   _SFR_IO8(0x2F)
103#define TCCR1   _SFR_IO8(0x30)
104
105/* Oscillator Calibration Register */
106#define OSCCAL  _SFR_IO8(0x31)
107
108/* Timer/Counter0 (8-bit) */
109#define TCNT0   _SFR_IO8(0x32)
110
111/* Timer/Counter0 Control Register */
112#define TCCR0   _SFR_IO8(0x33)
113
114/* MCU general Status Register */
115#define MCUSR   _SFR_IO8(0x34)
116
117/* MCU general Control Register */
118#define MCUCR   _SFR_IO8(0x35)
119
120/* 0x36..0x37 reserved */
121
122/* Timer/Counter Interrupt Flag Register */
123#define TIFR    _SFR_IO8(0x38)
124
125/* Timer/Counter Interrupt MaSK Register */
126#define TIMSK   _SFR_IO8(0x39)
127
128/* General Interrupt Flag Register */
129#define GIFR    _SFR_IO8(0x3A)
130
131/* General Interrupt MaSK register */
132#define GIMSK   _SFR_IO8(0x3B)
133
134/* 0x3C..0x3E reserved */
135
136/* 0x3F SREG */
137
138/* Interrupt vectors */
139
140/* External Interrupt 0 */
141#define INT0_vect                       _VECTOR(1)
142#define SIG_INTERRUPT0                  _VECTOR(1)
143
144/* External Interrupt Request 0 */
145#define IO_PINS_vect                    _VECTOR(2)
146#define SIG_PIN                         _VECTOR(2)
147#define SIG_PIN_CHANGE                  _VECTOR(2)
148
149/* Timer/Counter1 Compare Match */
150#define TIMER1_COMP_vect                _VECTOR(3)
151#define SIG_OUTPUT_COMPARE1A            _VECTOR(3)
152
153/* Timer/Counter1 Overflow */
154#define TIMER1_OVF_vect                 _VECTOR(4)
155#define SIG_OVERFLOW1                   _VECTOR(4)
156
157/* Timer/Counter0 Overflow */
158#define TIMER0_OVF_vect                 _VECTOR(5)
159#define SIG_OVERFLOW0                   _VECTOR(5)
160
161/* EEPROM Ready */
162#define EE_RDY_vect                     _VECTOR(6)
163#define SIG_EEPROM_READY                _VECTOR(6)
164
165/* Analog Comparator */
166#define ANA_COMP_vect                   _VECTOR(7)
167#define SIG_COMPARATOR                  _VECTOR(7)
168
169/* ADC Conversion Ready */
170#define ADC_vect                        _VECTOR(8)
171#define SIG_ADC                         _VECTOR(8)
172
173#define _VECTORS_SIZE 18
174
175/* Bit numbers */
176
177/* GIMSK */
178#define INT0    6
179#define PCIE    5
180
181/* GIFR */
182#define INTF0   6
183#define PCIF    5
184
185/* TIMSK */
186#define OCIE1   6
187#define TOIE1   2
188#define TOIE0   1
189
190/* TIFR */
191#define OCF1    6
192#define TOV1    2
193#define TOV0    1
194
195/* MCUCR */
196#define PUD     6
197#define SE      5
198#define SM1     4
199#define SM0     3
200#define ISC01   1
201#define ISC00   0
202
203/* MCUSR */
204#define WDRF    3
205#define BORF    2
206#define EXTRF   1
207#define PORF    0
208
209/* TCCR0 */
210#define CS02    2
211#define CS01    1
212#define CS00    0
213
214/* TCCR1 */
215#define CTC1    7
216#define PWM1    6
217#define COM1A1  5
218#define COM1A0  4
219#define CS13    3
220#define CS12    2
221#define CS11    1
222#define CS10    0
223
224/* SFIOR */
225#define FOC1A   2
226#define PSR1    1
227#define PSR0    0
228
229/* WDTCR */
230#define WDTOE   4
231#define WDE     3
232#define WDP2    2
233#define WDP1    1
234#define WDP0    0
235
236/*
237   PB5 = RESET# / ADC0
238   PB4 = ADC3
239   PB3 = ADC2
240   PB2 = SCK / ADC1 / T0 / INT0
241   PB1 = MISO / AIN1 / OCP
242   PB0 = MOSI / AIN0 / AREF
243 */
244
245/* PORTB */
246#define PB4     4
247#define PB3     3
248#define PB2     2
249#define PB1     1
250#define PB0     0
251
252/* DDRB */
253#define DDB4    4
254#define DDB3    3
255#define DDB2    2
256#define DDB1    1
257#define DDB0    0
258
259/* PINB */
260#define PINB5   5
261#define PINB4   4
262#define PINB3   3
263#define PINB2   2
264#define PINB1   1
265#define PINB0   0
266
267/* ACSR */
268#define ACD     7
269#define GREF    6
270#define ACO     5
271#define ACI     4
272#define ACIE    3
273#define ACIS1   1
274#define ACIS0   0
275
276/* ADMUX */
277#define REFS1   7
278#define REFS0   6
279#define ADLAR   5
280#define MUX2    2
281#define MUX1    1
282#define MUX0    0
283
284/* ADCSR */
285#define ADEN    7
286#define ADSC    6
287#define ADFR    5
288#define ADIF    4
289#define ADIE    3
290#define ADPS2   2
291#define ADPS1   1
292#define ADPS0   0
293
294/* EEPROM Control Register */
295#define EERIE   3
296#define EEMWE   2
297#define EEWE    1
298#define EERE    0
299
300/* Last memory addresses */
301#define RAMEND          0x1F
302#define XRAMEND         0x0
303#define E2END           0x3F
304#define E2PAGESIZE  2
305#define FLASHEND        0x3FF
306
307
308/* Fuses */
309
310#define FUSE_MEMORY_SIZE 1
311
312/* Fuse Byte */
313#define FUSE_CKSEL0      (unsigned char)~_BV(0)
314#define FUSE_CKSEL1      (unsigned char)~_BV(1)
315#define FUSE_RSTDISBL    (unsigned char)~_BV(4)
316#define FUSE_SPIEN       (unsigned char)~_BV(5)
317#define FUSE_BODEN       (unsigned char)~_BV(6)
318#define FUSE_BODLEVEL    (unsigned char)~_BV(7)
319#define FUSE_DEFAULT (FUSE_CKSEL0 & FUSE_CKSEL1 & FUSE_SPIEN)
320
321
322/* Lock Bits */
323#define __LOCK_BITS_EXIST
324
325
326/* Signature */
327#define SIGNATURE_0 0x1E
328#define SIGNATURE_1 0x90
329#define SIGNATURE_2 0x06
330
331
332#endif /* _AVR_IOTN15_H_ */
Note: See TracBrowser for help on using the repository browser.