|
@@ -646,3 +646,147 @@
|
|
|
**********/
|
|
|
|
|
|
/*
|
|
|
+ * Timer Control register
|
|
|
+ */
|
|
|
+#define TCTL_ADDR 0xfffff600
|
|
|
+#define TCTL WORD_REF(TCTL_ADDR)
|
|
|
+
|
|
|
+#define TCTL_TEN 0x0001 /* Timer Enable */
|
|
|
+#define TCTL_CLKSOURCE_MASK 0x000e /* Clock Source: */
|
|
|
+#define TCTL_CLKSOURCE_STOP 0x0000 /* Stop count (disabled) */
|
|
|
+#define TCTL_CLKSOURCE_SYSCLK 0x0002 /* SYSCLK to prescaler */
|
|
|
+#define TCTL_CLKSOURCE_SYSCLK_16 0x0004 /* SYSCLK/16 to prescaler */
|
|
|
+#define TCTL_CLKSOURCE_TIN 0x0006 /* TIN to prescaler */
|
|
|
+#define TCTL_CLKSOURCE_32KHZ 0x0008 /* 32kHz clock to prescaler */
|
|
|
+#define TCTL_IRQEN 0x0010 /* IRQ Enable */
|
|
|
+#define TCTL_OM 0x0020 /* Output Mode */
|
|
|
+#define TCTL_CAP_MASK 0x00c0 /* Capture Edge: */
|
|
|
+#define TCTL_CAP_RE 0x0040 /* Capture on rizing edge */
|
|
|
+#define TCTL_CAP_FE 0x0080 /* Capture on falling edge */
|
|
|
+#define TCTL_FRR 0x0010 /* Free-Run Mode */
|
|
|
+
|
|
|
+/* '328-compatible definitions */
|
|
|
+#define TCTL1_ADDR TCTL_ADDR
|
|
|
+#define TCTL1 TCTL
|
|
|
+
|
|
|
+/*
|
|
|
+ * Timer Prescaler Register
|
|
|
+ */
|
|
|
+#define TPRER_ADDR 0xfffff602
|
|
|
+#define TPRER WORD_REF(TPRER_ADDR)
|
|
|
+
|
|
|
+/* '328-compatible definitions */
|
|
|
+#define TPRER1_ADDR TPRER_ADDR
|
|
|
+#define TPRER1 TPRER
|
|
|
+
|
|
|
+/*
|
|
|
+ * Timer Compare Register
|
|
|
+ */
|
|
|
+#define TCMP_ADDR 0xfffff604
|
|
|
+#define TCMP WORD_REF(TCMP_ADDR)
|
|
|
+
|
|
|
+/* '328-compatible definitions */
|
|
|
+#define TCMP1_ADDR TCMP_ADDR
|
|
|
+#define TCMP1 TCMP
|
|
|
+
|
|
|
+/*
|
|
|
+ * Timer Capture register
|
|
|
+ */
|
|
|
+#define TCR_ADDR 0xfffff606
|
|
|
+#define TCR WORD_REF(TCR_ADDR)
|
|
|
+
|
|
|
+/* '328-compatible definitions */
|
|
|
+#define TCR1_ADDR TCR_ADDR
|
|
|
+#define TCR1 TCR
|
|
|
+
|
|
|
+/*
|
|
|
+ * Timer Counter Register
|
|
|
+ */
|
|
|
+#define TCN_ADDR 0xfffff608
|
|
|
+#define TCN WORD_REF(TCN_ADDR)
|
|
|
+
|
|
|
+/* '328-compatible definitions */
|
|
|
+#define TCN1_ADDR TCN_ADDR
|
|
|
+#define TCN1 TCN
|
|
|
+
|
|
|
+/*
|
|
|
+ * Timer Status Register
|
|
|
+ */
|
|
|
+#define TSTAT_ADDR 0xfffff60a
|
|
|
+#define TSTAT WORD_REF(TSTAT_ADDR)
|
|
|
+
|
|
|
+#define TSTAT_COMP 0x0001 /* Compare Event occurred */
|
|
|
+#define TSTAT_CAPT 0x0001 /* Capture Event occurred */
|
|
|
+
|
|
|
+/* '328-compatible definitions */
|
|
|
+#define TSTAT1_ADDR TSTAT_ADDR
|
|
|
+#define TSTAT1 TSTAT
|
|
|
+
|
|
|
+/**********
|
|
|
+ *
|
|
|
+ * 0xFFFFF8xx -- Serial Periferial Interface Master (SPIM)
|
|
|
+ *
|
|
|
+ **********/
|
|
|
+
|
|
|
+/*
|
|
|
+ * SPIM Data Register
|
|
|
+ */
|
|
|
+#define SPIMDATA_ADDR 0xfffff800
|
|
|
+#define SPIMDATA WORD_REF(SPIMDATA_ADDR)
|
|
|
+
|
|
|
+/*
|
|
|
+ * SPIM Control/Status Register
|
|
|
+ */
|
|
|
+#define SPIMCONT_ADDR 0xfffff802
|
|
|
+#define SPIMCONT WORD_REF(SPIMCONT_ADDR)
|
|
|
+
|
|
|
+#define SPIMCONT_BIT_COUNT_MASK 0x000f /* Transfer Length in Bytes */
|
|
|
+#define SPIMCONT_BIT_COUNT_SHIFT 0
|
|
|
+#define SPIMCONT_POL 0x0010 /* SPMCLK Signel Polarity */
|
|
|
+#define SPIMCONT_PHA 0x0020 /* Clock/Data phase relationship */
|
|
|
+#define SPIMCONT_IRQEN 0x0040 /* IRQ Enable */
|
|
|
+#define SPIMCONT_IRQ 0x0080 /* Interrupt Request */
|
|
|
+#define SPIMCONT_XCH 0x0100 /* Exchange */
|
|
|
+#define SPIMCONT_ENABLE 0x0200 /* Enable SPIM */
|
|
|
+#define SPIMCONT_DATA_RATE_MASK 0xe000 /* SPIM Data Rate */
|
|
|
+#define SPIMCONT_DATA_RATE_SHIFT 13
|
|
|
+
|
|
|
+/* '328-compatible definitions */
|
|
|
+#define SPIMCONT_SPIMIRQ SPIMCONT_IRQ
|
|
|
+#define SPIMCONT_SPIMEN SPIMCONT_ENABLE
|
|
|
+
|
|
|
+/**********
|
|
|
+ *
|
|
|
+ * 0xFFFFF9xx -- UART
|
|
|
+ *
|
|
|
+ **********/
|
|
|
+
|
|
|
+/*
|
|
|
+ * UART Status/Control Register
|
|
|
+ */
|
|
|
+
|
|
|
+#define USTCNT_ADDR 0xfffff900
|
|
|
+#define USTCNT WORD_REF(USTCNT_ADDR)
|
|
|
+
|
|
|
+#define USTCNT_TXAE 0x0001 /* Transmitter Available Interrupt Enable */
|
|
|
+#define USTCNT_TXHE 0x0002 /* Transmitter Half Empty Enable */
|
|
|
+#define USTCNT_TXEE 0x0004 /* Transmitter Empty Interrupt Enable */
|
|
|
+#define USTCNT_RXRE 0x0008 /* Receiver Ready Interrupt Enable */
|
|
|
+#define USTCNT_RXHE 0x0010 /* Receiver Half-Full Interrupt Enable */
|
|
|
+#define USTCNT_RXFE 0x0020 /* Receiver Full Interrupt Enable */
|
|
|
+#define USTCNT_CTSD 0x0040 /* CTS Delta Interrupt Enable */
|
|
|
+#define USTCNT_ODEN 0x0080 /* Old Data Interrupt Enable */
|
|
|
+#define USTCNT_8_7 0x0100 /* Eight or seven-bit transmission */
|
|
|
+#define USTCNT_STOP 0x0200 /* Stop bit transmission */
|
|
|
+#define USTCNT_ODD 0x0400 /* Odd Parity */
|
|
|
+#define USTCNT_PEN 0x0800 /* Parity Enable */
|
|
|
+#define USTCNT_CLKM 0x1000 /* Clock Mode Select */
|
|
|
+#define USTCNT_TXEN 0x2000 /* Transmitter Enable */
|
|
|
+#define USTCNT_RXEN 0x4000 /* Receiver Enable */
|
|
|
+#define USTCNT_UEN 0x8000 /* UART Enable */
|
|
|
+
|
|
|
+/* '328-compatible definitions */
|
|
|
+#define USTCNT_TXAVAILEN USTCNT_TXAE
|
|
|
+#define USTCNT_TXHALFEN USTCNT_TXHE
|
|
|
+#define USTCNT_TXEMPTYEN USTCNT_TXEE
|
|
|
+#define USTCNT_RXREADYEN USTCNT_RXRE
|