|
@@ -778,3 +778,150 @@
|
|
|
* Watchdog Compare Register
|
|
|
*/
|
|
|
#define WRR_ADDR 0xfffff61a
|
|
|
+#define WRR WORD_REF(WRR_ADDR)
|
|
|
+
|
|
|
+/*
|
|
|
+ * Watchdog Counter Register
|
|
|
+ */
|
|
|
+#define WCN_ADDR 0xfffff61c
|
|
|
+#define WCN WORD_REF(WCN_ADDR)
|
|
|
+
|
|
|
+/*
|
|
|
+ * Watchdog Control and Status Register
|
|
|
+ */
|
|
|
+#define WCSR_ADDR 0xfffff618
|
|
|
+#define WCSR WORD_REF(WCSR_ADDR)
|
|
|
+
|
|
|
+#define WCSR_WDEN 0x0001 /* Watchdog Enable */
|
|
|
+#define WCSR_FI 0x0002 /* Forced Interrupt (instead of SW reset)*/
|
|
|
+#define WCSR_WRST 0x0004 /* Watchdog Reset */
|
|
|
+
|
|
|
+/**********
|
|
|
+ *
|
|
|
+ * 0xFFFFF7xx -- Serial Periferial Interface Slave (SPIS)
|
|
|
+ *
|
|
|
+ **********/
|
|
|
+
|
|
|
+/*
|
|
|
+ * SPI Slave Register
|
|
|
+ */
|
|
|
+#define SPISR_ADDR 0xfffff700
|
|
|
+#define SPISR WORD_REF(SPISR_ADDR)
|
|
|
+
|
|
|
+#define SPISR_DATA_ADDR 0xfffff701
|
|
|
+#define SPISR_DATA BYTE_REF(SPISR_DATA_ADDR)
|
|
|
+
|
|
|
+#define SPISR_DATA_MASK 0x00ff /* Shifted data from the external device */
|
|
|
+#define SPISR_DATA_SHIFT 0
|
|
|
+#define SPISR_SPISEN 0x0100 /* SPIS module enable */
|
|
|
+#define SPISR_POL 0x0200 /* SPSCLK polarity control */
|
|
|
+#define SPISR_PHA 0x0400 /* Phase relationship between SPSCLK & SPSRxD */
|
|
|
+#define SPISR_OVWR 0x0800 /* Data buffer has been overwritten */
|
|
|
+#define SPISR_DATARDY 0x1000 /* Data ready */
|
|
|
+#define SPISR_ENPOL 0x2000 /* Enable Polarity */
|
|
|
+#define SPISR_IRQEN 0x4000 /* SPIS IRQ Enable */
|
|
|
+#define SPISR_SPISIRQ 0x8000 /* SPIS IRQ posted */
|
|
|
+
|
|
|
+/**********
|
|
|
+ *
|
|
|
+ * 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_SPIMIRQ 0x0080 /* Interrupt Request */
|
|
|
+#define SPIMCONT_XCH 0x0100 /* Exchange */
|
|
|
+#define SPIMCONT_RSPIMEN 0x0200 /* Enable SPIM */
|
|
|
+#define SPIMCONT_DATA_RATE_MASK 0xe000 /* SPIM Data Rate */
|
|
|
+#define SPIMCONT_DATA_RATE_SHIFT 13
|
|
|
+
|
|
|
+/* 'EZ328-compatible definitions */
|
|
|
+#define SPIMCONT_IRQ SPIMCONT_SPIMIRQ
|
|
|
+#define SPIMCONT_ENABLE SPIMCONT_SPIMEN
|
|
|
+/**********
|
|
|
+ *
|
|
|
+ * 0xFFFFF9xx -- UART
|
|
|
+ *
|
|
|
+ **********/
|
|
|
+
|
|
|
+/*
|
|
|
+ * UART Status/Control Register
|
|
|
+ */
|
|
|
+#define USTCNT_ADDR 0xfffff900
|
|
|
+#define USTCNT WORD_REF(USTCNT_ADDR)
|
|
|
+
|
|
|
+#define USTCNT_TXAVAILEN 0x0001 /* Transmitter Available Int Enable */
|
|
|
+#define USTCNT_TXHALFEN 0x0002 /* Transmitter Half Empty Int Enable */
|
|
|
+#define USTCNT_TXEMPTYEN 0x0004 /* Transmitter Empty Int Enable */
|
|
|
+#define USTCNT_RXREADYEN 0x0008 /* Receiver Ready Interrupt Enable */
|
|
|
+#define USTCNT_RXHALFEN 0x0010 /* Receiver Half-Full Int Enable */
|
|
|
+#define USTCNT_RXFULLEN 0x0020 /* Receiver Full Interrupt Enable */
|
|
|
+#define USTCNT_CTSDELTAEN 0x0040 /* CTS Delta Interrupt Enable */
|
|
|
+#define USTCNT_GPIODELTAEN 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_EVEN 0x0400 /* Odd Parity */
|
|
|
+#define USTCNT_PARITYEN 0x0800 /* Parity Enable */
|
|
|
+#define USTCNT_CLKMODE 0x1000 /* Clock Mode Select */
|
|
|
+#define USTCNT_TXEN 0x2000 /* Transmitter Enable */
|
|
|
+#define USTCNT_RXEN 0x4000 /* Receiver Enable */
|
|
|
+#define USTCNT_UARTEN 0x8000 /* UART Enable */
|
|
|
+
|
|
|
+/* 'EZ328-compatible definitions */
|
|
|
+#define USTCNT_TXAE USTCNT_TXAVAILEN
|
|
|
+#define USTCNT_TXHE USTCNT_TXHALFEN
|
|
|
+#define USTCNT_TXEE USTCNT_TXEMPTYEN
|
|
|
+#define USTCNT_RXRE USTCNT_RXREADYEN
|
|
|
+#define USTCNT_RXHE USTCNT_RXHALFEN
|
|
|
+#define USTCNT_RXFE USTCNT_RXFULLEN
|
|
|
+#define USTCNT_CTSD USTCNT_CTSDELTAEN
|
|
|
+#define USTCNT_ODD USTCNT_ODD_EVEN
|
|
|
+#define USTCNT_PEN USTCNT_PARITYEN
|
|
|
+#define USTCNT_CLKM USTCNT_CLKMODE
|
|
|
+#define USTCNT_UEN USTCNT_UARTEN
|
|
|
+
|
|
|
+/*
|
|
|
+ * UART Baud Control Register
|
|
|
+ */
|
|
|
+#define UBAUD_ADDR 0xfffff902
|
|
|
+#define UBAUD WORD_REF(UBAUD_ADDR)
|
|
|
+
|
|
|
+#define UBAUD_PRESCALER_MASK 0x003f /* Actual divisor is 65 - PRESCALER */
|
|
|
+#define UBAUD_PRESCALER_SHIFT 0
|
|
|
+#define UBAUD_DIVIDE_MASK 0x0700 /* Baud Rate freq. divizor */
|
|
|
+#define UBAUD_DIVIDE_SHIFT 8
|
|
|
+#define UBAUD_BAUD_SRC 0x0800 /* Baud Rate Source */
|
|
|
+#define UBAUD_GPIOSRC 0x1000 /* GPIO source */
|
|
|
+#define UBAUD_GPIODIR 0x2000 /* GPIO Direction */
|
|
|
+#define UBAUD_GPIO 0x4000 /* Current GPIO pin status */
|
|
|
+#define UBAUD_GPIODELTA 0x8000 /* GPIO pin value changed */
|
|
|
+
|
|
|
+/*
|
|
|
+ * UART Receiver Register
|
|
|
+ */
|
|
|
+#define URX_ADDR 0xfffff904
|
|
|
+#define URX WORD_REF(URX_ADDR)
|
|
|
+
|
|
|
+#define URX_RXDATA_ADDR 0xfffff905
|
|
|
+#define URX_RXDATA BYTE_REF(URX_RXDATA_ADDR)
|
|
|
+
|
|
|
+#define URX_RXDATA_MASK 0x00ff /* Received data */
|
|
|
+#define URX_RXDATA_SHIFT 0
|
|
|
+#define URX_PARITY_ERROR 0x0100 /* Parity Error */
|
|
|
+#define URX_BREAK 0x0200 /* Break Detected */
|