* device/include/pic16/pic18f*.h: add bit aliases in INTCONbits_t
[fw/sdcc] / device / include / pic16 / pic18f8520.h
1
2 /*
3  * pic18f8520.h - PIC18F8520 Device Library Header
4  *
5  * This file is part of the GNU PIC Library.
6  *
7  * January, 2004
8  * The GNU PIC Library is maintained by,
9  *      Vangelis Rokas <vrokas@otenet.gr>
10  *
11  * $Id$
12  *
13  */
14
15 #ifndef __PIC18F8520_H__
16 #define __PIC18F8520_H__
17
18 extern __sfr __at (0xf6b) RCSTA2;
19 typedef union {
20         struct {
21                 unsigned RX9D:1;
22                 unsigned OERR:1;
23                 unsigned FERR:1;
24                 unsigned ADDEN:1;
25                 unsigned CREN:1;
26                 unsigned SREN:1;
27                 unsigned RX9:1;
28                 unsigned SPEN:1;
29         };
30 } __RCSTA2bits_t;
31
32 extern volatile __RCSTA2bits_t __at (0xf6b) RCSTA2bits;
33
34 extern __sfr __at (0xf6c) TXSTA2;
35 typedef union {
36         struct {
37                 unsigned TX9D:1;
38                 unsigned TRMT:1;
39                 unsigned BRGH:1;
40                 unsigned :1;
41                 unsigned SYNC:1;
42                 unsigned TXEN:1;
43                 unsigned TX9:1;
44                 unsigned CSRC:1;
45         };
46 } __TXSTA2bits_t;
47
48 extern volatile __TXSTA2bits_t __at (0xf6c) TXSTA2bits;
49
50 extern __sfr __at (0xf6d) TXREG2;
51 extern __sfr __at (0xf6e) RCREG2;
52 extern __sfr __at (0xf6f) SPBRG2;
53 extern __sfr __at (0xf70) CCP5CON;
54 typedef union {
55         struct {
56                 unsigned CCP5M0:1;
57                 unsigned CCP5M1:1;
58                 unsigned CCP5M2:1;
59                 unsigned CCP5M3:1;
60                 unsigned DCCP5Y:1;
61                 unsigned DCCP5X:1;
62                 unsigned :1;
63                 unsigned :1;
64         };
65 } __CCP5CONbits_t;
66
67 extern volatile __CCP5CONbits_t __at (0xf70) CCP5CONbits;
68
69 extern __sfr __at (0xf71) CCPR5L;
70 extern __sfr __at (0xf72) CCPR5H;
71 extern __sfr __at (0xf73) CCP4CON;
72 typedef union {
73         struct {
74                 unsigned CCP4M0:1;
75                 unsigned CCP4M1:1;
76                 unsigned CCP4M2:1;
77                 unsigned CCP4M3:1;
78                 unsigned DCCP4Y:1;
79                 unsigned DCCP4X:1;
80                 unsigned :1;
81                 unsigned :1;
82         };
83 } __CCP4CONbits_t;
84
85 extern volatile __CCP4CONbits_t __at (0xf73) CCP4CONbits;
86
87 extern __sfr __at (0xf74) CCPR4L;
88 extern __sfr __at (0xf75) CCPR4H;
89 extern __sfr __at (0xf76) T4CON;
90 typedef union {
91         struct {
92                 unsigned T2CKPS0:1;
93                 unsigned T2CKPS1:1;
94                 unsigned TMR2ON:1;
95                 unsigned TOUTPS0:1;
96                 unsigned TOUTPS1:1;
97                 unsigned TOUTPS2:1;
98                 unsigned TOUTPS3:1;
99                 unsigned :1;
100         };
101 } __T4CONbits_t;
102
103 extern volatile __T4CONbits_t __at (0xf76) T4CONbits;
104
105 extern __sfr __at (0xf77) PR4;
106 extern __sfr __at (0xf78) TMR4;
107 extern __sfr __at (0xf80) PORTA;
108 typedef union {
109         struct {
110                 unsigned RA0:1;
111                 unsigned RA1:1;
112                 unsigned RA2:1;
113                 unsigned RA3:1;
114                 unsigned RA4:1;
115                 unsigned RA5:1;
116                 unsigned RA6:1;
117                 unsigned :1;
118         };
119
120         struct {
121                 unsigned AN0:1;
122                 unsigned AN1:1;
123                 unsigned AN2:1;
124                 unsigned AN3:1;
125                 unsigned :1;
126                 unsigned AN4:1;
127                 unsigned OSC2:1;
128                 unsigned :1;
129         };
130
131         struct {
132                 unsigned :1;
133                 unsigned :1;
134                 unsigned VREFM:1;
135                 unsigned VREFP:1;
136                 unsigned T0CKI:1;
137                 unsigned SS:1;
138                 unsigned CLK0:1;
139                 unsigned :1;
140         };
141
142         struct {
143                 unsigned :1;
144                 unsigned :1;
145                 unsigned :1;
146                 unsigned :1;
147                 unsigned :1;
148                 unsigned LVDIN:1;
149                 unsigned :1;
150                 unsigned :1;
151         };
152 } __PORTAbits_t;
153
154 extern volatile __PORTAbits_t __at (0xf80) PORTAbits;
155
156 extern __sfr __at (0xf81) PORTB;
157 typedef union {
158         struct {
159                 unsigned RB0:1;
160                 unsigned RB1:1;
161                 unsigned RB2:1;
162                 unsigned RB3:1;
163                 unsigned RB4:1;
164                 unsigned RB5:1;
165                 unsigned RB6:1;
166                 unsigned RB7:1;
167         };
168
169         struct {
170                 unsigned INT0:1;
171                 unsigned INT1:1;
172                 unsigned INT2:1;
173                 unsigned INT3:1;
174                 unsigned :1;
175                 unsigned :1;
176                 unsigned :1;
177                 unsigned :1;
178         };
179 } __PORTBbits_t;
180
181 extern volatile __PORTBbits_t __at (0xf81) PORTBbits;
182
183 extern __sfr __at (0xf82) PORTC;
184 typedef union {
185         struct {
186                 unsigned RC0:1;
187                 unsigned RC1:1;
188                 unsigned RC2:1;
189                 unsigned RC3:1;
190                 unsigned RC4:1;
191                 unsigned RC5:1;
192                 unsigned RC6:1;
193                 unsigned RC7:1;
194         };
195
196         struct {
197                 unsigned T1OSO:1;
198                 unsigned T1OSI:1;
199                 unsigned :1;
200                 unsigned SCK:1;
201                 unsigned SDI:1;
202                 unsigned SDO:1;
203                 unsigned TX:1;
204                 unsigned RX:1;
205         };
206
207         struct {
208                 unsigned T1CKI:1;
209                 unsigned CCP2:1;
210                 unsigned CCP1:1;
211                 unsigned SCL:1;
212                 unsigned SDA:1;
213                 unsigned :1;
214                 unsigned CK:1;
215                 unsigned DT:1;
216         };
217 } __PORTCbits_t;
218
219 extern volatile __PORTCbits_t __at (0xf82) PORTCbits;
220
221 extern __sfr __at (0xf83) PORTD;
222 typedef union {
223         struct {
224                 unsigned RD0:1;
225                 unsigned RD1:1;
226                 unsigned RD2:1;
227                 unsigned RD3:1;
228                 unsigned RD4:1;
229                 unsigned RD5:1;
230                 unsigned RD6:1;
231                 unsigned RD7:1;
232         };
233
234         struct {
235                 unsigned AD0:1;
236                 unsigned AD1:1;
237                 unsigned AD2:1;
238                 unsigned AD3:1;
239                 unsigned AD4:1;
240                 unsigned AD5:1;
241                 unsigned AD6:1;
242                 unsigned AD7:1;
243         };
244 } __PORTDbits_t;
245
246 extern volatile __PORTDbits_t __at (0xf83) PORTDbits;
247
248 extern __sfr __at (0xf84) PORTE;
249 typedef union {
250         struct {
251                 unsigned RE0:1;
252                 unsigned RE1:1;
253                 unsigned RE2:1;
254                 unsigned RE3:1;
255                 unsigned RE4:1;
256                 unsigned RE5:1;
257                 unsigned RE6:1;
258                 unsigned RE7:1;
259         };
260
261         struct {
262                 unsigned ALE:1;
263                 unsigned OE:1;
264                 unsigned WRL:1;
265                 unsigned WRH:1;
266                 unsigned :1;
267                 unsigned :1;
268                 unsigned :1;
269                 unsigned CCP2:1;
270         };
271
272         struct {
273                 unsigned AN5:1;
274                 unsigned :1;
275                 unsigned :1;
276                 unsigned :1;
277                 unsigned :1;
278                 unsigned :1;
279                 unsigned :1;
280                 unsigned :1;
281         };
282 } __PORTEbits_t;
283
284 extern volatile __PORTEbits_t __at (0xf84) PORTEbits;
285
286 extern __sfr __at (0xf85) PORTF;
287 typedef union {
288         struct {
289                 unsigned RF0:1;
290                 unsigned RF1:1;
291                 unsigned RF2:1;
292                 unsigned RF3:1;
293                 unsigned RF4:1;
294                 unsigned RF5:1;
295                 unsigned RF6:1;
296                 unsigned RF7:1;
297         };
298 } __PORTFbits_t;
299
300 extern volatile __PORTFbits_t __at (0xf85) PORTFbits;
301
302 extern __sfr __at (0xf86) PORTG;
303 typedef union {
304         struct {
305                 unsigned RG0:1;
306                 unsigned RG1:1;
307                 unsigned RG2:1;
308                 unsigned RG3:1;
309                 unsigned RG4:1;
310                 unsigned :1;
311                 unsigned :1;
312                 unsigned :1;
313         };
314 } __PORTGbits_t;
315
316 extern volatile __PORTGbits_t __at (0xf86) PORTGbits;
317
318 extern __sfr __at (0xf87) PORTH;
319 typedef union {
320         struct {
321                 unsigned RH0:1;
322                 unsigned RH1:1;
323                 unsigned RH2:1;
324                 unsigned RH3:1;
325                 unsigned RH4:1;
326                 unsigned RH5:1;
327                 unsigned RH6:1;
328                 unsigned RH7:1;
329         };
330 } __PORTHbits_t;
331
332 extern volatile __PORTHbits_t __at (0xf87) PORTHbits;
333
334 extern __sfr __at (0xf88) PORTJ;
335 typedef union {
336         struct {
337                 unsigned RJ0:1;
338                 unsigned RJ1:1;
339                 unsigned RJ2:1;
340                 unsigned RJ3:1;
341                 unsigned RJ4:1;
342                 unsigned RJ5:1;
343                 unsigned RJ6:1;
344                 unsigned RJ7:1;
345         };
346 } __PORTJbits_t;
347
348 extern volatile __PORTJbits_t __at (0xf88) PORTJbits;
349
350 extern __sfr __at (0xf89) LATA;
351 typedef union {
352         struct {
353                 unsigned LATA0:1;
354                 unsigned LATA1:1;
355                 unsigned LATA2:1;
356                 unsigned LATA3:1;
357                 unsigned LATA4:1;
358                 unsigned LATA5:1;
359                 unsigned LATA6:1;
360                 unsigned :1;
361         };
362 } __LATAbits_t;
363
364 extern volatile __LATAbits_t __at (0xf89) LATAbits;
365
366 extern __sfr __at (0xf8a) LATB;
367 typedef union {
368         struct {
369                 unsigned LATB0:1;
370                 unsigned LATB1:1;
371                 unsigned LATB2:1;
372                 unsigned LATB3:1;
373                 unsigned LATB4:1;
374                 unsigned LATB5:1;
375                 unsigned LATB6:1;
376                 unsigned LATB7:1;
377         };
378 } __LATBbits_t;
379
380 extern volatile __LATBbits_t __at (0xf8a) LATBbits;
381
382 extern __sfr __at (0xf8b) LATC;
383 typedef union {
384         struct {
385                 unsigned LATC0:1;
386                 unsigned LATC1:1;
387                 unsigned LATC2:1;
388                 unsigned LATC3:1;
389                 unsigned LATC4:1;
390                 unsigned LATC5:1;
391                 unsigned LATC6:1;
392                 unsigned LATC7:1;
393         };
394 } __LATCbits_t;
395
396 extern volatile __LATCbits_t __at (0xf8b) LATCbits;
397
398 extern __sfr __at (0xf8c) LATD;
399 typedef union {
400         struct {
401                 unsigned LATD0:1;
402                 unsigned LATD1:1;
403                 unsigned LATD2:1;
404                 unsigned LATD3:1;
405                 unsigned LATD4:1;
406                 unsigned LATD5:1;
407                 unsigned LATD6:1;
408                 unsigned LATD7:1;
409         };
410 } __LATDbits_t;
411
412 extern volatile __LATDbits_t __at (0xf8c) LATDbits;
413
414 extern __sfr __at (0xf8d) LATE;
415 typedef union {
416         struct {
417                 unsigned LATE0:1;
418                 unsigned LATE1:1;
419                 unsigned LATE2:1;
420                 unsigned LATE3:1;
421                 unsigned LATE4:1;
422                 unsigned LATE5:1;
423                 unsigned LATE6:1;
424                 unsigned LATE7:1;
425         };
426 } __LATEbits_t;
427
428 extern volatile __LATEbits_t __at (0xf8d) LATEbits;
429
430 extern __sfr __at (0xf8e) LATF;
431 typedef union {
432         struct {
433                 unsigned LATF0:1;
434                 unsigned LATF1:1;
435                 unsigned LATF2:1;
436                 unsigned LATF3:1;
437                 unsigned LATF4:1;
438                 unsigned LATF5:1;
439                 unsigned LATF6:1;
440                 unsigned LATF7:1;
441         };
442 } __LATFbits_t;
443
444 extern volatile __LATFbits_t __at (0xf8e) LATFbits;
445
446 extern __sfr __at (0xf8f) LATG;
447 typedef union {
448         struct {
449                 unsigned LATG0:1;
450                 unsigned LATG1:1;
451                 unsigned LATG2:1;
452                 unsigned LATG3:1;
453                 unsigned LATG4:1;
454                 unsigned :1;
455                 unsigned :1;
456                 unsigned :1;
457         };
458 } __LATGbits_t;
459
460 extern volatile __LATGbits_t __at (0xf8f) LATGbits;
461
462 extern __sfr __at (0xf90) LATH;
463 typedef union {
464         struct {
465                 unsigned LATH0:1;
466                 unsigned LATH1:1;
467                 unsigned LATH2:1;
468                 unsigned LATH3:1;
469                 unsigned LATH4:1;
470                 unsigned LATH5:1;
471                 unsigned LATH6:1;
472                 unsigned LATH7:1;
473         };
474 } __LATHbits_t;
475
476 extern volatile __LATHbits_t __at (0xf90) LATHbits;
477
478 extern __sfr __at (0xf91) LATJ;
479 typedef union {
480         struct {
481                 unsigned LATJ0:1;
482                 unsigned LATJ1:1;
483                 unsigned LATJ2:1;
484                 unsigned LATJ3:1;
485                 unsigned LATJ4:1;
486                 unsigned LATJ5:1;
487                 unsigned LATJ6:1;
488                 unsigned LATJ7:1;
489         };
490 } __LATJbits_t;
491
492 extern volatile __LATJbits_t __at (0xf91) LATJbits;
493
494 extern __sfr __at (0xf92) TRISA;
495 typedef union {
496         struct {
497                 unsigned TRISA0:1;
498                 unsigned TRISA1:1;
499                 unsigned TRISA2:1;
500                 unsigned TRISA3:1;
501                 unsigned TRISA4:1;
502                 unsigned TRISA5:1;
503                 unsigned TRISA6:1;
504                 unsigned :1;
505         };
506 } __TRISAbits_t;
507
508 extern volatile __TRISAbits_t __at (0xf92) TRISAbits;
509
510 extern __sfr __at (0xf93) TRISB;
511 typedef union {
512         struct {
513                 unsigned TRISB0:1;
514                 unsigned TRISB1:1;
515                 unsigned TRISB2:1;
516                 unsigned TRISB3:1;
517                 unsigned TRISB4:1;
518                 unsigned TRISB5:1;
519                 unsigned TRISB6:1;
520                 unsigned TRISB7:1;
521         };
522 } __TRISBbits_t;
523
524 extern volatile __TRISBbits_t __at (0xf93) TRISBbits;
525
526 extern __sfr __at (0xf94) TRISC;
527 typedef union {
528         struct {
529                 unsigned TRISC0:1;
530                 unsigned TRISC1:1;
531                 unsigned TRISC2:1;
532                 unsigned TRISC3:1;
533                 unsigned TRISC4:1;
534                 unsigned TRISC5:1;
535                 unsigned TRISC6:1;
536                 unsigned TRISC7:1;
537         };
538 } __TRISCbits_t;
539
540 extern volatile __TRISCbits_t __at (0xf94) TRISCbits;
541
542 extern __sfr __at (0xf95) TRISD;
543 typedef union {
544         struct {
545                 unsigned TRISD0:1;
546                 unsigned TRISD1:1;
547                 unsigned TRISD2:1;
548                 unsigned TRISD3:1;
549                 unsigned TRISD4:1;
550                 unsigned TRISD5:1;
551                 unsigned TRISD6:1;
552                 unsigned TRISD7:1;
553         };
554 } __TRISDbits_t;
555
556 extern volatile __TRISDbits_t __at (0xf95) TRISDbits;
557
558 extern __sfr __at (0xf96) TRISE;
559 typedef union {
560         struct {
561                 unsigned TRISE0:1;
562                 unsigned TRISE1:1;
563                 unsigned TRISE2:1;
564                 unsigned TRISE3:1;
565                 unsigned TRISE4:1;
566                 unsigned TRISE5:1;
567                 unsigned TRISE6:1;
568                 unsigned TRISE7:1;
569         };
570 } __TRISEbits_t;
571
572 extern volatile __TRISEbits_t __at (0xf96) TRISEbits;
573
574 extern __sfr __at (0xf97) TRISF;
575 typedef union {
576         struct {
577                 unsigned TRISF0:1;
578                 unsigned TRISF1:1;
579                 unsigned TRISF2:1;
580                 unsigned TRISF3:1;
581                 unsigned TRISF4:1;
582                 unsigned TRISF5:1;
583                 unsigned TRISF6:1;
584                 unsigned TRISF7:1;
585         };
586 } __TRISFbits_t;
587
588 extern volatile __TRISFbits_t __at (0xf97) TRISFbits;
589
590 extern __sfr __at (0xf98) TRISG;
591 typedef union {
592         struct {
593                 unsigned TRISG0:1;
594                 unsigned TRISG1:1;
595                 unsigned TRISG2:1;
596                 unsigned TRISG3:1;
597                 unsigned TRISG4:1;
598                 unsigned :1;
599                 unsigned :1;
600                 unsigned :1;
601         };
602 } __TRISGbits_t;
603
604 extern volatile __TRISGbits_t __at (0xf98) TRISGbits;
605
606 extern __sfr __at (0xf99) TRISH;
607 typedef union {
608         struct {
609                 unsigned TRISH0:1;
610                 unsigned TRISH1:1;
611                 unsigned TRISH2:1;
612                 unsigned TRISH3:1;
613                 unsigned TRISH4:1;
614                 unsigned TRISH5:1;
615                 unsigned TRISH6:1;
616                 unsigned TRISH7:1;
617         };
618 } __TRISHbits_t;
619
620 extern volatile __TRISHbits_t __at (0xf99) TRISHbits;
621
622 extern __sfr __at (0xf9a) TRISJ;
623 typedef union {
624         struct {
625                 unsigned TRISJ0:1;
626                 unsigned TRISJ1:1;
627                 unsigned TRISJ2:1;
628                 unsigned TRISJ3:1;
629                 unsigned TRISJ4:1;
630                 unsigned TRISJ5:1;
631                 unsigned TRISJ6:1;
632                 unsigned TRISJ7:1;
633         };
634 } __TRISJbits_t;
635
636 extern volatile __TRISJbits_t __at (0xf9a) TRISJbits;
637
638 extern __sfr __at (0xf9c) MEMCON;
639 typedef union {
640         struct {
641                 unsigned WM0:1;
642                 unsigned WM1:1;
643                 unsigned :1;
644                 unsigned :1;
645                 unsigned WAIT0:1;
646                 unsigned WAIT1:1;
647                 unsigned :1;
648                 unsigned EBDIS:1;
649         };
650 } __MEMCONbits_t;
651
652 extern volatile __MEMCONbits_t __at (0xf9c) MEMCONbits;
653
654 extern __sfr __at (0xf9d) PIE1;
655 typedef union {
656         struct {
657                 unsigned TMR1IE:1;
658                 unsigned TMR2IE:1;
659                 unsigned CCP1IE:1;
660                 unsigned SSPIE:1;
661                 unsigned TXIE:1;
662                 unsigned RCIE:1;
663                 unsigned ADIE:1;
664                 unsigned PSPIE:1;
665         };
666 } __PIE1bits_t;
667
668 extern volatile __PIE1bits_t __at (0xf9d) PIE1bits;
669
670 extern __sfr __at (0xf9e) PIR1;
671 typedef union {
672         struct {
673                 unsigned TMR1IF:1;
674                 unsigned TMR2IF:1;
675                 unsigned CCP1IF:1;
676                 unsigned SSPIF:1;
677                 unsigned TXIF:1;
678                 unsigned RCIF:1;
679                 unsigned ADIF:1;
680                 unsigned PSPIF:1;
681         };
682 } __PIR1bits_t;
683
684 extern volatile __PIR1bits_t __at (0xf9e) PIR1bits;
685
686 extern __sfr __at (0xf9f) IPR1;
687 typedef union {
688         struct {
689                 unsigned TMR1IP:1;
690                 unsigned TMR2IP:1;
691                 unsigned CCP1IP:1;
692                 unsigned SSPIP:1;
693                 unsigned TXIP:1;
694                 unsigned RCIP:1;
695                 unsigned ADIP:1;
696                 unsigned PSPIP:1;
697         };
698 } __IPR1bits_t;
699
700 extern volatile __IPR1bits_t __at (0xf9f) IPR1bits;
701
702 extern __sfr __at (0xfa0) PIE2;
703 typedef union {
704         struct {
705                 unsigned CCP2IE:1;
706                 unsigned TMR3IE:1;
707                 unsigned LVDIE:1;
708                 unsigned BCLIE:1;
709                 unsigned EEIE:1;
710                 unsigned :1;
711                 unsigned CMIE:1;
712                 unsigned :1;
713         };
714 } __PIE2bits_t;
715
716 extern volatile __PIE2bits_t __at (0xfa0) PIE2bits;
717
718 extern __sfr __at (0xfa1) PIR2;
719 typedef union {
720         struct {
721                 unsigned CCP2IF:1;
722                 unsigned TMR3IF:1;
723                 unsigned LVDIF:1;
724                 unsigned BCLIF:1;
725                 unsigned EEIF:1;
726                 unsigned :1;
727                 unsigned CMIF:1;
728                 unsigned :1;
729         };
730 } __PIR2bits_t;
731
732 extern volatile __PIR2bits_t __at (0xfa1) PIR2bits;
733
734 extern __sfr __at (0xfa2) IPR2;
735 typedef union {
736         struct {
737                 unsigned CCP2IP:1;
738                 unsigned TMR3IP:1;
739                 unsigned LVDIP:1;
740                 unsigned BCLIP:1;
741                 unsigned EEIP:1;
742                 unsigned :1;
743                 unsigned CMIP:1;
744                 unsigned :1;
745         };
746 } __IPR2bits_t;
747
748 extern volatile __IPR2bits_t __at (0xfa2) IPR2bits;
749
750 extern __sfr __at (0xfa3) PIE3;
751 typedef union {
752         struct {
753                 unsigned CCP3IE:1;
754                 unsigned CCP4IE:1;
755                 unsigned CCP5IE:1;
756                 unsigned TMR4IE:1;
757                 unsigned TX2IE:1;
758                 unsigned RC2IE:1;
759                 unsigned :1;
760                 unsigned :1;
761         };
762 } __PIE3bits_t;
763
764 extern volatile __PIE3bits_t __at (0xfa3) PIE3bits;
765
766 extern __sfr __at (0xfa4) PIR3;
767 typedef union {
768         struct {
769                 unsigned CCP3IF:1;
770                 unsigned CCP4IF:1;
771                 unsigned CCP5IF:1;
772                 unsigned TMR4IF:1;
773                 unsigned TX2IF:1;
774                 unsigned RC2IF:1;
775                 unsigned :1;
776                 unsigned :1;
777         };
778 } __PIR3bits_t;
779
780 extern volatile __PIR3bits_t __at (0xfa4) PIR3bits;
781
782 extern __sfr __at (0xfa5) IPR3;
783 typedef union {
784         struct {
785                 unsigned CCP3IP:1;
786                 unsigned CCP4IP:1;
787                 unsigned CCP5IP:1;
788                 unsigned TMR4IP:1;
789                 unsigned TX2IP:1;
790                 unsigned RC2IP:1;
791                 unsigned :1;
792                 unsigned :1;
793         };
794 } __IPR3bits_t;
795
796 extern volatile __IPR3bits_t __at (0xfa5) IPR3bits;
797
798 extern __sfr __at (0xfa6) EECON1;
799 typedef union {
800         struct {
801                 unsigned RD:1;
802                 unsigned WR:1;
803                 unsigned WREN:1;
804                 unsigned WRERR:1;
805                 unsigned FREE:1;
806                 unsigned :1;
807                 unsigned CFGS:1;
808                 unsigned EEPGD:1;
809         };
810 } __EECON1bits_t;
811
812 extern volatile __EECON1bits_t __at (0xfa6) EECON1bits;
813
814 extern __sfr __at (0xfa7) EECON2;
815 extern __sfr __at (0xfa8) EEDATA;
816 extern __sfr __at (0xfa9) EEADR;
817 extern __sfr __at (0xfaa) EEADRH;
818 extern __sfr __at (0xfab) RCSTA1;
819 typedef union {
820         struct {
821                 unsigned RX9D:1;
822                 unsigned OERR:1;
823                 unsigned FERR:1;
824                 unsigned ADDEN:1;
825                 unsigned CREN:1;
826                 unsigned SREN:1;
827                 unsigned RX9:1;
828                 unsigned SPEN:1;
829         };
830 } __RCSTA1bits_t;
831
832 extern volatile __RCSTA1bits_t __at (0xfab) RCSTA1bits;
833
834 extern __sfr __at (0xfac) TXSTA1;
835 typedef union {
836         struct {
837                 unsigned TX9D:1;
838                 unsigned TRMT:1;
839                 unsigned BRGH:1;
840                 unsigned :1;
841                 unsigned SYNC:1;
842                 unsigned TXEN:1;
843                 unsigned TX9:1;
844                 unsigned CSRC:1;
845         };
846 } __TXSTA1bits_t;
847
848 extern volatile __TXSTA1bits_t __at (0xfac) TXSTA1bits;
849
850 extern __sfr __at (0xfad) TXREG1;
851 extern __sfr __at (0xfae) RCREG1;
852 extern __sfr __at (0xfaf) SPBRG1;
853
854 /* for compatibility reasons */
855 extern __sfr __at (0xfab) RCSTA;
856 extern volatile __RCSTA1bits_t __at (0xfab) RCSTAbits;
857 extern __sfr __at (0xfac) TXSTA;
858 extern volatile __TXSTA1bits_t __at (0xfac) TXSTAbits;
859 extern __sfr __at (0xfad) TXREG;
860 extern __sfr __at (0xfae) RCREG;
861 extern __sfr __at (0xfaf) SPBRG;
862
863 extern __sfr __at (0xfb0) PSPCON;
864 typedef union {
865         struct {
866                 unsigned :1;
867                 unsigned :1;
868                 unsigned :1;
869                 unsigned :1;
870                 unsigned PSPMODE:1;
871                 unsigned IBOV:1;
872                 unsigned OBF:1;
873                 unsigned IBF:1;
874         };
875 } __PSPCONbits_t;
876
877 extern volatile __PSPCONbits_t __at (0xfb0) PSPCONbits;
878
879 extern __sfr __at (0xfb1) T3CON;
880 typedef union {
881         struct {
882                 unsigned TMR3ON:1;
883                 unsigned TMR3CS:1;
884                 unsigned T3SYNC:1;
885                 unsigned T3CCP1:1;
886                 unsigned T3CKPS0:1;
887                 unsigned T3CKPS1:1;
888                 unsigned T3CCP2:1;
889                 unsigned RD16:1;
890         };
891 } __T3CONbits_t;
892
893 extern volatile __T3CONbits_t __at (0xfb1) T3CONbits;
894
895 extern __sfr __at (0xfb2) TMR3L;
896 extern __sfr __at (0xfb3) TMR3H;
897 extern __sfr __at (0xfb4) CMCON;
898 typedef union {
899         struct {
900                 unsigned CM0:1;
901                 unsigned CM1:1;
902                 unsigned CM2:1;
903                 unsigned CIS:1;
904                 unsigned C1INV:1;
905                 unsigned C2INV:1;
906                 unsigned C1OUT:1;
907                 unsigned C2OUT:1;
908         };
909 } __CMCONbits_t;
910
911 extern volatile __CMCONbits_t __at (0xfb4) CMCONbits;
912
913 extern __sfr __at (0xfb5) CVRCON;
914 typedef union {
915         struct {
916                 unsigned CVR0:1;
917                 unsigned CVR1:1;
918                 unsigned CVR2:1;
919                 unsigned CVR3:1;
920                 unsigned CVREF:1;
921                 unsigned CVRR:1;
922                 unsigned CVROE:1;
923                 unsigned CVREN:1;
924         };
925 } __CVRCONbits_t;
926
927 extern volatile __CVRCONbits_t __at (0xfb5) CVRCONbits;
928
929 extern __sfr __at (0xfb7) CCP3CON;
930 typedef union {
931         struct {
932                 unsigned CCP3M0:1;
933                 unsigned CCP3M1:1;
934                 unsigned CCP3M2:1;
935                 unsigned CCP3M3:1;
936                 unsigned DCCP3Y:1;
937                 unsigned DCCP3X:1;
938                 unsigned :1;
939                 unsigned :1;
940         };
941 } __CCP3CONbits_t;
942
943 extern volatile __CCP3CONbits_t __at (0xfb7) CCP3CONbits;
944
945 extern __sfr __at (0xfb8) CCPR3L;
946 extern __sfr __at (0xfb9) CCPR3H;
947 extern __sfr __at (0xfba) CCP2CON;
948 typedef union {
949         struct {
950                 unsigned CCP2M0:1;
951                 unsigned CCP2M1:1;
952                 unsigned CCP2M2:1;
953                 unsigned CCP2M3:1;
954                 unsigned DCCP2Y:1;
955                 unsigned DCCP2X:1;
956                 unsigned :1;
957                 unsigned :1;
958         };
959 } __CCP2CONbits_t;
960
961 extern volatile __CCP2CONbits_t __at (0xfba) CCP2CONbits;
962
963 extern __sfr __at (0xfbb) CCPR2L;
964 extern __sfr __at (0xfbc) CCPR2H;
965 extern __sfr __at (0xfbd) CCP1CON;
966 typedef union {
967         struct {
968                 unsigned CCP1M0:1;
969                 unsigned CCP1M1:1;
970                 unsigned CCP1M2:1;
971                 unsigned CCP1M3:1;
972                 unsigned DCCP1Y:1;
973                 unsigned DCCP1X:1;
974                 unsigned :1;
975                 unsigned :1;
976         };
977 } __CCP1CONbits_t;
978
979 extern volatile __CCP1CONbits_t __at (0xfbd) CCP1CONbits;
980
981 extern __sfr __at (0xfbe) CCPR1L;
982 extern __sfr __at (0xfbf) CCPR1H;
983 extern __sfr __at (0xfc0) ADCON2;
984 typedef union {
985         struct {
986                 unsigned ADCS0:1;
987                 unsigned ADCS1:1;
988                 unsigned ADCS2:1;
989                 unsigned :1;
990                 unsigned :1;
991                 unsigned :1;
992                 unsigned :1;
993                 unsigned ADFM:1;
994         };
995 } __ADCON2bits_t;
996
997 extern volatile __ADCON2bits_t __at (0xfc0) ADCON2bits;
998
999 extern __sfr __at (0xfc1) ADCON1;
1000 typedef union {
1001         struct {
1002                 unsigned PCFG0:1;
1003                 unsigned PCFG1:1;
1004                 unsigned PCFG2:1;
1005                 unsigned PCFG3:1;
1006                 unsigned VCFG0:1;
1007                 unsigned VCFG1:1;
1008                 unsigned :1;
1009                 unsigned :1;
1010         };
1011 } __ADCON1bits_t;
1012
1013 extern volatile __ADCON1bits_t __at (0xfc1) ADCON1bits;
1014
1015 extern __sfr __at (0xfc2) ADCON0;
1016 typedef union {
1017         struct {
1018                 unsigned ADON:1;
1019                 unsigned GO:1;
1020                 unsigned CHS0:1;
1021                 unsigned CHS1:1;
1022                 unsigned CHS2:1;
1023                 unsigned CHS3:1;
1024                 unsigned :1;
1025                 unsigned :1;
1026         };
1027 } __ADCON0bits_t;
1028
1029 extern volatile __ADCON0bits_t __at (0xfc2) ADCON0bits;
1030
1031 extern __sfr __at (0xfc3) ADRESL;
1032 extern __sfr __at (0xfc4) ADRESH;
1033 extern __sfr __at (0xfc5) SSPCON2;
1034 typedef union {
1035         struct {
1036                 unsigned SEN:1;
1037                 unsigned RSEN:1;
1038                 unsigned PEN:1;
1039                 unsigned RCEN:1;
1040                 unsigned ACKEN:1;
1041                 unsigned ACKDT:1;
1042                 unsigned ACKSTAT:1;
1043                 unsigned GCEN:1;
1044         };
1045 } __SSPCON2bits_t;
1046
1047 extern volatile __SSPCON2bits_t __at (0xfc5) SSPCON2bits;
1048
1049 extern __sfr __at (0xfc6) SSPCON1;
1050 typedef union {
1051         struct {
1052                 unsigned SSPM0:1;
1053                 unsigned SSPM1:1;
1054                 unsigned SSPM2:1;
1055                 unsigned SSPM3:1;
1056                 unsigned CKP:1;
1057                 unsigned SSPEN:1;
1058                 unsigned SSPOV:1;
1059                 unsigned WCOL:1;
1060         };
1061 } __SSPCON1bits_t;
1062
1063 extern volatile __SSPCON1bits_t __at (0xfc6) SSPCON1bits;
1064
1065 extern __sfr __at (0xfc7) SSPSTAT;
1066 typedef union {
1067         struct {
1068                 unsigned BF:1;
1069                 unsigned UA:1;
1070                 unsigned R_W:1;
1071                 unsigned S:1;
1072                 unsigned P:1;
1073                 unsigned D_A:1;
1074                 unsigned CKE:1;
1075                 unsigned SMP:1;
1076         };
1077 } __SSPSTATbits_t;
1078
1079 extern volatile __SSPSTATbits_t __at (0xfc7) SSPSTATbits;
1080
1081 extern __sfr __at (0xfc8) SSPADD;
1082 extern __sfr __at (0xfc9) SSPBUF;
1083 extern __sfr __at (0xfca) T2CON;
1084 typedef union {
1085         struct {
1086                 unsigned T2CKPS0:1;
1087                 unsigned T2CKPS1:1;
1088                 unsigned TMR2ON:1;
1089                 unsigned TOUTPS0:1;
1090                 unsigned TOUTPS1:1;
1091                 unsigned TOUTPS2:1;
1092                 unsigned TOUTPS3:1;
1093                 unsigned :1;
1094         };
1095 } __T2CONbits_t;
1096
1097 extern volatile __T2CONbits_t __at (0xfca) T2CONbits;
1098
1099 extern __sfr __at (0xfcb) PR2;
1100 extern __sfr __at (0xfcc) TMR2;
1101 extern __sfr __at (0xfcd) T1CON;
1102 typedef union {
1103         struct {
1104                 unsigned TMR1ON:1;
1105                 unsigned TMR1CS:1;
1106                 unsigned NOT_T1SYNC:1;
1107                 unsigned T1OSCEN:1;
1108                 unsigned T1CKPS0:1;
1109                 unsigned T1CKPS1:1;
1110                 unsigned :1;
1111                 unsigned RD16:1;
1112         };
1113 } __T1CONbits_t;
1114
1115 extern volatile __T1CONbits_t __at (0xfcd) T1CONbits;
1116
1117 extern __sfr __at (0xfce) TMR1L;
1118 extern __sfr __at (0xfcf) TMR1H;
1119 extern __sfr __at (0xfd0) RCON;
1120 typedef union {
1121         struct {
1122                 unsigned BOR:1;
1123                 unsigned POR:1;
1124                 unsigned PD:1;
1125                 unsigned TO:1;
1126                 unsigned RI:1;
1127                 unsigned :1;
1128                 unsigned :1;
1129                 unsigned IPEN:1;
1130         };
1131 } __RCONbits_t;
1132
1133 extern volatile __RCONbits_t __at (0xfd0) RCONbits;
1134
1135 extern __sfr __at (0xfd1) WDTCON;
1136 typedef union {
1137         struct {
1138                 unsigned SWDTEN:1;
1139                 unsigned :1;
1140                 unsigned :1;
1141                 unsigned :1;
1142                 unsigned :1;
1143                 unsigned :1;
1144                 unsigned :1;
1145                 unsigned :1;
1146         };
1147
1148         struct {
1149                 unsigned SWDTE:1;
1150                 unsigned :1;
1151                 unsigned :1;
1152                 unsigned :1;
1153                 unsigned :1;
1154                 unsigned :1;
1155                 unsigned :1;
1156                 unsigned :1;
1157         };
1158 } __WDTCONbits_t;
1159
1160 extern volatile __WDTCONbits_t __at (0xfd1) WDTCONbits;
1161
1162 extern __sfr __at (0xfd2) LVDCON;
1163 typedef union {
1164         struct {
1165                 unsigned LVDL0:1;
1166                 unsigned LVDL1:1;
1167                 unsigned LVDL2:1;
1168                 unsigned LVDL3:1;
1169                 unsigned LVDEN:1;
1170                 unsigned VRST:1;
1171                 unsigned :1;
1172                 unsigned :1;
1173         };
1174
1175         struct {
1176                 unsigned LVV0:1;
1177                 unsigned LVV1:1;
1178                 unsigned LVV2:1;
1179                 unsigned LVV3:1;
1180                 unsigned :1;
1181                 unsigned BGST:1;
1182                 unsigned :1;
1183                 unsigned :1;
1184         };
1185 } __LVDCONbits_t;
1186
1187 extern volatile __LVDCONbits_t __at (0xfd2) LVDCONbits;
1188
1189 extern __sfr __at (0xfd3) OSCCON;
1190 typedef union {
1191         struct {
1192                 unsigned SCS:1;
1193                 unsigned :1;
1194                 unsigned :1;
1195                 unsigned :1;
1196                 unsigned :1;
1197                 unsigned :1;
1198                 unsigned :1;
1199                 unsigned :1;
1200         };
1201 } __OSCCONbits_t;
1202
1203 extern volatile __OSCCONbits_t __at (0xfd3) OSCCONbits;
1204
1205 extern __sfr __at (0xfd5) T0CON;
1206 extern __sfr __at (0xfd6) TMR0L;
1207 extern __sfr __at (0xfd7) TMR0H;
1208 extern __sfr __at (0xfd8) STATUS;
1209 typedef union {
1210         struct {
1211                 unsigned C:1;
1212                 unsigned DC:1;
1213                 unsigned Z:1;
1214                 unsigned OV:1;
1215                 unsigned N:1;
1216                 unsigned :1;
1217                 unsigned :1;
1218                 unsigned :1;
1219         };
1220 } __STATUSbits_t;
1221
1222 extern volatile __STATUSbits_t __at (0xfd8) STATUSbits;
1223
1224 extern __sfr __at (0xfd9) FSR2L;
1225 extern __sfr __at (0xfda) FSR2H;
1226 extern __sfr __at (0xfdb) PLUSW2;
1227 extern __sfr __at (0xfdc) PREINC2;
1228 extern __sfr __at (0xfdd) POSTDEC2;
1229 extern __sfr __at (0xfde) POSTINC2;
1230 extern __sfr __at (0xfdf) INDF2;
1231 extern __sfr __at (0xfe0) BSR;
1232 extern __sfr __at (0xfe1) FSR1L;
1233 extern __sfr __at (0xfe2) FSR1H;
1234 extern __sfr __at (0xfe3) PLUSW1;
1235 extern __sfr __at (0xfe4) PREINC1;
1236 extern __sfr __at (0xfe5) POSTDEC1;
1237 extern __sfr __at (0xfe6) POSTINC1;
1238 extern __sfr __at (0xfe7) INDF1;
1239 extern __sfr __at (0xfe8) WREG;
1240 extern __sfr __at (0xfe9) FSR0L;
1241 extern __sfr __at (0xfea) FSR0H;
1242 extern __sfr __at (0xfeb) PLUSW0;
1243 extern __sfr __at (0xfec) PREINC0;
1244 extern __sfr __at (0xfed) POSTDEC0;
1245 extern __sfr __at (0xfee) POSTINC0;
1246 extern __sfr __at (0xfef) INDF0;
1247 extern __sfr __at (0xff0) INTCON3;
1248 typedef union {
1249         struct {
1250                 unsigned INT1F:1;
1251                 unsigned INT2F:1;
1252                 unsigned INT3F:1;
1253                 unsigned INT1E:1;
1254                 unsigned INT2E:1;
1255                 unsigned INT3E:1;
1256                 unsigned INT1P:1;
1257                 unsigned INT2P:1;
1258         };
1259
1260         struct {
1261                 unsigned INT1IF:1;
1262                 unsigned INT2IF:1;
1263                 unsigned INT3IF:1;
1264                 unsigned INT1IE:1;
1265                 unsigned INT2IE:1;
1266                 unsigned INT3IE:1;
1267                 unsigned INT1IP:1;
1268                 unsigned INT2IP:1;
1269         };
1270 } __INTCON3bits_t;
1271
1272 extern volatile __INTCON3bits_t __at (0xff0) INTCON3bits;
1273
1274 extern __sfr __at (0xff1) INTCON2;
1275 typedef union {
1276         struct {
1277                 unsigned RBIP:1;
1278                 unsigned INT3P:1;
1279                 unsigned T0IP:1;
1280                 unsigned INTEDG3:1;
1281                 unsigned INTEDG2:1;
1282                 unsigned INTEDG1:1;
1283                 unsigned INTEDG0:1;
1284                 unsigned RBPU:1;
1285         };
1286 } __INTCON2bits_t;
1287
1288 extern volatile __INTCON2bits_t __at (0xff1) INTCON2bits;
1289
1290 extern __sfr __at (0xff2) INTCON;
1291 typedef union {
1292         struct {
1293                 unsigned RBIF:1;
1294                 unsigned INT0F:1;
1295                 unsigned T0IF:1;
1296                 unsigned RBIE:1;
1297                 unsigned INT0E:1;
1298                 unsigned T0IE:1;
1299                 unsigned PEIE:1;
1300                 unsigned GIE:1;
1301         };
1302         struct {
1303                 unsigned :1;
1304                 unsigned INT0IF:1;
1305                 unsigned TMR0IF:1;
1306                 unsigned :1;
1307                 unsigned INT0IE:1;
1308                 unsigned TMR0IE:1;
1309                 unsigned GIEL:1;
1310                 unsigned GIEH:1;
1311         };
1312 } __INTCONbits_t;
1313
1314 extern volatile __INTCONbits_t __at (0xff2) INTCONbits;
1315
1316 extern __sfr __at (0xff3) PRODL;
1317 extern __sfr __at (0xff4) PRODH;
1318 extern __sfr __at (0xff5) TABLAT;
1319 extern __sfr __at (0xff6) TBLPTRL;
1320 extern __sfr __at (0xff7) TBLPTRH;
1321 extern __sfr __at (0xff8) TBLPTRU;
1322 extern __sfr __at (0xff9) PCL;
1323 extern __sfr __at (0xffa) PCLATH;
1324 extern __sfr __at (0xffb) PCLATU;
1325 extern __sfr __at (0xffc) STKPTR;
1326 typedef union {
1327         struct {
1328                 unsigned STKPTR0:1;
1329                 unsigned STKPTR1:1;
1330                 unsigned STKPTR2:1;
1331                 unsigned STKPTR3:1;
1332                 unsigned STKPTR4:1;
1333                 unsigned :1;
1334                 unsigned STKUNF:1;
1335                 unsigned STKFUL:1;
1336         };
1337 } __STKPTRbits_t;
1338
1339 extern volatile __STKPTRbits_t __at (0xffc) STKPTRbits;
1340
1341 extern __sfr __at (0xffd) TOSL;
1342 extern __sfr __at (0xffe) TOSH;
1343 extern __sfr __at (0xfff) TOSU;
1344
1345
1346 /* Configuration registers locations */
1347 #define __CONFIG1H      0x300001
1348 #define __CONFIG2L      0x300002
1349 #define __CONFIG2H      0x300003
1350 #define __CONFIG3L      0x300004
1351 #define __CONFIG3H      0x300005
1352 #define __CONFIG5L      0x300008
1353 #define __CONFIG5H      0x300009
1354 #define __CONFIG6L      0x30000A
1355 #define __CONFIG6H      0x30000B
1356 #define __CONFIG7L      0x30000C
1357 #define __CONFIG7H      0x30000D
1358
1359
1360
1361 /* Oscillator 1H options */
1362 #define _OSC_RC_OSC2_1H 0xFF    /* RC-OSC2 as RA6 */
1363 #define _OSC_HS_PLL_1H  0xFE    /* HS-PLL Enabled */
1364 #define _OSC_EC_OSC2_RA6_1H     0xFD    /* EC-OSC2 as RA6 */
1365 #define _OSC_EC_OSC2_Clock_Out_1H       0xFC    /* EC-OSC2 as Clock_Out */
1366 #define _OSC_RC_1H      0xFB    /* RC */
1367 #define _OSC_HS_1H      0xFA    /* HS */
1368 #define _OSC_XT_1H      0xF9    /* XT */
1369 #define _OSC_LP_1H      0xF8    /* LP */
1370
1371 /* Osc. Switch Enable 1H options */
1372 #define _OSCS_OFF_1H    0xFF    /* Disabled */
1373 #define _OSCS_ON_1H     0xDF    /* Enabled */
1374
1375 /* Power Up Timer 2L options */
1376 #define _PUT_OFF_2L     0xFF    /* Disabled */
1377 #define _PUT_ON_2L      0xFE    /* Enabled */
1378
1379 /* Brown Out Detect 2L options */
1380 #define _BODEN_ON_2L    0xFF    /* Enabled */
1381 #define _BODEN_OFF_2L   0xFD    /* Disabled */
1382
1383 /* Brown Out Voltage 2L options */
1384 #define _BODENV_2_5V_2L 0xFF    /* 2.5V */
1385 #define _BODENV_2_7V_2L 0xFB    /* 2.7V */
1386 #define _BODENV_4_2V_2L 0xF7    /* 4.2V */
1387 #define _BODENV_4_5V_2L 0xF3    /* 4.5V */
1388
1389 /* Watchdog Timer 2H options */
1390 #define _WDT_ON_2H      0xFF    /* Enabled */
1391 #define _WDT_OFF_2H     0xFE    /* Disabled */
1392
1393 /* Watchdog Postscaler 2H options */
1394 #define _WDTPS_1_128_2H 0xFF    /* 1:128 */
1395 #define _WDTPS_1_64_2H  0xFD    /* 1:64 */
1396 #define _WDTPS_1_32_2H  0xFB    /* 1:32 */
1397 #define _WDTPS_1_16_2H  0xF9    /* 1:16 */
1398 #define _WDTPS_1_8_2H   0xF7    /* 1:8 */
1399 #define _WDTPS_1_4_2H   0xF5    /* 1:4 */
1400 #define _WDTPS_1_2_2H   0xF3    /* 1:2 */
1401 #define _WDTPS_1_1_2H   0xF1    /* 1:1 */
1402
1403 /* Processor Mode 3L options */
1404 #define _PMODE_MICROCONTROLLER_3L       0xFF    /* Microcontroller */
1405 #define _PMODE_MICROPROCESSOR__3L       0xFE    /* Microprocessor */
1406 #define _PMODE_MICROPROCESSOR_w_Boot_3L 0xFD    /* Microprocessor w_Boot */
1407 #define _PMODE_EXT_3L   0xFC    /* Ext Microcontroller */
1408
1409 /* External Bus Wait 3L options */
1410 #define _WAIT_OFF_3L    0xFF    /* Disabled */
1411 #define _WAIT_ON_3L     0x7F    /* Enabled */
1412
1413 /* CCP2 Mux 3H options */
1414 #define _CCP2MUX_RC1_3H 0xFF    /* RC1 */
1415 #define _CCP2MUX_RE7_MICROCONTROLLER__RB3_3H    0xFE    /* RE7(Microcontroller)/RB3 */
1416
1417 /* Timer1 OSC 3H options */
1418 #define _T1OSCMX_LOW_3H 0xFD    /* Low Power */
1419
1420 /* Low Voltage Program 4L options */
1421 #define _LVP_ON_4L      0xFF    /* Enabled */
1422 #define _LVP_OFF_4L     0xFB    /* Disabled */
1423
1424 /* Background Debug 4L options */
1425 #define _BACKBUG_OFF_4L 0xFF    /* Disabled */
1426 #define _BACKBUG_ON_4L  0x7F    /* Enabled */
1427
1428 /* Stack Overflow Reset 4L options */
1429 #define _STVR_ON_4L     0xFF    /* Enabled */
1430 #define _STVR_OFF_4L    0xFE    /* Disabled */
1431
1432 /* Code Protect 00800-01FFF 5L options */
1433 #define _CP_0_OFF_5L    0xFF    /* Disabled */
1434 #define _CP_0_ON_5L     0xFE    /* Enabled */
1435
1436 /* Code Protect 02000-03FFF 5L options */
1437 #define _CP_1_OFF_5L    0xFF    /* Disabled */
1438 #define _CP_1_ON_5L     0xFD    /* Enabled */
1439
1440 /* Code Protect 04000-05FFF 5L options */
1441 #define _CP_2_OFF_5L    0xFF    /* Disabled */
1442 #define _CP_2_ON_5L     0xFB    /* Enabled */
1443
1444 /* Code Protect 06000-07FFF 5L options */
1445 #define _CP_3_OFF_5L    0xFF    /* Disabled */
1446 #define _CP_3_ON_5L     0xF7    /* Enabled */
1447
1448 /* Data EE Read Protect 5H options */
1449 #define _CPD_OFF_5H     0xFF    /* Disabled */
1450 #define _CPD_ON_5H      0x7F    /* Enabled */
1451
1452 /* Code Protect Boot 5H options */
1453 #define _CPB_OFF_5H     0xFF    /* Disabled */
1454 #define _CPB_ON_5H      0xBF    /* Enabled */
1455
1456 /* Table Write Protect 00800-01FFF 6L options */
1457 #define _WRT_0_OFF_6L   0xFF    /* Disabled */
1458 #define _WRT_0_ON_6L    0xFE    /* Enabled */
1459
1460 /* Table Write Protect 02000-03FFF 6L options */
1461 #define _WRT_1_OFF_6L   0xFF    /* Disabled */
1462 #define _WRT_1_ON_6L    0xFD    /* Enabled */
1463
1464 /* Table Write Protect 04000-05FFF 6L options */
1465 #define _WRT_2_OFF_6L   0xFF    /* Disabled */
1466 #define _WRT_2_ON_6L    0xFB    /* Enabled */
1467
1468 /* Table Write Protect 06000-07FFF 6L options */
1469 #define _WRT_3_OFF_6L   0xFF    /* Disabled */
1470 #define _WRT_3_ON_6L    0xF7    /* Enabled */
1471
1472 /* Data EE Write Protect 6H options */
1473 #define _WRTD_OFF_6H    0xFF    /* Disabled */
1474 #define _WRTD_ON_6H     0x7F    /* Enabled */
1475
1476 /* Table Write Protect Boot 6H options */
1477 #define _WRTB_OFF_6H    0xFF    /* Disabled */
1478 #define _WRTB_ON_6H     0xBF    /* Enabled */
1479
1480 /* Config. Write Protect 6H options */
1481 #define _WRTC_OFF_6H    0xFF    /* Disabled */
1482 #define _WRTC_ON_6H     0xDF    /* Enabled */
1483
1484 /* Table Read Protect 00800-01FFF 7L options */
1485 #define _EBTR_0_OFF_7L  0xFF    /* Disabled */
1486 #define _EBTR_0_ON_7L   0xFE    /* Enabled */
1487
1488 /* Table Read Protect 02000-03FFF 7L options */
1489 #define _EBTR_1_OFF_7L  0xFF    /* Disabled */
1490 #define _EBTR_1_ON_7L   0xFD    /* Enabled */
1491
1492 /* Table Read Protect 04000-05FFF 7L options */
1493 #define _EBTR_2_OFF_7L  0xFF    /* Disabled */
1494 #define _EBTR_2_ON_7L   0xFB    /* Enabled */
1495
1496 /* Table Read Protect 06000-07FFF 7L options */
1497 #define _EBTR_3_OFF_7L  0xFF    /* Disabled */
1498 #define _EBTR_3_ON_7L   0xF7    /* Enabled */
1499
1500 /* Table Read Protect Boot 7H options */
1501 #define _EBTRB_OFF_7H   0xFF    /* Disabled */
1502 #define _EBTRB_ON_7H    0xBF    /* Enabled */
1503
1504
1505 /* Device ID locations */
1506 #define __IDLOC0        0x200000
1507 #define __IDLOC1        0x200001
1508 #define __IDLOC2        0x200002
1509 #define __IDLOC3        0x200003
1510 #define __IDLOC4        0x200004
1511 #define __IDLOC5        0x200005
1512 #define __IDLOC6        0x200006
1513 #define __IDLOC7        0x200007
1514
1515
1516 #endif