* support/scripts/inc2h.pl: conditionally emit defines for SFR bits,
[fw/sdcc] / device / include / pic / pic16c745.h
index 9190e96f03bd71aaf21590365d1c43f0abb92031..4c07dca148e48f6449b4afda536588f20804c9e1 100644 (file)
@@ -4,7 +4,7 @@
 //
 // This header file was automatically generated by:
 //
-//     inc2h.pl V1.6
+//     inc2h.pl V4783
 //
 //     Copyright (c) 2002, Kevin L. Pauba, All Rights Reserved
 //
 // Memory organization.
 //
 
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000   // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000   // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000     // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000       // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000     // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000       // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000       // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000   // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000   // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000   // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000       // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000       // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000     // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000       // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000       // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000     // CCP2CON
-#pragma memmap ADRES_ADDR ADRES_ADDR SFR 0x000 // ADRES
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000       // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000       // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000   // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000   // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000   // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000     // PR2
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000       // ADCON1
-#pragma memmap UIR_ADDR UIR_ADDR SFR 0x000     // UIR
-#pragma memmap UIE_ADDR UIE_ADDR SFR 0x000     // UIE
-#pragma memmap UEIR_ADDR UEIR_ADDR SFR 0x000   // UEIR
-#pragma memmap UEIE_ADDR UEIE_ADDR SFR 0x000   // UEIE
-#pragma memmap USTAT_ADDR USTAT_ADDR SFR 0x000 // USTAT
-#pragma memmap UCTRL_ADDR UCTRL_ADDR SFR 0x000 // UCTRL
-#pragma memmap UADDR_ADDR UADDR_ADDR SFR 0x000 // UADDR
-#pragma memmap USWSTAT_ADDR USWSTAT_ADDR SFR 0x000     // USWSTAT
-#pragma memmap UEP0_ADDR UEP0_ADDR SFR 0x000   // UEP0
-#pragma memmap UEP1_ADDR UEP1_ADDR SFR 0x000   // UEP1
-#pragma memmap UEP2_ADDR UEP2_ADDR SFR 0x000   // UEP2
-#pragma memmap BD0OST_ADDR BD0OST_ADDR SFR 0x000       // BD0OST
-#pragma memmap BD0OBC_ADDR BD0OBC_ADDR SFR 0x000       // BD0OBC
-#pragma memmap BD0OAL_ADDR BD0OAL_ADDR SFR 0x000       // BD0OAL
-#pragma memmap BD0IST_ADDR BD0IST_ADDR SFR 0x000       // BD0IST
-#pragma memmap BD0IBC_ADDR BD0IBC_ADDR SFR 0x000       // BD0IBC
-#pragma memmap BD0IAL_ADDR BD0IAL_ADDR SFR 0x000       // BD0IAL
-#pragma memmap BD1OST_ADDR BD1OST_ADDR SFR 0x000       // BD1OST
-#pragma memmap BD1OBC_ADDR BD1OBC_ADDR SFR 0x000       // BD1OBC
-#pragma memmap BD1OAL_ADDR BD1OAL_ADDR SFR 0x000       // BD1OAL
-#pragma memmap BD1IST_ADDR BD1IST_ADDR SFR 0x000       // BD1IST
-#pragma memmap BD1IBC_ADDR BD1IBC_ADDR SFR 0x000       // BD1IBC
-#pragma memmap BD1IAL_ADDR BD1IAL_ADDR SFR 0x000       // BD1IAL
-#pragma memmap BD2OST_ADDR BD2OST_ADDR SFR 0x000       // BD2OST
-#pragma memmap BD2OBC_ADDR BD2OBC_ADDR SFR 0x000       // BD2OBC
-#pragma memmap BD2OAL_ADDR BD2OAL_ADDR SFR 0x000       // BD2OAL
-#pragma memmap BD2IST_ADDR BD2IST_ADDR SFR 0x000       // BD2IST
-#pragma memmap BD2IBC_ADDR BD2IBC_ADDR SFR 0x000       // BD2IBC
-#pragma memmap BD2IAL_ADDR BD2IAL_ADDR SFR 0x000       // BD2IAL
 
 
 //         LIST
 
 //----- Register Files------------------------------------------------------
 
