* device/include/pic16/pic18f*.h: add bit aliases in INTCONbits_t
[fw/sdcc] / device / include / pic16 / pic18f6720.h
1
2 /*
3  * pic18f6720.h - PIC18F6720 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 __PIC18F6720_H__
16 #define __PIC18F6720_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 (0xf89) LATA;
319 typedef union {
320         struct {
321                 unsigned LATA0:1;
322                 unsigned LATA1:1;
323                 unsigned LATA2:1;
324                 unsigned LATA3:1;
325                 unsigned LATA4:1;
326                 unsigned LATA5:1;
327                 unsigned LATA6:1;
328                 unsigned :1;
329         };
330 } __LATAbits_t;
331
332 extern volatile __LATAbits_t __at (0xf89) LATAbits;
333
334 extern __sfr __at (0xf8a) LATB;
335 typedef union {
336         struct {
337                 unsigned LATB0:1;
338                 unsigned LATB1:1;
339                 unsigned LATB2:1;
340                 unsigned LATB3:1;
341                 unsigned LATB4:1;
342                 unsigned LATB5:1;
343                 unsigned LATB6:1;
344                 unsigned LATB7:1;
345         };
346 } __LATBbits_t;
347
348 extern volatile __LATBbits_t __at (0xf8a) LATBbits;
349
350 extern __sfr __at (0xf8b) LATC;
351 typedef union {
352         struct {
353                 unsigned LATC0:1;
354                 unsigned LATC1:1;
355                 unsigned LATC2:1;
356                 unsigned LATC3:1;
357                 unsigned LATC4:1;
358                 unsigned LATC5:1;
359                 unsigned LATC6:1;
360                 unsigned LATC7:1;
361         };
362 } __LATCbits_t;
363
364 extern volatile __LATCbits_t __at (0xf8b) LATCbits;
365
366 extern __sfr __at (0xf8c) LATD;
367 typedef union {
368         struct {
369                 unsigned LATD0:1;
370                 unsigned LATD1:1;
371                 unsigned LATD2:1;
372                 unsigned LATD3:1;
373                 unsigned LATD4:1;
374                 unsigned LATD5:1;
375                 unsigned LATD6:1;
376                 unsigned LATD7:1;
377         };
378 } __LATDbits_t;
379
380 extern volatile __LATDbits_t __at (0xf8c) LATDbits;
381
382 extern __sfr __at (0xf8d) LATE;
383 typedef union {
384         struct {
385                 unsigned LATE0:1;
386                 unsigned LATE1:1;
387                 unsigned LATE2:1;
388                 unsigned LATE3:1;
389                 unsigned LATE4:1;
390                 unsigned LATE5:1;
391                 unsigned LATE6:1;
392                 unsigned LATE7:1;
393         };
394 } __LATEbits_t;
395
396 extern volatile __LATEbits_t __at (0xf8d) LATEbits;
397
398 extern __sfr __at (0xf8e) LATF;
399 typedef union {
400         struct {
401                 unsigned LATF0:1;
402                 unsigned LATF1:1;
403                 unsigned LATF2:1;
404                 unsigned LATF3:1;
405                 unsigned LATF4:1;
406                 unsigned LATF5:1;
407                 unsigned LATF6:1;
408                 unsigned LATF7:1;
409         };
410 } __LATFbits_t;
411
412 extern volatile __LATFbits_t __at (0xf8e) LATFbits;
413
414 extern __sfr __at (0xf8f) LATG;
415 typedef union {
416         struct {
417                 unsigned LATG0:1;
418                 unsigned LATG1:1;
419                 unsigned LATG2:1;
420                 unsigned LATG3:1;
421                 unsigned LATG4:1;
422                 unsigned :1;
423                 unsigned :1;
424                 unsigned :1;
425         };
426 } __LATGbits_t;
427
428 extern volatile __LATGbits_t __at (0xf8f) LATGbits;
429
430 extern __sfr __at (0xf92) TRISA;
431 typedef union {
432         struct {
433                 unsigned TRISA0:1;
434                 unsigned TRISA1:1;
435                 unsigned TRISA2:1;
436                 unsigned TRISA3:1;
437                 unsigned TRISA4:1;
438                 unsigned TRISA5:1;
439                 unsigned TRISA6:1;
440                 unsigned :1;
441         };
442 } __TRISAbits_t;
443
444 extern volatile __TRISAbits_t __at (0xf92) TRISAbits;
445
446 extern __sfr __at (0xf93) TRISB;
447 typedef union {
448         struct {
449                 unsigned TRISB0:1;
450                 unsigned TRISB1:1;
451                 unsigned TRISB2:1;
452                 unsigned TRISB3:1;
453                 unsigned TRISB4:1;
454                 unsigned TRISB5:1;
455                 unsigned TRISB6:1;
456                 unsigned TRISB7:1;
457         };
458 } __TRISBbits_t;
459
460 extern volatile __TRISBbits_t __at (0xf93) TRISBbits;
461
462 extern __sfr __at (0xf94) TRISC;
463 typedef union {
464         struct {
465                 unsigned TRISC0:1;
466                 unsigned TRISC1:1;
467                 unsigned TRISC2:1;
468                 unsigned TRISC3:1;
469                 unsigned TRISC4:1;
470                 unsigned TRISC5:1;
471                 unsigned TRISC6:1;
472                 unsigned TRISC7:1;
473         };
474 } __TRISCbits_t;
475
476 extern volatile __TRISCbits_t __at (0xf94) TRISCbits;
477
478 extern __sfr __at (0xf95) TRISD;
479 typedef union {
480         struct {
481                 unsigned TRISD0:1;
482                 unsigned TRISD1:1;
483                 unsigned TRISD2:1;
484                 unsigned TRISD3:1;
485                 unsigned TRISD4:1;
486                 unsigned TRISD5:1;
487                 unsigned TRISD6:1;
488                 unsigned TRISD7:1;
489         };
490 } __TRISDbits_t;
491
492 extern volatile __TRISDbits_t __at (0xf95) TRISDbits;
493
494 extern __sfr __at (0xf96) TRISE;
495 typedef union {
496         struct {
497                 unsigned TRISE0:1;
498                 unsigned TRISE1:1;
499                 unsigned TRISE2:1;
500                 unsigned TRISE3:1;
501                 unsigned TRISE4:1;
502                 unsigned TRISE5:1;
503                 unsigned TRISE6:1;
504                 unsigned TRISE7:1;
505         };
506 } __TRISEbits_t;
507
508 extern volatile __TRISEbits_t __at (0xf96) TRISEbits;
509
510 extern __sfr __at (0xf97) TRISF;
511 typedef union {
512         struct {
513                 unsigned TRISF0:1;
514                 unsigned TRISF1:1;
515                 unsigned TRISF2:1;
516                 unsigned TRISF3:1;
517                 unsigned TRISF4:1;
518                 unsigned TRISF5:1;
519                 unsigned TRISF6:1;
520                 unsigned TRISF7:1;
521         };
522 } __TRISFbits_t;
523
524 extern volatile __TRISFbits_t __at (0xf97) TRISFbits;
525
526 extern __sfr __at (0xf98) TRISG;
527 typedef union {
528         struct {
529                 unsigned TRISG0:1;
530                 unsigned TRISG1:1;
531                 unsigned TRISG2:1;
532                 unsigned TRISG3:1;
533                 unsigned TRISG4:1;
534                 unsigned :1;
535                 unsigned :1;
536                 unsigned :1;
537         };
538 } __TRISGbits_t;
539
540 extern volatile __TRISGbits_t __at (0xf98) TRISGbits;
541
542 extern __sfr __at (0xf9d) PIE1;
543 typedef union {
544         struct {
545                 unsigned TMR1IE:1;
546                 unsigned TMR2IE:1;
547                 unsigned CCP1IE:1;
548                 unsigned SSPIE:1;
549                 unsigned TXIE:1;
550                 unsigned RCIE:1;
551                 unsigned ADIE:1;
552                 unsigned PSPIE:1;
553         };
554 } __PIE1bits_t;
555
556 extern volatile __PIE1bits_t __at (0xf9d) PIE1bits;
557
558 extern __sfr __at (0xf9e) PIR1;
559 typedef union {
560         struct {
561                 unsigned TMR1IF:1;
562                 unsigned TMR2IF:1;
563                 unsigned CCP1IF:1;
564                 unsigned SSPIF:1;
565                 unsigned TXIF:1;
566                 unsigned RCIF:1;
567                 unsigned ADIF:1;
568                 unsigned PSPIF:1;
569         };
570 } __PIR1bits_t;
571
572 extern volatile __PIR1bits_t __at (0xf9e) PIR1bits;
573
574 extern __sfr __at (0xf9f) IPR1;
575 typedef union {
576         struct {
577                 unsigned TMR1IP:1;
578                 unsigned TMR2IP:1;
579                 unsigned CCP1IP:1;
580                 unsigned SSPIP:1;
581                 unsigned TXIP:1;
582                 unsigned RCIP:1;
583                 unsigned ADIP:1;
584                 unsigned PSPIP:1;
585         };
586 } __IPR1bits_t;
587
588 extern volatile __IPR1bits_t __at (0xf9f) IPR1bits;
589
590 extern __sfr __at (0xfa0) PIE2;
591 typedef union {
592         struct {
593                 unsigned CCP2IE:1;
594                 unsigned TMR3IE:1;
595                 unsigned LVDIE:1;
596                 unsigned BCLIE:1;
597                 unsigned EEIE:1;
598                 unsigned :1;
599                 unsigned CMIE:1;
600                 unsigned :1;
601         };
602 } __PIE2bits_t;
603
604 extern volatile __PIE2bits_t __at (0xfa0) PIE2bits;
605
606 extern __sfr __at (0xfa1) PIR2;
607 typedef union {
608         struct {
609                 unsigned CCP2IF:1;
610                 unsigned TMR3IF:1;
611                 unsigned LVDIF:1;
612                 unsigned BCLIF:1;
613                 unsigned EEIF:1;
614                 unsigned :1;
615                 unsigned CMIF:1;
616                 unsigned :1;
617         };
618 } __PIR2bits_t;
619
620 extern volatile __PIR2bits_t __at (0xfa1) PIR2bits;
621
622 extern __sfr __at (0xfa2) IPR2;
623 typedef union {
624         struct {
625                 unsigned CCP2IP:1;
626                 unsigned TMR3IP:1;
627                 unsigned LVDIP:1;
628                 unsigned BCLIP:1;
629                 unsigned EEIP:1;
630                 unsigned :1;
631                 unsigned CMIP:1;
632                 unsigned :1;
633         };
634 } __IPR2bits_t;
635
636 extern volatile __IPR2bits_t __at (0xfa2) IPR2bits;
637
638 extern __sfr __at (0xfa3) PIE3;
639 typedef union {
640         struct {
641                 unsigned CCP3IE:1;
642                 unsigned CCP4IE:1;
643                 unsigned CCP5IE:1;
644                 unsigned TMR4IE:1;
645                 unsigned TX2IE:1;
646                 unsigned RC2IE:1;
647                 unsigned :1;
648                 unsigned :1;
649         };
650 } __PIE3bits_t;
651
652 extern volatile __PIE3bits_t __at (0xfa3) PIE3bits;
653
654 extern __sfr __at (0xfa4) PIR3;
655 typedef union {
656         struct {
657                 unsigned CCP3IF:1;
658                 unsigned CCP4IF:1;
659                 unsigned CCP5IF:1;
660                 unsigned TMR4IF:1;
661                 unsigned TX2IF:1;
662                 unsigned RC2IF:1;
663                 unsigned :1;
664                 unsigned :1;
665         };
666 } __PIR3bits_t;
667
668 extern volatile __PIR3bits_t __at (0xfa4) PIR3bits;
669
670 extern __sfr __at (0xfa5) IPR3;
671 typedef union {
672         struct {
673                 unsigned CCP3IP:1;
674                 unsigned CCP4IP:1;
675                 unsigned CCP5IP:1;
676                 unsigned TMR4IP:1;
677                 unsigned TX2IP:1;
678                 unsigned RC2IP:1;
679                 unsigned :1;
680                 unsigned :1;
681         };
682 } __IPR3bits_t;
683
684 extern volatile __IPR3bits_t __at (0xfa5) IPR3bits;
685
686 extern __sfr __at (0xfa6) EECON1;
687 typedef union {
688         struct {
689                 unsigned RD:1;
690                 unsigned WR:1;
691                 unsigned WREN:1;
692                 unsigned WRERR:1;
693                 unsigned FREE:1;
694                 unsigned :1;
695                 unsigned CFGS:1;
696                 unsigned EEPGD:1;
697         };
698 } __EECON1bits_t;
699
700 extern volatile __EECON1bits_t __at (0xfa6) EECON1bits;
701
702 extern __sfr __at (0xfa7) EECON2;
703 extern __sfr __at (0xfa8) EEDATA;
704 extern __sfr __at (0xfa9) EEADR;
705 extern __sfr __at (0xfaa) EEADRH;
706 extern __sfr __at (0xfab) RCSTA1;
707 typedef union {
708         struct {
709                 unsigned RX9D:1;
710                 unsigned OERR:1;
711                 unsigned FERR:1;
712                 unsigned ADDEN:1;
713                 unsigned CREN:1;
714                 unsigned SREN:1;
715                 unsigned RX9:1;
716                 unsigned SPEN:1;
717         };
718 } __RCSTA1bits_t;
719
720 extern volatile __RCSTA1bits_t __at (0xfab) RCSTA1bits;
721
722 extern __sfr __at (0xfac) TXSTA1;
723 typedef union {
724         struct {
725                 unsigned TX9D:1;
726                 unsigned TRMT:1;
727                 unsigned BRGH:1;
728                 unsigned :1;
729                 unsigned SYNC:1;
730                 unsigned TXEN:1;
731                 unsigned TX9:1;
732                 unsigned CSRC:1;
733         };
734 } __TXSTA1bits_t;
735
736 extern volatile __TXSTA1bits_t __at (0xfac) TXSTA1bits;
737
738 extern __sfr __at (0xfad) TXREG1;
739 extern __sfr __at (0xfae) RCREG1;
740 extern __sfr __at (0xfaf) SPBRG1;
741
742 /* for compatibility reasons */
743 extern __sfr __at (0xfab) RCSTA;
744 extern volatile __RCSTA1bits_t __at (0xfab) RCSTAbits;
745 extern __sfr __at (0xfac) TXSTA;
746 extern volatile __TXSTA1bits_t __at (0xfac) TXSTAbits;
747 extern __sfr __at (0xfad) TXREG;
748 extern __sfr __at (0xfae) RCREG;
749 extern __sfr __at (0xfaf) SPBRG;
750
751 extern __sfr __at (0xfb0) PSPCON;
752 typedef union {
753         struct {
754                 unsigned :1;
755                 unsigned :1;
756                 unsigned :1;
757                 unsigned :1;
758                 unsigned PSPMODE:1;
759                 unsigned IBOV:1;
760                 unsigned OBF:1;
761                 unsigned IBF:1;
762         };
763 } __PSPCONbits_t;
764
765 extern volatile __PSPCONbits_t __at (0xfb0) PSPCONbits;
766
767 extern __sfr __at (0xfb1) T3CON;
768 typedef union {
769         struct {
770                 unsigned TMR3ON:1;
771                 unsigned TMR3CS:1;
772                 unsigned T3SYNC:1;
773                 unsigned T3CCP1:1;
774                 unsigned T3CKPS0:1;
775                 unsigned T3CKPS1:1;
776                 unsigned T3CCP2:1;
777                 unsigned RD16:1;
778         };
779 } __T3CONbits_t;
780
781 extern volatile __T3CONbits_t __at (0xfb1) T3CONbits;
782
783 extern __sfr __at (0xfb2) TMR3L;
784 extern __sfr __at (0xfb3) TMR3H;
785 extern __sfr __at (0xfb4) CMCON;
786 typedef union {
787         struct {
788                 unsigned CM0:1;
789                 unsigned CM1:1;
790                 unsigned CM2:1;
791                 unsigned CIS:1;
792                 unsigned C1INV:1;
793                 unsigned C2INV:1;
794                 unsigned C1OUT:1;
795                 unsigned C2OUT:1;
796         };
797 } __CMCONbits_t;
798
799 extern volatile __CMCONbits_t __at (0xfb4) CMCONbits;
800
801 extern __sfr __at (0xfb5) CVRCON;
802 typedef union {
803         struct {
804                 unsigned CVR0:1;
805                 unsigned CVR1:1;
806                 unsigned CVR2:1;
807                 unsigned CVR3:1;
808                 unsigned CVREF:1;
809                 unsigned CVRR:1;
810                 unsigned CVROE:1;
811                 unsigned CVREN:1;
812         };
813 } __CVRCONbits_t;
814
815 extern volatile __CVRCONbits_t __at (0xfb5) CVRCONbits;
816
817 extern __sfr __at (0xfb7) CCP3CON;
818 typedef union {
819         struct {
820                 unsigned CCP3M0:1;
821                 unsigned CCP3M1:1;
822                 unsigned CCP3M2:1;
823                 unsigned CCP3M3:1;
824                 unsigned DCCP3Y:1;
825                 unsigned DCCP3X:1;
826                 unsigned :1;
827                 unsigned :1;
828         };
829 } __CCP3CONbits_t;
830
831 extern volatile __CCP3CONbits_t __at (0xfb7) CCP3CONbits;
832
833 extern __sfr __at (0xfb8) CCPR3L;
834 extern __sfr __at (0xfb9) CCPR3H;
835 extern __sfr __at (0xfba) CCP2CON;
836 typedef union {
837         struct {
838                 unsigned CCP2M0:1;
839                 unsigned CCP2M1:1;
840                 unsigned CCP2M2:1;
841                 unsigned CCP2M3:1;
842                 unsigned DCCP2Y:1;
843                 unsigned DCCP2X:1;
844                 unsigned :1;
845                 unsigned :1;
846         };
847 } __CCP2CONbits_t;
848
849 extern volatile __CCP2CONbits_t __at (0xfba) CCP2CONbits;
850
851 extern __sfr __at (0xfbb) CCPR2L;
852 extern __sfr __at (0xfbc) CCPR2H;
853 extern __sfr __at (0xfbd) CCP1CON;
854 typedef union {
855         struct {
856                 unsigned CCP1M0:1;
857                 unsigned CCP1M1:1;
858                 unsigned CCP1M2:1;
859                 unsigned CCP1M3:1;
860                 unsigned DCCP1Y:1;
861                 unsigned DCCP1X:1;
862                 unsigned :1;
863                 unsigned :1;
864         };
865 } __CCP1CONbits_t;
866
867 extern volatile __CCP1CONbits_t __at (0xfbd) CCP1CONbits;
868
869 extern __sfr __at (0xfbe) CCPR1L;
870 extern __sfr __at (0xfbf) CCPR1H;
871 extern __sfr __at (0xfc0) ADCON2;
872 typedef union {
873         struct {
874                 unsigned ADCS0:1;
875                 unsigned ADCS1:1;
876                 unsigned ADCS2:1;
877                 unsigned :1;
878                 unsigned :1;
879                 unsigned :1;
880                 unsigned :1;
881                 unsigned ADFM:1;
882         };
883 } __ADCON2bits_t;
884
885 extern volatile __ADCON2bits_t __at (0xfc0) ADCON2bits;
886
887 extern __sfr __at (0xfc1) ADCON1;
888 typedef union {
889         struct {
890                 unsigned PCFG0:1;
891                 unsigned PCFG1:1;
892                 unsigned PCFG2:1;
893                 unsigned PCFG3:1;
894                 unsigned VCFG0:1;
895                 unsigned VCFG1:1;
896                 unsigned :1;
897                 unsigned :1;
898         };
899 } __ADCON1bits_t;
900
901 extern volatile __ADCON1bits_t __at (0xfc1) ADCON1bits;
902
903 extern __sfr __at (0xfc2) ADCON0;
904 typedef union {
905         struct {
906                 unsigned ADON:1;
907                 unsigned GO:1;
908                 unsigned CHS0:1;
909                 unsigned CHS1:1;
910                 unsigned CHS2:1;
911                 unsigned CHS3:1;
912                 unsigned :1;
913                 unsigned :1;
914         };
915 } __ADCON0bits_t;
916
917 extern volatile __ADCON0bits_t __at (0xfc2) ADCON0bits;
918
919 extern __sfr __at (0xfc3) ADRESL;
920 extern __sfr __at (0xfc4) ADRESH;
921 extern __sfr __at (0xfc5) SSPCON2;
922 typedef union {
923         struct {
924                 unsigned SEN:1;
925                 unsigned RSEN:1;
926                 unsigned PEN:1;
927                 unsigned RCEN:1;
928                 unsigned ACKEN:1;
929                 unsigned ACKDT:1;
930                 unsigned ACKSTAT:1;
931                 unsigned GCEN:1;
932         };
933 } __SSPCON2bits_t;
934
935 extern volatile __SSPCON2bits_t __at (0xfc5) SSPCON2bits;
936
937 extern __sfr __at (0xfc6) SSPCON1;
938 typedef union {
939         struct {
940                 unsigned SSPM0:1;
941                 unsigned SSPM1:1;
942                 unsigned SSPM2:1;
943                 unsigned SSPM3:1;
944                 unsigned CKP:1;
945                 unsigned SSPEN:1;
946                 unsigned SSPOV:1;
947                 unsigned WCOL:1;
948         };
949 } __SSPCON1bits_t;
950
951 extern volatile __SSPCON1bits_t __at (0xfc6) SSPCON1bits;
952
953 extern __sfr __at (0xfc7) SSPSTAT;
954 typedef union {
955         struct {
956                 unsigned BF:1;
957                 unsigned UA:1;
958                 unsigned R_W:1;
959                 unsigned S:1;
960                 unsigned P:1;
961                 unsigned D_A:1;
962                 unsigned CKE:1;
963                 unsigned SMP:1;
964         };
965 } __SSPSTATbits_t;
966
967 extern volatile __SSPSTATbits_t __at (0xfc7) SSPSTATbits;
968
969 extern __sfr __at (0xfc8) SSPADD;
970 extern __sfr __at (0xfc9) SSPBUF;
971 extern __sfr __at (0xfca) T2CON;
972 typedef union {
973         struct {
974                 unsigned T2CKPS0:1;
975                 unsigned T2CKPS1:1;
976                 unsigned TMR2ON:1;
977                 unsigned TOUTPS0:1;
978                 unsigned TOUTPS1:1;
979                 unsigned TOUTPS2:1;
980                 unsigned TOUTPS3:1;
981                 unsigned :1;
982         };
983 } __T2CONbits_t;
984
985 extern volatile __T2CONbits_t __at (0xfca) T2CONbits;
986
987 extern __sfr __at (0xfcb) PR2;
988 extern __sfr __at (0xfcc) TMR2;
989 extern __sfr __at (0xfcd) T1CON;
990 typedef union {
991         struct {
992                 unsigned TMR1ON:1;
993                 unsigned TMR1CS:1;
994                 unsigned NOT_T1SYNC:1;
995                 unsigned T1OSCEN:1;
996                 unsigned T1CKPS0:1;
997                 unsigned T1CKPS1:1;
998                 unsigned :1;
999                 unsigned RD16:1;
1000         };
1001 } __T1CONbits_t;
1002
1003 extern volatile __T1CONbits_t __at (0xfcd) T1CONbits;
1004
1005 extern __sfr __at (0xfce) TMR1L;
1006 extern __sfr __at (0xfcf) TMR1H;
1007 extern __sfr __at (0xfd0) RCON;
1008 typedef union {
1009         struct {
1010                 unsigned BOR:1;
1011                 unsigned POR:1;
1012                 unsigned PD:1;
1013                 unsigned TO:1;
1014                 unsigned RI:1;
1015                 unsigned :1;
1016                 unsigned :1;
1017                 unsigned IPEN:1;
1018         };
1019 } __RCONbits_t;
1020
1021 extern volatile __RCONbits_t __at (0xfd0) RCONbits;
1022
1023 extern __sfr __at (0xfd1) WDTCON;
1024 typedef union {
1025         struct {
1026                 unsigned SWDTEN:1;
1027                 unsigned :1;
1028                 unsigned :1;
1029                 unsigned :1;
1030                 unsigned :1;
1031                 unsigned :1;
1032                 unsigned :1;
1033                 unsigned :1;
1034         };
1035
1036         struct {
1037                 unsigned SWDTE:1;
1038                 unsigned :1;
1039                 unsigned :1;
1040                 unsigned :1;
1041                 unsigned :1;
1042                 unsigned :1;
1043                 unsigned :1;
1044                 unsigned :1;
1045         };
1046 } __WDTCONbits_t;
1047
1048 extern volatile __WDTCONbits_t __at (0xfd1) WDTCONbits;
1049
1050 extern __sfr __at (0xfd2) LVDCON;
1051 typedef union {
1052         struct {
1053                 unsigned LVDL0:1;
1054                 unsigned LVDL1:1;
1055                 unsigned LVDL2:1;
1056                 unsigned LVDL3:1;
1057                 unsigned LVDEN:1;
1058                 unsigned VRST:1;
1059                 unsigned :1;
1060                 unsigned :1;
1061         };
1062
1063         struct {
1064                 unsigned LVV0:1;
1065                 unsigned LVV1:1;
1066                 unsigned LVV2:1;
1067                 unsigned LVV3:1;
1068                 unsigned :1;
1069                 unsigned BGST:1;
1070                 unsigned :1;
1071                 unsigned :1;
1072         };
1073 } __LVDCONbits_t;
1074
1075 extern volatile __LVDCONbits_t __at (0xfd2) LVDCONbits;
1076
1077 extern __sfr __at (0xfd3) OSCCON;
1078 typedef union {
1079         struct {
1080                 unsigned SCS:1;
1081                 unsigned :1;
1082                 unsigned :1;
1083                 unsigned :1;
1084                 unsigned :1;
1085                 unsigned :1;
1086                 unsigned :1;
1087                 unsigned :1;
1088         };
1089 } __OSCCONbits_t;
1090
1091 extern volatile __OSCCONbits_t __at (0xfd3) OSCCONbits;
1092
1093 extern __sfr __at (0xfd5) T0CON;
1094 extern __sfr __at (0xfd6) TMR0L;
1095 extern __sfr __at (0xfd7) TMR0H;
1096 extern __sfr __at (0xfd8) STATUS;
1097 typedef union {
1098         struct {
1099                 unsigned C:1;
1100                 unsigned DC:1;
1101                 unsigned Z:1;
1102                 unsigned OV:1;
1103                 unsigned N:1;
1104                 unsigned :1;
1105                 unsigned :1;
1106                 unsigned :1;
1107         };
1108 } __STATUSbits_t;
1109
1110 extern volatile __STATUSbits_t __at (0xfd8) STATUSbits;
1111
1112 extern __sfr __at (0xfd9) FSR2L;
1113 extern __sfr __at (0xfda) FSR2H;
1114 extern __sfr __at (0xfdb) PLUSW2;
1115 extern __sfr __at (0xfdc) PREINC2;
1116 extern __sfr __at (0xfdd) POSTDEC2;
1117 extern __sfr __at (0xfde) POSTINC2;
1118 extern __sfr __at (0xfdf) INDF2;
1119 extern __sfr __at (0xfe0) BSR;
1120 extern __sfr __at (0xfe1) FSR1L;
1121 extern __sfr __at (0xfe2) FSR1H;
1122 extern __sfr __at (0xfe3) PLUSW1;
1123 extern __sfr __at (0xfe4) PREINC1;
1124 extern __sfr __at (0xfe5) POSTDEC1;
1125 extern __sfr __at (0xfe6) POSTINC1;
1126 extern __sfr __at (0xfe7) INDF1;
1127 extern __sfr __at (0xfe8) WREG;
1128 extern __sfr __at (0xfe9) FSR0L;
1129 extern __sfr __at (0xfea) FSR0H;
1130 extern __sfr __at (0xfeb) PLUSW0;
1131 extern __sfr __at (0xfec) PREINC0;
1132 extern __sfr __at (0xfed) POSTDEC0;
1133 extern __sfr __at (0xfee) POSTINC0;
1134 extern __sfr __at (0xfef) INDF0;
1135 extern __sfr __at (0xff0) INTCON3;
1136 typedef union {
1137         struct {
1138                 unsigned INT1F:1;
1139                 unsigned INT2F:1;
1140                 unsigned INT3F:1;
1141                 unsigned INT1E:1;
1142                 unsigned INT2E:1;
1143                 unsigned INT3E:1;
1144                 unsigned INT1P:1;
1145                 unsigned INT2P:1;
1146         };
1147
1148         struct {
1149                 unsigned INT1IF:1;
1150                 unsigned INT2IF:1;
1151                 unsigned INT3IF:1;
1152                 unsigned INT1IE:1;
1153                 unsigned INT2IE:1;
1154                 unsigned INT3IE:1;
1155                 unsigned INT1IP:1;
1156                 unsigned INT2IP:1;
1157         };
1158 } __INTCON3bits_t;
1159
1160 extern volatile __INTCON3bits_t __at (0xff0) INTCON3bits;
1161
1162 extern __sfr __at (0xff1) INTCON2;
1163 typedef union {
1164         struct {
1165                 unsigned RBIP:1;
1166                 unsigned INT3P:1;
1167                 unsigned T0IP:1;
1168                 unsigned INTEDG3:1;
1169                 unsigned INTEDG2:1;
1170                 unsigned INTEDG1:1;
1171                 unsigned INTEDG0:1;
1172                 unsigned RBPU:1;
1173         };
1174 } __INTCON2bits_t;
1175
1176 extern volatile __INTCON2bits_t __at (0xff1) INTCON2bits;
1177
1178 extern __sfr __at (0xff2) INTCON;
1179 typedef union {
1180         struct {
1181                 unsigned RBIF:1;
1182                 unsigned INT0F:1;
1183                 unsigned T0IF:1;
1184                 unsigned RBIE:1;
1185                 unsigned INT0E:1;
1186                 unsigned T0IE:1;
1187                 unsigned PEIE:1;
1188                 unsigned GIE:1;
1189         };
1190         struct {
1191                 unsigned :1;
1192                 unsigned INT0IF:1;
1193                 unsigned TMR0IF:1;
1194                 unsigned :1;
1195                 unsigned INT0IE:1;
1196                 unsigned TMR0IE:1;
1197                 unsigned GIEL:1;
1198                 unsigned GIEH:1;
1199         };
1200 } __INTCONbits_t;
1201
1202 extern volatile __INTCONbits_t __at (0xff2) INTCONbits;
1203
1204 extern __sfr __at (0xff3) PRODL;
1205 extern __sfr __at (0xff4) PRODH;
1206 extern __sfr __at (0xff5) TABLAT;
1207 extern __sfr __at (0xff6) TBLPTRL;
1208 extern __sfr __at (0xff7) TBLPTRH;
1209 extern __sfr __at (0xff8) TBLPTRU;
1210 extern __sfr __at (0xff9) PCL;
1211 extern __sfr __at (0xffa) PCLATH;
1212 extern __sfr __at (0xffb) PCLATU;
1213 extern __sfr __at (0xffc) STKPTR;
1214 typedef union {
1215         struct {
1216                 unsigned STKPTR0:1;
1217                 unsigned STKPTR1:1;
1218                 unsigned STKPTR2:1;
1219                 unsigned STKPTR3:1;
1220                 unsigned STKPTR4:1;
1221                 unsigned :1;
1222                 unsigned STKUNF:1;
1223                 unsigned STKFUL:1;
1224         };
1225 } __STKPTRbits_t;
1226
1227 extern volatile __STKPTRbits_t __at (0xffc) STKPTRbits;
1228
1229 extern __sfr __at (0xffd) TOSL;
1230 extern __sfr __at (0xffe) TOSH;
1231 extern __sfr __at (0xfff) TOSU;
1232
1233
1234 /* Configuration registers locations */
1235 #define __CONFIG1H      0x300001
1236 #define __CONFIG2L      0x300002
1237 #define __CONFIG2H      0x300003
1238 #define __CONFIG3H      0x300005
1239 #define __CONFIG4L      0x300006
1240 #define __CONFIG5L      0x300008
1241 #define __CONFIG5H      0x300009
1242 #define __CONFIG6L      0x30000A
1243 #define __CONFIG6H      0x30000B
1244 #define __CONFIG7L      0x30000C
1245 #define __CONFIG7H      0x30000D
1246
1247
1248
1249 /* Oscillator 1H options */
1250 #define _OSC_RC_OSC2_1H 0xFF    /* RC-OSC2 as RA6 */
1251 #define _OSC_HS_PLL_1H  0xFE    /* HS-PLL Enabled */
1252 #define _OSC_EC_OSC2_RA6_1H     0xFD    /* EC-OSC2 as RA6 */
1253 #define _OSC_EC_OSC2_Clock_Out_1H       0xFC    /* EC-OSC2 as Clock_Out */
1254 #define _OSC_RC_1H      0xFB    /* RC */
1255 #define _OSC_HS_1H      0xFA    /* HS */
1256 #define _OSC_XT_1H      0xF9    /* XT */
1257 #define _OSC_LP_1H      0xF8    /* LP */
1258
1259 /* Osc. Switch Enable 1H options */
1260 #define _OSCS_OFF_1H    0xFF    /* Disabled */
1261 #define _OSCS_ON_1H     0xDF    /* Enabled */
1262
1263 /* Power Up Timer 2L options */
1264 #define _PUT_OFF_2L     0xFF    /* Disabled */
1265 #define _PUT_ON_2L      0xFE    /* Enabled */
1266
1267 /* Brown Out Detect 2L options */
1268 #define _BODEN_ON_2L    0xFF    /* Enabled */
1269 #define _BODEN_OFF_2L   0xFD    /* Disabled */
1270
1271 /* Brown Out Voltage 2L options */
1272 #define _BODENV_2_5V_2L 0xFF    /* 2.5V */
1273 #define _BODENV_2_7V_2L 0xFB    /* 2.7V */
1274 #define _BODENV_4_2V_2L 0xF7    /* 4.2V */
1275 #define _BODENV_4_5V_2L 0xF3    /* 4.5V */
1276
1277 /* Watchdog Timer 2H options */
1278 #define _WDT_ON_2H      0xFF    /* Enabled */
1279 #define _WDT_OFF_2H     0xFE    /* Disabled */
1280
1281 /* Watchdog Postscaler 2H options */
1282 #define _WDTPS_1_128_2H 0xFF    /* 1:128 */
1283 #define _WDTPS_1_64_2H  0xFD    /* 1:64 */
1284 #define _WDTPS_1_32_2H  0xFB    /* 1:32 */
1285 #define _WDTPS_1_16_2H  0xF9    /* 1:16 */
1286 #define _WDTPS_1_8_2H   0xF7    /* 1:8 */
1287 #define _WDTPS_1_4_2H   0xF5    /* 1:4 */
1288 #define _WDTPS_1_2_2H   0xF3    /* 1:2 */
1289 #define _WDTPS_1_1_2H   0xF1    /* 1:1 */
1290
1291 /* CCP2 Mux 3H options */
1292 #define _CCP2MUX_RC1_3H 0xFF    /* RC1 */
1293 #define _CCP2MUX_RE7_3H 0xFE    /* RE7 */
1294
1295 /* Low Voltage Program 4L options */
1296 #define _LVP_ON_4L      0xFF    /* Enabled */
1297 #define _LVP_OFF_4L     0xFB    /* Disabled */
1298
1299 /* Background Debug 4L options */
1300 #define _BACKBUG_OFF_4L 0xFF    /* Disabled */
1301 #define _BACKBUG_ON_4L  0x7F    /* Enabled */
1302
1303 /* Stack Overflow Reset 4L options */
1304 #define _STVR_ON_4L     0xFF    /* Enabled */
1305 #define _STVR_OFF_4L    0xFE    /* Disabled */
1306
1307 /* Code Protect 00200-03FFF 5L options */
1308 #define _CP_0_OFF_5L    0xFF    /* Disabled */
1309 #define _CP_0_ON_5L     0xFE    /* Enabled */
1310
1311 /* Code Protect 04000-07FFF 5L options */
1312 #define _CP_1_OFF_5L    0xFF    /* Disabled */
1313 #define _CP_1_ON_5L     0xFD    /* Enabled */
1314
1315 /* Code Protect 08000-0BFFF 5L options */
1316 #define _CP_2_OFF_5L    0xFF    /* Disabled */
1317 #define _CP_2_ON_5L     0xFB    /* Enabled */
1318
1319 /* Code Protect 0C000-0FFFF 5L options */
1320 #define _CP_3_OFF_5L    0xFF    /* Disabled */
1321 #define _CP_3_ON_5L     0xF7    /* Enabled */
1322
1323 /* Code Protect 10000-13FFF 5L options */
1324 #define _CP_4_OFF_5L    0xFF    /* Disabled */
1325 #define _CP_4_ON_5L     0xEF    /* Enabled */
1326
1327 /* Code Protect 14000-17FFF 5L options */
1328 #define _CP_5_OFF_5L    0xFF    /* Disabled */
1329 #define _CP_5_ON_5L     0xDF    /* Enabled */
1330
1331 /* Code Protect 18000-1BFFF 5L options */
1332 #define _CP_6_OFF_5L    0xFF    /* Disabled */
1333 #define _CP_6_ON_5L     0xBF    /* Enabled */
1334
1335 /* Code Protect 1C000-1FFFF 5L options */
1336 #define _CP_7_OFF_5L    0xFF    /* Disabled */
1337 #define _CP_7_ON_5L     0x7F    /* Enabled */
1338
1339 /* Data EE Read Protect 5H options */
1340 #define _CPD_OFF_5H     0xFF    /* Disabled */
1341 #define _CPD_ON_5H      0x7F    /* Enabled */
1342
1343 /* Code Protect Boot 5H options */
1344 #define _CPB_OFF_5H     0xFF    /* Disabled */
1345 #define _CPB_ON_5H      0xBF    /* Enabled */
1346
1347 /* Table Write Protect 00200-03FFF 6L options */
1348 #define _WRT_0_OFF_6L   0xFF    /* Disabled */
1349 #define _WRT_0_ON_6L    0xFE    /* Enabled */
1350
1351 /* Table Write Protect 04000-07FFF 6L options */
1352 #define _WRT_1_OFF_6L   0xFF    /* Disabled */
1353 #define _WRT_1_ON_6L    0xFD    /* Enabled */
1354
1355 /* Table Write Protect 08000-0BFFF 6L options */
1356 #define _WRT_2_OFF_6L   0xFF    /* Disabled */
1357 #define _WRT_2_ON_6L    0xFB    /* Enabled */
1358
1359 /* Table Write Protect 0C000-0FFFF 6L options */
1360 #define _WRT_3_OFF_6L   0xFF    /* Disabled */
1361 #define _WRT_3_ON_6L    0xF7    /* Enabled */
1362
1363 /* Table Write Protect 10000-13FFF 6L options */
1364 #define _WRT_4_OFF_6L   0xFF    /* Disabled */
1365 #define _WRT_4_ON_6L    0xEF    /* Enabled */
1366
1367 /* Table Write Protect 14000-17FFF 6L options */
1368 #define _WRT_5_OFF_6L   0xFF    /* Disabled */
1369 #define _WRT_5_ON_6L    0xDF    /* Enabled */
1370
1371 /* Table Write Protect 18000-1BFFF 6L options */
1372 #define _WRT_6_OFF_6L   0xFF    /* Disabled */
1373 #define _WRT_6_ON_6L    0xBF    /* Enabled */
1374
1375 /* Table Write Protect 1C000-1FFFF 6L options */
1376 #define _WRT_7_OFF_6L   0xFF    /* Disabled */
1377 #define _WRT_7_ON_6L    0x7F    /* Enabled */
1378
1379 /* Data EE Write Protect 6H options */
1380 #define _WRTD_OFF_6H    0xFF    /* Disabled */
1381 #define _WRTD_ON_6H     0x7F    /* Enabled */
1382
1383 /* Table Write Protect Boot 6H options */
1384 #define _WRTB_OFF_6H    0xFF    /* Disabled */
1385 #define _WRTB_ON_6H     0xBF    /* Enabled */
1386
1387 /* Config. Write Protect 6H options */
1388 #define _WRTC_OFF_6H    0xFF    /* Disabled */
1389 #define _WRTC_ON_6H     0xDF    /* Enabled */
1390
1391 /* Table Read Protect 00200-03FFF 7L options */
1392 #define _EBTR_0_OFF_7L  0xFF    /* Disabled */
1393 #define _EBTR_0_ON_7L   0xFE    /* Enabled */
1394
1395 /* Table Read Protect 04000-07FFF 7L options */
1396 #define _EBTR_1_OFF_7L  0xFF    /* Disabled */
1397 #define _EBTR_1_ON_7L   0xFD    /* Enabled */
1398
1399 /* Table Read Protect 08000-0BFFF 7L options */
1400 #define _EBTR_2_OFF_7L  0xFF    /* Disabled */
1401 #define _EBTR_2_ON_7L   0xFB    /* Enabled */
1402
1403 /* Table Read Protect 0C000-0FFFF 7L options */
1404 #define _EBTR_3_OFF_7L  0xFF    /* Disabled */
1405 #define _EBTR_3_ON_7L   0xF7    /* Enabled */
1406
1407 /* Table Read Protect 10000-13FFF 7L options */
1408 #define _EBTR_4_OFF_7L  0xFF    /* Disabled */
1409 #define _EBTR_4_ON_7L   0xEF    /* Enabled */
1410
1411 /* Table Read Protect 14000-17FFF 7L options */
1412 #define _EBTR_5_OFF_7L  0xFF    /* Disabled */
1413 #define _EBTR_5_ON_7L   0xDF    /* Enabled */
1414
1415 /* Table Read Protect 18000-1BFFF 7L options */
1416 #define _EBTR_6_OFF_7L  0xFF    /* Disabled */
1417 #define _EBTR_6_ON_7L   0xBF    /* Enabled */
1418
1419 /* Table Read Protect 1C000-1FFFF 7L options */
1420 #define _EBTR_7_OFF_7L  0xFF    /* Disabled */
1421 #define _EBTR_7_ON_7L   0x7F    /* Enabled */
1422
1423 /* Table Read Protect Boot 7H options */
1424 #define _EBTRB_OFF_7H   0xFF    /* Disabled */
1425 #define _EBTRB_ON_7H    0xBF    /* Enabled */
1426
1427
1428 /* Device ID locations */
1429 #define __IDLOC0        0x200000
1430 #define __IDLOC1        0x200001
1431 #define __IDLOC2        0x200002
1432 #define __IDLOC3        0x200003
1433 #define __IDLOC4        0x200004
1434 #define __IDLOC5        0x200005
1435 #define __IDLOC6        0x200006
1436 #define __IDLOC7        0x200007
1437
1438
1439 #endif