]> oss.titaniummirror.com Git - msp430-libc.git/blobdiff - include/msp430/pmcontrol.h
Imported msp430-libc-20100207
[msp430-libc.git] / include / msp430 / pmcontrol.h
diff --git a/include/msp430/pmcontrol.h b/include/msp430/pmcontrol.h
new file mode 100644 (file)
index 0000000..47f4587
--- /dev/null
@@ -0,0 +1,162 @@
+#ifndef __MSP430_HEADERS_PMCONTROL_H
+#define __MSP430_HEADERS_PMCONTROL_H
+
+/* pmcontrol.h
+ *
+ * mspgcc project: MSP430 device headers
+ * Port Mapping Controller
+ *
+ */
+
+/* Switches:
+
+__MSP430_PORT_MAPPING_BASE__ - base address of the port mapping control module
+__MSP430_PORT1_MAPPING_BASE__ - PORT1 present in device if defined
+__MSP430_PORT2_MAPPING_BASE__ - PORT2 present in device if defined
+__MSP430_PORT3_MAPPING_BASE__ - PORT3 present in device if defined
+
+*/
+
+#if defined(__MSP430_PORT_MAPPING_BASE__)
+
+#define PMAPPWD_     __MSP430_PORT_MAPPING_BASE__ + 0x00  /* Port mapping password register */
+#define PMAPPWD_L_   __MSP430_PORT_MAPPING_BASE__ + 0x00  /* Port mapping control register */
+#define PMAPPWD_H_   __MSP430_PORT_MAPPING_BASE__ + 0x01  /* Port mapping control register */
+sfrw(PMAPPWD, PMAPPWD_);                                  /* Port Mapping password register */
+sfrb(PMAPPWD_L, PMAPPWD_L_);                              /* Port Mapping password register */
+sfrb(PMAPPWD_H, PMAPPWD_H_);                              /* Port Mapping password register */
+#define PMAPCTL_     __MSP430_PORT_MAPPING_BASE__ + 0x02  /* Port mapping password register */
+#define PMAPCTL_L_   __MSP430_PORT_MAPPING_BASE__ + 0x02  /* Port mapping control register */
+#define PMAPCTL_H_   __MSP430_PORT_MAPPING_BASE__ + 0x03  /* Port mapping control register */
+sfrw(PMAPCTL, PMAPCTL_);                                  /* Port Mapping control register */
+sfrb(PMAPCTL_L, PMAPCTL_L_);                              /* Port Mapping control register */
+sfrb(PMAPCTL_H, PMAPCTL_H_);                              /* Port Mapping control register */
+
+#define  PMAPPW                (0x2D52)       /* Port Mapping Password */
+
+/* PMAPCTL Control Bits */
+#define PMAPLOCKED             (0x0001)       /* Port Mapping Lock bit. Read only */
+#define PMAPRECFG              (0x0002)       /* Port Mapping re-configuration control bit */
+
+/* PMAPCTL Control Bits */
+#define PMAPLOCKED_L           (0x0001)       /* Port Mapping Lock bit. Read only */
+#define PMAPRECFG_L            (0x0002)       /* Port Mapping re-configuration control bit */
+
+#endif /* __MSP430_PORT_MAPPING_BASE__ */
+
+#if defined(__MSP430_PORT1_MAPPING_BASE__)
+
+#define P1MAP01_      __MSP430_PORT1_MAPPING_BASE__ + 0x00     /* Port P1.0/1 mapping register */
+#define P1MAP01_L_    __MSP430_PORT1_MAPPING_BASE__ + 0x00     /* Port P1.0/1 mapping register */
+#define P1MAP01_H_    __MSP430_PORT1_MAPPING_BASE__ + 0x01     /* Port P1.0/1 mapping register */
+sfrw(P1MAP01, P1MAP01_);
+sfrb(P1MAP01_L, P1MAP01_L_);
+sfrb(P1MAP01_H, P1MAP01_H_);
+#define P1MAP23_      __MSP430_PORT1_MAPPING_BASE__ + 0x02     /* Port P1.2/3 mapping register */
+#define P1MAP23_L_    __MSP430_PORT1_MAPPING_BASE__ + 0x02     /* Port P1.2/3 mapping register */
+#define P1MAP23_H_    __MSP430_PORT1_MAPPING_BASE__ + 0x03     /* Port P1.2/3 mapping register */
+sfrw(P1MAP23, P1MAP23_);
+sfrb(P1MAP23_L, P1MAP23_L_);
+sfrb(P1MAP23_H, P1MAP23_H_);
+#define P1MAP45_      __MSP430_PORT1_MAPPING_BASE__ + 0x04     /* Port P1.4/5 mapping register */
+#define P1MAP45_L_    __MSP430_PORT1_MAPPING_BASE__ + 0x04     /* Port P1.4/5 mapping register */
+#define P1MAP45_H_    __MSP430_PORT1_MAPPING_BASE__ + 0x05     /* Port P1.4/5 mapping register */
+sfrw(P1MAP45, P1MAP45_);
+sfrb(P1MAP45_L, P1MAP45_L_);
+sfrb(P1MAP45_H, P1MAP45_H_);
+#define P1MAP67_      __MSP430_PORT1_MAPPING_BASE__ + 0x06     /* Port P1.6/7 mapping register */
+#define P1MAP67_L_    __MSP430_PORT1_MAPPING_BASE__ + 0x06     /* Port P1.6/7 mapping register */
+#define P1MAP67_H_    __MSP430_PORT1_MAPPING_BASE__ + 0x07     /* Port P1.6/7 mapping register */
+sfrw(P1MAP67, P1MAP67_);
+sfrb(P1MAP67_L, P1MAP67_L_);
+sfrb(P1MAP67_H, P1MAP67_H_);
+
+#define P1MAP0 P1MAP01_L        /* Port P1.0 mapping register */
+#define P1MAP1 P1MAP01_H        /* Port P1.1 mapping register */
+#define P1MAP2 P1MAP23_L        /* Port P1.2 mapping register */
+#define P1MAP3 P1MAP23_H        /* Port P1.3 mapping register */
+#define P1MAP4 P1MAP45_L        /* Port P1.4 mapping register */
+#define P1MAP5 P1MAP45_H        /* Port P1.5 mapping register */
+#define P1MAP6 P1MAP67_L        /* Port P1.6 mapping register */
+#define P1MAP7 P1MAP67_H        /* Port P1.7 mapping register */
+
+#endif /* __MSP430_PORT1_MAPPING_BASE__ */
+
+#if defined(__MSP430_PORT1_MAPPING_BASE__)
+
+#define P2MAP01_      __MSP430_PORT1_MAPPING_BASE__ + 0x00     /* Port P2.0/1 mapping register */
+#define P2MAP01_L_    __MSP430_PORT1_MAPPING_BASE__ + 0x00     /* Port P2.0/1 mapping register */
+#define P2MAP01_H_    __MSP430_PORT1_MAPPING_BASE__ + 0x01     /* Port P2.0/1 mapping register */
+sfrw(P2MAP01, P2MAP01_);
+sfrb(P2MAP01_L, P2MAP01_L_);
+sfrb(P2MAP01_H, P2MAP01_H_);
+#define P2MAP23_      __MSP430_PORT1_MAPPING_BASE__ + 0x02     /* Port P2.2/3 mapping register */
+#define P2MAP23_L_    __MSP430_PORT1_MAPPING_BASE__ + 0x02     /* Port P2.2/3 mapping register */
+#define P2MAP23_H_    __MSP430_PORT1_MAPPING_BASE__ + 0x03     /* Port P2.2/3 mapping register */
+sfrw(P2MAP23, P2MAP23_);
+sfrb(P2MAP23_L, P2MAP23_L_);
+sfrb(P2MAP23_H, P2MAP23_H_);
+#define P2MAP45_      __MSP430_PORT1_MAPPING_BASE__ + 0x04     /* Port P2.4/5 mapping register */
+#define P2MAP45_L_    __MSP430_PORT1_MAPPING_BASE__ + 0x04     /* Port P2.4/5 mapping register */
+#define P2MAP45_H_    __MSP430_PORT1_MAPPING_BASE__ + 0x05     /* Port P2.4/5 mapping register */
+sfrw(P2MAP45, P2MAP45_);
+sfrb(P2MAP45_L, P2MAP45_L_);
+sfrb(P2MAP45_H, P2MAP45_H_);
+#define P2MAP67_      __MSP430_PORT1_MAPPING_BASE__ + 0x06     /* Port P2.6/7 mapping register */
+#define P2MAP67_L_    __MSP430_PORT1_MAPPING_BASE__ + 0x06     /* Port P2.6/7 mapping register */
+#define P2MAP67_H_    __MSP430_PORT1_MAPPING_BASE__ + 0x07     /* Port P2.6/7 mapping register */
+sfrw(P2MAP67, P2MAP67_);
+sfrb(P2MAP67_L, P2MAP67_L_);
+sfrb(P2MAP67_H, P2MAP67_H_);
+
+#define P2MAP0 P2MAP01_L        /* Port P2.0 mapping register */
+#define P2MAP1 P2MAP01_H        /* Port P2.1 mapping register */
+#define P2MAP2 P2MAP23_L        /* Port P2.2 mapping register */
+#define P2MAP3 P2MAP23_H        /* Port P2.3 mapping register */
+#define P2MAP4 P2MAP45_L        /* Port P2.4 mapping register */
+#define P2MAP5 P2MAP45_H        /* Port P2.5 mapping register */
+#define P2MAP6 P2MAP67_L        /* Port P2.6 mapping register */
+#define P2MAP7 P2MAP67_H        /* Port P2.7 mapping register */
+
+#endif /* __MSP430_PORT2_MAPPING_BASE__ */
+
+#if defined(__MSP430_PORT3_MAPPING_BASE__)
+
+#define P3MAP01_      __MSP430_PORT1_MAPPING_BASE__ + 0x00     /* Port P3.0/1 mapping register */
+#define P3MAP01_L_    __MSP430_PORT1_MAPPING_BASE__ + 0x00     /* Port P3.0/1 mapping register */
+#define P3MAP01_H_    __MSP430_PORT1_MAPPING_BASE__ + 0x01     /* Port P3.0/1 mapping register */
+sfrw(P3MAP01, P3MAP01_);
+sfrb(P3MAP01_L, P3MAP01_L_);
+sfrb(P3MAP01_H, P3MAP01_H_);
+#define P3MAP23_      __MSP430_PORT1_MAPPING_BASE__ + 0x02     /* Port P3.2/3 mapping register */
+#define P3MAP23_L_    __MSP430_PORT1_MAPPING_BASE__ + 0x02     /* Port P3.2/3 mapping register */
+#define P3MAP23_H_    __MSP430_PORT1_MAPPING_BASE__ + 0x03     /* Port P3.2/3 mapping register */
+sfrw(P3MAP23, P3MAP23_);
+sfrb(P3MAP23_L, P3MAP23_L_);
+sfrb(P3MAP23_H, P3MAP23_H_);
+#define P3MAP45_      __MSP430_PORT1_MAPPING_BASE__ + 0x04     /* Port P3.4/5 mapping register */
+#define P3MAP45_L_    __MSP430_PORT1_MAPPING_BASE__ + 0x04     /* Port P3.4/5 mapping register */
+#define P3MAP45_H_    __MSP430_PORT1_MAPPING_BASE__ + 0x05     /* Port P3.4/5 mapping register */
+sfrw(P3MAP45, P3MAP45_);
+sfrb(P3MAP45_L, P3MAP45_L_);
+sfrb(P3MAP45_H, P3MAP45_H_);
+#define P3MAP67_      __MSP430_PORT1_MAPPING_BASE__ + 0x06     /* Port P3.6/7 mapping register */
+#define P3MAP67_L_    __MSP430_PORT1_MAPPING_BASE__ + 0x06     /* Port P3.6/7 mapping register */
+#define P3MAP67_H_    __MSP430_PORT1_MAPPING_BASE__ + 0x07     /* Port P3.6/7 mapping register */
+sfrw(P3MAP67, P3MAP67_);
+sfrb(P3MAP67_L, P3MAP67_L_);
+sfrb(P3MAP67_H, P3MAP67_H_);
+
+#define P3MAP0 P3MAP01_L        /* Port P3.0 mapping register */
+#define P3MAP1 P3MAP01_H        /* Port P3.1 mapping register */
+#define P3MAP2 P3MAP23_L        /* Port P3.2 mapping register */
+#define P3MAP3 P3MAP23_H        /* Port P3.3 mapping register */
+#define P3MAP4 P3MAP45_L        /* Port P3.4 mapping register */
+#define P3MAP5 P3MAP45_H        /* Port P3.5 mapping register */
+#define P3MAP6 P3MAP67_L        /* Port P3.6 mapping register */
+#define P3MAP7 P3MAP67_H        /* Port P3.7 mapping register */
+
+#endif /* __MSP430_PORT3_MAPPING_BASE__ */
+
+
+#endif /* __MSP430_HEADERS_PMCONTROL_H */