-extern data __at (INDF_ADDR) volatile char      INDF;
-extern sfr  __at (TMR0_ADDR)                    TMR0;
-extern data __at (PCL_ADDR) volatile char       PCL;
-extern sfr  __at (STATUS_ADDR)                  STATUS;
-extern sfr  __at (FSR_ADDR)                     FSR;
-extern sfr  __at (PORTA_ADDR)                   PORTA;
-extern sfr  __at (PORTB_ADDR)                   PORTB;
-extern sfr  __at (PORTC_ADDR)                   PORTC;
-extern sfr  __at (PCLATH_ADDR)                  PCLATH;
-extern sfr  __at (INTCON_ADDR)                  INTCON;
-extern sfr  __at (PIR1_ADDR)                    PIR1;
-extern sfr  __at (PIR2_ADDR)                    PIR2;
-extern sfr  __at (TMR1L_ADDR)                   TMR1L;
-extern sfr  __at (TMR1H_ADDR)                   TMR1H;
-extern sfr  __at (T1CON_ADDR)                   T1CON;
-extern sfr  __at (TMR2_ADDR)                    TMR2;
-extern sfr  __at (T2CON_ADDR)                   T2CON;
-extern sfr  __at (CCPR1L_ADDR)                  CCPR1L;
-extern sfr  __at (CCPR1H_ADDR)                  CCPR1H;
-extern sfr  __at (CCP1CON_ADDR)                 CCP1CON;
-extern sfr  __at (RCSTA_ADDR)                   RCSTA;
-extern sfr  __at (TXREG_ADDR)                   TXREG;
-extern sfr  __at (RCREG_ADDR)                   RCREG;
-extern sfr  __at (CCPR2L_ADDR)                  CCPR2L;
-extern sfr  __at (CCPR2H_ADDR)                  CCPR2H;
-extern sfr  __at (CCP2CON_ADDR)                 CCP2CON;
-extern sfr  __at (ADRES_ADDR)                   ADRES;
-extern sfr  __at (ADCON0_ADDR)                  ADCON0;
-
-extern sfr  __at (OPTION_REG_ADDR)              OPTION_REG;
-extern sfr  __at (TRISA_ADDR)                   TRISA;
-extern sfr  __at (TRISB_ADDR)                   TRISB;
-extern sfr  __at (TRISC_ADDR)                   TRISC;
-extern sfr  __at (PIE1_ADDR)                    PIE1;
-extern sfr  __at (PIE2_ADDR)                    PIE2;
-extern sfr  __at (PCON_ADDR)                    PCON;
-extern sfr  __at (PR2_ADDR)                     PR2;
-extern sfr  __at (TXSTA_ADDR)                   TXSTA;
-extern sfr  __at (SPBRG_ADDR)                   SPBRG;
-extern sfr  __at (ADCON1_ADDR)                  ADCON1;
-extern sfr  __at (UIR_ADDR)                     UIR;
-extern sfr  __at (UIE_ADDR)                     UIE;
-extern sfr  __at (UEIR_ADDR)                    UEIR;
-extern sfr  __at (UEIE_ADDR)                    UEIE;
-extern sfr  __at (USTAT_ADDR)                   USTAT;
-extern sfr  __at (UCTRL_ADDR)                   UCTRL;
-extern sfr  __at (UADDR_ADDR)                   UADDR;
-extern sfr  __at (USWSTAT_ADDR)                 USWSTAT;
-extern sfr  __at (UEP0_ADDR)                    UEP0;
-extern sfr  __at (UEP1_ADDR)                    UEP1;
-extern sfr  __at (UEP2_ADDR)                    UEP2;
-
-extern sfr  __at (BD0OST_ADDR)                  BD0OST;
-extern sfr  __at (BD0OBC_ADDR)                  BD0OBC;
-extern sfr  __at (BD0OAL_ADDR)                  BD0OAL;
-extern sfr  __at (BD0IST_ADDR)                  BD0IST;
-extern sfr  __at (BD0IBC_ADDR)                  BD0IBC;
-extern sfr  __at (BD0IAL_ADDR)                  BD0IAL;
-
-extern sfr  __at (BD1OST_ADDR)                  BD1OST;
-extern sfr  __at (BD1OBC_ADDR)                  BD1OBC;
-extern sfr  __at (BD1OAL_ADDR)                  BD1OAL;
-extern sfr  __at (BD1IST_ADDR)                  BD1IST;
-extern sfr  __at (BD1IBC_ADDR)                  BD1IBC;
-extern sfr  __at (BD1IAL_ADDR)                  BD1IAL;
-
-extern sfr  __at (BD2OST_ADDR)                  BD2OST;
-extern sfr  __at (BD2OBC_ADDR)                  BD2OBC;
-extern sfr  __at (BD2OAL_ADDR)                  BD2OAL;
-extern sfr  __at (BD2IST_ADDR)                  BD2IST;
-extern sfr  __at (BD2IBC_ADDR)                  BD2IBC;
-extern sfr  __at (BD2IAL_ADDR)                  BD2IAL;
+extern __sfr  __at (INDF_ADDR)                    INDF;
+extern __sfr  __at (TMR0_ADDR)                    TMR0;
+extern __sfr  __at (PCL_ADDR)                     PCL;
+extern __sfr  __at (STATUS_ADDR)                  STATUS;
+extern __sfr  __at (FSR_ADDR)                     FSR;
+extern __sfr  __at (PORTA_ADDR)                   PORTA;
+extern __sfr  __at (PORTB_ADDR)                   PORTB;
+extern __sfr  __at (PORTC_ADDR)                   PORTC;
+extern __sfr  __at (PCLATH_ADDR)                  PCLATH;
+extern __sfr  __at (INTCON_ADDR)                  INTCON;
+extern __sfr  __at (PIR1_ADDR)                    PIR1;
+extern __sfr  __at (PIR2_ADDR)                    PIR2;
+extern __sfr  __at (TMR1L_ADDR)                   TMR1L;
+extern __sfr  __at (TMR1H_ADDR)                   TMR1H;
+extern __sfr  __at (T1CON_ADDR)                   T1CON;
+extern __sfr  __at (TMR2_ADDR)                    TMR2;
+extern __sfr  __at (T2CON_ADDR)                   T2CON;
+extern __sfr  __at (CCPR1L_ADDR)                  CCPR1L;
+extern __sfr  __at (CCPR1H_ADDR)                  CCPR1H;
+extern __sfr  __at (CCP1CON_ADDR)                 CCP1CON;
+extern __sfr  __at (RCSTA_ADDR)                   RCSTA;
+extern __sfr  __at (TXREG_ADDR)                   TXREG;
+extern __sfr  __at (RCREG_ADDR)                   RCREG;
+extern __sfr  __at (CCPR2L_ADDR)                  CCPR2L;
+extern __sfr  __at (CCPR2H_ADDR)                  CCPR2H;
+extern __sfr  __at (CCP2CON_ADDR)                 CCP2CON;
+extern __sfr  __at (ADRES_ADDR)                   ADRES;
+extern __sfr  __at (ADCON0_ADDR)                  ADCON0;
+
+extern __sfr  __at (OPTION_REG_ADDR)              OPTION_REG;
+extern __sfr  __at (TRISA_ADDR)                   TRISA;
+extern __sfr  __at (TRISB_ADDR)                   TRISB;
+extern __sfr  __at (TRISC_ADDR)                   TRISC;
+extern __sfr  __at (PIE1_ADDR)                    PIE1;
+extern __sfr  __at (PIE2_ADDR)                    PIE2;
+extern __sfr  __at (PCON_ADDR)                    PCON;
+extern __sfr  __at (PR2_ADDR)                     PR2;
+extern __sfr  __at (TXSTA_ADDR)                   TXSTA;
+extern __sfr  __at (SPBRG_ADDR)                   SPBRG;
+extern __sfr  __at (ADCON1_ADDR)                  ADCON1;
+extern __sfr  __at (UIR_ADDR)                     UIR;
+extern __sfr  __at (UIE_ADDR)                     UIE;
+extern __sfr  __at (UEIR_ADDR)                    UEIR;
+extern __sfr  __at (UEIE_ADDR)                    UEIE;
+extern __sfr  __at (USTAT_ADDR)                   USTAT;
+extern __sfr  __at (UCTRL_ADDR)                   UCTRL;
+extern __sfr  __at (UADDR_ADDR)                   UADDR;
+extern __sfr  __at (USWSTAT_ADDR)                 USWSTAT;
+extern __sfr  __at (UEP0_ADDR)                    UEP0;
+extern __sfr  __at (UEP1_ADDR)                    UEP1;
+extern __sfr  __at (UEP2_ADDR)                    UEP2;
+
+extern __sfr  __at (BD0OST_ADDR)                  BD0OST;
+extern __sfr  __at (BD0OBC_ADDR)                  BD0OBC;
+extern __sfr  __at (BD0OAL_ADDR)                  BD0OAL;
+extern __sfr  __at (BD0IST_ADDR)                  BD0IST;
+extern __sfr  __at (BD0IBC_ADDR)                  BD0IBC;
+extern __sfr  __at (BD0IAL_ADDR)                  BD0IAL;
+
+extern __sfr  __at (BD1OST_ADDR)                  BD1OST;
+extern __sfr  __at (BD1OBC_ADDR)                  BD1OBC;
+extern __sfr  __at (BD1OAL_ADDR)                  BD1OAL;
+extern __sfr  __at (BD1IST_ADDR)                  BD1IST;
+extern __sfr  __at (BD1IBC_ADDR)                  BD1IBC;
+extern __sfr  __at (BD1IAL_ADDR)                  BD1IAL;
+
+extern __sfr  __at (BD2OST_ADDR)                  BD2OST;
+extern __sfr  __at (BD2OBC_ADDR)                  BD2OBC;
+extern __sfr  __at (BD2OAL_ADDR)                  BD2OAL;
+extern __sfr  __at (BD2IST_ADDR)                  BD2IST;
+extern __sfr  __at (BD2IBC_ADDR)                  BD2IBC;
+extern __sfr  __at (BD2IAL_ADDR)                  BD2IAL;
 
 
 //----- STATUS Bits --------------------------------------------------------
