* support/scripts/inc2h.pl: conditionally emit defines for SFR bits,
[fw/sdcc] / device / include / pic / pic12f683.h
index d7c217e26b5265e582523757f0e7eae378ec8d9a..4e348289faa40f7d7061eea9bff3bcb86d0062f5 100644 (file)
@@ -4,7 +4,7 @@
 //
 // This header file was automatically generated by:
 //
-//     inc2h.pl V1.7
+//     inc2h.pl V4783
 //
 //     Copyright (c) 2002, Kevin L. Pauba, All Rights Reserved
 //
@@ -95,6 +95,7 @@
 //       Revision History
 //
 //==========================================================================
+//1.01   01/05/07 GPIO Bits
 //1.00   12/09/03 Original
 
 //==========================================================================
 
 //----- Register Files------------------------------------------------------
 
-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 (GPIO_ADDR)                    GPIO;
@@ -193,10 +194,10 @@ extern __sfr  __at (ANSEL_ADDR)                   ANSEL;
 //----- WDTCON Bits --------------------------------------------------------
 
 
-//----- CMCON0 Bits -------------------------------------------------------
+//----- COMCON0 Bits -------------------------------------------------------
 
 
-//----- CMCON1 Bits -------------------------------------------------------
+//----- COMCON1 Bits -------------------------------------------------------
 
 
 //----- ADCON0 Bits --------------------------------------------------------
@@ -318,6 +319,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
@@ -327,6 +329,32 @@ extern volatile __ADCON0_bits_t __at(ADCON0_ADDR) ADCON0_bits;
 #define CHS2                 ADCON0_bits.CHS2
 #define VCFG                 ADCON0_bits.VCFG
 #define ADFM                 ADCON0_bits.ADFM
