oa 2010
[aversive.git] / include / aversive / parts / ATmega88P.h
1 /*  
2  *  Copyright Droids Corporation, Microb Technology, Eirbot (2009)
3  * 
4  *  This program is free software; you can redistribute it and/or modify
5  *  it under the terms of the GNU General Public License as published by
6  *  the Free Software Foundation; either version 2 of the License, or
7  *  (at your option) any later version.
8  *
9  *  This program is distributed in the hope that it will be useful,
10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  *  GNU General Public License for more details.
13  *
14  *  You should have received a copy of the GNU General Public License
15  *  along with this program; if not, write to the Free Software
16  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  *
18  *  Revision : $Id $
19  *
20  */
21
22 /* WARNING : this file is automatically generated by scripts.
23  * You should not edit it. If you find something wrong in it,
24  * write to zer0@droids-corp.org */
25
26
27 /* prescalers timer 0 */
28 #define TIMER0_PRESCALER_DIV_0          0
29 #define TIMER0_PRESCALER_DIV_1          1
30 #define TIMER0_PRESCALER_DIV_8          2
31 #define TIMER0_PRESCALER_DIV_64         3
32 #define TIMER0_PRESCALER_DIV_256        4
33 #define TIMER0_PRESCALER_DIV_1024       5
34 #define TIMER0_PRESCALER_DIV_FALL       6
35 #define TIMER0_PRESCALER_DIV_RISE       7
36
37 #define TIMER0_PRESCALER_REG_0          0
38 #define TIMER0_PRESCALER_REG_1          1
39 #define TIMER0_PRESCALER_REG_2          8
40 #define TIMER0_PRESCALER_REG_3          64
41 #define TIMER0_PRESCALER_REG_4          256
42 #define TIMER0_PRESCALER_REG_5          1024
43 #define TIMER0_PRESCALER_REG_6          -1
44 #define TIMER0_PRESCALER_REG_7          -2
45
46 /* prescalers timer 1 */
47 #define TIMER1_PRESCALER_DIV_0          0
48 #define TIMER1_PRESCALER_DIV_1          1
49 #define TIMER1_PRESCALER_DIV_8          2
50 #define TIMER1_PRESCALER_DIV_64         3
51 #define TIMER1_PRESCALER_DIV_256        4
52 #define TIMER1_PRESCALER_DIV_1024       5
53 #define TIMER1_PRESCALER_DIV_FALL       6
54 #define TIMER1_PRESCALER_DIV_RISE       7
55
56 #define TIMER1_PRESCALER_REG_0          0
57 #define TIMER1_PRESCALER_REG_1          1
58 #define TIMER1_PRESCALER_REG_2          8
59 #define TIMER1_PRESCALER_REG_3          64
60 #define TIMER1_PRESCALER_REG_4          256
61 #define TIMER1_PRESCALER_REG_5          1024
62 #define TIMER1_PRESCALER_REG_6          -1
63 #define TIMER1_PRESCALER_REG_7          -2
64
65 /* prescalers timer 2 */
66 #define TIMER2_PRESCALER_DIV_0          0
67 #define TIMER2_PRESCALER_DIV_1          1
68 #define TIMER2_PRESCALER_DIV_8          2
69 #define TIMER2_PRESCALER_DIV_32         3
70 #define TIMER2_PRESCALER_DIV_64         4
71 #define TIMER2_PRESCALER_DIV_128        5
72 #define TIMER2_PRESCALER_DIV_256        6
73 #define TIMER2_PRESCALER_DIV_1024       7
74
75 #define TIMER2_PRESCALER_REG_0          0
76 #define TIMER2_PRESCALER_REG_1          1
77 #define TIMER2_PRESCALER_REG_2          8
78 #define TIMER2_PRESCALER_REG_3          32
79 #define TIMER2_PRESCALER_REG_4          64
80 #define TIMER2_PRESCALER_REG_5          128
81 #define TIMER2_PRESCALER_REG_6          256
82 #define TIMER2_PRESCALER_REG_7          1024
83
84
85 /* available timers */
86 #define TIMER0_AVAILABLE
87 #define TIMER0A_AVAILABLE
88 #define TIMER0B_AVAILABLE
89 #define TIMER1_AVAILABLE
90 #define TIMER1A_AVAILABLE
91 #define TIMER1B_AVAILABLE
92 #define TIMER2_AVAILABLE
93 #define TIMER2A_AVAILABLE
94 #define TIMER2B_AVAILABLE
95
96 /* overflow interrupt number */
97 #define SIG_OVERFLOW0_NUM 0
98 #define SIG_OVERFLOW1_NUM 1
99 #define SIG_OVERFLOW2_NUM 2
100 #define SIG_OVERFLOW_TOTAL_NUM 3
101
102 /* output compare interrupt number */
103 #define SIG_OUTPUT_COMPARE0A_NUM 0
104 #define SIG_OUTPUT_COMPARE0B_NUM 1
105 #define SIG_OUTPUT_COMPARE1A_NUM 2
106 #define SIG_OUTPUT_COMPARE1B_NUM 3
107 #define SIG_OUTPUT_COMPARE2A_NUM 4
108 #define SIG_OUTPUT_COMPARE2B_NUM 5
109 #define SIG_OUTPUT_COMPARE_TOTAL_NUM 6
110
111 /* Pwm nums */
112 #define PWM0A_NUM 0
113 #define PWM0B_NUM 1
114 #define PWM1A_NUM 2
115 #define PWM1B_NUM 3
116 #define PWM2A_NUM 4
117 #define PWM2B_NUM 5
118 #define PWM_TOTAL_NUM 6
119
120 /* input capture interrupt number */
121 #define SIG_INPUT_CAPTURE1_NUM 0
122 #define SIG_INPUT_CAPTURE_TOTAL_NUM 1
123
124
125 /* ADMUX */
126 #define MUX0_REG             ADMUX
127 #define MUX1_REG             ADMUX
128 #define MUX2_REG             ADMUX
129 #define MUX3_REG             ADMUX
130 #define ADLAR_REG            ADMUX
131 #define REFS0_REG            ADMUX
132 #define REFS1_REG            ADMUX
133
134 /* WDTCSR */
135 #define WDP0_REG             WDTCSR
136 #define WDP1_REG             WDTCSR
137 #define WDP2_REG             WDTCSR
138 #define WDE_REG              WDTCSR
139 #define WDCE_REG             WDTCSR
140 #define WDP3_REG             WDTCSR
141 #define WDIE_REG             WDTCSR
142 #define WDIF_REG             WDTCSR
143
144 /* EEDR */
145 #define EEDR0_REG            EEDR
146 #define EEDR1_REG            EEDR
147 #define EEDR2_REG            EEDR
148 #define EEDR3_REG            EEDR
149 #define EEDR4_REG            EEDR
150 #define EEDR5_REG            EEDR
151 #define EEDR6_REG            EEDR
152 #define EEDR7_REG            EEDR
153
154 /* ACSR */
155 #define ACIS0_REG            ACSR
156 #define ACIS1_REG            ACSR
157 #define ACIC_REG             ACSR
158 #define ACIE_REG             ACSR
159 #define ACI_REG              ACSR
160 #define ACO_REG              ACSR
161 #define ACBG_REG             ACSR
162 #define ACD_REG              ACSR
163
164 /* OCR2B */
165 #define OCR2B_0_REG          OCR2B
166 #define OCR2B_1_REG          OCR2B
167 #define OCR2B_2_REG          OCR2B
168 #define OCR2B_3_REG          OCR2B
169 #define OCR2B_4_REG          OCR2B
170 #define OCR2B_5_REG          OCR2B
171 #define OCR2B_6_REG          OCR2B
172 #define OCR2B_7_REG          OCR2B
173
174 /* OCR2A */
175 #define OCR2A_0_REG          OCR2A
176 #define OCR2A_1_REG          OCR2A
177 #define OCR2A_2_REG          OCR2A
178 #define OCR2A_3_REG          OCR2A
179 #define OCR2A_4_REG          OCR2A
180 #define OCR2A_5_REG          OCR2A
181 #define OCR2A_6_REG          OCR2A
182 #define OCR2A_7_REG          OCR2A
183
184 /* SPDR */
185 #define SPDR0_REG            SPDR
186 #define SPDR1_REG            SPDR
187 #define SPDR2_REG            SPDR
188 #define SPDR3_REG            SPDR
189 #define SPDR4_REG            SPDR
190 #define SPDR5_REG            SPDR
191 #define SPDR6_REG            SPDR
192 #define SPDR7_REG            SPDR
193
194 /* SPSR */
195 #define SPI2X_REG            SPSR
196 #define WCOL_REG             SPSR
197 #define SPIF_REG             SPSR
198
199 /* SPH */
200 #define SP8_REG              SPH
201 #define SP9_REG              SPH
202 #define SP10_REG             SPH
203
204 /* ICR1L */
205 #define ICR1L0_REG           ICR1L
206 #define ICR1L1_REG           ICR1L
207 #define ICR1L2_REG           ICR1L
208 #define ICR1L3_REG           ICR1L
209 #define ICR1L4_REG           ICR1L
210 #define ICR1L5_REG           ICR1L
211 #define ICR1L6_REG           ICR1L
212 #define ICR1L7_REG           ICR1L
213
214 /* PRR */
215 #define PRADC_REG            PRR
216 #define PRUSART0_REG         PRR
217 #define PRSPI_REG            PRR
218 #define PRTIM1_REG           PRR
219 #define PRTIM0_REG           PRR
220 #define PRTIM2_REG           PRR
221 #define PRTWI_REG            PRR
222
223 /* TWSR */
224 #define TWPS0_REG            TWSR
225 #define TWPS1_REG            TWSR
226 #define TWS3_REG             TWSR
227 #define TWS4_REG             TWSR
228 #define TWS5_REG             TWSR
229 #define TWS6_REG             TWSR
230 #define TWS7_REG             TWSR
231
232 /* UCSR0A */
233 #define MPCM0_REG            UCSR0A
234 #define U2X0_REG             UCSR0A
235 #define UPE0_REG             UCSR0A
236 #define DOR0_REG             UCSR0A
237 #define FE0_REG              UCSR0A
238 #define UDRE0_REG            UCSR0A
239 #define TXC0_REG             UCSR0A
240 #define RXC0_REG             UCSR0A
241
242 /* PORTD */
243 #define PORTD0_REG           PORTD
244 #define PORTD1_REG           PORTD
245 #define PORTD2_REG           PORTD
246 #define PORTD3_REG           PORTD
247 #define PORTD4_REG           PORTD
248 #define PORTD5_REG           PORTD
249 #define PORTD6_REG           PORTD
250 #define PORTD7_REG           PORTD
251
252 /* UCSR0B */
253 #define TXB80_REG            UCSR0B
254 #define RXB80_REG            UCSR0B
255 #define UCSZ02_REG           UCSR0B
256 #define TXEN0_REG            UCSR0B
257 #define RXEN0_REG            UCSR0B
258 #define UDRIE0_REG           UCSR0B
259 #define TXCIE0_REG           UCSR0B
260 #define RXCIE0_REG           UCSR0B
261
262 /* PORTB */
263 #define PORTB0_REG           PORTB
264 #define PORTB1_REG           PORTB
265 #define PORTB2_REG           PORTB
266 #define PORTB3_REG           PORTB
267 #define PORTB4_REG           PORTB
268 #define PORTB5_REG           PORTB
269 #define PORTB6_REG           PORTB
270 #define PORTB7_REG           PORTB
271
272 /* PORTC */
273 #define PORTC0_REG           PORTC
274 #define PORTC1_REG           PORTC
275 #define PORTC2_REG           PORTC
276 #define PORTC3_REG           PORTC
277 #define PORTC4_REG           PORTC
278 #define PORTC5_REG           PORTC
279 #define PORTC6_REG           PORTC
280
281 /* UDR0 */
282 #define UDR0_0_REG           UDR0
283 #define UDR0_1_REG           UDR0
284 #define UDR0_2_REG           UDR0
285 #define UDR0_3_REG           UDR0
286 #define UDR0_4_REG           UDR0
287 #define UDR0_5_REG           UDR0
288 #define UDR0_6_REG           UDR0
289 #define UDR0_7_REG           UDR0
290
291 /* EICRA */
292 #define ISC00_REG            EICRA
293 #define ISC01_REG            EICRA
294 #define ISC10_REG            EICRA
295 #define ISC11_REG            EICRA
296
297 /* DIDR0 */
298 #define ADC0D_REG            DIDR0
299 #define ADC1D_REG            DIDR0
300 #define ADC2D_REG            DIDR0
301 #define ADC3D_REG            DIDR0
302 #define ADC4D_REG            DIDR0
303 #define ADC5D_REG            DIDR0
304
305 /* DIDR1 */
306 #define AIN0D_REG            DIDR1
307 #define AIN1D_REG            DIDR1
308
309 /* ASSR */
310 #define TCR2BUB_REG          ASSR
311 #define TCR2AUB_REG          ASSR
312 #define OCR2BUB_REG          ASSR
313 #define OCR2AUB_REG          ASSR
314 #define TCN2UB_REG           ASSR
315 #define AS2_REG              ASSR
316 #define EXCLK_REG            ASSR
317
318 /* CLKPR */
319 #define CLKPS0_REG           CLKPR
320 #define CLKPS1_REG           CLKPR
321 #define CLKPS2_REG           CLKPR
322 #define CLKPS3_REG           CLKPR
323 #define CLKPCE_REG           CLKPR
324
325 /* SREG */
326 #define C_REG                SREG
327 #define Z_REG                SREG
328 #define N_REG                SREG
329 #define V_REG                SREG
330 #define S_REG                SREG
331 #define H_REG                SREG
332 #define T_REG                SREG
333 #define I_REG                SREG
334
335 /* DDRB */
336 #define DDB0_REG             DDRB
337 #define DDB1_REG             DDRB
338 #define DDB2_REG             DDRB
339 #define DDB3_REG             DDRB
340 #define DDB4_REG             DDRB
341 #define DDB5_REG             DDRB
342 #define DDB6_REG             DDRB
343 #define DDB7_REG             DDRB
344
345 /* DDRC */
346 #define DDC0_REG             DDRC
347 #define DDC1_REG             DDRC
348 #define DDC2_REG             DDRC
349 #define DDC3_REG             DDRC
350 #define DDC4_REG             DDRC
351 #define DDC5_REG             DDRC
352 #define DDC6_REG             DDRC
353
354 /* TCCR1A */
355 #define WGM10_REG            TCCR1A
356 #define WGM11_REG            TCCR1A
357 #define COM1B0_REG           TCCR1A
358 #define COM1B1_REG           TCCR1A
359 #define COM1A0_REG           TCCR1A
360 #define COM1A1_REG           TCCR1A
361
362 /* TCCR1C */
363 #define FOC1B_REG            TCCR1C
364 #define FOC1A_REG            TCCR1C
365
366 /* TCCR1B */
367 #define CS10_REG             TCCR1B
368 #define CS11_REG             TCCR1B
369 #define CS12_REG             TCCR1B
370 #define WGM12_REG            TCCR1B
371 #define WGM13_REG            TCCR1B
372 #define ICES1_REG            TCCR1B
373 #define ICNC1_REG            TCCR1B
374
375 /* OSCCAL */
376 #define CAL0_REG             OSCCAL
377 #define CAL1_REG             OSCCAL
378 #define CAL2_REG             OSCCAL
379 #define CAL3_REG             OSCCAL
380 #define CAL4_REG             OSCCAL
381 #define CAL5_REG             OSCCAL
382 #define CAL6_REG             OSCCAL
383 #define CAL7_REG             OSCCAL
384
385 /* GPIOR1 */
386 #define GPIOR10_REG          GPIOR1
387 #define GPIOR11_REG          GPIOR1
388 #define GPIOR12_REG          GPIOR1
389 #define GPIOR13_REG          GPIOR1
390 #define GPIOR14_REG          GPIOR1
391 #define GPIOR15_REG          GPIOR1
392 #define GPIOR16_REG          GPIOR1
393 #define GPIOR17_REG          GPIOR1
394
395 /* GPIOR0 */
396 #define GPIOR00_REG          GPIOR0
397 #define GPIOR01_REG          GPIOR0
398 #define GPIOR02_REG          GPIOR0
399 #define GPIOR03_REG          GPIOR0
400 #define GPIOR04_REG          GPIOR0
401 #define GPIOR05_REG          GPIOR0
402 #define GPIOR06_REG          GPIOR0
403 #define GPIOR07_REG          GPIOR0
404
405 /* GPIOR2 */
406 #define GPIOR20_REG          GPIOR2
407 #define GPIOR21_REG          GPIOR2
408 #define GPIOR22_REG          GPIOR2
409 #define GPIOR23_REG          GPIOR2
410 #define GPIOR24_REG          GPIOR2
411 #define GPIOR25_REG          GPIOR2
412 #define GPIOR26_REG          GPIOR2
413 #define GPIOR27_REG          GPIOR2
414
415 /* PCICR */
416 #define PCIE0_REG            PCICR
417 #define PCIE1_REG            PCICR
418 #define PCIE2_REG            PCICR
419
420 /* TCNT2 */
421 #define TCNT2_0_REG          TCNT2
422 #define TCNT2_1_REG          TCNT2
423 #define TCNT2_2_REG          TCNT2
424 #define TCNT2_3_REG          TCNT2
425 #define TCNT2_4_REG          TCNT2
426 #define TCNT2_5_REG          TCNT2
427 #define TCNT2_6_REG          TCNT2
428 #define TCNT2_7_REG          TCNT2
429
430 /* TCNT0 */
431 #define TCNT0_0_REG          TCNT0
432 #define TCNT0_1_REG          TCNT0
433 #define TCNT0_2_REG          TCNT0
434 #define TCNT0_3_REG          TCNT0
435 #define TCNT0_4_REG          TCNT0
436 #define TCNT0_5_REG          TCNT0
437 #define TCNT0_6_REG          TCNT0
438 #define TCNT0_7_REG          TCNT0
439
440 /* TWAR */
441 #define TWGCE_REG            TWAR
442 #define TWA0_REG             TWAR
443 #define TWA1_REG             TWAR
444 #define TWA2_REG             TWAR
445 #define TWA3_REG             TWAR
446 #define TWA4_REG             TWAR
447 #define TWA5_REG             TWAR
448 #define TWA6_REG             TWAR
449
450 /* TCCR0B */
451 #define CS00_REG             TCCR0B
452 #define CS01_REG             TCCR0B
453 #define CS02_REG             TCCR0B
454 #define WGM02_REG            TCCR0B
455 #define FOC0B_REG            TCCR0B
456 #define FOC0A_REG            TCCR0B
457
458 /* TCCR0A */
459 #define WGM00_REG            TCCR0A
460 #define WGM01_REG            TCCR0A
461 #define COM0B0_REG           TCCR0A
462 #define COM0B1_REG           TCCR0A
463 #define COM0A0_REG           TCCR0A
464 #define COM0A1_REG           TCCR0A
465
466 /* TIFR2 */
467 #define TOV2_REG             TIFR2
468 #define OCF2A_REG            TIFR2
469 #define OCF2B_REG            TIFR2
470
471 /* TIFR0 */
472 #define TOV0_REG             TIFR0
473 #define OCF0A_REG            TIFR0
474 #define OCF0B_REG            TIFR0
475
476 /* TIFR1 */
477 #define TOV1_REG             TIFR1
478 #define OCF1A_REG            TIFR1
479 #define OCF1B_REG            TIFR1
480 #define ICF1_REG             TIFR1
481
482 /* GTCCR */
483 #define PSRSYNC_REG          GTCCR
484 #define TSM_REG              GTCCR
485 #define PSRASY_REG           GTCCR
486
487 /* TWBR */
488 #define TWBR0_REG            TWBR
489 #define TWBR1_REG            TWBR
490 #define TWBR2_REG            TWBR
491 #define TWBR3_REG            TWBR
492 #define TWBR4_REG            TWBR
493 #define TWBR5_REG            TWBR
494 #define TWBR6_REG            TWBR
495 #define TWBR7_REG            TWBR
496
497 /* ICR1H */
498 #define ICR1H0_REG           ICR1H
499 #define ICR1H1_REG           ICR1H
500 #define ICR1H2_REG           ICR1H
501 #define ICR1H3_REG           ICR1H
502 #define ICR1H4_REG           ICR1H
503 #define ICR1H5_REG           ICR1H
504 #define ICR1H6_REG           ICR1H
505 #define ICR1H7_REG           ICR1H
506
507 /* OCR1BL */
508 #define OCR1BL0_REG          OCR1BL
509 #define OCR1BL1_REG          OCR1BL
510 #define OCR1BL2_REG          OCR1BL
511 #define OCR1BL3_REG          OCR1BL
512 #define OCR1BL4_REG          OCR1BL
513 #define OCR1BL5_REG          OCR1BL
514 #define OCR1BL6_REG          OCR1BL
515 #define OCR1BL7_REG          OCR1BL
516
517 /* PCIFR */
518 #define PCIF0_REG            PCIFR
519 #define PCIF1_REG            PCIFR
520 #define PCIF2_REG            PCIFR
521
522 /* SPL */
523 #define SP0_REG              SPL
524 #define SP1_REG              SPL
525 #define SP2_REG              SPL
526 #define SP3_REG              SPL
527 #define SP4_REG              SPL
528 #define SP5_REG              SPL
529 #define SP6_REG              SPL
530 #define SP7_REG              SPL
531
532 /* OCR1BH */
533 #define OCR1BH0_REG          OCR1BH
534 #define OCR1BH1_REG          OCR1BH
535 #define OCR1BH2_REG          OCR1BH
536 #define OCR1BH3_REG          OCR1BH
537 #define OCR1BH4_REG          OCR1BH
538 #define OCR1BH5_REG          OCR1BH
539 #define OCR1BH6_REG          OCR1BH
540 #define OCR1BH7_REG          OCR1BH
541
542 /* EECR */
543 #define EERE_REG             EECR
544 #define EEPE_REG             EECR
545 #define EEMPE_REG            EECR
546 #define EERIE_REG            EECR
547 #define EEPM0_REG            EECR
548 #define EEPM1_REG            EECR
549
550 /* SMCR */
551 #define SE_REG               SMCR
552 #define SM0_REG              SMCR
553 #define SM1_REG              SMCR
554 #define SM2_REG              SMCR
555
556 /* TWCR */
557 #define TWIE_REG             TWCR
558 #define TWEN_REG             TWCR
559 #define TWWC_REG             TWCR
560 #define TWSTO_REG            TWCR
561 #define TWSTA_REG            TWCR
562 #define TWEA_REG             TWCR
563 #define TWINT_REG            TWCR
564
565 /* TCCR2A */
566 #define WGM20_REG            TCCR2A
567 #define WGM21_REG            TCCR2A
568 #define COM2B0_REG           TCCR2A
569 #define COM2B1_REG           TCCR2A
570 #define COM2A0_REG           TCCR2A
571 #define COM2A1_REG           TCCR2A
572
573 /* TCCR2B */
574 #define CS20_REG             TCCR2B
575 #define CS21_REG             TCCR2B
576 #define CS22_REG             TCCR2B
577 #define WGM22_REG            TCCR2B
578 #define FOC2B_REG            TCCR2B
579 #define FOC2A_REG            TCCR2B
580
581 /* UBRR0H */
582 #define UBRR8_REG            UBRR0H
583 #define UBRR9_REG            UBRR0H
584 #define UBRR10_REG           UBRR0H
585 #define UBRR11_REG           UBRR0H
586
587 /* UBRR0L */
588 #define UBRR0_REG            UBRR0L
589 #define UBRR1_REG            UBRR0L
590 #define UBRR2_REG            UBRR0L
591 #define UBRR3_REG            UBRR0L
592 #define UBRR4_REG            UBRR0L
593 #define UBRR5_REG            UBRR0L
594 #define UBRR6_REG            UBRR0L
595 #define UBRR7_REG            UBRR0L
596
597 /* EEARH */
598 #define EEAR8_REG            EEARH
599
600 /* EEARL */
601 #define EEAR0_REG            EEARL
602 #define EEAR1_REG            EEARL
603 #define EEAR2_REG            EEARL
604 #define EEAR3_REG            EEARL
605 #define EEAR4_REG            EEARL
606 #define EEAR5_REG            EEARL
607 #define EEAR6_REG            EEARL
608 #define EEAR7_REG            EEARL
609
610 /* MCUCR */
611 #define IVCE_REG             MCUCR
612 #define IVSEL_REG            MCUCR
613 #define PUD_REG              MCUCR
614 #define BODSE_REG            MCUCR
615 #define BODS_REG             MCUCR
616
617 /* MCUSR */
618 #define PORF_REG             MCUSR
619 #define EXTRF_REG            MCUSR
620 #define BORF_REG             MCUSR
621 #define WDRF_REG             MCUSR
622
623 /* TWDR */
624 #define TWD0_REG             TWDR
625 #define TWD1_REG             TWDR
626 #define TWD2_REG             TWDR
627 #define TWD3_REG             TWDR
628 #define TWD4_REG             TWDR
629 #define TWD5_REG             TWDR
630 #define TWD6_REG             TWDR
631 #define TWD7_REG             TWDR
632
633 /* OCR1AH */
634 #define OCR1AH0_REG          OCR1AH
635 #define OCR1AH1_REG          OCR1AH
636 #define OCR1AH2_REG          OCR1AH
637 #define OCR1AH3_REG          OCR1AH
638 #define OCR1AH4_REG          OCR1AH
639 #define OCR1AH5_REG          OCR1AH
640 #define OCR1AH6_REG          OCR1AH
641 #define OCR1AH7_REG          OCR1AH
642
643 /* ADCSRA */
644 #define ADPS0_REG            ADCSRA
645 #define ADPS1_REG            ADCSRA
646 #define ADPS2_REG            ADCSRA
647 #define ADIE_REG             ADCSRA
648 #define ADIF_REG             ADCSRA
649 #define ADATE_REG            ADCSRA
650 #define ADSC_REG             ADCSRA
651 #define ADEN_REG             ADCSRA
652
653 /* ADCSRB */
654 #define ADTS0_REG            ADCSRB
655 #define ADTS1_REG            ADCSRB
656 #define ADTS2_REG            ADCSRB
657 #define ACME_REG             ADCSRB
658
659 /* OCR0A */
660 #define OCROA_0_REG          OCR0A
661 #define OCROA_1_REG          OCR0A
662 #define OCROA_2_REG          OCR0A
663 #define OCROA_3_REG          OCR0A
664 #define OCROA_4_REG          OCR0A
665 #define OCROA_5_REG          OCR0A
666 #define OCROA_6_REG          OCR0A
667 #define OCROA_7_REG          OCR0A
668
669 /* OCR0B */
670 #define OCR0B_0_REG          OCR0B
671 #define OCR0B_1_REG          OCR0B
672 #define OCR0B_2_REG          OCR0B
673 #define OCR0B_3_REG          OCR0B
674 #define OCR0B_4_REG          OCR0B
675 #define OCR0B_5_REG          OCR0B
676 #define OCR0B_6_REG          OCR0B
677 #define OCR0B_7_REG          OCR0B
678
679 /* TCNT1L */
680 #define TCNT1L0_REG          TCNT1L
681 #define TCNT1L1_REG          TCNT1L
682 #define TCNT1L2_REG          TCNT1L
683 #define TCNT1L3_REG          TCNT1L
684 #define TCNT1L4_REG          TCNT1L
685 #define TCNT1L5_REG          TCNT1L
686 #define TCNT1L6_REG          TCNT1L
687 #define TCNT1L7_REG          TCNT1L
688
689 /* DDRD */
690 #define DDD0_REG             DDRD
691 #define DDD1_REG             DDRD
692 #define DDD2_REG             DDRD
693 #define DDD3_REG             DDRD
694 #define DDD4_REG             DDRD
695 #define DDD5_REG             DDRD
696 #define DDD6_REG             DDRD
697 #define DDD7_REG             DDRD
698
699 /* UCSR0C */
700 #define UCPOL0_REG           UCSR0C
701 #define UCSZ00_REG           UCSR0C
702 #define UCSZ01_REG           UCSR0C
703 #define USBS0_REG            UCSR0C
704 #define UPM00_REG            UCSR0C
705 #define UPM01_REG            UCSR0C
706 #define UMSEL00_REG          UCSR0C
707 #define UMSEL01_REG          UCSR0C
708
709 /* SPMCSR */
710 #define SELFPRGEN_REG        SPMCSR
711 #define PGERS_REG            SPMCSR
712 #define PGWRT_REG            SPMCSR
713 #define BLBSET_REG           SPMCSR
714 #define RWWSRE_REG           SPMCSR
715 #define RWWSB_REG            SPMCSR
716 #define SPMIE_REG            SPMCSR
717
718 /* TCNT1H */
719 #define TCNT1H0_REG          TCNT1H
720 #define TCNT1H1_REG          TCNT1H
721 #define TCNT1H2_REG          TCNT1H
722 #define TCNT1H3_REG          TCNT1H
723 #define TCNT1H4_REG          TCNT1H
724 #define TCNT1H5_REG          TCNT1H
725 #define TCNT1H6_REG          TCNT1H
726 #define TCNT1H7_REG          TCNT1H
727
728 /* ADCL */
729 #define ADCL0_REG            ADCL
730 #define ADCL1_REG            ADCL
731 #define ADCL2_REG            ADCL
732 #define ADCL3_REG            ADCL
733 #define ADCL4_REG            ADCL
734 #define ADCL5_REG            ADCL
735 #define ADCL6_REG            ADCL
736 #define ADCL7_REG            ADCL
737
738 /* ADCH */
739 #define ADCH0_REG            ADCH
740 #define ADCH1_REG            ADCH
741 #define ADCH2_REG            ADCH
742 #define ADCH3_REG            ADCH
743 #define ADCH4_REG            ADCH
744 #define ADCH5_REG            ADCH
745 #define ADCH6_REG            ADCH
746 #define ADCH7_REG            ADCH
747
748 /* TIMSK2 */
749 #define TOIE2_REG            TIMSK2
750 #define OCIE2A_REG           TIMSK2
751 #define OCIE2B_REG           TIMSK2
752
753 /* EIMSK */
754 #define INT0_REG             EIMSK
755 #define INT1_REG             EIMSK
756
757 /* TIMSK0 */
758 #define TOIE0_REG            TIMSK0
759 #define OCIE0A_REG           TIMSK0
760 #define OCIE0B_REG           TIMSK0
761
762 /* TIMSK1 */
763 #define TOIE1_REG            TIMSK1
764 #define OCIE1A_REG           TIMSK1
765 #define OCIE1B_REG           TIMSK1
766 #define ICIE1_REG            TIMSK1
767
768 /* PCMSK0 */
769 #define PCINT0_REG           PCMSK0
770 #define PCINT1_REG           PCMSK0
771 #define PCINT2_REG           PCMSK0
772 #define PCINT3_REG           PCMSK0
773 #define PCINT4_REG           PCMSK0
774 #define PCINT5_REG           PCMSK0
775 #define PCINT6_REG           PCMSK0
776 #define PCINT7_REG           PCMSK0
777
778 /* PCMSK1 */
779 #define PCINT8_REG           PCMSK1
780 #define PCINT9_REG           PCMSK1
781 #define PCINT10_REG          PCMSK1
782 #define PCINT11_REG          PCMSK1
783 #define PCINT12_REG          PCMSK1
784 #define PCINT13_REG          PCMSK1
785 #define PCINT14_REG          PCMSK1
786
787 /* PCMSK2 */
788 #define PCINT16_REG          PCMSK2
789 #define PCINT17_REG          PCMSK2
790 #define PCINT18_REG          PCMSK2
791 #define PCINT19_REG          PCMSK2
792 #define PCINT20_REG          PCMSK2
793 #define PCINT21_REG          PCMSK2
794 #define PCINT22_REG          PCMSK2
795 #define PCINT23_REG          PCMSK2
796
797 /* PINC */
798 #define PINC0_REG            PINC
799 #define PINC1_REG            PINC
800 #define PINC2_REG            PINC
801 #define PINC3_REG            PINC
802 #define PINC4_REG            PINC
803 #define PINC5_REG            PINC
804 #define PINC6_REG            PINC
805
806 /* PINB */
807 #define PINB0_REG            PINB
808 #define PINB1_REG            PINB
809 #define PINB2_REG            PINB
810 #define PINB3_REG            PINB
811 #define PINB4_REG            PINB
812 #define PINB5_REG            PINB
813 #define PINB6_REG            PINB
814 #define PINB7_REG            PINB
815
816 /* EIFR */
817 #define INTF0_REG            EIFR
818 #define INTF1_REG            EIFR
819
820 /* PIND */
821 #define PIND0_REG            PIND
822 #define PIND1_REG            PIND
823 #define PIND2_REG            PIND
824 #define PIND3_REG            PIND
825 #define PIND4_REG            PIND
826 #define PIND5_REG            PIND
827 #define PIND6_REG            PIND
828 #define PIND7_REG            PIND
829
830 /* TWAMR */
831 #define TWAM0_REG            TWAMR
832 #define TWAM1_REG            TWAMR
833 #define TWAM2_REG            TWAMR
834 #define TWAM3_REG            TWAMR
835 #define TWAM4_REG            TWAMR
836 #define TWAM5_REG            TWAMR
837 #define TWAM6_REG            TWAMR
838
839 /* OCR1AL */
840 #define OCR1AL0_REG          OCR1AL
841 #define OCR1AL1_REG          OCR1AL
842 #define OCR1AL2_REG          OCR1AL
843 #define OCR1AL3_REG          OCR1AL
844 #define OCR1AL4_REG          OCR1AL
845 #define OCR1AL5_REG          OCR1AL
846 #define OCR1AL6_REG          OCR1AL
847 #define OCR1AL7_REG          OCR1AL
848
849 /* SPCR */
850 #define SPR0_REG             SPCR
851 #define SPR1_REG             SPCR
852 #define CPHA_REG             SPCR
853 #define CPOL_REG             SPCR
854 #define MSTR_REG             SPCR
855 #define DORD_REG             SPCR
856 #define SPE_REG              SPCR
857 #define SPIE_REG             SPCR
858
859 /* pins mapping */
860 #define ICP1_PORT PORTB
861 #define ICP1_BIT 0
862 #define CLKO_PORT PORTB
863 #define CLKO_BIT 0
864 #define PCINT0_PORT PORTB
865 #define PCINT0_BIT 0
866
867 #define OC1A_PORT PORTB
868 #define OC1A_BIT 1
869 #define PCINT1_PORT PORTB
870 #define PCINT1_BIT 1
871
872 #define SS_PORT PORTB
873 #define SS_BIT 2
874 #define OC1B_PORT PORTB
875 #define OC1B_BIT 2
876 #define PCINT2_PORT PORTB
877 #define PCINT2_BIT 2
878
879 #define MOSI_PORT PORTB
880 #define MOSI_BIT 3
881 #define OC2A_PORT PORTB
882 #define OC2A_BIT 3
883 #define PCINT3_PORT PORTB
884 #define PCINT3_BIT 3
885
886 #define MISO_PORT PORTB
887 #define MISO_BIT 4
888 #define PCINT4_PORT PORTB
889 #define PCINT4_BIT 4
890
891 #define SCK_PORT PORTB
892 #define SCK_BIT 5
893 #define PCINT5_PORT PORTB
894 #define PCINT5_BIT 5
895
896 #define XTAL1_PORT PORTB
897 #define XTAL1_BIT 6
898 #define TOSC1_PORT PORTB
899 #define TOSC1_BIT 6
900 #define PCINT6_PORT PORTB
901 #define PCINT6_BIT 6
902
903 #define XTAL2_PORT PORTB
904 #define XTAL2_BIT 7
905 #define TOSC2_PORT PORTB
906 #define TOSC2_BIT 7
907 #define PCINT7_PORT PORTB
908 #define PCINT7_BIT 7
909
910 #define ADC0_PORT PORTC
911 #define ADC0_BIT 0
912 #define PCINT8_PORT PORTC
913 #define PCINT8_BIT 0
914
915 #define ADC1_PORT PORTC
916 #define ADC1_BIT 1
917 #define PCINT9_PORT PORTC
918 #define PCINT9_BIT 1
919
920 #define ADC2_PORT PORTC
921 #define ADC2_BIT 2
922 #define PCINT10_PORT PORTC
923 #define PCINT10_BIT 2
924
925 #define ADC3_PORT PORTC
926 #define ADC3_BIT 3
927 #define PCINT11_PORT PORTC
928 #define PCINT11_BIT 3
929
930 #define ADC4_PORT PORTC
931 #define ADC4_BIT 4
932 #define SDA_PORT PORTC
933 #define SDA_BIT 4
934 #define PCINT12_PORT PORTC
935 #define PCINT12_BIT 4
936
937 #define ADC5_PORT PORTC
938 #define ADC5_BIT 5
939 #define SCL_PORT PORTC
940 #define SCL_BIT 5
941 #define PCINT13_PORT PORTC
942 #define PCINT13_BIT 5
943
944 #define RESET_PORT PORTC
945 #define RESET_BIT 6
946 #define PCINT14_PORT PORTC
947 #define PCINT14_BIT 6
948
949 #define RXD_PORT PORTD
950 #define RXD_BIT 0
951 #define PCINT16_PORT PORTD
952 #define PCINT16_BIT 0
953
954 #define TXD_PORT PORTD
955 #define TXD_BIT 1
956 #define PCINT17_PORT PORTD
957 #define PCINT17_BIT 1
958
959 #define INT0_PORT PORTD
960 #define INT0_BIT 2
961 #define PCINT18_PORT PORTD
962 #define PCINT18_BIT 2
963
964 #define PCINT19_PORT PORTD
965 #define PCINT19_BIT 3
966 #define OC2B_PORT PORTD
967 #define OC2B_BIT 3
968 #define INT1_PORT PORTD
969 #define INT1_BIT 3
970
971 #define XCK_PORT PORTD
972 #define XCK_BIT 4
973 #define T0_PORT PORTD
974 #define T0_BIT 4
975 #define PCINT20_PORT PORTD
976 #define PCINT20_BIT 4
977
978 #define T1_PORT PORTD
979 #define T1_BIT 5
980 #define OC0B_PORT PORTD
981 #define OC0B_BIT 5
982 #define PCINT21_PORT PORTD
983 #define PCINT21_BIT 5
984
985 #define AIN0_PORT PORTD
986 #define AIN0_BIT 6
987 #define OC0A_PORT PORTD
988 #define OC0A_BIT 6
989 #define PCINT22_PORT PORTD
990 #define PCINT22_BIT 6
991
992 #define AIN1_PORT PORTD
993 #define AIN1_BIT 7
994 #define PCINT23_PORT PORTD
995 #define PCINT23_BIT 7
996
997