@@ -350,7 +282,7 @@ extern sfr  __at (BD2IAL_ADDR)                  BD2IAL;
 
 //----- UCTRL Bits ---------------------------------------------------------
 
-//----- UEP0/UEP1/UEP2 Bits ------------------------------------------------
+//----- UEPn Bits ---------------------------------------------------------
 
 
 //----- Buffer descriptor Bits ---------------------------------------------
@@ -423,6 +355,7 @@ typedef union {
 } __ADCON0_bits_t;
 extern volatile __ADCON0_bits_t __at(ADCON0_ADDR) ADCON0_bits;
 
+#ifndef NO_BIT_DEFINES
 #define ADON                 ADCON0_bits.ADON
 #define GO                   ADCON0_bits.GO
 #define NOT_DONE             ADCON0_bits.NOT_DONE
@@ -432,6 +365,7 @@ extern volatile __ADCON0_bits_t __at(ADCON0_ADDR) ADCON0_bits;
 #define CHS2                 ADCON0_bits.CHS2
 #define ADCS0                ADCON0_bits.ADCS0
 #define ADCS1                ADCON0_bits.ADCS1
+#endif /* NO_BIT_DEFINES */
 
 // ----- ADCON1 bits --------------------
 typedef union {
@@ -448,9 +382,11 @@ typedef union {
 } __ADCON1_bits_t;
 extern volatile __ADCON1_bits_t __at(ADCON1_ADDR) ADCON1_bits;
 
+#ifndef NO_BIT_DEFINES
 #define PCFG0                ADCON1_bits.PCFG0
 #define PCFG1                ADCON1_bits.PCFG1
 #define PCFG2                ADCON1_bits.PCFG2
+#endif /* NO_BIT_DEFINES */
 
 // ----- CCP1CON bits --------------------
 typedef union {
@@ -467,12 +403,14 @@ typedef union {
 } __CCP1CON_bits_t;
 extern volatile __CCP1CON_bits_t __at(CCP1CON_ADDR) CCP1CON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define CCP1M0               CCP1CON_bits.CCP1M0
 #define CCP1M1               CCP1CON_bits.CCP1M1
 #define CCP1M2               CCP1CON_bits.CCP1M2
 #define CCP1M3               CCP1CON_bits.CCP1M3
 #define DC1B0                CCP1CON_bits.DC1B0
 #define DC1B1                CCP1CON_bits.DC1B1
+#endif /* NO_BIT_DEFINES */
 
 // ----- CCP2CON bits --------------------
 typedef union {
@@ -489,12 +427,14 @@ typedef union {
 } __CCP2CON_bits_t;
 extern volatile __CCP2CON_bits_t __at(CCP2CON_ADDR) CCP2CON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define CCP2M0               CCP2CON_bits.CCP2M0
 #define CCP2M1               CCP2CON_bits.CCP2M1
 #define CCP2M2               CCP2CON_bits.CCP2M2
 #define CCP2M3               CCP2CON_bits.CCP2M3
 #define DC2B0                CCP2CON_bits.DC2B0
 #define DC2B1                CCP2CON_bits.DC2B1
+#endif /* NO_BIT_DEFINES */
 
 // ----- INTCON bits --------------------
 typedef union {
@@ -511,6 +451,7 @@ typedef union {
 } __INTCON_bits_t;
 extern volatile __INTCON_bits_t __at(INTCON_ADDR) INTCON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define RBIF                 INTCON_bits.RBIF
 #define INTF                 INTCON_bits.INTF
 #define T0IF                 INTCON_bits.T0IF
@@ -519,6 +460,7 @@ extern volatile __INTCON_bits_t __at(INTCON_ADDR) INTCON_bits;
 #define T0IE                 INTCON_bits.T0IE
 #define PEIE                 INTCON_bits.PEIE
 #define GIE                  INTCON_bits.GIE
+#endif /* NO_BIT_DEFINES */
 
 // ----- OPTION_REG bits --------------------
 typedef union {
@@ -535,6 +477,7 @@ typedef union {
 } __OPTION_REG_bits_t;
 extern volatile __OPTION_REG_bits_t __at(OPTION_REG_ADDR) OPTION_REG_bits;
 
+#ifndef NO_BIT_DEFINES
 #define PS0                  OPTION_REG_bits.PS0
 #define PS1                  OPTION_REG_bits.PS1
 #define PS2                  OPTION_REG_bits.PS2
@@ -543,6 +486,7 @@ extern volatile __OPTION_REG_bits_t __at(OPTION_REG_ADDR) OPTION_REG_bits;
 #define T0CS                 OPTION_REG_bits.T0CS
 #define INTEDG               OPTION_REG_bits.INTEDG
 #define NOT_RBPU             OPTION_REG_bits.NOT_RBPU
+#endif /* NO_BIT_DEFINES */
 
 // ----- PCON bits --------------------
 typedef union {
@@ -569,9 +513,11 @@ typedef union {
 } __PCON_bits_t;
 extern volatile __PCON_bits_t __at(PCON_ADDR) PCON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define NOT_BO               PCON_bits.NOT_BO
 #define NOT_BOR              PCON_bits.NOT_BOR
 #define NOT_POR              PCON_bits.NOT_POR
+#endif /* NO_BIT_DEFINES */
 
 // ----- PIE1 bits --------------------
 typedef union {
@@ -588,6 +534,7 @@ typedef union {
 } __PIE1_bits_t;
 extern volatile __PIE1_bits_t __at(PIE1_ADDR) PIE1_bits;
 
+#ifndef NO_BIT_DEFINES
 #define TMR1IE               PIE1_bits.TMR1IE
 #define TMR2IE               PIE1_bits.TMR2IE
 #define CCP1IE               PIE1_bits.CCP1IE
@@ -595,6 +542,7 @@ extern volatile __PIE1_bits_t __at(PIE1_ADDR) PIE1_bits;
 #define TXIE                 PIE1_bits.TXIE
 #define RCIE                 PIE1_bits.RCIE
 #define ADIE                 PIE1_bits.ADIE
+#endif /* NO_BIT_DEFINES */
 
 // ----- PIE2 bits --------------------
 typedef union {
@@ -611,7 +559,9 @@ typedef union {
 } __PIE2_bits_t;
 extern volatile __PIE2_bits_t __at(PIE2_ADDR) PIE2_bits;
 
+#ifndef NO_BIT_DEFINES
 #define CCP2IE               PIE2_bits.CCP2IE
+#endif /* NO_BIT_DEFINES */
 
 // ----- PIR1 bits --------------------
 typedef union {
@@ -628,6 +578,7 @@ typedef union {
 } __PIR1_bits_t;
 extern volatile __PIR1_bits_t __at(PIR1_ADDR) PIR1_bits;
 
+#ifndef NO_BIT_DEFINES
 #define TMR1IF               PIR1_bits.TMR1IF
 #define TMR2IF               PIR1_bits.TMR2IF
 #define CCP1IF               PIR1_bits.CCP1IF
@@ -635,6 +586,7 @@ extern volatile __PIR1_bits_t __at(PIR1_ADDR) PIR1_bits;
 #define TXIF                 PIR1_bits.TXIF
 #define RCIF                 PIR1_bits.RCIF
 #define ADIF                 PIR1_bits.ADIF
+#endif /* NO_BIT_DEFINES */
 
 // ----- PIR2 bits --------------------
 typedef union {
@@ -651,7 +603,85 @@ typedef union {
 } __PIR2_bits_t;
 extern volatile __PIR2_bits_t __at(PIR2_ADDR) PIR2_bits;
 
+#ifndef NO_BIT_DEFINES
 #define CCP2IF               PIR2_bits.CCP2IF
+#endif /* NO_BIT_DEFINES */
+
+// ----- PORTA bits --------------------
+typedef union {
+  struct {
+    unsigned char RA0:1;
+    unsigned char RA1:1;
+    unsigned char RA2:1;
+    unsigned char RA3:1;
+    unsigned char RA4:1;
+    unsigned char RA5:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __PORTA_bits_t;
+extern volatile __PORTA_bits_t __at(PORTA_ADDR) PORTA_bits;
+
+#ifndef NO_BIT_DEFINES
+#define RA0                  PORTA_bits.RA0
+#define RA1                  PORTA_bits.RA1
+#define RA2                  PORTA_bits.RA2
+#define RA3                  PORTA_bits.RA3
+#define RA4                  PORTA_bits.RA4
+#define RA5                  PORTA_bits.RA5
+#endif /* NO_BIT_DEFINES */
+
+// ----- PORTB bits --------------------
+typedef union {
+  struct {
+    unsigned char RB0:1;
+    unsigned char RB1:1;
+    unsigned char RB2:1;
+    unsigned char RB3:1;
+    unsigned char RB4:1;
+    unsigned char RB5:1;
+    unsigned char RB6:1;
+    unsigned char RB7:1;
+  };
+} __PORTB_bits_t;
+extern volatile __PORTB_bits_t __at(PORTB_ADDR) PORTB_bits;
+
+#ifndef NO_BIT_DEFINES
+#define RB0                  PORTB_bits.RB0
+#define RB1                  PORTB_bits.RB1
+#define RB2                  PORTB_bits.RB2
+#define RB3                  PORTB_bits.RB3
+#define RB4                  PORTB_bits.RB4
+#define RB5                  PORTB_bits.RB5
+#define RB6                  PORTB_bits.RB6
+#define RB7                  PORTB_bits.RB7
+#endif /* NO_BIT_DEFINES */
+
+// ----- PORTC bits --------------------
+typedef union {
+  struct {
+    unsigned char RC0:1;
+    unsigned char RC1:1;
+    unsigned char RC2:1;
+    unsigned char RC3:1;
+    unsigned char RC4:1;
+    unsigned char RC5:1;
+    unsigned char RC6:1;
+    unsigned char RC7:1;
+  };
+} __PORTC_bits_t;
+extern volatile __PORTC_bits_t __at(PORTC_ADDR) PORTC_bits;
+
+#ifndef NO_BIT_DEFINES
+#define RC0                  PORTC_bits.RC0
+#define RC1                  PORTC_bits.RC1
+#define RC2                  PORTC_bits.RC2
+#define RC3                  PORTC_bits.RC3
+#define RC4                  PORTC_bits.RC4
+#define RC5                  PORTC_bits.RC5
+#define RC6                  PORTC_bits.RC6
+#define RC7                  PORTC_bits.RC7
+#endif /* NO_BIT_DEFINES */
 
 // ----- RCSTA bits --------------------
 typedef union {
@@ -698,6 +728,7 @@ typedef union {
 } __RCSTA_bits_t;
 extern volatile __RCSTA_bits_t __at(RCSTA_ADDR) RCSTA_bits;
 
+#ifndef NO_BIT_DEFINES
 #define RX9D                 RCSTA_bits.RX9D
 #define RCD8                 RCSTA_bits.RCD8
 #define OERR                 RCSTA_bits.OERR
@@ -709,6 +740,7 @@ extern volatile __RCSTA_bits_t __at(RCSTA_ADDR) RCSTA_bits;
 #define NOT_RC8              RCSTA_bits.NOT_RC8
 #define RC8_9                RCSTA_bits.RC8_9
 #define SPEN                 RCSTA_bits.SPEN
+#endif /* NO_BIT_DEFINES */
 
 // ----- STATUS bits --------------------
 typedef union {
@@ -725,6 +757,7 @@ typedef union {
 } __STATUS_bits_t;
 extern volatile __STATUS_bits_t __at(STATUS_ADDR) STATUS_bits;
 
+#ifndef NO_BIT_DEFINES
 #define C                    STATUS_bits.C
 #define DC                   STATUS_bits.DC
 #define Z                    STATUS_bits.Z
@@ -733,6 +766,7 @@ extern volatile __STATUS_bits_t __at(STATUS_ADDR) STATUS_bits;
 #define RP0                  STATUS_bits.RP0
 #define RP1                  STATUS_bits.RP1
 #define IRP                  STATUS_bits.IRP
+#endif /* NO_BIT_DEFINES */
 
 // ----- T1CON bits --------------------
 typedef union {
@@ -759,6 +793,7 @@ typedef union {
 } __T1CON_bits_t;
 extern volatile __T1CON_bits_t __at(T1CON_ADDR) T1CON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define TMR1ON               T1CON_bits.TMR1ON
 #define TMR1CS               T1CON_bits.TMR1CS
 #define NOT_T1SYNC           T1CON_bits.NOT_T1SYNC
@@ -766,6 +801,7 @@ extern volatile __T1CON_bits_t __at(T1CON_ADDR) T1CON_bits;
 #define T1OSCEN              T1CON_bits.T1OSCEN
 #define T1CKPS0              T1CON_bits.T1CKPS0
 #define T1CKPS1              T1CON_bits.T1CKPS1
+#endif /* NO_BIT_DEFINES */
 
 // ----- T2CON bits --------------------
 typedef union {
@@ -782,6 +818,7 @@ typedef union {
 } __T2CON_bits_t;
 extern volatile __T2CON_bits_t __at(T2CON_ADDR) T2CON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define T2CKPS0              T2CON_bits.T2CKPS0
 #define T2CKPS1              T2CON_bits.T2CKPS1
 #define TMR2ON               T2CON_bits.TMR2ON
@@ -789,6 +826,83 @@ extern volatile __T2CON_bits_t __at(T2CON_ADDR) T2CON_bits;
 #define TOUTPS1              T2CON_bits.TOUTPS1
 #define TOUTPS2              T2CON_bits.TOUTPS2
 #define TOUTPS3              T2CON_bits.TOUTPS3
+#endif /* NO_BIT_DEFINES */
+
+// ----- TRISA bits --------------------
+typedef union {
+  struct {
+    unsigned char TRISA0:1;
+    unsigned char TRISA1:1;
+    unsigned char TRISA2:1;
+    unsigned char TRISA3:1;
+    unsigned char TRISA4:1;
+    unsigned char TRISA5:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __TRISA_bits_t;
+extern volatile __TRISA_bits_t __at(TRISA_ADDR) TRISA_bits;
+
+#ifndef NO_BIT_DEFINES
+#define TRISA0               TRISA_bits.TRISA0
+#define TRISA1               TRISA_bits.TRISA1
+#define TRISA2               TRISA_bits.TRISA2
+#define TRISA3               TRISA_bits.TRISA3
+#define TRISA4               TRISA_bits.TRISA4
+#define TRISA5               TRISA_bits.TRISA5
+#endif /* NO_BIT_DEFINES */
+
+// ----- TRISB bits --------------------
+typedef union {
+  struct {
+    unsigned char TRISB0:1;
+    unsigned char TRISB1:1;
+    unsigned char TRISB2:1;
+    unsigned char TRISB3:1;
+    unsigned char TRISB4:1;
+    unsigned char TRISB5:1;
+    unsigned char TRISB6:1;
+    unsigned char TRISB7:1;
+  };
+} __TRISB_bits_t;
+extern volatile __TRISB_bits_t __at(TRISB_ADDR) TRISB_bits;
+
+#ifndef NO_BIT_DEFINES
+#define TRISB0               TRISB_bits.TRISB0
+#define TRISB1               TRISB_bits.TRISB1
+#define TRISB2               TRISB_bits.TRISB2
+#define TRISB3               TRISB_bits.TRISB3
+#define TRISB4               TRISB_bits.TRISB4
+#define TRISB5               TRISB_bits.TRISB5
+#define TRISB6               TRISB_bits.TRISB6
+#define TRISB7               TRISB_bits.TRISB7
+#endif /* NO_BIT_DEFINES */
+
+// ----- TRISC bits --------------------
+typedef union {
+  struct {
+    unsigned char TRISC0:1;
+    unsigned char TRISC1:1;
+    unsigned char TRISC2:1;
+    unsigned char TRISC3:1;
+    unsigned char TRISC4:1;
+    unsigned char TRISC5:1;
+    unsigned char TRISC6:1;
+    unsigned char TRISC7:1;
+  };
+} __TRISC_bits_t;
+extern volatile __TRISC_bits_t __at(TRISC_ADDR) TRISC_bits;
+
+#ifndef NO_BIT_DEFINES
+#define TRISC0               TRISC_bits.TRISC0
+#define TRISC1               TRISC_bits.TRISC1
+#define TRISC2               TRISC_bits.TRISC2
+#define TRISC3               TRISC_bits.TRISC3
+#define TRISC4               TRISC_bits.TRISC4
+#define TRISC5               TRISC_bits.TRISC5
+#define TRISC6               TRISC_bits.TRISC6
+#define TRISC7               TRISC_bits.TRISC7
+#endif /* NO_BIT_DEFINES */
 
 // ----- TXSTA bits --------------------
 typedef union {
@@ -825,6 +939,7 @@ typedef union {
 } __TXSTA_bits_t;
 extern volatile __TXSTA_bits_t __at(TXSTA_ADDR) TXSTA_bits;
 
+#ifndef NO_BIT_DEFINES
 #define TX9D                 TXSTA_bits.TX9D
 #define TXD8                 TXSTA_bits.TXD8
 #define TRMT                 TXSTA_bits.TRMT
@@ -835,6 +950,7 @@ extern volatile __TXSTA_bits_t __at(TXSTA_ADDR) TXSTA_bits;
 #define NOT_TX8              TXSTA_bits.NOT_TX8
 #define TX8_9                TXSTA_bits.TX8_9
 #define CSRC                 TXSTA_bits.CSRC
+#endif /* NO_BIT_DEFINES */
 
 // ----- UCTRL bits --------------------
 typedef union {
@@ -851,11 +967,13 @@ typedef union {
 } __UCTRL_bits_t;
 extern volatile __UCTRL_bits_t __at(UCTRL_ADDR) UCTRL_bits;
 
+#ifndef NO_BIT_DEFINES
 #define SUSPND               UCTRL_bits.SUSPND
 #define RESUME               UCTRL_bits.RESUME
 #define DEV_ATT              UCTRL_bits.DEV_ATT
 #define PKT_DIS              UCTRL_bits.PKT_DIS
 #define SE0                  UCTRL_bits.SE0
+#endif /* NO_BIT_DEFINES */
 
 // ----- UEIE bits --------------------
 typedef union {
@@ -872,6 +990,7 @@ typedef union {
 } __UEIE_bits_t;
 extern volatile __UEIE_bits_t __at(UEIE_ADDR) UEIE_bits;
 
+#ifndef NO_BIT_DEFINES
 #define PID_ERR              UEIE_bits.PID_ERR
 #define CRC5                 UEIE_bits.CRC5
 #define CRC16                UEIE_bits.CRC16
@@ -880,8 +999,9 @@ extern volatile __UEIE_bits_t __at(UEIE_ADDR) UEIE_bits;
 #define WRT_ERR              UEIE_bits.WRT_ERR
 #define OWN_ERR              UEIE_bits.OWN_ERR
 #define BTS_ERR              UEIE_bits.BTS_ERR
+#endif /* NO_BIT_DEFINES */
 
-// ----- UEP2 bits --------------------
+// ----- UEP0 bits --------------------
 typedef union {
   struct {
     unsigned char EP_STALL:1;
@@ -913,22 +1033,24 @@ typedef union {
     unsigned char :1;
     unsigned char :1;
   };
-} __UEP2_bits_t;
-extern volatile __UEP2_bits_t __at(UEP2_ADDR) UEP2_bits;
-
-#define EP_STALL             UEP2_bits.EP_STALL
-#define EP_IN_EN             UEP2_bits.EP_IN_EN
-#define EP_OUT_EN            UEP2_bits.EP_OUT_EN
-#define BSTALL               UEP2_bits.BSTALL
-#define PID0                 UEP2_bits.PID0
-#define EP_CTL_DIS           UEP2_bits.EP_CTL_DIS
-#define DTS                  UEP2_bits.DTS
-#define PID1                 UEP2_bits.PID1
-#define PID2                 UEP2_bits.PID2
-#define PID3                 UEP2_bits.PID3
-#define DATA01               UEP2_bits.DATA01
-#define UOWN                 UEP2_bits.UOWN
-#define OWN                  UEP2_bits.OWN
+} __UEP0_bits_t;
+extern volatile __UEP0_bits_t __at(UEP0_ADDR) UEP0_bits;
+
+#ifndef NO_BIT_DEFINES
+#define EP_STALL             UEP0_bits.EP_STALL
+#define EP_IN_EN             UEP0_bits.EP_IN_EN
+#define EP_OUT_EN            UEP0_bits.EP_OUT_EN
+#define BSTALL               UEP0_bits.BSTALL
+#define PID0                 UEP0_bits.PID0
+#define EP_CTL_DIS           UEP0_bits.EP_CTL_DIS
+#define DTS                  UEP0_bits.DTS
+#define PID1                 UEP0_bits.PID1
+#define PID2                 UEP0_bits.PID2
+#define PID3                 UEP0_bits.PID3
+#define DATA01               UEP0_bits.DATA01
+#define UOWN                 UEP0_bits.UOWN
+#define OWN                  UEP0_bits.OWN
+#endif /* NO_BIT_DEFINES */
 
 // ----- UIE bits --------------------
 typedef union {
@@ -945,12 +1067,14 @@ typedef union {
 } __UIE_bits_t;
 extern volatile __UIE_bits_t __at(UIE_ADDR) UIE_bits;
 
+#ifndef NO_BIT_DEFINES
 #define USB_RST              UIE_bits.USB_RST
 #define UERR                 UIE_bits.UERR
 #define ACTIVITY             UIE_bits.ACTIVITY
 #define TOK_DNE              UIE_bits.TOK_DNE
 #define UIDLE                UIE_bits.UIDLE
 #define STALL                UIE_bits.STALL
+#endif /* NO_BIT_DEFINES */
 
 // ----- USTAT bits --------------------
 typedef union {
@@ -967,8 +1091,10 @@ typedef union {
 } __USTAT_bits_t;
 extern volatile __USTAT_bits_t __at(USTAT_ADDR) USTAT_bits;
 
+#ifndef NO_BIT_DEFINES
 #define IN                   USTAT_bits.IN
 #define ENDP0                USTAT_bits.ENDP0
 #define ENDP1                USTAT_bits.ENDP1
+#endif /* NO_BIT_DEFINES */
 
 #endif