|
@@ -868,3 +868,134 @@
|
|
|
#define UMISC_RTS 0x0040 /* Set RTS status */
|
|
|
#define UMISC_RTSCONT 0x0080 /* Choose RTS control */
|
|
|
#define UMISC_IR_TEST 0x0400 /* IRDA Test Enable */
|
|
|
+#define UMISC_BAUD_RESET 0x0800 /* Reset Baud Rate Generation Counters */
|
|
|
+#define UMISC_LOOP 0x1000 /* Serial Loopback Enable */
|
|
|
+#define UMISC_FORCE_PERR 0x2000 /* Force Parity Error */
|
|
|
+#define UMISC_CLKSRC 0x4000 /* Clock Source */
|
|
|
+#define UMISC_BAUD_TEST 0x8000 /* Enable Baud Test Mode */
|
|
|
+
|
|
|
+/*
|
|
|
+ * UART Non-integer Prescaler Register
|
|
|
+ */
|
|
|
+#define NIPR_ADDR 0xfffff90a
|
|
|
+#define NIPR WORD_REF(NIPR_ADDR)
|
|
|
+
|
|
|
+#define NIPR_STEP_VALUE_MASK 0x00ff /* NI prescaler step value */
|
|
|
+#define NIPR_STEP_VALUE_SHIFT 0
|
|
|
+#define NIPR_SELECT_MASK 0x0700 /* Tap Selection */
|
|
|
+#define NIPR_SELECT_SHIFT 8
|
|
|
+#define NIPR_PRE_SEL 0x8000 /* Non-integer prescaler select */
|
|
|
+
|
|
|
+
|
|
|
+/* generalization of uart control registers to support multiple ports: */
|
|
|
+typedef struct {
|
|
|
+ volatile unsigned short int ustcnt;
|
|
|
+ volatile unsigned short int ubaud;
|
|
|
+ union {
|
|
|
+ volatile unsigned short int w;
|
|
|
+ struct {
|
|
|
+ volatile unsigned char status;
|
|
|
+ volatile unsigned char rxdata;
|
|
|
+ } b;
|
|
|
+ } urx;
|
|
|
+ union {
|
|
|
+ volatile unsigned short int w;
|
|
|
+ struct {
|
|
|
+ volatile unsigned char status;
|
|
|
+ volatile unsigned char txdata;
|
|
|
+ } b;
|
|
|
+ } utx;
|
|
|
+ volatile unsigned short int umisc;
|
|
|
+ volatile unsigned short int nipr;
|
|
|
+ volatile unsigned short int hmark;
|
|
|
+ volatile unsigned short int unused;
|
|
|
+} __attribute__((packed)) m68328_uart;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+/**********
|
|
|
+ *
|
|
|
+ * 0xFFFFFAxx -- LCD Controller
|
|
|
+ *
|
|
|
+ **********/
|
|
|
+
|
|
|
+/*
|
|
|
+ * LCD Screen Starting Address Register
|
|
|
+ */
|
|
|
+#define LSSA_ADDR 0xfffffa00
|
|
|
+#define LSSA LONG_REF(LSSA_ADDR)
|
|
|
+
|
|
|
+#define LSSA_SSA_MASK 0x1ffffffe /* Bits 0 and 29-31 are reserved */
|
|
|
+
|
|
|
+/*
|
|
|
+ * LCD Virtual Page Width Register
|
|
|
+ */
|
|
|
+#define LVPW_ADDR 0xfffffa05
|
|
|
+#define LVPW BYTE_REF(LVPW_ADDR)
|
|
|
+
|
|
|
+/*
|
|
|
+ * LCD Screen Width Register (not compatible with '328 !!!)
|
|
|
+ */
|
|
|
+#define LXMAX_ADDR 0xfffffa08
|
|
|
+#define LXMAX WORD_REF(LXMAX_ADDR)
|
|
|
+
|
|
|
+#define LXMAX_XM_MASK 0x02f0 /* Bits 0-3 and 10-15 are reserved */
|
|
|
+
|
|
|
+/*
|
|
|
+ * LCD Screen Height Register
|
|
|
+ */
|
|
|
+#define LYMAX_ADDR 0xfffffa0a
|
|
|
+#define LYMAX WORD_REF(LYMAX_ADDR)
|
|
|
+
|
|
|
+#define LYMAX_YM_MASK 0x01ff /* Bits 9-15 are reserved */
|
|
|
+
|
|
|
+/*
|
|
|
+ * LCD Cursor X Position Register
|
|
|
+ */
|
|
|
+#define LCXP_ADDR 0xfffffa18
|
|
|
+#define LCXP WORD_REF(LCXP_ADDR)
|
|
|
+
|
|
|
+#define LCXP_CC_MASK 0xc000 /* Cursor Control */
|
|
|
+#define LCXP_CC_TRAMSPARENT 0x0000
|
|
|
+#define LCXP_CC_BLACK 0x4000
|
|
|
+#define LCXP_CC_REVERSED 0x8000
|
|
|
+#define LCXP_CC_WHITE 0xc000
|
|
|
+#define LCXP_CXP_MASK 0x02ff /* Cursor X position */
|
|
|
+
|
|
|
+/*
|
|
|
+ * LCD Cursor Y Position Register
|
|
|
+ */
|
|
|
+#define LCYP_ADDR 0xfffffa1a
|
|
|
+#define LCYP WORD_REF(LCYP_ADDR)
|
|
|
+
|
|
|
+#define LCYP_CYP_MASK 0x01ff /* Cursor Y Position */
|
|
|
+
|
|
|
+/*
|
|
|
+ * LCD Cursor Width and Heigth Register
|
|
|
+ */
|
|
|
+#define LCWCH_ADDR 0xfffffa1c
|
|
|
+#define LCWCH WORD_REF(LCWCH_ADDR)
|
|
|
+
|
|
|
+#define LCWCH_CH_MASK 0x001f /* Cursor Height */
|
|
|
+#define LCWCH_CH_SHIFT 0
|
|
|
+#define LCWCH_CW_MASK 0x1f00 /* Cursor Width */
|
|
|
+#define LCWCH_CW_SHIFT 8
|
|
|
+
|
|
|
+/*
|
|
|
+ * LCD Blink Control Register
|
|
|
+ */
|
|
|
+#define LBLKC_ADDR 0xfffffa1f
|
|
|
+#define LBLKC BYTE_REF(LBLKC_ADDR)
|
|
|
+
|
|
|
+#define LBLKC_BD_MASK 0x7f /* Blink Divisor */
|
|
|
+#define LBLKC_BD_SHIFT 0
|
|
|
+#define LBLKC_BKEN 0x80 /* Blink Enabled */
|
|
|
+
|
|
|
+/*
|
|
|
+ * LCD Panel Interface Configuration Register
|
|
|
+ */
|
|
|
+#define LPICF_ADDR 0xfffffa20
|
|
|
+#define LPICF BYTE_REF(LPICF_ADDR)
|
|
|
+
|
|
|
+#define LPICF_GS_MASK 0x03 /* Gray-Scale Mode */
|