RTEMS CPU Kit with SuperCore  4.11.3
portpins.h
Go to the documentation of this file.
1 
7 /* Copyright (c) 2003 Theodore A. Roth
8  All rights reserved.
9 
10  Redistribution and use in source and binary forms, with or without
11  modification, are permitted provided that the following conditions are met:
12 
13  * Redistributions of source code must retain the above copyright
14  notice, this list of conditions and the following disclaimer.
15 
16  * Redistributions in binary form must reproduce the above copyright
17  notice, this list of conditions and the following disclaimer in
18  the documentation and/or other materials provided with the
19  distribution.
20 
21  * Neither the name of the copyright holders nor the names of
22  contributors may be used to endorse or promote products derived
23  from this software without specific prior written permission.
24 
25  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
29  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35  POSSIBILITY OF SUCH DAMAGE. */
36 
37 
38 #ifndef _AVR_PORTPINS_H_
39 #define _AVR_PORTPINS_H_ 1
40 
41 /* This file should only be included from <avr/io.h>, never directly. */
42 
43 #ifndef _AVR_IO_H_
44 # error "Include <avr/io.h> instead of this file."
45 #endif
46 
47 /* Port Data Register (generic) */
48 #define PORT7 7
49 #define PORT6 6
50 #define PORT5 5
51 #define PORT4 4
52 #define PORT3 3
53 #define PORT2 2
54 #define PORT1 1
55 #define PORT0 0
56 
57 /* Port Data Direction Register (generic) */
58 #define DD7 7
59 #define DD6 6
60 #define DD5 5
61 #define DD4 4
62 #define DD3 3
63 #define DD2 2
64 #define DD1 1
65 #define DD0 0
66 
67 /* Port Input Pins (generic) */
68 #define PIN7 7
69 #define PIN6 6
70 #define PIN5 5
71 #define PIN4 4
72 #define PIN3 3
73 #define PIN2 2
74 #define PIN1 1
75 #define PIN0 0
76 
77 /* Define PORTxn an Pxn values for all possible port pins
78  * if not defined already by io.h.
79  */
80 
81 /* PORT A */
82 
83 #if defined(PA0) && !defined(PORTA0)
84 # define PORTA0 PA0
85 #elif defined(PORTA0) && !defined(PA0)
86 # define PA0 PORTA0
87 #endif
88 #if defined(PA1) && !defined(PORTA1)
89 # define PORTA1 PA1
90 #elif defined(PORTA1) && !defined(PA1)
91 # define PA1 PORTA1
92 #endif
93 #if defined(PA2) && !defined(PORTA2)
94 # define PORTA2 PA2
95 #elif defined(PORTA2) && !defined(PA2)
96 # define PA2 PORTA2
97 #endif
98 #if defined(PA3) && !defined(PORTA3)
99 # define PORTA3 PA3
100 #elif defined(PORTA3) && !defined(PA3)
101 # define PA3 PORTA3
102 #endif
103 #if defined(PA4) && !defined(PORTA4)
104 # define PORTA4 PA4
105 #elif defined(PORTA4) && !defined(PA4)
106 # define PA4 PORTA4
107 #endif
108 #if defined(PA5) && !defined(PORTA5)
109 # define PORTA5 PA5
110 #elif defined(PORTA5) && !defined(PA5)
111 # define PA5 PORTA5
112 #endif
113 #if defined(PA6) && !defined(PORTA6)
114 # define PORTA6 PA6
115 #elif defined(PORTA6) && !defined(PA6)
116 # define PA6 PORTA6
117 #endif
118 #if defined(PA7) && !defined(PORTA7)
119 # define PORTA7 PA7
120 #elif defined(PORTA7) && !defined(PA7)
121 # define PA7 PORTA7
122 #endif
123 
124 /* PORT B */
125 
126 #if defined(PB0) && !defined(PORTB0)
127 # define PORTB0 PB0
128 #elif defined(PORTB0) && !defined(PB0)
129 # define PB0 PORTB0
130 #endif
131 #if defined(PB1) && !defined(PORTB1)
132 # define PORTB1 PB1
133 #elif defined(PORTB1) && !defined(PB1)
134 # define PB1 PORTB1
135 #endif
136 #if defined(PB2) && !defined(PORTB2)
137 # define PORTB2 PB2
138 #elif defined(PORTB2) && !defined(PB2)
139 # define PB2 PORTB2
140 #endif
141 #if defined(PB3) && !defined(PORTB3)
142 # define PORTB3 PB3
143 #elif defined(PORTB3) && !defined(PB3)
144 # define PB3 PORTB3
145 #endif
146 #if defined(PB4) && !defined(PORTB4)
147 # define PORTB4 PB4
148 #elif defined(PORTB4) && !defined(PB4)
149 # define PB4 PORTB4
150 #endif
151 #if defined(PB5) && !defined(PORTB5)
152 # define PORTB5 PB5
153 #elif defined(PORTB5) && !defined(PB5)
154 # define PB5 PORTB5
155 #endif
156 #if defined(PB6) && !defined(PORTB6)
157 # define PORTB6 PB6
158 #elif defined(PORTB6) && !defined(PB6)
159 # define PB6 PORTB6
160 #endif
161 #if defined(PB7) && !defined(PORTB7)
162 # define PORTB7 PB7
163 #elif defined(PORTB7) && !defined(PB7)
164 # define PB7 PORTB7
165 #endif
166 
167 /* PORT C */
168 
169 #if defined(PC0) && !defined(PORTC0)
170 # define PORTC0 PC0
171 #elif defined(PORTC0) && !defined(PC0)
172 # define PC0 PORTC0
173 #endif
174 #if defined(PC1) && !defined(PORTC1)
175 # define PORTC1 PC1
176 #elif defined(PORTC1) && !defined(PC1)
177 # define PC1 PORTC1
178 #endif
179 #if defined(PC2) && !defined(PORTC2)
180 # define PORTC2 PC2
181 #elif defined(PORTC2) && !defined(PC2)
182 # define PC2 PORTC2
183 #endif
184 #if defined(PC3) && !defined(PORTC3)
185 # define PORTC3 PC3
186 #elif defined(PORTC3) && !defined(PC3)
187 # define PC3 PORTC3
188 #endif
189 #if defined(PC4) && !defined(PORTC4)
190 # define PORTC4 PC4
191 #elif defined(PORTC4) && !defined(PC4)
192 # define PC4 PORTC4
193 #endif
194 #if defined(PC5) && !defined(PORTC5)
195 # define PORTC5 PC5
196 #elif defined(PORTC5) && !defined(PC5)
197 # define PC5 PORTC5
198 #endif
199 #if defined(PC6) && !defined(PORTC6)
200 # define PORTC6 PC6
201 #elif defined(PORTC6) && !defined(PC6)
202 # define PC6 PORTC6
203 #endif
204 #if defined(PC7) && !defined(PORTC7)
205 # define PORTC7 PC7
206 #elif defined(PORTC7) && !defined(PC7)
207 # define PC7 PORTC7
208 #endif
209 
210 /* PORT D */
211 
212 #if defined(PD0) && !defined(PORTD0)
213 # define PORTD0 PD0
214 #elif defined(PORTD0) && !defined(PD0)
215 # define PD0 PORTD0
216 #endif
217 #if defined(PD1) && !defined(PORTD1)
218 # define PORTD1 PD1
219 #elif defined(PORTD1) && !defined(PD1)
220 # define PD1 PORTD1
221 #endif
222 #if defined(PD2) && !defined(PORTD2)
223 # define PORTD2 PD2
224 #elif defined(PORTD2) && !defined(PD2)
225 # define PD2 PORTD2
226 #endif
227 #if defined(PD3) && !defined(PORTD3)
228 # define PORTD3 PD3
229 #elif defined(PORTD3) && !defined(PD3)
230 # define PD3 PORTD3
231 #endif
232 #if defined(PD4) && !defined(PORTD4)
233 # define PORTD4 PD4
234 #elif defined(PORTD4) && !defined(PD4)
235 # define PD4 PORTD4
236 #endif
237 #if defined(PD5) && !defined(PORTD5)
238 # define PORTD5 PD5
239 #elif defined(PORTD5) && !defined(PD5)
240 # define PD5 PORTD5
241 #endif
242 #if defined(PD6) && !defined(PORTD6)
243 # define PORTD6 PD6
244 #elif defined(PORTD6) && !defined(PD6)
245 # define PD6 PORTD6
246 #endif
247 #if defined(PD7) && !defined(PORTD7)
248 # define PORTD7 PD7
249 #elif defined(PORTD7) && !defined(PD7)
250 # define PD7 PORTD7
251 #endif
252 
253 /* PORT E */
254 
255 #if defined(PE0) && !defined(PORTE0)
256 # define PORTE0 PE0
257 #elif defined(PORTE0) && !defined(PE0)
258 # define PE0 PORTE0
259 #endif
260 #if defined(PE1) && !defined(PORTE1)
261 # define PORTE1 PE1
262 #elif defined(PORTE1) && !defined(PE1)
263 # define PE1 PORTE1
264 #endif
265 #if defined(PE2) && !defined(PORTE2)
266 # define PORTE2 PE2
267 #elif defined(PORTE2) && !defined(PE2)
268 # define PE2 PORTE2
269 #endif
270 #if defined(PE3) && !defined(PORTE3)
271 # define PORTE3 PE3
272 #elif defined(PORTE3) && !defined(PE3)
273 # define PE3 PORTE3
274 #endif
275 #if defined(PE4) && !defined(PORTE4)
276 # define PORTE4 PE4
277 #elif defined(PORTE4) && !defined(PE4)
278 # define PE4 PORTE4
279 #endif
280 #if defined(PE5) && !defined(PORTE5)
281 # define PORTE5 PE5
282 #elif defined(PORTE5) && !defined(PE5)
283 # define PE5 PORTE5
284 #endif
285 #if defined(PE6) && !defined(PORTE6)
286 # define PORTE6 PE6
287 #elif defined(PORTE6) && !defined(PE6)
288 # define PE6 PORTE6
289 #endif
290 #if defined(PE7) && !defined(PORTE7)
291 # define PORTE7 PE7
292 #elif defined(PORTE7) && !defined(PE7)
293 # define PE7 PORTE7
294 #endif
295 
296 /* PORT F */
297 
298 #if defined(PF0) && !defined(PORTF0)
299 # define PORTF0 PF0
300 #elif defined(PORTF0) && !defined(PF0)
301 # define PF0 PORTF0
302 #endif
303 #if defined(PF1) && !defined(PORTF1)
304 # define PORTF1 PF1
305 #elif defined(PORTF1) && !defined(PF1)
306 # define PF1 PORTF1
307 #endif
308 #if defined(PF2) && !defined(PORTF2)
309 # define PORTF2 PF2
310 #elif defined(PORTF2) && !defined(PF2)
311 # define PF2 PORTF2
312 #endif
313 #if defined(PF3) && !defined(PORTF3)
314 # define PORTF3 PF3
315 #elif defined(PORTF3) && !defined(PF3)
316 # define PF3 PORTF3
317 #endif
318 #if defined(PF4) && !defined(PORTF4)
319 # define PORTF4 PF4
320 #elif defined(PORTF4) && !defined(PF4)
321 # define PF4 PORTF4
322 #endif
323 #if defined(PF5) && !defined(PORTF5)
324 # define PORTF5 PF5
325 #elif defined(PORTF5) && !defined(PF5)
326 # define PF5 PORTF5
327 #endif
328 #if defined(PF6) && !defined(PORTF6)
329 # define PORTF6 PF6
330 #elif defined(PORTF6) && !defined(PF6)
331 # define PF6 PORTF6
332 #endif
333 #if defined(PF7) && !defined(PORTF7)
334 # define PORTF7 PF7
335 #elif defined(PORTF7) && !defined(PF7)
336 # define PF7 PORTF7
337 #endif
338 
339 /* PORT G */
340 
341 #if defined(PG0) && !defined(PORTG0)
342 # define PORTG0 PG0
343 #elif defined(PORTG0) && !defined(PG0)
344 # define PG0 PORTG0
345 #endif
346 #if defined(PG1) && !defined(PORTG1)
347 # define PORTG1 PG1
348 #elif defined(PORTG1) && !defined(PG1)
349 # define PG1 PORTG1
350 #endif
351 #if defined(PG2) && !defined(PORTG2)
352 # define PORTG2 PG2
353 #elif defined(PORTG2) && !defined(PG2)
354 # define PG2 PORTG2
355 #endif
356 #if defined(PG3) && !defined(PORTG3)
357 # define PORTG3 PG3
358 #elif defined(PORTG3) && !defined(PG3)
359 # define PG3 PORTG3
360 #endif
361 #if defined(PG4) && !defined(PORTG4)
362 # define PORTG4 PG4
363 #elif defined(PORTG4) && !defined(PG4)
364 # define PG4 PORTG4
365 #endif
366 #if defined(PG5) && !defined(PORTG5)
367 # define PORTG5 PG5
368 #elif defined(PORTG5) && !defined(PG5)
369 # define PG5 PORTG5
370 #endif
371 #if defined(PG6) && !defined(PORTG6)
372 # define PORTG6 PG6
373 #elif defined(PORTG6) && !defined(PG6)
374 # define PG6 PORTG6
375 #endif
376 #if defined(PG7) && !defined(PORTG7)
377 # define PORTG7 PG7
378 #elif defined(PORTG7) && !defined(PG7)
379 # define PG7 PORTG7
380 #endif
381 
382 /* PORT H */
383 
384 #if defined(PH0) && !defined(PORTH0)
385 # define PORTH0 PH0
386 #elif defined(PORTH0) && !defined(PH0)
387 # define PH0 PORTH0
388 #endif
389 #if defined(PH1) && !defined(PORTH1)
390 # define PORTH1 PH1
391 #elif defined(PORTH1) && !defined(PH1)
392 # define PH1 PORTH1
393 #endif
394 #if defined(PH2) && !defined(PORTH2)
395 # define PORTH2 PH2
396 #elif defined(PORTH2) && !defined(PH2)
397 # define PH2 PORTH2
398 #endif
399 #if defined(PH3) && !defined(PORTH3)
400 # define PORTH3 PH3
401 #elif defined(PORTH3) && !defined(PH3)
402 # define PH3 PORTH3
403 #endif
404 #if defined(PH4) && !defined(PORTH4)
405 # define PORTH4 PH4
406 #elif defined(PORTH4) && !defined(PH4)
407 # define PH4 PORTH4
408 #endif
409 #if defined(PH5) && !defined(PORTH5)
410 # define PORTH5 PH5
411 #elif defined(PORTH5) && !defined(PH5)
412 # define PH5 PORTH5
413 #endif
414 #if defined(PH6) && !defined(PORTH6)
415 # define PORTH6 PH6
416 #elif defined(PORTH6) && !defined(PH6)
417 # define PH6 PORTH6
418 #endif
419 #if defined(PH7) && !defined(PORTH7)
420 # define PORTH7 PH7
421 #elif defined(PORTH7) && !defined(PH7)
422 # define PH7 PORTH7
423 #endif
424 
425 /* PORT J */
426 
427 #if defined(PJ0) && !defined(PORTJ0)
428 # define PORTJ0 PJ0
429 #elif defined(PORTJ0) && !defined(PJ0)
430 # define PJ0 PORTJ0
431 #endif
432 #if defined(PJ1) && !defined(PORTJ1)
433 # define PORTJ1 PJ1
434 #elif defined(PORTJ1) && !defined(PJ1)
435 # define PJ1 PORTJ1
436 #endif
437 #if defined(PJ2) && !defined(PORTJ2)
438 # define PORTJ2 PJ2
439 #elif defined(PORTJ2) && !defined(PJ2)
440 # define PJ2 PORTJ2
441 #endif
442 #if defined(PJ3) && !defined(PORTJ3)
443 # define PORTJ3 PJ3
444 #elif defined(PORTJ3) && !defined(PJ3)
445 # define PJ3 PORTJ3
446 #endif
447 #if defined(PJ4) && !defined(PORTJ4)
448 # define PORTJ4 PJ4
449 #elif defined(PORTJ4) && !defined(PJ4)
450 # define PJ4 PORTJ4
451 #endif
452 #if defined(PJ5) && !defined(PORTJ5)
453 # define PORTJ5 PJ5
454 #elif defined(PORTJ5) && !defined(PJ5)
455 # define PJ5 PORTJ5
456 #endif
457 #if defined(PJ6) && !defined(PORTJ6)
458 # define PORTJ6 PJ6
459 #elif defined(PORTJ6) && !defined(PJ6)
460 # define PJ6 PORTJ6
461 #endif
462 #if defined(PJ7) && !defined(PORTJ7)
463 # define PORTJ7 PJ7
464 #elif defined(PORTJ7) && !defined(PJ7)
465 # define PJ7 PORTJ7
466 #endif
467 
468 /* PORT K */
469 
470 #if defined(PK0) && !defined(PORTK0)
471 # define PORTK0 PK0
472 #elif defined(PORTK0) && !defined(PK0)
473 # define PK0 PORTK0
474 #endif
475 #if defined(PK1) && !defined(PORTK1)
476 # define PORTK1 PK1
477 #elif defined(PORTK1) && !defined(PK1)
478 # define PK1 PORTK1
479 #endif
480 #if defined(PK2) && !defined(PORTK2)
481 # define PORTK2 PK2
482 #elif defined(PORTK2) && !defined(PK2)
483 # define PK2 PORTK2
484 #endif
485 #if defined(PK3) && !defined(PORTK3)
486 # define PORTK3 PK3
487 #elif defined(PORTK3) && !defined(PK3)
488 # define PK3 PORTK3
489 #endif
490 #if defined(PK4) && !defined(PORTK4)
491 # define PORTK4 PK4
492 #elif defined(PORTK4) && !defined(PK4)
493 # define PK4 PORTK4
494 #endif
495 #if defined(PK5) && !defined(PORTK5)
496 # define PORTK5 PK5
497 #elif defined(PORTK5) && !defined(PK5)
498 # define PK5 PORTK5
499 #endif
500 #if defined(PK6) && !defined(PORTK6)
501 # define PORTK6 PK6
502 #elif defined(PORTK6) && !defined(PK6)
503 # define PK6 PORTK6
504 #endif
505 #if defined(PK7) && !defined(PORTK7)
506 # define PORTK7 PK7
507 #elif defined(PORTK7) && !defined(PK7)
508 # define PK7 PORTK7
509 #endif
510 
511 /* PORT L */
512 
513 #if defined(PL0) && !defined(PORTL0)
514 # define PORTL0 PL0
515 #elif defined(PORTL0) && !defined(PL0)
516 # define PL0 PORTL0
517 #endif
518 #if defined(PL1) && !defined(PORTL1)
519 # define PORTL1 PL1
520 #elif defined(PORTL1) && !defined(PL1)
521 # define PL1 PORTL1
522 #endif
523 #if defined(PL2) && !defined(PORTL2)
524 # define PORTL2 PL2
525 #elif defined(PORTL2) && !defined(PL2)
526 # define PL2 PORTL2
527 #endif
528 #if defined(PL3) && !defined(PORTL3)
529 # define PORTL3 PL3
530 #elif defined(PORTL3) && !defined(PL3)
531 # define PL3 PORTL3
532 #endif
533 #if defined(PL4) && !defined(PORTL4)
534 # define PORTL4 PL4
535 #elif defined(PORTL4) && !defined(PL4)
536 # define PL4 PORTL4
537 #endif
538 #if defined(PL5) && !defined(PORTL5)
539 # define PORTL5 PL5
540 #elif defined(PORTL5) && !defined(PL5)
541 # define PL5 PORTL5
542 #endif
543 #if defined(PL6) && !defined(PORTL6)
544 # define PORTL6 PL6
545 #elif defined(PORTL6) && !defined(PL6)
546 # define PL6 PORTL6
547 #endif
548 #if defined(PL7) && !defined(PORTL7)
549 # define PORTL7 PL7
550 #elif defined(PORTL7) && !defined(PL7)
551 # define PL7 PORTL7
552 #endif
553 
554 #endif /* _AVR_PORTPINS_H_ */