1/*
2 * Picvue PVC160206 display driver
3 *
4 * Brian Murphy <brian.murphy@eicon.com>
5 *
6 */
7struct pvc_defs {
8	volatile u32 *reg;
9	u32 data_shift;
10	u32 data_mask;
11	u32 e;
12	u32 rw;
13	u32 rs;
14};
15
16extern struct pvc_defs *picvue;
17
18#define PVC_NLINES		2
19#define PVC_DISPMEM		80
20#define PVC_LINELEN		PVC_DISPMEM / PVC_NLINES
21#define PVC_VISIBLE_CHARS	16
22
23void pvc_write_string(const unsigned char *str, u8 addr, int line);
24void pvc_write_string_centered(const unsigned char *str, int line);
25void pvc_dump_string(const unsigned char *str);
26
27#define BM_SIZE			8
28#define MAX_PROGRAMMABLE_CHARS	8
29int pvc_program_cg(int charnum, u8 bitmap[BM_SIZE]);
30
31void pvc_dispcnt(u8 cmd);
32#define	 DISP_OFF	0
33#define	 DISP_ON	(1 << 2)
34#define	 CUR_ON		(1 << 1)
35#define	 CUR_BLINK	(1 << 0)
36
37void pvc_move(u8 cmd);
38#define	 DISPLAY	(1 << 3)
39#define	 CURSOR		0
40#define	 RIGHT		(1 << 2)
41#define	 LEFT		0
42
43void pvc_clear(void);
44void pvc_home(void);
45