|
@@ -546,3 +546,117 @@
|
|
|
#define PWMCNT_ADDR 0xfffff505
|
|
|
#define PWMCNT BYTE_REF(PWMCNT_ADDR)
|
|
|
|
|
|
+/**********
|
|
|
+ *
|
|
|
+ * 0xFFFFF6xx -- General-Purpose Timer
|
|
|
+ *
|
|
|
+ **********/
|
|
|
+
|
|
|
+/*
|
|
|
+ * 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
|