* support/scripts/inc2h.pl: conditionally emit defines for SFR bits,
[fw/sdcc] / device / include / pic / pic16f639.h
index f1348c9c4d9f4830f174ccbb9a676a0906e95c2c..edfb30bec2f3213e7465bed5029d475c46aadebe 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
 //
 
 //----- Register Files------------------------------------------------------
 //Bank 0
-extern __data __at (INDF_ADDR) volatile char      INDF;
+extern __sfr  __at (INDF_ADDR)                    INDF;
 extern __sfr  __at (TMR0_ADDR)                    TMR0;
-extern __data __at (PCL_ADDR) volatile char       PCL;
+extern __sfr  __at (PCL_ADDR)                     PCL;
 extern __sfr  __at (STATUS_ADDR)                  STATUS;
 extern __sfr  __at (FSR_ADDR)                     FSR;
 extern __sfr  __at (PORTA_ADDR)                   PORTA;
@@ -127,18 +127,20 @@ extern __sfr  __at (PCLATH_ADDR)                  PCLATH;
 extern __sfr  __at (INTCON_ADDR)                  INTCON;
 extern __sfr  __at (PIR1_ADDR)                    PIR1;
 
-extern __sfr  __at (TMR1L_ADDR)                   TMR1L;
-extern __sfr  __at (TMR1H_ADDR)                   TMR1H;
-extern __sfr  __at (T1CON_ADDR)                   T1CON;
+extern __sfr  __at (TMR1L_ADDR)                   TMR1L;               
+extern __sfr  __at (TMR1H_ADDR)                   TMR1H;               
+extern __sfr  __at (T1CON_ADDR)                   T1CON;               
 
 extern __sfr  __at (WDTCON_ADDR)                  WDTCON;
-extern __sfr  __at (CMCON0_ADDR)                  CMCON0;
-extern __sfr  __at (CMCON1_ADDR)                  CMCON1;
+extern __sfr  __at (CMCON0_ADDR)                  CMCON0;              
+extern __sfr  __at (CMCON1_ADDR)                  CMCON1;              
 
 //Bank 1
 extern __sfr  __at (OPTION_REG_ADDR)              OPTION_REG;
+
 extern __sfr  __at (TRISA_ADDR)                   TRISA;
 extern __sfr  __at (TRISC_ADDR)                   TRISC;
+
 extern __sfr  __at (PIE1_ADDR)                    PIE1;
 
 extern __sfr  __at (PCON_ADDR)                    PCON;
@@ -151,9 +153,9 @@ extern __sfr  __at (IOCA_ADDR)                    IOCA;
 extern __sfr  __at (WDA_ADDR)                     WDA;
 
 extern __sfr  __at (VRCON_ADDR)                   VRCON;
-extern __sfr  __at (EEDAT_ADDR)                   EEDAT;        
-extern __sfr  __at (EEDATA_ADDR)                  EEDATA;        
-extern __sfr  __at (EEADR_ADDR)                   EEADR;        
+extern __sfr  __at (EEDAT_ADDR)                   EEDAT;       
+extern __sfr  __at (EEDATA_ADDR)                  EEDATA;      
+extern __sfr  __at (EEADR_ADDR)                   EEADR;       
 extern __sfr  __at (EECON1_ADDR)                  EECON1;
 extern __sfr  __at (EECON2_ADDR)                  EECON2;
 
@@ -232,8 +234,8 @@ extern __sfr  __at (CRDAT3_ADDR)                  CRDAT3;
 //         __MAXRAM H'1FF'
 //         __BADRAM H'06', H'08'-H'09', H'0D', H'11'-H'17', H'1B'-H'1F'
 //         __BADRAM H'86', H'88'-H'89', H'8D', H'91'-H'93', H'98', H'9E'-H'9F', H'C0'-H'EF'
-//         __BADRAM H'10C'-H'10F', H'115'-H'16F', H'106', H'108'-H'109', H'186'
-//         __BADRAM H'188'-H'189', H'18C'-H'1EF'
+//             __BADRAM H'10C'-H'10F', H'115'-H'16F', H'106', H'108'-H'109', H'186'
+//             __BADRAM H'188'-H'189', H'18C'-H'1EF'
 
 //==========================================================================
 //
