|
@@ -1049,3 +1049,120 @@ typedef volatile struct {
|
|
|
* 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 0x01 /* Gray-Scale Mode */
|
|
|
+#define LPICF_GS_BW 0x00
|
|
|
+#define LPICF_GS_GRAY_4 0x01
|
|
|
+#define LPICF_PBSIZ_MASK 0x06 /* Panel Bus Width */
|
|
|
+#define LPICF_PBSIZ_1 0x00
|
|
|
+#define LPICF_PBSIZ_2 0x02
|
|
|
+#define LPICF_PBSIZ_4 0x04
|
|
|
+
|
|
|
+/*
|
|
|
+ * LCD Polarity Configuration Register
|
|
|
+ */
|
|
|
+#define LPOLCF_ADDR 0xfffffa21
|
|
|
+#define LPOLCF BYTE_REF(LPOLCF_ADDR)
|
|
|
+
|
|
|
+#define LPOLCF_PIXPOL 0x01 /* Pixel Polarity */
|
|
|
+#define LPOLCF_LPPOL 0x02 /* Line Pulse Polarity */
|
|
|
+#define LPOLCF_FLMPOL 0x04 /* Frame Marker Polarity */
|
|
|
+#define LPOLCF_LCKPOL 0x08 /* LCD Shift Lock Polarity */
|
|
|
+
|
|
|
+/*
|
|
|
+ * LACD (LCD Alternate Crystal Direction) Rate Control Register
|
|
|
+ */
|
|
|
+#define LACDRC_ADDR 0xfffffa23
|
|
|
+#define LACDRC BYTE_REF(LACDRC_ADDR)
|
|
|
+
|
|
|
+#define LACDRC_ACD_MASK 0x0f /* Alternate Crystal Direction Control */
|
|
|
+#define LACDRC_ACD_SHIFT 0
|
|
|
+
|
|
|
+/*
|
|
|
+ * LCD Pixel Clock Divider Register
|
|
|
+ */
|
|
|
+#define LPXCD_ADDR 0xfffffa25
|
|
|
+#define LPXCD BYTE_REF(LPXCD_ADDR)
|
|
|
+
|
|
|
+#define LPXCD_PCD_MASK 0x3f /* Pixel Clock Divider */
|
|
|
+#define LPXCD_PCD_SHIFT 0
|
|
|
+
|
|
|
+/*
|
|
|
+ * LCD Clocking Control Register
|
|
|
+ */
|
|
|
+#define LCKCON_ADDR 0xfffffa27
|
|
|
+#define LCKCON BYTE_REF(LCKCON_ADDR)
|
|
|
+
|
|
|
+#define LCKCON_PCDS 0x01 /* Pixel Clock Divider Source Select */
|
|
|
+#define LCKCON_DWIDTH 0x02 /* Display Memory Width */
|
|
|
+#define LCKCON_DWS_MASK 0x3c /* Display Wait-State */
|
|
|
+#define LCKCON_DWS_SHIFT 2
|
|
|
+#define LCKCON_DMA16 0x40 /* DMA burst length */
|
|
|
+#define LCKCON_LCDON 0x80 /* Enable LCD Controller */
|
|
|
+
|
|
|
+/* 'EZ328-compatible definitions */
|
|
|
+#define LCKCON_DW_MASK LCKCON_DWS_MASK
|
|
|
+#define LCKCON_DW_SHIFT LCKCON_DWS_SHIFT
|
|
|
+
|
|
|
+/*
|
|
|
+ * LCD Last Buffer Address Register
|
|
|
+ */
|
|
|
+#define LLBAR_ADDR 0xfffffa29
|
|
|
+#define LLBAR BYTE_REF(LLBAR_ADDR)
|
|
|
+
|
|
|
+#define LLBAR_LBAR_MASK 0x7f /* Number of memory words to fill 1 line */
|
|
|
+#define LLBAR_LBAR_SHIFT 0
|
|
|
+
|
|
|
+/*
|
|
|
+ * LCD Octet Terminal Count Register
|
|
|
+ */
|
|
|
+#define LOTCR_ADDR 0xfffffa2b
|
|
|
+#define LOTCR BYTE_REF(LOTCR_ADDR)
|
|
|
+
|
|
|
+/*
|
|
|
+ * LCD Panning Offset Register
|
|
|
+ */
|
|
|
+#define LPOSR_ADDR 0xfffffa2d
|
|
|
+#define LPOSR BYTE_REF(LPOSR_ADDR)
|
|
|
+
|
|
|
+#define LPOSR_BOS 0x08 /* Byte offset (for B/W mode only */
|
|
|
+#define LPOSR_POS_MASK 0x07 /* Pixel Offset Code */
|
|
|
+#define LPOSR_POS_SHIFT 0
|
|
|
+
|
|
|
+/*
|
|
|
+ * LCD Frame Rate Control Modulation Register
|
|
|
+ */
|
|
|
+#define LFRCM_ADDR 0xfffffa31
|
|
|
+#define LFRCM BYTE_REF(LFRCM_ADDR)
|
|
|
+
|
|
|
+#define LFRCM_YMOD_MASK 0x0f /* Vertical Modulation */
|