* support/scripts/inc2h.pl: conditionally emit defines for SFR bits,
[fw/sdcc] / device / include / pic / pic16c621.h
index f7b3b46082b34aac9dffe72c00948f58b1c08cdc..f36a1c50d7692a630ddc20a0f5af962ea3efd9bc 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 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 CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#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 PIE1_ADDR PIE1_ADDR SFR 0x000   // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000   // PCON
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
 
 
 //         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 (PCLATH_ADDR)                  PCLATH;
-extern sfr  __at (INTCON_ADDR)                  INTCON;
-extern sfr  __at (PIR1_ADDR)                    PIR1;
-extern sfr  __at (CMCON_ADDR)                   CMCON;
-
-extern sfr  __at (OPTION_REG_ADDR)              OPTION_REG;
-extern sfr  __at (TRISA_ADDR)                   TRISA;
-extern sfr  __at (TRISB_ADDR)                   TRISB;
-extern sfr  __at (PIE1_ADDR)                    PIE1;
-extern sfr  __at (PCON_ADDR)                    PCON;
-extern sfr  __at (VRCON_ADDR)                   VRCON;
+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 (PCLATH_ADDR)                  PCLATH;
+extern __sfr  __at (INTCON_ADDR)                  INTCON;
+extern __sfr  __at (PIR1_ADDR)                    PIR1;
+extern __sfr  __at (CMCON_ADDR)                   CMCON;
+
+extern __sfr  __at (OPTION_REG_ADDR)              OPTION_REG;
+extern __sfr  __at (TRISA_ADDR)                   TRISA;
+extern __sfr  __at (TRISB_ADDR)                   TRISB;
+extern __sfr  __at (PIE1_ADDR)                    PIE1;
+extern __sfr  __at (PCON_ADDR)                    PCON;
+extern __sfr  __at (VRCON_ADDR)                   VRCON;
 
 //----- STATUS Bits --------------------------------------------------------
 
@@ -205,12 +188,14 @@ typedef union {
 } __CMCON_bits_t;
 extern volatile __CMCON_bits_t __at(CMCON_ADDR) CMCON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define CM0                  CMCON_bits.CM0
 #define CM1                  CMCON_bits.CM1
 #define CM2                  CMCON_bits.CM2
 #define CIS                  CMCON_bits.CIS
 #define C1OUT                CMCON_bits.C1OUT
 #define C2OUT                CMCON_bits.C2OUT
+#endif /* NO_BIT_DEFINES */
 
 // ----- INTCON bits --------------------
 typedef union {
@@ -227,6 +212,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
@@ -235,6 +221,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 {
@@ -251,6 +238,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
@@ -259,6 +247,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 {
@@ -285,9 +274,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 {
@@ -304,7 +295,9 @@ typedef union {
 } __PIE1_bits_t;
 extern volatile __PIE1_bits_t __at(PIE1_ADDR) PIE1_bits;
 
+#ifndef NO_BIT_DEFINES
 #define CMIE                 PIE1_bits.CMIE
+#endif /* NO_BIT_DEFINES */
 
 // ----- PIR1 bits --------------------
 typedef union {
@@ -321,7 +314,59 @@ typedef union {
 } __PIR1_bits_t;
 extern volatile __PIR1_bits_t __at(PIR1_ADDR) PIR1_bits;
 
+#ifndef NO_BIT_DEFINES
 #define CMIF                 PIR1_bits.CMIF
+#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 */
 
 // ----- STATUS bits --------------------
 typedef union {
@@ -338,6 +383,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
@@ -346,6 +392,57 @@ 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 */
+
+// ----- 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 */
 
 // ----- VRCON bits --------------------
 typedef union {
@@ -362,6 +459,7 @@ 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
@@ -369,5 +467,6 @@ extern volatile __VRCON_bits_t __at(VRCON_ADDR) VRCON_bits;
 #define VRR                  VRCON_bits.VRR
 #define VROE                 VRCON_bits.VROE
 #define VREN                 VRCON_bits.VREN
+#endif /* NO_BIT_DEFINES */
 
 #endif