Lines Matching refs:hdc
41 struct hd44780_common *hdc = lcd->drvdata;
43 if (lcd->addr.x < hdc->bwidth) {
44 hdc->write_data(hdc, c);
54 struct hd44780_common *hdc = lcd->drvdata;
61 addr = x < hdc->bwidth ? x & (hdc->hwidth - 1) : hdc->bwidth - 1;
63 addr += hdc->hwidth;
65 addr += hdc->bwidth;
66 hdc->write_cmd(hdc, LCD_CMD_SET_DDRAM_ADDR | addr);
80 struct hd44780_common *hdc = lcd->drvdata;
82 hdc->write_cmd(hdc, LCD_CMD_DISPLAY_CLEAR);
99 struct hd44780_common *hdc = lcd->drvdata;
101 void (*write_cmd_raw)(struct hd44780_common *hdc, int cmd);
104 if (hdc->ifwidth != 4 && hdc->ifwidth != 8)
107 hdc->hd44780_common_flags = ((lcd->height > 1) ? LCD_FLAG_N : 0) |
117 if (hdc->ifwidth == 4) {
119 write_cmd_raw = hdc->write_cmd_raw4;
121 write_cmd_raw = hdc->write_cmd;
123 write_cmd_raw(hdc, init);
125 write_cmd_raw(hdc, init);
127 write_cmd_raw(hdc, init);
130 if (hdc->ifwidth == 4) {
132 hdc->write_cmd_raw4(hdc, LCD_CMD_FUNCTION_SET >> 4);
137 hdc->write_cmd(hdc,
139 ((hdc->ifwidth == 8) ? LCD_CMD_DATA_LEN_8BITS : 0) |
140 ((hdc->hd44780_common_flags & LCD_FLAG_F) ?
142 ((hdc->hd44780_common_flags & LCD_FLAG_N) ?
147 hdc->write_cmd(hdc, LCD_CMD_DISPLAY_CTRL);
150 hdc->write_cmd(hdc,
152 ((hdc->hd44780_common_flags & LCD_FLAG_D) ?
154 ((hdc->hd44780_common_flags & LCD_FLAG_C) ?
156 ((hdc->hd44780_common_flags & LCD_FLAG_B) ?
160 (hdc->hd44780_common_flags & LCD_FLAG_L) ? 1 : 0);
165 hdc->write_cmd(hdc, LCD_CMD_ENTRY_MODE | LCD_CMD_CURSOR_INC);
174 struct hd44780_common *hdc = lcd->drvdata;
178 if (lcd->addr.x < hdc->bwidth)
179 hdc->write_cmd(hdc, LCD_CMD_SHIFT);
182 if (lcd->addr.x < (hdc->bwidth - 1))
183 hdc->write_cmd(hdc,
194 struct hd44780_common *hdc = lcd->drvdata;
197 hdc->write_cmd(hdc, LCD_CMD_SHIFT | LCD_CMD_DISPLAY_SHIFT);
199 hdc->write_cmd(hdc, LCD_CMD_SHIFT | LCD_CMD_DISPLAY_SHIFT |
206 static void hd44780_common_set_mode(struct hd44780_common *hdc)
208 hdc->write_cmd(hdc,
210 ((hdc->hd44780_common_flags & LCD_FLAG_D) ?
212 ((hdc->hd44780_common_flags & LCD_FLAG_C) ?
214 ((hdc->hd44780_common_flags & LCD_FLAG_B) ?
220 struct hd44780_common *hdc = lcd->drvdata;
223 hdc->hd44780_common_flags |= LCD_FLAG_D;
225 hdc->hd44780_common_flags &= ~LCD_FLAG_D;
227 hd44780_common_set_mode(hdc);
234 struct hd44780_common *hdc = lcd->drvdata;
237 hdc->hd44780_common_flags |= LCD_FLAG_C;
239 hdc->hd44780_common_flags &= ~LCD_FLAG_C;
241 hd44780_common_set_mode(hdc);
248 struct hd44780_common *hdc = lcd->drvdata;
251 hdc->hd44780_common_flags |= LCD_FLAG_B;
253 hdc->hd44780_common_flags &= ~LCD_FLAG_B;
255 hd44780_common_set_mode(hdc);
260 static void hd44780_common_set_function(struct hd44780_common *hdc)
262 hdc->write_cmd(hdc,
264 ((hdc->ifwidth == 8) ? LCD_CMD_DATA_LEN_8BITS : 0) |
265 ((hdc->hd44780_common_flags & LCD_FLAG_F) ?
267 ((hdc->hd44780_common_flags & LCD_FLAG_N) ?
273 struct hd44780_common *hdc = lcd->drvdata;
276 hdc->hd44780_common_flags |= LCD_FLAG_F;
278 hdc->hd44780_common_flags &= ~LCD_FLAG_F;
280 hd44780_common_set_function(hdc);
287 struct hd44780_common *hdc = lcd->drvdata;
290 hdc->hd44780_common_flags |= LCD_FLAG_N;
292 hdc->hd44780_common_flags &= ~LCD_FLAG_N;
294 hd44780_common_set_function(hdc);
309 struct hd44780_common *hdc = lcd->drvdata;
344 hdc->write_cmd(hdc, LCD_CMD_SET_CGRAM_ADDR | (cgaddr * 8));
346 hdc->write_data(hdc, cgbytes[addr]);
356 struct hd44780_common *hdc;
359 lcd = charlcd_alloc(sizeof(*hdc));
363 hdc = lcd->drvdata;
364 hdc->ifwidth = 8;
365 hdc->bwidth = DEFAULT_LCD_BWIDTH;
366 hdc->hwidth = DEFAULT_LCD_HWIDTH;