+#endif /* NO_BIT_DEFINES */
+
+// ----- ANSEL bits --------------------
+typedef union {
+  struct {
+    unsigned char ANS0:1;
+    unsigned char ANS1:1;
+    unsigned char ANS2:1;
+    unsigned char ANS3:1;
+    unsigned char ADCS0:1;
+    unsigned char ADCS1:1;
+    unsigned char ADCS2:1;
+    unsigned char :1;
+  };
+} __ANSEL_bits_t;
+extern volatile __ANSEL_bits_t __at(ANSEL_ADDR) ANSEL_bits;
+
+#ifndef NO_BIT_DEFINES
+#define ANS0                 ANSEL_bits.ANS0
+#define ANS1                 ANSEL_bits.ANS1
+#define ANS2                 ANSEL_bits.ANS2
+#define ANS3                 ANSEL_bits.ANS3
+#define ADCS0                ANSEL_bits.ADCS0
+#define ADCS1                ANSEL_bits.ADCS1
+#define ADCS2                ANSEL_bits.ADCS2
+#endif /* NO_BIT_DEFINES */
 
 // ----- CCP1CON bits --------------------
 typedef union {
@@ -343,12 +371,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 */
 
 // ----- CMCON0 bits --------------------
 typedef union {
@@ -365,12 +395,14 @@ 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
 #define CIS                  CMCON0_bits.CIS
 #define CINV                 CMCON0_bits.CINV
 #define COUT                 CMCON0_bits.COUT
+#endif /* NO_BIT_DEFINES */
 
 // ----- CMCON1 bits --------------------
 typedef union {
@@ -387,8 +419,72 @@ typedef union {
 } __CMCON1_bits_t;
 extern volatile __CMCON1_bits_t __at(CMCON1_ADDR) CMCON1_bits;
 
+#ifndef NO_BIT_DEFINES
 #define CMSYNC               CMCON1_bits.CMSYNC
 #define T1GSS                CMCON1_bits.T1GSS
+#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 */
+
+// ----- GPIO bits --------------------
+typedef union {
+  struct {
+    unsigned char GP0:1;
+    unsigned char GP1:1;
+    unsigned char GP2:1;
+    unsigned char GP3:1;
+    unsigned char GP4:1;
+    unsigned char GP5:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+  struct {
+    unsigned char GPIO0:1;
+    unsigned char GPIO1:1;
+    unsigned char GPIO2:1;
+    unsigned char GPIO3:1;
+    unsigned char GPIO4:1;
+    unsigned char GPIO5:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __GPIO_bits_t;
+extern volatile __GPIO_bits_t __at(GPIO_ADDR) GPIO_bits;
+
+#ifndef NO_BIT_DEFINES
+#define GP0                  GPIO_bits.GP0
+#define GPIO0                GPIO_bits.GPIO0
+#define GP1                  GPIO_bits.GP1
+#define GPIO1                GPIO_bits.GPIO1
+#define GP2                  GPIO_bits.GP2
+#define GPIO2                GPIO_bits.GPIO2
+#define GP3                  GPIO_bits.GP3
+#define GPIO3                GPIO_bits.GPIO3
+#define GP4                  GPIO_bits.GP4
+#define GPIO4                GPIO_bits.GPIO4
+#define GP5                  GPIO_bits.GP5
+#define GPIO5                GPIO_bits.GPIO5
+#endif /* NO_BIT_DEFINES */
 
 // ----- INTCON bits --------------------
 typedef union {
@@ -405,6 +501,7 @@ typedef union {
 } __INTCON_bits_t;
 extern volatile __INTCON_bits_t __at(INTCON_ADDR) INTCON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define GPIF                 INTCON_bits.GPIF
 #define INTF                 INTCON_bits.INTF
 #define T0IF                 INTCON_bits.T0IF
@@ -413,6 +510,55 @@ 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 */
+
+// ----- IOC bits --------------------
+typedef union {
+  struct {
+    unsigned char IOC0:1;
+    unsigned char IOC1:1;
+    unsigned char IOC2:1;
+    unsigned char IOC3:1;
+    unsigned char IOC4:1;
+    unsigned char IOC5:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __IOC_bits_t;
+extern volatile __IOC_bits_t __at(IOC_ADDR) IOC_bits;
+
+#ifndef NO_BIT_DEFINES
+#define IOC0                 IOC_bits.IOC0
+#define IOC1                 IOC_bits.IOC1
+#define IOC2                 IOC_bits.IOC2
+#define IOC3                 IOC_bits.IOC3
+#define IOC4                 IOC_bits.IOC4
+#define IOC5                 IOC_bits.IOC5
+#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 */
 
 // ----- OPTION_REG bits --------------------
 typedef union {
@@ -429,6 +575,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
@@ -437,6 +584,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_GPPU             OPTION_REG_bits.NOT_GPPU
+#endif /* NO_BIT_DEFINES */
 
 // ----- OSCCON bits --------------------
 typedef union {
@@ -453,6 +601,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
@@ -460,6 +609,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 {
@@ -469,26 +619,6 @@ typedef union {
     unsigned char TUN2:1;
     unsigned char TUN3:1;
     unsigned char TUN4:1;
-    unsigned char IOC5:1;
-    unsigned char :1;
-    unsigned char :1;
-  };
-  struct {
-    unsigned char IOC0:1;
-    unsigned char IOC1:1;
-    unsigned char IOC2:1;
-    unsigned char IOC3:1;
-    unsigned char IOC4:1;
-    unsigned char IOCA5:1;
-    unsigned char :1;
-    unsigned char :1;
-  };
-  struct {
-    unsigned char IOCA0:1;
-    unsigned char IOCA1:1;
-    unsigned char IOCA2:1;
-    unsigned char IOCA3:1;
-    unsigned char IOCA4:1;
     unsigned char :1;
     unsigned char :1;
     unsigned char :1;
@@ -496,23 +626,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 IOC0                 OSCTUNE_bits.IOC0
-#define IOCA0                OSCTUNE_bits.IOCA0
 #define TUN1                 OSCTUNE_bits.TUN1
-#define IOC1                 OSCTUNE_bits.IOC1
-#define IOCA1                OSCTUNE_bits.IOCA1
 #define TUN2                 OSCTUNE_bits.TUN2
-#define IOC2                 OSCTUNE_bits.IOC2
-#define IOCA2                OSCTUNE_bits.IOCA2
 #define TUN3                 OSCTUNE_bits.TUN3
-#define IOC3                 OSCTUNE_bits.IOC3
-#define IOCA3                OSCTUNE_bits.IOCA3
 #define TUN4                 OSCTUNE_bits.TUN4
-#define IOC4                 OSCTUNE_bits.IOC4
-#define IOCA4                OSCTUNE_bits.IOCA4
-#define IOC5                 OSCTUNE_bits.IOC5
-#define IOCA5                OSCTUNE_bits.IOCA5
+#endif /* NO_BIT_DEFINES */
 
 // ----- PCON bits --------------------
 typedef union {
@@ -529,10 +649,12 @@ 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 SBODEN               PCON_bits.SBODEN
 #define ULPWUE               PCON_bits.ULPWUE
+#endif /* NO_BIT_DEFINES */
 
 // ----- PIE1 bits --------------------
 typedef union {
@@ -559,6 +681,7 @@ typedef union {
 } __PIE1_bits_t;
 extern volatile __PIE1_bits_t __at(PIE1_ADDR) PIE1_bits;
 
+#ifndef NO_BIT_DEFINES
 #define T1IE                 PIE1_bits.T1IE
 #define TMR1IE               PIE1_bits.TMR1IE
 #define T2IE                 PIE1_bits.T2IE
@@ -568,6 +691,7 @@ extern volatile __PIE1_bits_t __at(PIE1_ADDR) PIE1_bits;
 #define CCP1IE               PIE1_bits.CCP1IE
 #define ADIE                 PIE1_bits.ADIE
 #define EEIE                 PIE1_bits.EEIE
+#endif /* NO_BIT_DEFINES */
 
 // ----- PIR1 bits --------------------
 typedef union {
@@ -594,6 +718,7 @@ typedef union {
 } __PIR1_bits_t;
 extern volatile __PIR1_bits_t __at(PIR1_ADDR) PIR1_bits;
 
+#ifndef NO_BIT_DEFINES
 #define T1IF                 PIR1_bits.T1IF
 #define TMR1IF               PIR1_bits.TMR1IF
 #define T2IF                 PIR1_bits.T2IF
@@ -603,6 +728,7 @@ extern volatile __PIR1_bits_t __at(PIR1_ADDR) PIR1_bits;
 #define CCP1IF               PIR1_bits.CCP1IF
 #define ADIF                 PIR1_bits.ADIF
 #define EEIF                 PIR1_bits.EEIF
+#endif /* NO_BIT_DEFINES */
 
 // ----- STATUS bits --------------------
 typedef union {
@@ -619,6 +745,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
@@ -627,6 +754,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 {
@@ -643,6 +771,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
@@ -651,6 +780,7 @@ extern volatile __T1CON_bits_t __at(T1CON_ADDR) T1CON_bits;
 #define T1CKPS1              T1CON_bits.T1CKPS1
 #define T1GE                 T1CON_bits.T1GE
 #define T1GINV               T1CON_bits.T1GINV
+#endif /* NO_BIT_DEFINES */
 
 // ----- T2CON bits --------------------
 typedef union {
@@ -667,6 +797,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
@@ -674,6 +805,7 @@ 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 */
 
 // ----- VRCON bits --------------------
 typedef union {
@@ -682,51 +814,22 @@ typedef union {
     unsigned char VR1:1;
     unsigned char VR2:1;
     unsigned char VR3:1;
-    unsigned char ADCS0:1;
-    unsigned char VRR:1;
-    unsigned char ADCS2:1;
-    unsigned char VREN:1;
-  };
-  struct {
-    unsigned char RD:1;
-    unsigned char WR:1;
-    unsigned char WREN:1;
-    unsigned char WRERR:1;
-    unsigned char :1;
-    unsigned char ADCS1:1;
-    unsigned char :1;
-    unsigned char :1;
-  };
-  struct {
-    unsigned char ANS0:1;
-    unsigned char ANS1:1;
-    unsigned char ANS2:1;
-    unsigned char ANS3:1;
-    unsigned char :1;
-    unsigned char :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 RD                   VRCON_bits.RD
-#define ANS0                 VRCON_bits.ANS0
 #define VR1                  VRCON_bits.VR1
-#define WR                   VRCON_bits.WR
-#define ANS1                 VRCON_bits.ANS1
 #define VR2                  VRCON_bits.VR2
-#define WREN                 VRCON_bits.WREN
-#define ANS2                 VRCON_bits.ANS2
 #define VR3                  VRCON_bits.VR3
-#define WRERR                VRCON_bits.WRERR
-#define ANS3                 VRCON_bits.ANS3
-#define ADCS0                VRCON_bits.ADCS0
 #define VRR                  VRCON_bits.VRR
-#define ADCS1                VRCON_bits.ADCS1
-#define ADCS2                VRCON_bits.ADCS2
 #define VREN                 VRCON_bits.VREN
+#endif /* NO_BIT_DEFINES */
 
 // ----- WDTCON bits --------------------
 typedef union {
@@ -743,10 +846,12 @@ 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 */
 
 #endif