RTEMS CPU Kit with SuperCore  4.11.3
iom64hve.h
Go to the documentation of this file.
1 
9 /*
10  * Copyright (c) 2009 Atmel Corporation
11  * All rights reserved.
12  *
13  * Redistribution and use in source and binary forms, with or without
14  * modification, are permitted provided that the following conditions are met:
15  *
16  * * Redistributions of source code must retain the above copyright
17  * notice, this list of conditions and the following disclaimer.
18  *
19  * * Redistributions in binary form must reproduce the above copyright
20  * notice, this list of conditions and the following disclaimer in
21  * the documentation and/or other materials provided with the
22  * distribution.
23  *
24  * * Neither the name of the copyright holders nor the names of
25  * contributors may be used to endorse or promote products derived
26  * from this software without specific prior written permission.
27  *
28  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
29  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
30  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
32  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
33  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
34  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
35  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
36  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38  * POSSIBILITY OF SUCH DAMAGE.
39  */
40 
41 #ifndef _AVR_IO_H_
42 # error "Include <avr/io.h> instead of this file."
43 #endif
44 
45 #ifndef _AVR_IOXXX_H_
46 # define _AVR_IOXXX_H_ "iom64hve.h"
47 #else
48 # error "Attempt to include more than one <avr/ioXXX.h> file."
49 #endif
50 
51 
52 #ifndef _AVR_ATmega64HVE_H_
53 #define _AVR_ATmega64HVE_H_ 1
54 
62 /* Registers and associated bit numbers. */
63 
64 #define PINA _SFR_IO8(0x00)
65 #define PINA0 0
66 #define PINA1 1
67 
68 #define DDRA _SFR_IO8(0x01)
69 #define DDA0 0
70 #define DDA1 1
71 
72 #define PORTA _SFR_IO8(0x02)
73 #define PORTA0 0
74 #define PORTA1 1
75 
76 #define PINB _SFR_IO8(0x03)
77 #define PINB0 0
78 #define PINB1 1
79 #define PINB2 2
80 #define PINB3 3
81 #define PINB4 4
82 #define PINB5 5
83 #define PINB6 6
84 #define PINB7 7
85 
86 #define DDRB _SFR_IO8(0x04)
87 #define DDB0 0
88 #define DDB1 1
89 #define DDB2 2
90 #define DDB3 3
91 #define DDB4 4
92 #define DDB5 5
93 #define DDB6 6
94 #define DDB7 7
95 
96 #define PORTB _SFR_IO8(0x05)
97 #define PORTB0 0
98 #define PORTB1 1
99 #define PORTB2 2
100 #define PORTB3 3
101 #define PORTB4 4
102 #define PORTB5 5
103 #define PORTB6 6
104 #define PORTB7 7
105 
106 #define TIFR0 _SFR_IO8(0x15)
107 #define TOV0 0
108 #define OCF0A 1
109 #define OCF0B 2
110 #define ICF0 3
111 
112 #define TIFR1 _SFR_IO8(0x16)
113 #define TOV1 0
114 #define OCF1A 1
115 #define OCF1B 2
116 #define ICF1 3
117 
118 #define PCIFR _SFR_IO8(0x1B)
119 #define PCIF0 0
120 #define PCIF1 1
121 
122 #define EIFR _SFR_IO8(0x1C)
123 #define INTF0 0
124 
125 #define EIMSK _SFR_IO8(0x1D)
126 #define INT0 0
127 
128 #define GPIOR0 _SFR_IO8(0x1E)
129 #define GPIOR00 0
130 #define GPIOR01 1
131 #define GPIOR02 2
132 #define GPIOR03 3
133 #define GPIOR04 4
134 #define GPIOR05 5
135 #define GPIOR06 6
136 #define GPIOR07 7
137 
138 #define EECR _SFR_IO8(0x1F)
139 #define EERE 0
140 #define EEPE 1
141 #define EEMPE 2
142 #define EERIE 3
143 #define EEPM0 4
144 #define EEPM1 5
145 
146 #define EEDR _SFR_IO8(0x20)
147 #define EEDR0 0
148 #define EEDR1 1
149 #define EEDR2 2
150 #define EEDR3 3
151 #define EEDR4 4
152 #define EEDR5 5
153 #define EEDR6 6
154 #define EEDR7 7
155 
156 #define EEAR _SFR_IO16(0x21)
157 
158 #define EEARL _SFR_IO8(0x21)
159 #define EEAR0 0
160 #define EEAR1 1
161 #define EEAR2 2
162 #define EEAR3 3
163 #define EEAR4 4
164 #define EEAR5 5
165 #define EEAR6 6
166 #define EEAR7 7
167 
168 #define EEARH _SFR_IO8(0x22)
169 #define EEAR8 0
170 #define EEAR9 1
171 
172 #define GTCCR _SFR_IO8(0x23)
173 #define PSRSYNC 0
174 #define TSM 7
175 
176 #define TCCR0A _SFR_IO8(0x24)
177 #define WGM00 0
178 #define ICS0 3
179 #define ICES0 4
180 #define ICNC0 5
181 #define ICEN0 6
182 #define TCW0 7
183 
184 #define TCCR0B _SFR_IO8(0x25)
185 #define CS00 0
186 #define CS01 1
187 #define CS02 2
188 
189 #define TCNT0 _SFR_IO16(0x26)
190 
191 #define TCNT0L _SFR_IO8(0x26)
192 #define TCNT0L0 0
193 #define TCNT0L1 1
194 #define TCNT0L2 2
195 #define TCNT0L3 3
196 #define TCNT0L4 4
197 #define TCNT0L5 5
198 #define TCNT0L6 6
199 #define TCNT0L7 7
200 
201 #define TCNT0H _SFR_IO8(0x27)
202 #define TCNT0H0 0
203 #define TCNT0H1 1
204 #define TCNT0H2 2
205 #define TCNT0H3 3
206 #define TCNT0H4 4
207 #define TCNT0H5 5
208 #define TCNT0H6 6
209 #define TCNT0H7 7
210 
211 #define OCR0A _SFR_IO8(0x28)
212 #define OCR0A0 0
213 #define OCR0A1 1
214 #define OCR0A2 2
215 #define OCR0A3 3
216 #define OCR0A4 4
217 #define OCR0A5 5
218 #define OCR0A6 6
219 #define OCR0A7 7
220 
221 #define OCR0B _SFR_IO8(0x29)
222 #define OCR0B0 0
223 #define OCR0B1 1
224 #define OCR0B2 2
225 #define OCR0B3 3
226 #define OCR0B4 4
227 #define OCR0B5 5
228 #define OCR0B6 6
229 #define OCR0B7 7
230 
231 #define GPIOR1 _SFR_IO8(0x2A)
232 #define GPIOR10 0
233 #define GPIOR11 1
234 #define GPIOR12 2
235 #define GPIOR13 3
236 #define GPIOR14 4
237 #define GPIOR15 5
238 #define GPIOR16 6
239 #define GPIOR17 7
240 
241 #define GPIOR2 _SFR_IO8(0x2B)
242 #define GPIOR20 0
243 #define GPIOR21 1
244 #define GPIOR22 2
245 #define GPIOR23 3
246 #define GPIOR24 4
247 #define GPIOR25 5
248 #define GPIOR26 6
249 #define GPIOR27 7
250 
251 #define SPCR _SFR_IO8(0x2C)
252 #define SPR0 0
253 #define SPR1 1
254 #define CPHA 2
255 #define CPOL 3
256 #define MSTR 4
257 #define DORD 5
258 #define SPE 6
259 #define SPIE 7
260 
261 #define SPSR _SFR_IO8(0x2D)
262 #define SPI2X 0
263 #define WCOL 6
264 #define SPIF 7
265 
266 #define SPDR _SFR_IO8(0x2E)
267 #define SPDR0 0
268 #define SPDR1 1
269 #define SPDR2 2
270 #define SPDR3 3
271 #define SPDR4 4
272 #define SPDR5 5
273 #define SPDR6 6
274 #define SPDR7 7
275 
276 #define TCCR0C _SFR_IO8(0x2F)
277 
278 #define OCDR _SFR_IO8(0x31)
279 
280 #define SMCR _SFR_IO8(0x33)
281 #define SE 0
282 #define SM0 1
283 #define SM1 2
284 #define SM2 3
285 
286 #define MCUSR _SFR_IO8(0x34)
287 #define PORF 0
288 #define EXTRF 1
289 #define BODRF 2
290 #define WDRF 3
291 #define OCDRF 4
292 
293 #define MCUCR _SFR_IO8(0x35)
294 #define IVCE 0
295 #define IVSEL 1
296 #define PUD 4
297 #define CKOE 5
298 
299 #define SPMCSR _SFR_IO8(0x37)
300 #define SPMEN 0
301 #define PGERS 1
302 #define PGWRT 2
303 #define LBSET 3
304 #define RWWSRE 4
305 #define SIGRD 5
306 #define RWWSB 6
307 #define SPMIE 7
308 
309 #define WDTCSR _SFR_MEM8(0x60)
310 #define WDP0 0
311 #define WDP1 1
312 #define WDP2 2
313 #define WDE 3
314 #define WDCE 4
315 #define WDP3 5
316 #define WDIE 6
317 #define WDIF 7
318 
319 #define CLKPR _SFR_MEM8(0x61)
320 #define CLKPS0 0
321 #define CLKPS1 1
322 #define CLKPCE 7
323 
324 #define WUTCSR _SFR_MEM8(0x62)
325 #define WUTP0 0
326 #define WUTP1 1
327 #define WUTP2 2
328 #define WUTE 3
329 #define WUTR 4
330 #define WUTIE 6
331 #define WUTIF 7
332 
333 #define WDTCLR _SFR_MEM8(0x63)
334 #define WDCLE 0
335 #define WDCL0 1
336 #define WDCL1 2
337 
338 #define PRR0 _SFR_MEM8(0x64)
339 #define PRTIM0 0
340 #define PRTIM1 1
341 #define PRSPI 2
342 #define PRLIN 3
343 
344 #define SOSCCALA _SFR_MEM8(0x66)
345 #define SCALA0 0
346 #define SCALA1 1
347 #define SCALA2 2
348 #define SCALA3 3
349 #define SCALA4 4
350 #define SCALA5 5
351 #define SCALA6 6
352 #define SCALA7 7
353 
354 #define SOSCCALB _SFR_MEM8(0x67)
355 #define SCALB0 0
356 #define SCALB1 1
357 #define SCALB2 2
358 #define SCALB3 3
359 #define SCALB4 4
360 #define SCALB5 5
361 #define SCALB6 6
362 #define SCALB7 7
363 
364 #define PCICR _SFR_MEM8(0x68)
365 #define PCIE0 0
366 #define PCIE1 1
367 
368 #define EICRA _SFR_MEM8(0x69)
369 #define ISC00 0
370 #define ISC01 1
371 
372 #define PCMSK0 _SFR_MEM8(0x6B)
373 #define PCINT0 0
374 #define PCINT1 1
375 
376 #define PCMSK1 _SFR_MEM8(0x6C)
377 #define PCINT2 0
378 #define PCINT3 1
379 #define PCINT4 2
380 #define PCINT5 3
381 #define PCINT6 4
382 #define PCINT7 5
383 #define PCINT8 6
384 #define PCINT9 7
385 
386 #define TIMSK0 _SFR_MEM8(0x6E)
387 #define TOIE0 0
388 #define OCIE0A 1
389 #define OCIE0B 2
390 #define ICIE0 3
391 
392 #define TIMSK1 _SFR_MEM8(0x6F)
393 #define TOIE1 0
394 #define OCIE1A 1
395 #define OCIE1B 2
396 #define ICIE1 3
397 
398 #define DIDR0 _SFR_MEM8(0x7E)
399 #define PA0DID 0
400 #define PA1DID 1
401 
402 #define TCCR1A _SFR_MEM8(0x80)
403 #define WGM10 0
404 #define ICS1 3
405 #define ICES1 4
406 #define ICNC1 5
407 #define ICEN1 6
408 #define TCW1 7
409 
410 #define TCCR1B _SFR_MEM8(0x81)
411 #define CS10 0
412 #define CS11 1
413 #define CS12 2
414 
415 #define TCCR1C _SFR_MEM8(0x82)
416 
417 #define TCNT1 _SFR_MEM16(0x84)
418 
419 #define TCNT1L _SFR_MEM8(0x84)
420 #define TCNT1L0 0
421 #define TCNT1L1 1
422 #define TCNT1L2 2
423 #define TCNT1L3 3
424 #define TCNT1L4 4
425 #define TCNT1L5 5
426 #define TCNT1L6 6
427 #define TCNT1L7 7
428 
429 #define TCNT1H _SFR_MEM8(0x85)
430 #define TCNT1H0 0
431 #define TCNT1H1 1
432 #define TCNT1H2 2
433 #define TCNT1H3 3
434 #define TCNT1H4 4
435 #define TCNT1H5 5
436 #define TCNT1H6 6
437 #define TCNT1H7 7
438 
439 #define OCR1A _SFR_MEM8(0x88)
440 #define OCR1A0 0
441 #define OCR1A1 1
442 #define OCR1A2 2
443 #define OCR1A3 3
444 #define OCR1A4 4
445 #define OCR1A5 5
446 #define OCR1A6 6
447 #define OCR1A7 7
448 
449 #define OCR1B _SFR_MEM8(0x89)
450 #define OCR1B0 0
451 #define OCR1B1 1
452 #define OCR1B2 2
453 #define OCR1B3 3
454 #define OCR1B4 4
455 #define OCR1B5 5
456 #define OCR1B6 6
457 #define OCR1B7 7
458 
459 #define LINCR _SFR_MEM8(0xC0)
460 #define LCMD0 0
461 #define LCMD1 1
462 #define LCMD2 2
463 #define LENA 3
464 #define LCONF0 4
465 #define LCONF1 5
466 #define LIN13 6
467 #define LSWRES 7
468 
469 #define LINSIR _SFR_MEM8(0xC1)
470 #define LRXOK 0
471 #define LTXOK 1
472 #define LIDOK 2
473 #define LERR 3
474 #define LBUSY 4
475 #define LIDST0 5
476 #define LIDST1 6
477 #define LIDST2 7
478 
479 #define LINENIR _SFR_MEM8(0xC2)
480 #define LENRXOK 0
481 #define LENTXOK 1
482 #define LENIDOK 2
483 #define LENERR 3
484 
485 #define LINERR _SFR_MEM8(0xC3)
486 #define LBERR 0
487 #define LCERR 1
488 #define LPERR 2
489 #define LSERR 3
490 #define LFERR 4
491 #define LOVERR 5
492 #define LTOERR 6
493 #define LABORT 7
494 
495 #define LINBTR _SFR_MEM8(0xC4)
496 #define LBT0 0
497 #define LBT1 1
498 #define LBT2 2
499 #define LBT3 3
500 #define LBT4 4
501 #define LBT5 5
502 #define LDISR 7
503 
504 #define LINBRR _SFR_MEM16(0xC5)
505 
506 #define LINBRRL _SFR_MEM8(0xC5)
507 #define LDIV0 0
508 #define LDIV1 1
509 #define LDIV2 2
510 #define LDIV3 3
511 #define LDIV4 4
512 #define LDIV5 5
513 #define LDIV6 6
514 #define LDIV7 7
515 
516 #define LINBRRH _SFR_MEM8(0xC6)
517 #define LDIV8 0
518 #define LDIV9 1
519 #define LDIV10 2
520 #define LDIV11 3
521 
522 #define LINDLR _SFR_MEM8(0xC7)
523 #define LRXDL0 0
524 #define LRXDL1 1
525 #define LRXDL2 2
526 #define LRXDL3 3
527 #define LTXDL0 4
528 #define LTXDL1 5
529 #define LTXDL2 6
530 #define LTXDL3 7
531 
532 #define LINIDR _SFR_MEM8(0xC8)
533 #define LID0 0
534 #define LID1 1
535 #define LID2 2
536 #define LID3 3
537 #define LID4 4
538 #define LID5 5
539 #define LP0 6
540 #define LP1 7
541 
542 #define LINSEL _SFR_MEM8(0xC9)
543 #define LINDX0 0
544 #define LINDX1 1
545 #define LINDX2 2
546 #define LAINC 3
547 
548 #define LINDAT _SFR_MEM8(0xCA)
549 #define LDATA0 0
550 #define LDATA1 1
551 #define LDATA2 2
552 #define LDATA3 3
553 #define LDATA4 4
554 #define LDATA5 5
555 #define LDATA6 6
556 #define LDATA7 7
557 
558 #define BGCSRA _SFR_MEM8(0xD1)
559 #define BGSC0 0
560 #define BGSC1 1
561 #define BGSC2 2
562 
563 #define BGCRB _SFR_MEM8(0xD2)
564 #define BGCL0 0
565 #define BGCL1 1
566 #define BGCL2 2
567 #define BGCL3 3
568 #define BGCL4 4
569 #define BGCL5 5
570 #define BGCL6 6
571 #define BGCL7 7
572 
573 #define BGCRA _SFR_MEM8(0xD3)
574 #define BGCN0 0
575 #define BGCN1 1
576 #define BGCN2 2
577 #define BGCN3 3
578 #define BGCN4 4
579 #define BGCN5 5
580 #define BGCN6 6
581 #define BGCN7 7
582 
583 #define BGLR _SFR_MEM8(0xD4)
584 #define BGPL 0
585 #define BGPLE 1
586 
587 #define PLLCSR _SFR_MEM8(0xD8)
588 #define PLLCIE 0
589 #define PLLCIF 1
590 #define LOCK 4
591 #define SWEN 5
592 
593 #define PBOV _SFR_MEM8(0xDC)
594 #define PBOE0 0
595 #define PBOE3 3
596 #define PBOVCE 7
597 
598 #define ADSCSRA _SFR_MEM8(0xE0)
599 #define SCMD0 0
600 #define SCMD1 1
601 #define SBSY 2
602 
603 #define ADSCSRB _SFR_MEM8(0xE1)
604 #define CADICRB 0
605 #define CADACRB 1
606 #define CADICPS 2
607 #define VADICRB 4
608 #define VADACRB 5
609 #define VADICPS 6
610 
611 #define ADCRA _SFR_MEM8(0xE2)
612 #define CKSEL 0
613 #define ADCMS0 1
614 #define ADCMS1 2
615 #define ADPSEL 3
616 
617 #define ADCRB _SFR_MEM8(0xE3)
618 #define ADADES0 0
619 #define ADADES1 1
620 #define ADADES2 2
621 #define ADIDES0 3
622 #define ADIDES1 4
623 
624 #define ADCRC _SFR_MEM8(0xE4)
625 #define CADRCT0 0
626 #define CADRCT1 1
627 #define CADRCT2 2
628 #define CADRCT3 3
629 #define CADRCM0 4
630 #define CADRCM1 5
631 #define CADEN 7
632 
633 #define ADCRD _SFR_MEM8(0xE5)
634 #define CADDSEL 0
635 #define CADPDM0 1
636 #define CADPDM1 2
637 #define CADG0 3
638 #define CADG1 4
639 #define CADG2 5
640 
641 #define ADCRE _SFR_MEM8(0xE6)
642 #define VADMUX0 0
643 #define VADMUX1 1
644 #define VADMUX2 2
645 #define VADPDM0 3
646 #define VADPDM1 4
647 #define VADREFS 5
648 #define VADEN 7
649 
650 #define ADIFR _SFR_MEM8(0xE7)
651 #define CADICIF 0
652 #define CADACIF 1
653 #define CADRCIF 2
654 #define VADICIF 4
655 #define VADACIF 5
656 
657 #define ADIMR _SFR_MEM8(0xE8)
658 #define CADICIE 0
659 #define CADACIE 1
660 #define CADRCIE 2
661 #define VADICIE 4
662 #define VADACIE 5
663 
664 #define CADRCL _SFR_MEM16(0xE9)
665 
666 #define CADRCLL _SFR_MEM8(0xE9)
667 #define CADRCL0 0
668 #define CADRCL1 1
669 #define CADRCL2 2
670 #define CADRCL3 3
671 #define CADRCL4 4
672 #define CADRCL5 5
673 #define CADRCL6 6
674 #define CADRCL7 7
675 
676 #define CADRCLH _SFR_MEM8(0xEA)
677 #define CADRCL8 0
678 #define CADRCL9 1
679 #define CADRCL10 2
680 #define CADRCL11 3
681 #define CADRCL12 4
682 #define CADRCL13 5
683 #define CADRCL14 6
684 #define CADRCL15 7
685 
686 #define CADIC _SFR_MEM16(0xEB)
687 
688 #define CADICL _SFR_MEM8(0xEB)
689 #define CADIC0 0
690 #define CADIC1 1
691 #define CADIC2 2
692 #define CADIC3 3
693 #define CADIC4 4
694 #define CADIC5 5
695 #define CADIC6 6
696 #define CADIC7 7
697 
698 #define CADICH _SFR_MEM8(0xEC)
699 #define CADIC8 0
700 #define CADIC9 1
701 #define CADIC10 2
702 #define CADIC11 3
703 #define CADIC12 4
704 #define CADIC13 5
705 #define CADIC14 6
706 #define CADIC15 7
707 
708 #define CADAC0 _SFR_MEM8(0xED)
709 #define CADAC00 0
710 #define CADAC01 1
711 #define CADAC02 2
712 #define CADAC03 3
713 #define CADAC04 4
714 #define CADAC05 5
715 #define CADAC06 6
716 #define CADAC07 7
717 
718 #define CADAC1 _SFR_MEM8(0xEE)
719 #define CADAC08 0
720 #define CADAC09 1
721 #define CADAC10 2
722 #define CADAC11 3
723 #define CADAC12 4
724 #define CADAC13 5
725 #define CADAC14 6
726 #define CADAC15 7
727 
728 #define CADAC2 _SFR_MEM8(0xEF)
729 #define CADAC16 0
730 #define CADAC17 1
731 #define CADAC18 2
732 #define CADAC19 3
733 #define CADAC20 4
734 #define CADAC21 5
735 #define CADAC22 6
736 #define CADAC23 7
737 
738 #define CADAC3 _SFR_MEM8(0xF0)
739 #define CADAC24 0
740 #define CADAC25 1
741 #define CADAC26 2
742 #define CADAC27 3
743 #define CADAC28 4
744 #define CADAC29 5
745 #define CADAC30 6
746 #define CADAC31 7
747 
748 #define VADIC _SFR_MEM16(0xF1)
749 
750 #define VADICL _SFR_MEM8(0xF1)
751 #define VADIC0 0
752 #define VADIC1 1
753 #define VADIC2 2
754 #define VADIC3 3
755 #define VADIC4 4
756 #define VADIC5 5
757 #define VADIC6 6
758 #define VADIC7 7
759 
760 #define VADICH _SFR_MEM8(0xF2)
761 #define VADIC8 0
762 #define VADIC9 1
763 #define VADIC10 2
764 #define VADIC11 3
765 #define VADIC12 4
766 #define VADIC13 5
767 #define VADIC14 6
768 #define VADIC15 7
769 
770 #define VADAC0 _SFR_MEM8(0xF3)
771 #define VADAC00 0
772 #define VADAC01 1
773 #define VADAC02 2
774 #define VADAC03 3
775 #define VADAC04 4
776 #define VADAC05 5
777 #define VADAC06 6
778 #define VADAC07 7
779 
780 #define VADAC1 _SFR_MEM8(0xF4)
781 #define VADAC08 0
782 #define VADAC09 1
783 #define VADAC10 2
784 #define VADAC11 3
785 #define VADAC12 4
786 #define VADAC13 5
787 #define VADAC14 6
788 #define VADAC15 7
789 
790 #define VADAC2 _SFR_MEM8(0xF5)
791 #define VADAC16 0
792 #define VADAC17 1
793 #define VADAC18 2
794 #define VADAC19 3
795 #define VADAC20 4
796 #define VADAC21 5
797 #define VADAC22 6
798 #define VADAC23 7
799 
800 #define VADAC3 _SFR_MEM8(0xF6)
801 #define VADAC24 0
802 #define VADAC25 1
803 #define VADAC26 2
804 #define VADAC27 3
805 #define VADAC28 4
806 #define VADAC29 5
807 #define VADAC30 6
808 #define VADAC31 7
809 
810 
811 /* Interrupt vectors */
812 /* Vector 0 is the reset vector */
813 #define INT0_vect_num 1
814 #define INT0_vect _VECTOR(1) /* External Interrupt 0 */
815 #define PCINT0_vect_num 2
816 #define PCINT0_vect _VECTOR(2) /* Pin Change Interrupt 0 */
817 #define PCINT1_vect_num 3
818 #define PCINT1_vect _VECTOR(3) /* Pin Change Interrupt 1 */
819 #define WDT_vect_num 4
820 #define WDT_vect _VECTOR(4) /* Watchdog Timeout Interrupt */
821 #define WAKEUP_vect_num 5
822 #define WAKEUP_vect _VECTOR(5) /* Wakeup Timer Overflow */
823 #define TIMER1_IC_vect_num 6
824 #define TIMER1_IC_vect _VECTOR(6) /* Timer 1 Input capture */
825 #define TIMER1_COMPA_vect_num 7
826 #define TIMER1_COMPA_vect _VECTOR(7) /* Timer 1 Compare Match A */
827 #define TIMER1_COMPB_vect_num 8
828 #define TIMER1_COMPB_vect _VECTOR(8) /* Timer 1 Compare Match B */
829 #define TIMER1_OVF_vect_num 9
830 #define TIMER1_OVF_vect _VECTOR(9) /* Timer 1 overflow */
831 #define TIMER0_IC_vect_num 10
832 #define TIMER0_IC_vect _VECTOR(10) /* Timer 0 Input Capture */
833 #define TIMER0_COMPA_vect_num 11
834 #define TIMER0_COMPA_vect _VECTOR(11) /* Timer 0 Comapre Match A */
835 #define TIMER0_COMPB_vect_num 12
836 #define TIMER0_COMPB_vect _VECTOR(12) /* Timer 0 Compare Match B */
837 #define TIMER0_OVF_vect_num 13
838 #define TIMER0_OVF_vect _VECTOR(13) /* Timer 0 Overflow */
839 #define LIN_STATUS_vect_num 14
840 #define LIN_STATUS_vect _VECTOR(14) /* LIN Status Interrupt */
841 #define LIN_ERROR_vect_num 15
842 #define LIN_ERROR_vect _VECTOR(15) /* LIN Error Interrupt */
843 #define SPI_STC_vect_num 16
844 #define SPI_STC_vect _VECTOR(16) /* SPI Serial transfer complete */
845 #define VADC_CONV_vect_num 17
846 #define VADC_CONV_vect _VECTOR(17) /* Voltage ADC Instantaneous Conversion Complete */
847 #define VADC_ACC_vect_num 18
848 #define VADC_ACC_vect _VECTOR(18) /* Voltage ADC Accumulated Conversion Complete */
849 #define CADC_CONV_vect_num 19
850 #define CADC_CONV_vect _VECTOR(19) /* C-ADC Instantaneous Conversion Complete */
851 #define CADC_REG_CUR_vect_num 20
852 #define CADC_REG_CUR_vect _VECTOR(20) /* C-ADC Regular Current */
853 #define CADC_ACC_vect_num 21
854 #define CADC_ACC_vect _VECTOR(21) /* C-ADC Accumulated Conversion Complete */
855 #define EE_READY_vect_num 22
856 #define EE_READY_vect _VECTOR(22) /* EEPROM Ready */
857 #define SPM_vect_num 23
858 #define SPM_vect _VECTOR(23) /* SPM Ready */
859 #define PLL_vect_num 24
860 #define PLL_vect _VECTOR(24) /* PLL Lock Change Interrupt */
861 
862 #define _VECTOR_SIZE 4 /* Size of individual vector. */
863 #define _VECTORS_SIZE (25 * _VECTOR_SIZE)
864 
865 
866 /* Constants */
867 #define SPM_PAGESIZE (128)
868 #define RAMSTART (0x100)
869 #define RAMSIZE (4096)
870 #define RAMEND (RAMSTART + RAMSIZE - 1)
871 #define XRAMSTART (NA)
872 #define XRAMSIZE (NA)
873 #define XRAMEND (RAMEND)
874 #define E2END (0x3FF)
875 #define E2PAGESIZE (4)
876 #define FLASHEND (0xFFFF)
877 
878 
879 /* Fuses */
880 #define FUSE_MEMORY_SIZE 2
881 
882 /* Low Fuse Byte */
883 #define FUSE_OSCSEL0 (unsigned char)~_BV(0) /* Oscillator Select */
884 #define FUSE_SUT0 (unsigned char)~_BV(1) /* Select start-up time */
885 #define FUSE_SUT1 (unsigned char)~_BV(2) /* Select start-up time */
886 #define FUSE_CKDIV8 (unsigned char)~_BV(3) /* Divide clock by 8 */
887 #define FUSE_BODEN (unsigned char)~_BV(4) /* Enable BOD */
888 #define FUSE_SPIEN (unsigned char)~_BV(5) /* Enable Serial programming and Data Downloading */
889 #define FUSE_EESAVE (unsigned char)~_BV(6) /* EEPROM memory is preserved through chip erase */
890 #define FUSE_WDTON (unsigned char)~_BV(7) /* Watchdog Timer Always On */
891 #define LFUSE_DEFAULT (FUSE_SPIEN & FUSE_CKDIV8 & FUSE_OSCSEL0)
892 
893 /* High Fuse Byte */
894 #define FUSE_BOOTRST (unsigned char)~_BV(0) /* Select Reset Vector */
895 #define FUSE_BOOTSZ0 (unsigned char)~_BV(1) /* Select Boot Size */
896 #define FUSE_BOOTSZ1 (unsigned char)~_BV(2) /* Select Boot Size */
897 #define FUSE_DWEN (unsigned char)~_BV(3) /* Enable debugWire */
898 #define HFUSE_DEFAULT (FUSE_BOOTSZ1 & FUSE_BOOTSZ0)
899 
900 
901 /* Lock Bits */
902 #define __LOCK_BITS_EXIST
903 #define __BOOT_LOCK_BITS_0_EXIST
904 #define __BOOT_LOCK_BITS_1_EXIST
905 
906 
907 /* Signature */
908 #define SIGNATURE_0 0x1E
909 #define SIGNATURE_1 0x96
910 #define SIGNATURE_2 0x10
911 
912 
913 /* Device Pin Definitions */
914 #define PV2_DDR DDRV
915 #define PV2_PORT PORTV
916 #define PV2_PIN PINV
917 #define PV2_BIT 2
918 
919 #define PV1_DDR DDRV
920 #define PV1_PORT PORTV
921 #define PV1_PIN PINV
922 #define PV1_BIT 1
923 
924 #define NV_DDR DDRNV
925 #define NV_PORT PORTNV
926 #define NV_PIN PINNV
927 #define NV_BIT NV
928 
929 #define VFET_DDR DDRVFET
930 #define VFET_PORT PORTVFET
931 #define VFET_PIN PINVFET
932 #define VFET_BIT VFET
933 
934 #define CF1P_DDR DDRCF1P
935 #define CF1P_PORT PORTCF1P
936 #define CF1P_PIN PINCF1P
937 #define CF1P_BIT CF1P
938 
939 #define CF1N_DDR DDRCF1N
940 #define CF1N_PORT PORTCF1N
941 #define CF1N_PIN PINCF1N
942 #define CF1N_BIT CF1N
943 
944 #define CF2P_DDR DDRCF2P
945 #define CF2P_PORT PORTCF2P
946 #define CF2P_PIN PINCF2P
947 #define CF2P_BIT CF2P
948 
949 #define CF2N_DDR DDRCF2N
950 #define CF2N_PORT PORTCF2N
951 #define CF2N_PIN PINCF2N
952 #define CF2N_BIT CF2N
953 
954 #define VREG_DDR DDRVREG
955 #define VREG_PORT PORTVREG
956 #define VREG_PIN PINVREG
957 #define VREG_BIT VREG
958 
959 #define VREF_DDR DDRVREF
960 #define VREF_PORT PORTVREF
961 #define VREF_PIN PINVREF
962 #define VREF_BIT VREF
963 
964 #define VREFGND_DDR DDRVREFGND
965 #define VREFGND_PORT PORTVREFGND
966 #define VREFGND_PIN PINVREFGND
967 #define VREFGND_BIT VREFGND
968 
969 #define PI_DDR DDRI
970 #define PI_PORT PORTI
971 #define PI_PIN PINI
972 #define PI_BIT
973 
974 #define NI_DDR DDRNI
975 #define NI_PORT PORTNI
976 #define NI_PIN PINNI
977 #define NI_BIT NI
978 
979 #define PA0_DDR DDRA
980 #define PA0_PORT PORTA
981 #define PA0_PIN PINA
982 #define PA0_BIT 0
983 
984 #define PA1_DDR DDRA
985 #define PA1_PORT PORTA
986 #define PA1_PIN PINA
987 #define PA1_BIT 1
988 
989 #define PA2_DDR DDRA
990 #define PA2_PORT PORTA
991 #define PA2_PIN PINA
992 #define PA2_BIT 2
993 
994 #define PB0_DDR DDRB
995 #define PB0_PORT PORTB
996 #define PB0_PIN PINB
997 #define PB0_BIT 0
998 
999 #define PB1_DDR DDRB
1000 #define PB1_PORT PORTB
1001 #define PB1_PIN PINB
1002 #define PB1_BIT 1
1003 
1004 #define PB2_DDR DDRB
1005 #define PB2_PORT PORTB
1006 #define PB2_PIN PINB
1007 #define PB2_BIT 2
1008 
1009 #define PB3_DDR DDRB
1010 #define PB3_PORT PORTB
1011 #define PB3_PIN PINB
1012 #define PB3_BIT 3
1013 
1014 #define PC0_DDR DDRC
1015 #define PC0_PORT PORTC
1016 #define PC0_PIN PINC
1017 #define PC0_BIT 0
1018 
1019 #define BATT_DDR DDRBATT
1020 #define BATT_PORT PORTBATT
1021 #define BATT_PIN PINBATT
1022 #define BATT_BIT BATT
1023 
1024 #define OC_DDR DDROC
1025 #define OC_PORT PORTOC
1026 #define OC_PIN PINOC
1027 #define OC_BIT OC
1028 
1030 #endif /* _AVR_ATmega64HVE_H_ */