changeset 67:286289d551ee

lunalcd: gen-ht-init added
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 19 Mar 2020 03:14:33 +0000
parents 09d26f19a2c2
children 72ff023ec6c9
files .hgignore lunalcd/Makefile lunalcd/haoran.c
diffstat 3 files changed, 57 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Thu Mar 19 01:38:57 2020 +0000
+++ b/.hgignore	Thu Mar 19 03:14:33 2020 +0000
@@ -17,5 +17,6 @@
 ^lcdtest/lcdphone$
 ^lcdtest/lcdtest$
 
+^lunalcd/gen-ht-init$
 ^lunalcd/gen-st-init$
 ^lunalcd/ppmtocmd$
--- a/lunalcd/Makefile	Thu Mar 19 01:38:57 2020 +0000
+++ b/lunalcd/Makefile	Thu Mar 19 03:14:33 2020 +0000
@@ -1,12 +1,16 @@
 CC=	gcc
 CFLAGS=	-O2
-PROGS=	gen-st-init ppmtocmd
+PROGS=	gen-ht-init gen-st-init ppmtocmd
 
+HTINIT_OBJS=	common.o initmain.o haoran.o
 STINIT_OBJS=	common.o initmain.o startek.o
 PPMCONV_OBJS=	common.o ppmtocmd.o
 
 all:	${PROGS}
 
+gen-ht-init:	${HTINIT_OBJS}
+	${CC} -o $@ ${HTINIT_OBJS}
+
 gen-st-init:	${STINIT_OBJS}
 	${CC} -o $@ ${STINIT_OBJS}
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lunalcd/haoran.c	Thu Mar 19 03:14:33 2020 +0000
@@ -0,0 +1,51 @@
+/*
+ * ILI9225G register init for HaoRan HT020K1QC36S LCD.
+ */
+
+static void
+init_data(addr, data)
+{
+	write_ir(addr);
+	write_dr(data);
+}
+
+lcd_init_seq()
+{
+	init_data(0x0001, 0x011c); // set SS and NL bit
+	init_data(0x0002, 0x0100); // set 1 line inversion
+	init_data(0x0003, 0x1030); // set GRAM write direction and BGR=1.
+	init_data(0x0008, 0x0808); // set BP and FP
+	init_data(0x000F, 0x0901); // Set frame rate
+	/* usleep(10000); */
+	init_data(0x0010, 0x0000); // Set SAP,DSTB,STB
+	init_data(0x0011, 0x1B41); // Set APON,PON,AON,VCI1EN,VC
+	/* usleep(50000); */
+	init_data(0x0012, 0x200E); // Internal reference voltage= Vci;
+	init_data(0x0013, 0x0052); // Set GVDD
+	init_data(0x0014, 0x4B5C); // Set VCOMH/VCOML voltage
+	//------------- Set GRAM area ------------------//
+	init_data(0x0030, 0x0000);
+	init_data(0x0031, 0x00DB);
+	init_data(0x0032, 0x0000);
+	init_data(0x0033, 0x0000);
+	init_data(0x0034, 0x00DB);
+	init_data(0x0035, 0x0000);
+	init_data(0x0036, 0x00AF);
+	init_data(0x0037, 0x0000);
+	init_data(0x0038, 0x00DB);
+	init_data(0x0039, 0x0000);
+	// ----------- Adjust the Gamma Curve ----------//
+	init_data(0x0050, 0x0000);
+	init_data(0x0051, 0x0705);
+	init_data(0x0052, 0x0C0A);
+	init_data(0x0053, 0x0401);
+	init_data(0x0054, 0x040C);
+	init_data(0x0055, 0x0608);
+	init_data(0x0056, 0x0000);
+	init_data(0x0057, 0x0104);
+	init_data(0x0058, 0x0E06);
+	init_data(0x0059, 0x060E);
+	/* usleep(50000); */
+	init_data(0x0007, 0x1017);
+	return(0);
+}