Lines Matching full:dsi
3 * Samsung S6D7AA0 MIPI-DSI TFT LCD controller drm_panel driver.
29 struct mipi_dsi_device *dsi; member
67 struct mipi_dsi_device *dsi = ctx->dsi; in s6d7aa0_lock() local
70 mipi_dsi_dcs_write_seq(dsi, MCS_PASSWD1, 0xa5, 0xa5); in s6d7aa0_lock()
71 mipi_dsi_dcs_write_seq(dsi, MCS_PASSWD2, 0xa5, 0xa5); in s6d7aa0_lock()
73 mipi_dsi_dcs_write_seq(dsi, MCS_PASSWD3, 0x5a, 0x5a); in s6d7aa0_lock()
75 mipi_dsi_dcs_write_seq(dsi, MCS_PASSWD1, 0x5a, 0x5a); in s6d7aa0_lock()
76 mipi_dsi_dcs_write_seq(dsi, MCS_PASSWD2, 0x5a, 0x5a); in s6d7aa0_lock()
78 mipi_dsi_dcs_write_seq(dsi, MCS_PASSWD3, 0xa5, 0xa5); in s6d7aa0_lock()
86 struct mipi_dsi_device *dsi = ctx->dsi; in s6d7aa0_on() local
87 struct device *dev = &dsi->dev; in s6d7aa0_on()
97 ret = mipi_dsi_dcs_set_display_on(dsi); in s6d7aa0_on()
108 struct mipi_dsi_device *dsi = ctx->dsi; in s6d7aa0_off() local
109 struct device *dev = &dsi->dev; in s6d7aa0_off()
118 ret = mipi_dsi_dcs_set_display_off(dsi); in s6d7aa0_off()
125 ret = mipi_dsi_dcs_enter_sleep_mode(dsi); in s6d7aa0_off()
138 struct device *dev = &ctx->dsi->dev; in s6d7aa0_prepare()
162 struct device *dev = &ctx->dsi->dev; in s6d7aa0_disable()
186 struct mipi_dsi_device *dsi = bl_get_data(bl); in s6d7aa0_bl_update_status() local
190 ret = mipi_dsi_dcs_set_display_brightness(dsi, brightness); in s6d7aa0_bl_update_status()
199 struct mipi_dsi_device *dsi = bl_get_data(bl); in s6d7aa0_bl_get_brightness() local
203 ret = mipi_dsi_dcs_get_display_brightness(dsi, &brightness); in s6d7aa0_bl_get_brightness()
216 s6d7aa0_create_backlight(struct mipi_dsi_device *dsi) in s6d7aa0_create_backlight() argument
218 struct device *dev = &dsi->dev; in s6d7aa0_create_backlight()
225 return devm_backlight_device_register(dev, dev_name(dev), dev, dsi, in s6d7aa0_create_backlight()
233 struct mipi_dsi_device *dsi = ctx->dsi; in s6d7aa0_lsl080al02_init() local
234 struct device *dev = &dsi->dev; in s6d7aa0_lsl080al02_init()
245 mipi_dsi_dcs_write_seq(dsi, MCS_OTP_RELOAD, 0x00, 0x10); in s6d7aa0_lsl080al02_init()
249 mipi_dsi_dcs_write_seq(dsi, 0xb6, 0x10); in s6d7aa0_lsl080al02_init()
252 mipi_dsi_dcs_write_seq(dsi, MCS_BL_CTL, 0x40, 0x00, 0x28); in s6d7aa0_lsl080al02_init()
256 mipi_dsi_dcs_write_seq(dsi, MIPI_DCS_SET_ADDRESS_MODE, 0x04); in s6d7aa0_lsl080al02_init()
258 ret = mipi_dsi_dcs_exit_sleep_mode(dsi); in s6d7aa0_lsl080al02_init()
265 mipi_dsi_dcs_write_seq(dsi, MIPI_DCS_SET_ADDRESS_MODE, 0x00); in s6d7aa0_lsl080al02_init()
273 ret = mipi_dsi_dcs_set_display_on(dsi); in s6d7aa0_lsl080al02_init()
284 struct mipi_dsi_device *dsi = ctx->dsi; in s6d7aa0_lsl080al02_off() local
287 mipi_dsi_dcs_write_seq(dsi, MCS_BL_CTL, 0x40, 0x00, 0x20); in s6d7aa0_lsl080al02_off()
322 struct mipi_dsi_device *dsi = ctx->dsi; in s6d7aa0_lsl080al03_init() local
323 struct device *dev = &dsi->dev; in s6d7aa0_lsl080al03_init()
335 mipi_dsi_dcs_write_seq(dsi, MCS_BL_CTL, 0xc7, 0x00, 0x29); in s6d7aa0_lsl080al03_init()
336 mipi_dsi_dcs_write_seq(dsi, 0xbc, 0x01, 0x4e, 0xa0); in s6d7aa0_lsl080al03_init()
337 mipi_dsi_dcs_write_seq(dsi, 0xfd, 0x16, 0x10, 0x11, 0x23, in s6d7aa0_lsl080al03_init()
339 mipi_dsi_dcs_write_seq(dsi, 0xfe, 0x00, 0x02, 0x03, 0x21, in s6d7aa0_lsl080al03_init()
342 mipi_dsi_dcs_write_seq(dsi, MCS_BL_CTL, 0x40, 0x00, 0x08); in s6d7aa0_lsl080al03_init()
343 mipi_dsi_dcs_write_seq(dsi, 0xbc, 0x01, 0x4e, 0x0b); in s6d7aa0_lsl080al03_init()
344 mipi_dsi_dcs_write_seq(dsi, 0xfd, 0x16, 0x10, 0x11, 0x23, in s6d7aa0_lsl080al03_init()
346 mipi_dsi_dcs_write_seq(dsi, 0xfe, 0x00, 0x02, 0x03, 0x21, in s6d7aa0_lsl080al03_init()
350 mipi_dsi_dcs_write_seq(dsi, 0xb3, 0x51); in s6d7aa0_lsl080al03_init()
351 mipi_dsi_dcs_write_seq(dsi, MIPI_DCS_WRITE_CONTROL_DISPLAY, 0x24); in s6d7aa0_lsl080al03_init()
352 mipi_dsi_dcs_write_seq(dsi, 0xf2, 0x02, 0x08, 0x08); in s6d7aa0_lsl080al03_init()
356 mipi_dsi_dcs_write_seq(dsi, 0xc0, 0x80, 0x80, 0x30); in s6d7aa0_lsl080al03_init()
357 mipi_dsi_dcs_write_seq(dsi, 0xcd, in s6d7aa0_lsl080al03_init()
360 mipi_dsi_dcs_write_seq(dsi, 0xce, in s6d7aa0_lsl080al03_init()
363 mipi_dsi_dcs_write_seq(dsi, 0xc1, 0x03); in s6d7aa0_lsl080al03_init()
365 ret = mipi_dsi_dcs_exit_sleep_mode(dsi); in s6d7aa0_lsl080al03_init()
377 ret = mipi_dsi_dcs_set_display_on(dsi); in s6d7aa0_lsl080al03_init()
388 struct mipi_dsi_device *dsi = ctx->dsi; in s6d7aa0_lsl080al03_off() local
390 mipi_dsi_dcs_write_seq(dsi, 0x22, 0x00); in s6d7aa0_lsl080al03_off()
481 static int s6d7aa0_probe(struct mipi_dsi_device *dsi) in s6d7aa0_probe() argument
483 struct device *dev = &dsi->dev; in s6d7aa0_probe()
507 ctx->dsi = dsi; in s6d7aa0_probe()
508 mipi_dsi_set_drvdata(dsi, ctx); in s6d7aa0_probe()
510 dsi->lanes = 4; in s6d7aa0_probe()
511 dsi->format = MIPI_DSI_FMT_RGB888; in s6d7aa0_probe()
512 dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST in s6d7aa0_probe()
523 /* Use DSI-based backlight as fallback if available */ in s6d7aa0_probe()
525 ctx->panel.backlight = s6d7aa0_create_backlight(dsi); in s6d7aa0_probe()
533 ret = mipi_dsi_attach(dsi); in s6d7aa0_probe()
535 dev_err(dev, "Failed to attach to DSI host: %d\n", ret); in s6d7aa0_probe()
543 static void s6d7aa0_remove(struct mipi_dsi_device *dsi) in s6d7aa0_remove() argument
545 struct s6d7aa0 *ctx = mipi_dsi_get_drvdata(dsi); in s6d7aa0_remove()
548 ret = mipi_dsi_detach(dsi); in s6d7aa0_remove()
550 dev_err(&dsi->dev, "Failed to detach from DSI host: %d\n", ret); in s6d7aa0_remove()
583 MODULE_DESCRIPTION("Samsung S6D7AA0 MIPI-DSI LCD controller driver");