@@ -286,6 +288,7 @@ typedef union {
 } __CMCON0_bits_t;
 extern volatile __CMCON0_bits_t __at(CMCON0_ADDR) CMCON0_bits;
 
+#ifndef NO_BIT_DEFINES
 #define CM0                  CMCON0_bits.CM0
 #define CM1                  CMCON0_bits.CM1
 #define CM2                  CMCON0_bits.CM2
@@ -294,6 +297,7 @@ extern volatile __CMCON0_bits_t __at(CMCON0_ADDR) CMCON0_bits;
 #define C2INV                CMCON0_bits.C2INV
 #define C1OUT                CMCON0_bits.C1OUT
 #define C2OUT                CMCON0_bits.C2OUT
+#endif /* NO_BIT_DEFINES */
 
 // ----- CMCON1 bits --------------------
 typedef union {
@@ -310,8 +314,54 @@ typedef union {
 } __CMCON1_bits_t;
 extern volatile __CMCON1_bits_t __at(CMCON1_ADDR) CMCON1_bits;
 
+#ifndef NO_BIT_DEFINES
 #define C2SYNC               CMCON1_bits.C2SYNC
 #define T1GSS                CMCON1_bits.T1GSS
+#endif /* NO_BIT_DEFINES */
+
+// ----- CRCON bits --------------------
+typedef union {
+  struct {
+    unsigned char CRREG0:1;
+    unsigned char CRREG1:1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char ENC_DEC:1;
+    unsigned char GO:1;
+  };
+} __CRCON_bits_t;
+extern volatile __CRCON_bits_t __at(CRCON_ADDR) CRCON_bits;
+
+#ifndef NO_BIT_DEFINES
+#define CRREG0               CRCON_bits.CRREG0
+#define CRREG1               CRCON_bits.CRREG1
+#define ENC_DEC              CRCON_bits.ENC_DEC
+#define GO                   CRCON_bits.GO
+#endif /* NO_BIT_DEFINES */
+
+// ----- EECON1 bits --------------------
+typedef union {
+  struct {
+    unsigned char RD:1;
+    unsigned char WR:1;
+    unsigned char WREN:1;
+    unsigned char WRERR:1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __EECON1_bits_t;
+extern volatile __EECON1_bits_t __at(EECON1_ADDR) EECON1_bits;
+
+#ifndef NO_BIT_DEFINES
+#define RD                   EECON1_bits.RD
+#define WR                   EECON1_bits.WR
+#define WREN                 EECON1_bits.WREN
+#define WRERR                EECON1_bits.WRERR
+#endif /* NO_BIT_DEFINES */
 
 // ----- INTCON bits --------------------
 typedef union {
@@ -328,6 +378,7 @@ typedef union {
 } __INTCON_bits_t;
 extern volatile __INTCON_bits_t __at(INTCON_ADDR) INTCON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define RAIF                 INTCON_bits.RAIF
 #define INTF                 INTCON_bits.INTF
 #define T0IF                 INTCON_bits.T0IF
@@ -336,6 +387,54 @@ 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 */
+
+// ----- IOCA bits --------------------
+typedef union {
+  struct {
+    unsigned char IOCA0:1;
+    unsigned char IOCA1:1;
+    unsigned char IOCA2:1;
+    unsigned char IOCA3:1;
+    unsigned char IOCA4:1;
+    unsigned char IOCA5:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __IOCA_bits_t;
+extern volatile __IOCA_bits_t __at(IOCA_ADDR) IOCA_bits;
+
+#ifndef NO_BIT_DEFINES
+#define IOCA0                IOCA_bits.IOCA0
+#define IOCA1                IOCA_bits.IOCA1
+#define IOCA2                IOCA_bits.IOCA2
+#define IOCA3                IOCA_bits.IOCA3
+#define IOCA4                IOCA_bits.IOCA4
+#define IOCA5                IOCA_bits.IOCA5
+#endif /* NO_BIT_DEFINES */
+
+// ----- LVDCON bits --------------------
+typedef union {
+  struct {
+    unsigned char LVDL0:1;
+    unsigned char LVDL1:1;
+    unsigned char LVDL2:1;
+    unsigned char :1;
+    unsigned char LVDEN:1;
+    unsigned char IRVST:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __LVDCON_bits_t;
+extern volatile __LVDCON_bits_t __at(LVDCON_ADDR) LVDCON_bits;
+
+#ifndef NO_BIT_DEFINES
+#define LVDL0                LVDCON_bits.LVDL0
+#define LVDL1                LVDCON_bits.LVDL1
+#define LVDL2                LVDCON_bits.LVDL2
+#define LVDEN                LVDCON_bits.LVDEN
+#define IRVST                LVDCON_bits.IRVST
+#endif /* NO_BIT_DEFINES */
 
 // ----- OPTION_REG bits --------------------
 typedef union {
@@ -352,6 +451,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
@@ -360,6 +460,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_RAPU             OPTION_REG_bits.NOT_RAPU
+#endif /* NO_BIT_DEFINES */
 
 // ----- OSCCON bits --------------------
 typedef union {
@@ -376,6 +477,7 @@ typedef union {
 } __OSCCON_bits_t;
 extern volatile __OSCCON_bits_t __at(OSCCON_ADDR) OSCCON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define SCS                  OSCCON_bits.SCS
 #define LTS                  OSCCON_bits.LTS
 #define HTS                  OSCCON_bits.HTS
@@ -383,6 +485,7 @@ extern volatile __OSCCON_bits_t __at(OSCCON_ADDR) OSCCON_bits;
 #define IRCF0                OSCCON_bits.IRCF0
 #define IRCF1                OSCCON_bits.IRCF1
 #define IRCF2                OSCCON_bits.IRCF2
+#endif /* NO_BIT_DEFINES */
 
 // ----- OSCTUNE bits --------------------
 typedef union {
@@ -392,76 +495,6 @@ typedef union {
     unsigned char TUN2:1;
     unsigned char TUN3:1;
     unsigned char TUN4:1;
-    unsigned char IOCA5:1;
-    unsigned char ENC_DEC:1;
-    unsigned char VREN:1;
-  };
-  struct {
-    unsigned char IOCA0:1;
-    unsigned char IOCA1:1;
-    unsigned char IOCA2:1;
-    unsigned char IOCA3:1;
-    unsigned char IOCA4:1;
-    unsigned char VRR:1;
-    unsigned char :1;
-    unsigned char GO:1;
-  };
-  struct {
-    unsigned char RD:1;
-    unsigned char WR:1;
-    unsigned char WREN:1;
-    unsigned char WRERR:1;
-    unsigned char LVDEN:1;
-    unsigned char IRVST:1;
-    unsigned char :1;
-    unsigned char :1;
-  };
-  struct {
-    unsigned char VR0:1;
-    unsigned char VR1:1;
-    unsigned char VR2:1;
-    unsigned char VR3:1;
-    unsigned char WDA4:1;
-    unsigned char WDA5:1;
-    unsigned char :1;
-    unsigned char :1;
-  };
-  struct {
-    unsigned char CRREG0:1;
-    unsigned char CRREG1:1;
-    unsigned char LVDL2:1;
-    unsigned char :1;
-    unsigned char WPUDA4:1;
-    unsigned char WPUDA5:1;
-    unsigned char :1;
-    unsigned char :1;
-  };
-  struct {
-    unsigned char LVDL0:1;
-    unsigned char LVDL1:1;
-    unsigned char WDA2:1;
-    unsigned char :1;
-    unsigned char :1;
-    unsigned char :1;
-    unsigned char :1;
-    unsigned char :1;
-  };
-  struct {
-    unsigned char WDA0:1;
-    unsigned char WDA1:1;
-    unsigned char WPUDA2:1;
-    unsigned char :1;
-    unsigned char :1;
-    unsigned char :1;
-    unsigned char :1;
-    unsigned char :1;
-  };
-  struct {
-    unsigned char WPUDA0:1;
-    unsigned char WPUDA1:1;
-    unsigned char :1;
-    unsigned char :1;
-    unsigned char :1;
     unsigned char :1;
     unsigned char :1;
     unsigned char :1;
@@ -469,46 +502,13 @@ typedef union {
 } __OSCTUNE_bits_t;
 extern volatile __OSCTUNE_bits_t __at(OSCTUNE_ADDR) OSCTUNE_bits;
 
+#ifndef NO_BIT_DEFINES
 #define TUN0                 OSCTUNE_bits.TUN0
-#define IOCA0                OSCTUNE_bits.IOCA0
-#define RD                   OSCTUNE_bits.RD
-#define VR0                  OSCTUNE_bits.VR0
-#define CRREG0               OSCTUNE_bits.CRREG0
-#define LVDL0                OSCTUNE_bits.LVDL0
-#define WDA0                 OSCTUNE_bits.WDA0
-#define WPUDA0               OSCTUNE_bits.WPUDA0
 #define TUN1                 OSCTUNE_bits.TUN1
-#define IOCA1                OSCTUNE_bits.IOCA1
-#define WR                   OSCTUNE_bits.WR
-#define VR1                  OSCTUNE_bits.VR1
-#define CRREG1               OSCTUNE_bits.CRREG1
-#define LVDL1                OSCTUNE_bits.LVDL1
-#define WDA1                 OSCTUNE_bits.WDA1
-#define WPUDA1               OSCTUNE_bits.WPUDA1
 #define TUN2                 OSCTUNE_bits.TUN2
-#define IOCA2                OSCTUNE_bits.IOCA2
-#define WREN                 OSCTUNE_bits.WREN
-#define VR2                  OSCTUNE_bits.VR2
-#define LVDL2                OSCTUNE_bits.LVDL2
-#define WDA2                 OSCTUNE_bits.WDA2
-#define WPUDA2               OSCTUNE_bits.WPUDA2
 #define TUN3                 OSCTUNE_bits.TUN3
-#define IOCA3                OSCTUNE_bits.IOCA3
-#define WRERR                OSCTUNE_bits.WRERR
-#define VR3                  OSCTUNE_bits.VR3
 #define TUN4                 OSCTUNE_bits.TUN4
-#define IOCA4                OSCTUNE_bits.IOCA4
-#define LVDEN                OSCTUNE_bits.LVDEN
-#define WDA4                 OSCTUNE_bits.WDA4
-#define WPUDA4               OSCTUNE_bits.WPUDA4
-#define IOCA5                OSCTUNE_bits.IOCA5
-#define VRR                  OSCTUNE_bits.VRR
-#define IRVST                OSCTUNE_bits.IRVST
-#define WDA5                 OSCTUNE_bits.WDA5
-#define WPUDA5               OSCTUNE_bits.WPUDA5
-#define ENC_DEC              OSCTUNE_bits.ENC_DEC
-#define VREN                 OSCTUNE_bits.VREN
-#define GO                   OSCTUNE_bits.GO
+#endif /* NO_BIT_DEFINES */
 
 // ----- PCON bits --------------------
 typedef union {
@@ -525,11 +525,13 @@ typedef union {
 } __PCON_bits_t;
 extern volatile __PCON_bits_t __at(PCON_ADDR) PCON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define NOT_BOD              PCON_bits.NOT_BOD
 #define NOT_POR              PCON_bits.NOT_POR
 #define NOT_WUR              PCON_bits.NOT_WUR
 #define SBODEN               PCON_bits.SBODEN
 #define ULPWUE               PCON_bits.ULPWUE
+#endif /* NO_BIT_DEFINES */
 
 // ----- PIE1 bits --------------------
 typedef union {
@@ -546,6 +548,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 OSFIE                PIE1_bits.OSFIE
 #define C1IE                 PIE1_bits.C1IE
@@ -553,6 +556,7 @@ extern volatile __PIE1_bits_t __at(PIE1_ADDR) PIE1_bits;
 #define CRIE                 PIE1_bits.CRIE
 #define LVDIE                PIE1_bits.LVDIE
 #define EEIE                 PIE1_bits.EEIE
+#endif /* NO_BIT_DEFINES */
 
 // ----- PIR1 bits --------------------
 typedef union {
@@ -569,6 +573,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 OSFIF                PIR1_bits.OSFIF
 #define C1IF                 PIR1_bits.C1IF
@@ -576,6 +581,57 @@ extern volatile __PIR1_bits_t __at(PIR1_ADDR) PIR1_bits;
 #define CRIF                 PIR1_bits.CRIF
 #define LVDIF                PIR1_bits.LVDIF
 #define EEIF                 PIR1_bits.EEIF
+#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 */
+
+// ----- 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 */
 
 // ----- STATUS bits --------------------
 typedef union {
@@ -592,6 +648,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
@@ -600,6 +657,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 {
@@ -616,6 +674,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
@@ -624,6 +683,104 @@ extern volatile __T1CON_bits_t __at(T1CON_ADDR) T1CON_bits;
 #define T1CKPS1              T1CON_bits.T1CKPS1
 #define TMR1GE               T1CON_bits.TMR1GE
 #define T1GINV               T1CON_bits.T1GINV
+#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 */
+
+// ----- 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 */
+
+// ----- VRCON bits --------------------
+typedef union {
+  struct {
+    unsigned char VR0:1;
+    unsigned char VR1:1;
+    unsigned char VR2:1;
+    unsigned char VR3:1;
+    unsigned char :1;
+    unsigned char VRR:1;
+    unsigned char :1;
+    unsigned char VREN:1;
+  };
+} __VRCON_bits_t;
+extern volatile __VRCON_bits_t __at(VRCON_ADDR) VRCON_bits;
+
+#ifndef NO_BIT_DEFINES
+#define VR0                  VRCON_bits.VR0
+#define VR1                  VRCON_bits.VR1
+#define VR2                  VRCON_bits.VR2
+#define VR3                  VRCON_bits.VR3
+#define VRR                  VRCON_bits.VRR
+#define VREN                 VRCON_bits.VREN
+#endif /* NO_BIT_DEFINES */
+
+// ----- WDA bits --------------------
+typedef union {
+  struct {
+    unsigned char WDA0:1;
+    unsigned char WDA1:1;
+    unsigned char WDA2:1;
+    unsigned char :1;
+    unsigned char WDA4:1;
+    unsigned char WDA5:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __WDA_bits_t;
+extern volatile __WDA_bits_t __at(WDA_ADDR) WDA_bits;
+
+#ifndef NO_BIT_DEFINES
+#define WDA0                 WDA_bits.WDA0
+#define WDA1                 WDA_bits.WDA1
+#define WDA2                 WDA_bits.WDA2
+#define WDA4                 WDA_bits.WDA4
+#define WDA5                 WDA_bits.WDA5
+#endif /* NO_BIT_DEFINES */
 
 // ----- WDTCON bits --------------------
 typedef union {
@@ -640,10 +797,35 @@ typedef union {
 } __WDTCON_bits_t;
 extern volatile __WDTCON_bits_t __at(WDTCON_ADDR) WDTCON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define SWDTEN               WDTCON_bits.SWDTEN
 #define WDTPS0               WDTCON_bits.WDTPS0
 #define WDTPS1               WDTCON_bits.WDTPS1
 #define WDTPS2               WDTCON_bits.WDTPS2
 #define WDTPS3               WDTCON_bits.WDTPS3
+#endif /* NO_BIT_DEFINES */
+
+// ----- WPUDA bits --------------------
+typedef union {
+  struct {
+    unsigned char WPUDA0:1;
+    unsigned char WPUDA1:1;
+    unsigned char WPUDA2:1;
+    unsigned char :1;
+    unsigned char WPUDA4:1;
+    unsigned char WPUDA5:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __WPUDA_bits_t;
+extern volatile __WPUDA_bits_t __at(WPUDA_ADDR) WPUDA_bits;
+
+#ifndef NO_BIT_DEFINES
+#define WPUDA0               WPUDA_bits.WPUDA0
+#define WPUDA1               WPUDA_bits.WPUDA1
+#define WPUDA2               WPUDA_bits.WPUDA2
+#define WPUDA4               WPUDA_bits.WPUDA4
+#define WPUDA5               WPUDA_bits.WPUDA5
+#endif /* NO_BIT_DEFINES */
 
 #endif