* support/scripts/inc2h.pl: conditionally emit defines for SFR bits,
[fw/sdcc] / device / include / pic / pic12f683.h
index f8c12be049317c7ac6ae6d85d4f101afa35036bf..4e348289faa40f7d7061eea9bff3bcb86d0062f5 100644 (file)
@@ -4,7 +4,7 @@
 //
 // This header file was automatically generated by:
 //
-//     inc2h.pl V4585
+//     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
 
 //==========================================================================
@@ -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,7 @@ 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 {
@@ -343,6 +346,7 @@ typedef union {
 } __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
@@ -350,6 +354,7 @@ extern volatile __ANSEL_bits_t __at(ANSEL_ADDR) ANSEL_bits;
 #define ADCS0                ANSEL_bits.ADCS0
 #define ADCS1                ANSEL_bits.ADCS1
 #define ADCS2                ANSEL_bits.ADCS2
+#endif /* NO_BIT_DEFINES */
 
 // ----- CCP1CON bits --------------------
 typedef union {
@@ -366,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 {
@@ -388,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 {
@@ -410,8 +419,10 @@ 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 {
@@ -428,10 +439,52 @@ typedef union {
 } __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 {
@@ -448,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
@@ -456,6 +510,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 */
 
 // ----- IOC bits --------------------
 typedef union {
@@ -472,12 +527,14 @@ typedef union {
 } __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 {
@@ -494,12 +551,14 @@ typedef union {
 } __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 {
@@ -516,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
@@ -524,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 {
@@ -540,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
@@ -547,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 {
@@ -563,11 +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 TUN1                 OSCTUNE_bits.TUN1
 #define TUN2                 OSCTUNE_bits.TUN2
 #define TUN3                 OSCTUNE_bits.TUN3
 #define TUN4                 OSCTUNE_bits.TUN4
+#endif /* NO_BIT_DEFINES */
 
 // ----- PCON bits --------------------
 typedef union {
@@ -584,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 {
@@ -614,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
@@ -623,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 {
@@ -649,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
@@ -658,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 {
@@ -674,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
@@ -682,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 {
@@ -698,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
@@ -706,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 {
@@ -722,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
@@ -729,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 {
@@ -745,12 +822,14 @@ typedef union {
 } __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 */
 
 // ----- WDTCON bits --------------------
 typedef union {
@@ -767,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