RTEMS CPU Kit with SuperCore  4.11.3
io.h
Go to the documentation of this file.
1 
63 /*
64  * Copyright (c) 2002,2003,2005,2006,2007 Marek Michalkiewicz, Joerg Wunsch
65  * Copyright (c) 2007 Eric B. Weddington
66  * All rights reserved.
67  *
68  * Redistribution and use in source and binary forms, with or without
69  * modification, are permitted provided that the following conditions are met:
70  *
71  * * Redistributions of source code must retain the above copyright
72  * notice, this list of conditions and the following disclaimer.
73  *
74  * * Redistributions in binary form must reproduce the above copyright
75  * notice, this list of conditions and the following disclaimer in
76  * the documentation and/or other materials provided with the
77  * distribution.
78  *
79  * * Neither the name of the copyright holders nor the names of
80  * contributors may be used to endorse or promote products derived
81  * from this software without specific prior written permission.
82  *
83  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
84  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
85  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
86  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
87  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
88  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
89  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
90  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
91  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
92  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
93  * POSSIBILITY OF SUCH DAMAGE.
94  */
95 
96 #ifndef _AVR_IO_H_
97 #define _AVR_IO_H_
98 
107 #include <avr/sfr_defs.h>
108 
109 #if defined (__AVR_AT94K__)
110 # include <avr/ioat94k.h>
111 #elif defined (__AVR_AT43USB320__)
112 # include <avr/io43u32x.h>
113 #elif defined (__AVR_AT43USB355__)
114 # include <avr/io43u35x.h>
115 #elif defined (__AVR_AT76C711__)
116 # include <avr/io76c711.h>
117 #elif defined (__AVR_AT86RF401__)
118 # include <avr/io86r401.h>
119 #elif defined (__AVR_AT90PWM1__)
120 # include <avr/io90pwm1.h>
121 #elif defined (__AVR_AT90PWM2__)
122 # include <avr/io90pwmx.h>
123 #elif defined (__AVR_AT90PWM2B__)
124 # include <avr/io90pwm2b.h>
125 #elif defined (__AVR_AT90PWM3__)
126 # include <avr/io90pwmx.h>
127 #elif defined (__AVR_AT90PWM3B__)
128 # include <avr/io90pwm3b.h>
129 #elif defined (__AVR_AT90PWM216__)
130 # include <avr/io90pwm216.h>
131 #elif defined (__AVR_AT90PWM316__)
132 # include <avr/io90pwm316.h>
133 #elif defined (__AVR_AT90PWM81__)
134 # include <avr/io90pwm81.h>
135 #elif defined (__AVR_ATmega8U2__)
136 # include <avr/iom8u2.h>
137 #elif defined (__AVR_ATmega16M1__)
138 # include <avr/iom16m1.h>
139 #elif defined (__AVR_ATmega16U2__)
140 # include <avr/iom16u2.h>
141 #elif defined (__AVR_ATmega16U4__)
142 # include <avr/iom16u4.h>
143 #elif defined (__AVR_ATmega32C1__)
144 # include <avr/iom32c1.h>
145 #elif defined (__AVR_ATmega32M1__)
146 # include <avr/iom32m1.h>
147 #elif defined (__AVR_ATmega32U2__)
148 # include <avr/iom32u2.h>
149 #elif defined (__AVR_ATmega32U4__)
150 # include <avr/iom32u4.h>
151 #elif defined (__AVR_ATmega32U6__)
152 # include <avr/iom32u6.h>
153 #elif defined (__AVR_ATmega64C1__)
154 # include <avr/iom64c1.h>
155 #elif defined (__AVR_ATmega64M1__)
156 # include <avr/iom64m1.h>
157 #elif defined (__AVR_ATmega128__)
158 # include <avr/iom128.h>
159 #elif defined (__AVR_ATmega1280__)
160 # include <avr/iom1280.h>
161 #elif defined (__AVR_ATmega1281__)
162 # include <avr/iom1281.h>
163 #elif defined (__AVR_ATmega1284P__)
164 # include <avr/iom1284p.h>
165 #elif defined (__AVR_ATmega128RFA1__)
166 # include <avr/iom128rfa1.h>
167 #elif defined (__AVR_ATmega2560__)
168 # include <avr/iom2560.h>
169 #elif defined (__AVR_ATmega2561__)
170 # include <avr/iom2561.h>
171 #elif defined (__AVR_AT90CAN32__)
172 # include <avr/iocan32.h>
173 #elif defined (__AVR_AT90CAN64__)
174 # include <avr/iocan64.h>
175 #elif defined (__AVR_AT90CAN128__)
176 # include <avr/iocan128.h>
177 #elif defined (__AVR_AT90USB82__)
178 # include <avr/iousb82.h>
179 #elif defined (__AVR_AT90USB162__)
180 # include <avr/iousb162.h>
181 #elif defined (__AVR_AT90USB646__)
182 # include <avr/iousb646.h>
183 #elif defined (__AVR_AT90USB647__)
184 # include <avr/iousb647.h>
185 #elif defined (__AVR_AT90USB1286__)
186 # include <avr/iousb1286.h>
187 #elif defined (__AVR_AT90USB1287__)
188 # include <avr/iousb1287.h>
189 #elif defined (__AVR_ATmega64__)
190 # include <avr/iom64.h>
191 #elif defined (__AVR_ATmega640__)
192 # include <avr/iom640.h>
193 #elif defined (__AVR_ATmega644__) || defined (__AVR_ATmega644A__)
194 # include <avr/iom644.h>
195 #elif defined (__AVR_ATmega644P__)
196 # include <avr/iom644p.h>
197 #elif defined (__AVR_ATmega644PA__)
198 # include <avr/iom644pa.h>
199 #elif defined (__AVR_ATmega645__) || defined (__AVR_ATmega645A__) || defined (__AVR_ATmega645P__)
200 # include <avr/iom645.h>
201 #elif defined (__AVR_ATmega6450__) || defined (__AVR_ATmega6450A__) || defined (__AVR_ATmega6450P__)
202 # include <avr/iom6450.h>
203 #elif defined (__AVR_ATmega649__) || defined (__AVR_ATmega649A__)
204 # include <avr/iom649.h>
205 #elif defined (__AVR_ATmega6490__) || defined (__AVR_ATmega6490A__) || defined (__AVR_ATmega6490P__)
206 # include <avr/iom6490.h>
207 #elif defined (__AVR_ATmega649P__)
208 # include <avr/iom649p.h>
209 #elif defined (__AVR_ATmega64HVE__)
210 # include <avr/iom64hve.h>
211 #elif defined (__AVR_ATmega103__)
212 # include <avr/iom103.h>
213 #elif defined (__AVR_ATmega32__)
214 # include <avr/iom32.h>
215 #elif defined (__AVR_ATmega323__)
216 # include <avr/iom323.h>
217 #elif defined (__AVR_ATmega324P__) || defined (__AVR_ATmega324A__)
218 # include <avr/iom324.h>
219 #elif defined (__AVR_ATmega324PA__)
220 # include <avr/iom324pa.h>
221 #elif defined (__AVR_ATmega325__)
222 # include <avr/iom325.h>
223 #elif defined (__AVR_ATmega325P__)
224 # include <avr/iom325.h>
225 #elif defined (__AVR_ATmega3250__)
226 # include <avr/iom3250.h>
227 #elif defined (__AVR_ATmega3250P__)
228 # include <avr/iom3250.h>
229 #elif defined (__AVR_ATmega328P__) || defined (__AVR_ATmega328__)
230 # include <avr/iom328p.h>
231 #elif defined (__AVR_ATmega329__)
232 # include <avr/iom329.h>
233 #elif defined (__AVR_ATmega329P__) || defined (__AVR_ATmega329PA__)
234 # include <avr/iom329.h>
235 #elif defined (__AVR_ATmega3290__)
236 # include <avr/iom3290.h>
237 #elif defined (__AVR_ATmega3290P__)
238 # include <avr/iom3290.h>
239 #elif defined (__AVR_ATmega32HVB__)
240 # include <avr/iom32hvb.h>
241 #elif defined (__AVR_ATmega406__)
242 # include <avr/iom406.h>
243 #elif defined (__AVR_ATmega16__)
244 # include <avr/iom16.h>
245 #elif defined (__AVR_ATmega16A__)
246 # include <avr/iom16a.h>
247 #elif defined (__AVR_ATmega161__)
248 # include <avr/iom161.h>
249 #elif defined (__AVR_ATmega162__)
250 # include <avr/iom162.h>
251 #elif defined (__AVR_ATmega163__)
252 # include <avr/iom163.h>
253 #elif defined (__AVR_ATmega164P__) || defined (__AVR_ATmega164A__)
254 # include <avr/iom164.h>
255 #elif defined (__AVR_ATmega165__) || defined (__AVR_ATmega165A__)
256 # include <avr/iom165.h>
257 #elif defined (__AVR_ATmega165P__)
258 # include <avr/iom165p.h>
259 #elif defined (__AVR_ATmega168__) || defined (__AVR_ATmega168A__)
260 # include <avr/iom168.h>
261 #elif defined (__AVR_ATmega168P__)
262 # include <avr/iom168p.h>
263 #elif defined (__AVR_ATmega169__) || defined (__AVR_ATmega169A__)
264 # include <avr/iom169.h>
265 #elif defined (__AVR_ATmega169P__)
266 # include <avr/iom169p.h>
267 #elif defined (__AVR_ATmega169PA__)
268 # include <avr/iom169pa.h>
269 #elif defined (__AVR_ATmega8HVA__)
270 # include <avr/iom8hva.h>
271 #elif defined (__AVR_ATmega16HVA__)
272 # include <avr/iom16hva.h>
273 #elif defined (__AVR_ATmega16HVA2__)
274 # include <avr/iom16hva2.h>
275 #elif defined (__AVR_ATmega16HVB__)
276 # include <avr/iom16hvb.h>
277 #elif defined (__AVR_ATmega8__)
278 # include <avr/iom8.h>
279 #elif defined (__AVR_ATmega48__) || defined (__AVR_ATmega48A__)
280 # include <avr/iom48.h>
281 #elif defined (__AVR_ATmega48P__)
282 # include <avr/iom48p.h>
283 #elif defined (__AVR_ATmega88__) || defined (__AVR_ATmega88A__)
284 # include <avr/iom88.h>
285 #elif defined (__AVR_ATmega88P__)
286 # include <avr/iom88p.h>
287 #elif defined (__AVR_ATmega88PA__)
288 # include <avr/iom88pa.h>
289 #elif defined (__AVR_ATmega8515__)
290 # include <avr/iom8515.h>
291 #elif defined (__AVR_ATmega8535__)
292 # include <avr/iom8535.h>
293 #elif defined (__AVR_AT90S8535__)
294 # include <avr/io8535.h>
295 #elif defined (__AVR_AT90C8534__)
296 # include <avr/io8534.h>
297 #elif defined (__AVR_AT90S8515__)
298 # include <avr/io8515.h>
299 #elif defined (__AVR_AT90S4434__)
300 # include <avr/io4434.h>
301 #elif defined (__AVR_AT90S4433__)
302 # include <avr/io4433.h>
303 #elif defined (__AVR_AT90S4414__)
304 # include <avr/io4414.h>
305 #elif defined (__AVR_ATtiny22__)
306 # include <avr/iotn22.h>
307 #elif defined (__AVR_ATtiny26__)
308 # include <avr/iotn26.h>
309 #elif defined (__AVR_AT90S2343__)
310 # include <avr/io2343.h>
311 #elif defined (__AVR_AT90S2333__)
312 # include <avr/io2333.h>
313 #elif defined (__AVR_AT90S2323__)
314 # include <avr/io2323.h>
315 #elif defined (__AVR_AT90S2313__)
316 # include <avr/io2313.h>
317 #elif defined (__AVR_ATtiny2313__)
318 # include <avr/iotn2313.h>
319 #elif defined (__AVR_ATtiny2313A__)
320 # include <avr/iotn2313a.h>
321 #elif defined (__AVR_ATtiny13__)
322 # include <avr/iotn13.h>
323 #elif defined (__AVR_ATtiny13A__)
324 # include <avr/iotn13a.h>
325 #elif defined (__AVR_ATtiny25__)
326 # include <avr/iotn25.h>
327 #elif defined (__AVR_ATtiny4313__)
328 # include <avr/iotn4313.h>
329 #elif defined (__AVR_ATtiny45__)
330 # include <avr/iotn45.h>
331 #elif defined (__AVR_ATtiny85__)
332 # include <avr/iotn85.h>
333 #elif defined (__AVR_ATtiny24__)
334 # include <avr/iotn24.h>
335 #elif defined (__AVR_ATtiny24A__)
336 # include <avr/iotn24a.h>
337 #elif defined (__AVR_ATtiny44__)
338 # include <avr/iotn44.h>
339 #elif defined (__AVR_ATtiny44A__)
340 # include <avr/iotn44a.h>
341 #elif defined (__AVR_ATtiny84__)
342 # include <avr/iotn84.h>
343 #elif defined (__AVR_ATtiny261__)
344 # include <avr/iotn261.h>
345 #elif defined (__AVR_ATtiny261A__)
346 # include <avr/iotn261a.h>
347 #elif defined (__AVR_ATtiny461__)
348 # include <avr/iotn461.h>
349 #elif defined (__AVR_ATtiny461A__)
350 # include <avr/iotn461a.h>
351 #elif defined (__AVR_ATtiny861__)
352 # include <avr/iotn861.h>
353 #elif defined (__AVR_ATtiny861A__)
354 # include <avr/iotn861a.h>
355 #elif defined (__AVR_ATtiny43U__)
356 # include <avr/iotn43u.h>
357 #elif defined (__AVR_ATtiny48__)
358 # include <avr/iotn48.h>
359 #elif defined (__AVR_ATtiny88__)
360 # include <avr/iotn88.h>
361 #elif defined (__AVR_ATtiny87__)
362 # include <avr/iotn87.h>
363 #elif defined (__AVR_ATtiny167__)
364 # include <avr/iotn167.h>
365 #elif defined (__AVR_AT90SCR100__)
366 # include <avr/io90scr100.h>
367 #elif defined (__AVR_ATxmega16A4__)
368 # include <avr/iox16a4.h>
369 #elif defined (__AVR_ATxmega16D4__)
370 # include <avr/iox16d4.h>
371 #elif defined (__AVR_ATxmega32A4__)
372 # include <avr/iox32a4.h>
373 #elif defined (__AVR_ATxmega32D4__)
374 # include <avr/iox32d4.h>
375 #elif defined (__AVR_ATxmega64A1__)
376 # include <avr/iox64a1.h>
377 #elif defined (__AVR_ATxmega64A3__)
378 # include <avr/iox64a3.h>
379 #elif defined (__AVR_ATxmega64D3__)
380 # include <avr/iox64d3.h>
381 #elif defined (__AVR_ATxmega128A1__)
382 # include <avr/iox128a1.h>
383 #elif defined (__AVR_ATxmega128A3__)
384 # include <avr/iox128a3.h>
385 #elif defined (__AVR_ATxmega128D3__)
386 # include <avr/iox128d3.h>
387 #elif defined (__AVR_ATxmega192A3__)
388 # include <avr/iox192a3.h>
389 #elif defined (__AVR_ATxmega192D3__)
390 # include <avr/iox192d3.h>
391 #elif defined (__AVR_ATxmega256A3__)
392 # include <avr/iox256a3.h>
393 #elif defined (__AVR_ATxmega256A3B__)
394 # include <avr/iox256a3b.h>
395 #elif defined (__AVR_ATxmega256D3__)
396 # include <avr/iox256d3.h>
397 #elif defined (__AVR_ATA6289__)
398 # include <avr/ioa6289.h>
399 /* avr1: the following only supported for assembler programs */
400 #elif defined (__AVR_ATtiny28__)
401 # include <avr/iotn28.h>
402 #elif defined (__AVR_AT90S1200__)
403 # include <avr/io1200.h>
404 #elif defined (__AVR_ATtiny15__)
405 # include <avr/iotn15.h>
406 #elif defined (__AVR_ATtiny12__)
407 # include <avr/iotn12.h>
408 #elif defined (__AVR_ATtiny11__)
409 # include <avr/iotn11.h>
410 #else
411 # if !defined(__COMPILING_AVR_LIBC__)
412 # warning "device type not defined"
413 # endif
414 #endif
415 
416 #include <avr/portpins.h>
417 
418 #include <avr/common.h>
419 
420 #include <avr/version.h>
421 
422 /* Include fuse.h after individual IO header files. */
423 #include <avr/fuse.h>
424 
425 /* Include lock.h after individual IO header files. */
426 #include <avr/lock.h>
427 
429 #endif /* _AVR_IO_H_ */
Definitions for AT90S8535.
Definitions for ATmega8U2.
Definitions for ATmega6450.
Definitions for AT90C8534.
Lock Bits API.
Definitions for ATmega128.
Definitions for ATmega3290 and ATmega3290P.
Definitions for ATmega1280.
Macros for Accessing AVR Special Function Registers.
Definitions for ATtiny167.
Definitions for ATmega1281.
Definitions for ATtiny24A.
Definitions for AT90S4434.
Definitions for ATtiny2313.
Definitions for ATmega16HVA2.
Definitions for ATxmega64D3.
Definitions for ATxmega64A1.
Definitions for ATxmega192A3.
Definitions for ATtiny28.
Define Generic PORTn, DDn, and PINn Values.
Definitions for ATmega325 and ATmega325P.
Definitions for ATxmega32A4.
Definitions for iom48.
Definitions for ATmega163.
Definitions for ATmega649.
Definitions for ATmega324.
Definitions for ATmega8515.
Definitions for AT90USB647.
Definitions for ATmega328P.
Definitions for ATmega8HVA.
Definitions for ATmega88P.
Definitions for ATmega168P.
Definitions for ATmega32M1.
Definitions for ATtiny24.
Definitions for ATmega32C1.
Ddefinitions for AT90USB82.
Definitions for ATtiny861A.
Definitions for ATmega645.
Definitions for AT90USB646.
Definitions for ATmega169P.
Definitions for ATtiny26.
Definitions for ATmega644.
Definitions for ATmega169.
Definitions for ATmega644PA.
Definitions for ATtiny48.
Definitions for AT90PWM2B.
Definitions for iom168.
Definitions for AT90S2343.
Definitions for AT43USB32x.
Definitions for ATtiny13.
Current Version of avr-libc.
Definitions for ATxmega32D4.
Definitions for ATxmega16A4.
Definitions for ATtiny45.
Definitions for ATtiny461A.
Definitions for ATmega640.
Definitions for ATmega165.
Definitions for ATtiny44.
Definitions for ATmega1284P.
Definitions for ATmega16.
Definitions for ATmega164.
Definitions for ATxmega256A3B.
Definitions for ATmega16M1.
Definitions for CAN32.
Definitions for AT94K Series FPSLIC(tm)
Definitions for ATmega406.
Definitions for AT90S1200.
Definitions for ATmega32.
Definitions for ATmega161.
Definitions for ATmega88.
Definitions for AT90SCR100.
Definitions for AT90PWM2(B) and AT90PWM3(B)
Definitions for ATmega16HVB.
Definitions for ATmega6490.
Definitions for ATmega162.
Definitions for ATmega64HVE.
Definitions for AT90PWM81.
Definitions for ATmega103.
Definitions for AT90USB1286.
Definitions for ATxmega16D4.
Definitions for ATtiny15.
Definitions for ATmega32U4.
Definitions for ATtiny261.
Definitions for ATtiny4313.
Definitions for ATmega48P.
Definitions for ATmega16HVA.
Definitions for ATtiny88.
Definitions for AT86RF401.
Definitions for ATA6289.
Definitions for ATxmega128A3.
Definitions for ATtiny10/11.
Common Symbols and Define Undefined Registers.
Definitions for ATtiny461.
Definitions for AT90PWM1.
Definitions for ATmega8.
Definitions for AT76C711.
Definitions for ATtiny85.
Definitions for ATmega169PA.
Definitions for AT90S4433.
Definitions for ATmega32U6.
Definitions for ATxmega256D3.
Definitions for ATtiny12.
Definitions for ATtiny87.
Definitions for AT90PWM216.
Definitions for ATtiny2313A.
Definitions for ATtiny43U.
Definitions for ATtiny261A.
Definitions for ATxmega64A3.
Definitions for ATmega64C1.
Definitions for AT90USB1287.
Definitions for ATmega16U4.
Definitions for AT90S4414.
Definitions for ATmega323.
Definitions for ATxmega192D3.
Definitions for AT90PWM3B.
Definitions for ATmega16U2.