|
@@ -645,3 +645,136 @@
|
|
|
|
|
|
/*
|
|
|
* PWM Control Register
|
|
|
+ */
|
|
|
+#define PWMC_ADDR 0xfffff500
|
|
|
+#define PWMC WORD_REF(PWMC_ADDR)
|
|
|
+
|
|
|
+#define PWMC_CLKSEL_MASK 0x0007 /* Clock Selection */
|
|
|
+#define PWMC_CLKSEL_SHIFT 0
|
|
|
+#define PWMC_PWMEN 0x0010 /* Enable PWM */
|
|
|
+#define PMNC_POL 0x0020 /* PWM Output Bit Polarity */
|
|
|
+#define PWMC_PIN 0x0080 /* Current PWM output pin status */
|
|
|
+#define PWMC_LOAD 0x0100 /* Force a new period */
|
|
|
+#define PWMC_IRQEN 0x4000 /* Interrupt Request Enable */
|
|
|
+#define PWMC_CLKSRC 0x8000 /* Clock Source Select */
|
|
|
+
|
|
|
+/* 'EZ328-compatible definitions */
|
|
|
+#define PWMC_EN PWMC_PWMEN
|
|
|
+
|
|
|
+/*
|
|
|
+ * PWM Period Register
|
|
|
+ */
|
|
|
+#define PWMP_ADDR 0xfffff502
|
|
|
+#define PWMP WORD_REF(PWMP_ADDR)
|
|
|
+
|
|
|
+/*
|
|
|
+ * PWM Width Register
|
|
|
+ */
|
|
|
+#define PWMW_ADDR 0xfffff504
|
|
|
+#define PWMW WORD_REF(PWMW_ADDR)
|
|
|
+
|
|
|
+/*
|
|
|
+ * PWM Counter Register
|
|
|
+ */
|
|
|
+#define PWMCNT_ADDR 0xfffff506
|
|
|
+#define PWMCNT WORD_REF(PWMCNT_ADDR)
|
|
|
+
|
|
|
+/**********
|
|
|
+ *
|
|
|
+ * 0xFFFFF6xx -- General-Purpose Timers
|
|
|
+ *
|
|
|
+ **********/
|
|
|
+
|
|
|
+/*
|
|
|
+ * Timer Unit 1 and 2 Control Registers
|
|
|
+ */
|
|
|
+#define TCTL1_ADDR 0xfffff600
|
|
|
+#define TCTL1 WORD_REF(TCTL1_ADDR)
|
|
|
+#define TCTL2_ADDR 0xfffff60c
|
|
|
+#define TCTL2 WORD_REF(TCTL2_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 */
|
|
|
+
|
|
|
+/* 'EZ328-compatible definitions */
|
|
|
+#define TCTL_ADDR TCTL1_ADDR
|
|
|
+#define TCTL TCTL1
|
|
|
+
|
|
|
+/*
|
|
|
+ * Timer Unit 1 and 2 Prescaler Registers
|
|
|
+ */
|
|
|
+#define TPRER1_ADDR 0xfffff602
|
|
|
+#define TPRER1 WORD_REF(TPRER1_ADDR)
|
|
|
+#define TPRER2_ADDR 0xfffff60e
|
|
|
+#define TPRER2 WORD_REF(TPRER2_ADDR)
|
|
|
+
|
|
|
+/* 'EZ328-compatible definitions */
|
|
|
+#define TPRER_ADDR TPRER1_ADDR
|
|
|
+#define TPRER TPRER1
|
|
|
+
|
|
|
+/*
|
|
|
+ * Timer Unit 1 and 2 Compare Registers
|
|
|
+ */
|
|
|
+#define TCMP1_ADDR 0xfffff604
|
|
|
+#define TCMP1 WORD_REF(TCMP1_ADDR)
|
|
|
+#define TCMP2_ADDR 0xfffff610
|
|
|
+#define TCMP2 WORD_REF(TCMP2_ADDR)
|
|
|
+
|
|
|
+/* 'EZ328-compatible definitions */
|
|
|
+#define TCMP_ADDR TCMP1_ADDR
|
|
|
+#define TCMP TCMP1
|
|
|
+
|
|
|
+/*
|
|
|
+ * Timer Unit 1 and 2 Capture Registers
|
|
|
+ */
|
|
|
+#define TCR1_ADDR 0xfffff606
|
|
|
+#define TCR1 WORD_REF(TCR1_ADDR)
|
|
|
+#define TCR2_ADDR 0xfffff612
|
|
|
+#define TCR2 WORD_REF(TCR2_ADDR)
|
|
|
+
|
|
|
+/* 'EZ328-compatible definitions */
|
|
|
+#define TCR_ADDR TCR1_ADDR
|
|
|
+#define TCR TCR1
|
|
|
+
|
|
|
+/*
|
|
|
+ * Timer Unit 1 and 2 Counter Registers
|
|
|
+ */
|
|
|
+#define TCN1_ADDR 0xfffff608
|
|
|
+#define TCN1 WORD_REF(TCN1_ADDR)
|
|
|
+#define TCN2_ADDR 0xfffff614
|
|
|
+#define TCN2 WORD_REF(TCN2_ADDR)
|
|
|
+
|
|
|
+/* 'EZ328-compatible definitions */
|
|
|
+#define TCN_ADDR TCN1_ADDR
|
|
|
+#define TCN TCN
|
|
|
+
|
|
|
+/*
|
|
|
+ * Timer Unit 1 and 2 Status Registers
|
|
|
+ */
|
|
|
+#define TSTAT1_ADDR 0xfffff60a
|
|
|
+#define TSTAT1 WORD_REF(TSTAT1_ADDR)
|
|
|
+#define TSTAT2_ADDR 0xfffff616
|
|
|
+#define TSTAT2 WORD_REF(TSTAT2_ADDR)
|
|
|
+
|
|
|
+#define TSTAT_COMP 0x0001 /* Compare Event occurred */
|
|
|
+#define TSTAT_CAPT 0x0001 /* Capture Event occurred */
|
|
|
+
|
|
|
+/* 'EZ328-compatible definitions */
|
|
|
+#define TSTAT_ADDR TSTAT1_ADDR
|
|
|
+#define TSTAT TSTAT1
|
|
|
+
|
|
|
+/*
|
|
|
+ * Watchdog Compare Register
|
|
|
+ */
|
|
|
+#define WRR_ADDR 0xfffff61a
|