xref: /linux/drivers/auxdisplay/hd44780_common.h (revision b26deabb1d915fe87d395081bbd3058b938dee89)
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 struct hd44780_common *hd44780_common_alloc(void);
19