* device/lib/pic/libdev/devices.txt: device list for mkall.sh
[fw/sdcc] / device / include / pic / pic16f636.h
index 4cdc776a1e9c5b5136c2aa90127801847d93c20a..e23fced8dd74444e9df06b50306ef11c426adc07 100644 (file)
@@ -4,7 +4,7 @@
 //
 // This header file was automatically generated by:
 //
-//     inc2h.pl V1.6
+//     inc2h.pl V4514
 //
 //     Copyright (c) 2002, Kevin L. Pauba, All Rights Reserved
 //
@@ -317,6 +317,46 @@ extern volatile __CMCON1_bits_t __at(CMCON1_ADDR) CMCON1_bits;
 #define C2SYNC               CMCON1_bits.C2SYNC
 #define T1GSS                CMCON1_bits.T1GSS
 
+// ----- 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;
+
+#define CRREG0               CRCON_bits.CRREG0
+#define CRREG1               CRCON_bits.CRREG1
+#define ENC_DEC              CRCON_bits.ENC_DEC
+#define GO                   CRCON_bits.GO
+
+// ----- 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;
+
+#define RD                   EECON1_bits.RD
+#define WR                   EECON1_bits.WR
+#define WREN                 EECON1_bits.WREN
+#define WRERR                EECON1_bits.WRERR
+
 // ----- INTCON bits --------------------
 typedef union {
   struct {
@@ -341,6 +381,49 @@ extern volatile __INTCON_bits_t __at(INTCON_ADDR) INTCON_bits;
 #define PEIE                 INTCON_bits.PEIE
 #define GIE                  INTCON_bits.GIE
 
+// ----- 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;
+
+#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
+
+// ----- 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;
+
+#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
+
 // ----- OPTION_REG bits --------------------
 typedef union {
   struct {
@@ -396,76 +479,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;
@@ -474,45 +487,10 @@ typedef union {
 extern volatile __OSCTUNE_bits_t __at(OSCTUNE_ADDR) OSCTUNE_bits;
 
 #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
 
 // ----- PCON bits --------------------
 typedef union {
@@ -581,6 +559,52 @@ extern volatile __PIR1_bits_t __at(PIR1_ADDR) PIR1_bits;
 #define LVDIF                PIR1_bits.LVDIF
 #define EEIF                 PIR1_bits.EEIF
 
+// ----- 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;
+
+#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
+
+// ----- 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;
+
+#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
+
 // ----- STATUS bits --------------------
 typedef union {
   struct {
@@ -629,6 +653,95 @@ extern volatile __T1CON_bits_t __at(T1CON_ADDR) T1CON_bits;
 #define TMR1GE               T1CON_bits.TMR1GE
 #define T1GINV               T1CON_bits.T1GINV
 
+// ----- 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;
+
+#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
+
+// ----- 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;
+
+#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
+
+// ----- 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;
+
+#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
+
+// ----- 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;
+
+#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
+
 // ----- WDTCON bits --------------------
 typedef union {
   struct {
@@ -650,4 +763,25 @@ extern volatile __WDTCON_bits_t __at(WDTCON_ADDR) WDTCON_bits;
 #define WDTPS2               WDTCON_bits.WDTPS2
 #define WDTPS3               WDTCON_bits.WDTPS3
 
+// ----- 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;
+
+#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