xref: /linux/drivers/auxdisplay/hd44780_common.h (revision d3a2fb810f273b7a2c393d4de28ae91a3f76985d)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
3 #define DEFAULT_LCD_BWIDTH      40
4 #define DEFAULT_LCD_HWIDTH      64
5 
6 struct hd44780_common {
7 	int ifwidth;			/* 4-bit or 8-bit (default) */
8 	int bwidth;			/* Default set by hd44780_alloc() */
9 	int hwidth;			/* Default set by hd44780_alloc() */
10 	void (*write_data)(struct hd44780_common *hdc, int data);
11 	void (*write_cmd)(struct hd44780_common *hdc, int cmd);
12 	/* write_cmd_raw4 is for 4-bit connected displays only */
13 	void (*write_cmd_raw4)(struct hd44780_common *hdc, int cmd);
14 	void *hd44780;
15 };
16 
17 int hd44780_common_print(struct charlcd *lcd, int c);
18 int hd44780_common_gotoxy(struct charlcd *lcd);
19 struct hd44780_common *hd44780_common_alloc(void);
20