Lines Matching +full:display +full:- +full:width +full:- +full:chars

1 // SPDX-License-Identifier: GPL-2.0
4 * The display also has a SPI interface, but the driver does not support
99 struct lcd2s_data *lcd2s = lcd->drvdata; in lcd2s_print()
102 lcd2s_i2c_master_send(lcd2s->i2c, buf, sizeof(buf)); in lcd2s_print()
108 struct lcd2s_data *lcd2s = lcd->drvdata; in lcd2s_gotoxy()
111 lcd2s_i2c_master_send(lcd2s->i2c, buf, sizeof(buf)); in lcd2s_gotoxy()
118 struct lcd2s_data *lcd2s = lcd->drvdata; in lcd2s_home()
120 lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_CUR_RESET); in lcd2s_home()
126 struct lcd2s_data *lcd2s = lcd->drvdata; in lcd2s_init_display()
128 /* turn everything off, but display on */ in lcd2s_init_display()
129 lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_DISPLAY_ON); in lcd2s_init_display()
130 lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_BACKLIGHT_OFF); in lcd2s_init_display()
131 lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_CUR_MOVES_FWD); in lcd2s_init_display()
132 lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_CUR_BLINK_OFF); in lcd2s_init_display()
133 lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_CUR_UL_OFF); in lcd2s_init_display()
134 lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_CLEAR); in lcd2s_init_display()
141 struct lcd2s_data *lcd2s = lcd->drvdata; in lcd2s_shift_cursor()
144 lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_MOV_CUR_LEFT); in lcd2s_shift_cursor()
146 lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_MOV_CUR_RIGHT); in lcd2s_shift_cursor()
153 struct lcd2s_data *lcd2s = lcd->drvdata; in lcd2s_shift_display()
156 lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_SHIFT_LEFT); in lcd2s_shift_display()
158 lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_SHIFT_RIGHT); in lcd2s_shift_display()
165 struct lcd2s_data *lcd2s = lcd->drvdata; in lcd2s_backlight()
168 lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_BACKLIGHT_ON); in lcd2s_backlight()
170 lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_BACKLIGHT_OFF); in lcd2s_backlight()
175 struct lcd2s_data *lcd2s = lcd->drvdata; in lcd2s_display()
178 lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_DISPLAY_ON); in lcd2s_display()
180 lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_DISPLAY_OFF); in lcd2s_display()
187 struct lcd2s_data *lcd2s = lcd->drvdata; in lcd2s_cursor()
190 lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_CUR_UL_ON); in lcd2s_cursor()
192 lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_CUR_UL_OFF); in lcd2s_cursor()
199 struct lcd2s_data *lcd2s = lcd->drvdata; in lcd2s_blink()
202 lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_CUR_BLINK_ON); in lcd2s_blink()
204 lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_CUR_BLINK_OFF); in lcd2s_blink()
228 struct lcd2s_data *lcd2s = lcd->drvdata; in lcd2s_redefine_char()
238 buf[1] = *(esc++) - '0'; in lcd2s_redefine_char()
260 lcd2s_i2c_master_send(lcd2s->i2c, buf, sizeof(buf)); in lcd2s_redefine_char()
266 struct lcd2s_data *lcd2s = lcd->drvdata; in lcd2s_clear_display()
269 lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_CLEAR); in lcd2s_clear_display()
282 .display = lcd2s_display,
296 if (!i2c_check_functionality(i2c->adapter, in lcd2s_i2c_probe()
299 return -EIO; in lcd2s_i2c_probe()
301 lcd2s = devm_kzalloc(&i2c->dev, sizeof(*lcd2s), GFP_KERNEL); in lcd2s_i2c_probe()
303 return -ENOMEM; in lcd2s_i2c_probe()
305 /* Test, if the display is responding */ in lcd2s_i2c_probe()
312 return -ENOMEM; in lcd2s_i2c_probe()
314 lcd->drvdata = lcd2s; in lcd2s_i2c_probe()
315 lcd2s->i2c = i2c; in lcd2s_i2c_probe()
316 lcd2s->charlcd = lcd; in lcd2s_i2c_probe()
319 err = device_property_read_u32(&i2c->dev, "display-height-chars", in lcd2s_i2c_probe()
320 &lcd->height); in lcd2s_i2c_probe()
324 err = device_property_read_u32(&i2c->dev, "display-width-chars", in lcd2s_i2c_probe()
325 &lcd->width); in lcd2s_i2c_probe()
329 lcd->ops = &lcd2s_ops; in lcd2s_i2c_probe()
331 err = charlcd_register(lcd2s->charlcd); in lcd2s_i2c_probe()
339 charlcd_free(lcd2s->charlcd); in lcd2s_i2c_probe()
347 charlcd_unregister(lcd2s->charlcd); in lcd2s_i2c_remove()
348 charlcd_free(lcd2s->charlcd); in lcd2s_i2c_remove()
374 MODULE_DESCRIPTION("LCD2S character display driver");