Lines Matching full:dsi
3 * Generated with linux-mdss-dsi-panel-driver-generator from vendor device tree.
25 struct mipi_dsi_device *dsi[2]; member
48 struct mipi_dsi_device *dsi = ctx->dsi[0]; in rm69380_on() local
49 struct device *dev = &dsi->dev; in rm69380_on()
52 dsi->mode_flags |= MIPI_DSI_MODE_LPM; in rm69380_on()
53 if (ctx->dsi[1]) in rm69380_on()
54 ctx->dsi[1]->mode_flags |= MIPI_DSI_MODE_LPM; in rm69380_on()
56 mipi_dsi_dcs_write_seq(dsi, 0xfe, 0xd4); in rm69380_on()
57 mipi_dsi_dcs_write_seq(dsi, 0x00, 0x80); in rm69380_on()
58 mipi_dsi_dcs_write_seq(dsi, 0xfe, 0xd0); in rm69380_on()
59 mipi_dsi_dcs_write_seq(dsi, 0x48, 0x00); in rm69380_on()
60 mipi_dsi_dcs_write_seq(dsi, 0xfe, 0x26); in rm69380_on()
61 mipi_dsi_dcs_write_seq(dsi, 0x75, 0x3f); in rm69380_on()
62 mipi_dsi_dcs_write_seq(dsi, 0x1d, 0x1a); in rm69380_on()
63 mipi_dsi_dcs_write_seq(dsi, 0xfe, 0x00); in rm69380_on()
64 mipi_dsi_dcs_write_seq(dsi, MIPI_DCS_WRITE_CONTROL_DISPLAY, 0x28); in rm69380_on()
65 mipi_dsi_dcs_write_seq(dsi, 0xc2, 0x08); in rm69380_on()
67 ret = mipi_dsi_dcs_set_tear_on(dsi, MIPI_DSI_DCS_TEAR_MODE_VBLANK); in rm69380_on()
73 ret = mipi_dsi_dcs_exit_sleep_mode(dsi); in rm69380_on()
80 ret = mipi_dsi_dcs_set_display_on(dsi); in rm69380_on()
92 struct mipi_dsi_device *dsi = ctx->dsi[0]; in rm69380_off() local
93 struct device *dev = &dsi->dev; in rm69380_off()
96 dsi->mode_flags &= ~MIPI_DSI_MODE_LPM; in rm69380_off()
97 if (ctx->dsi[1]) in rm69380_off()
98 ctx->dsi[1]->mode_flags &= ~MIPI_DSI_MODE_LPM; in rm69380_off()
100 ret = mipi_dsi_dcs_set_display_off(dsi); in rm69380_off()
107 ret = mipi_dsi_dcs_enter_sleep_mode(dsi); in rm69380_off()
120 struct device *dev = &ctx->dsi[0]->dev; in rm69380_prepare()
145 struct device *dev = &ctx->dsi[0]->dev; in rm69380_unprepare()
187 struct mipi_dsi_device *dsi = bl_get_data(bl); in rm69380_bl_update_status() local
191 dsi->mode_flags &= ~MIPI_DSI_MODE_LPM; in rm69380_bl_update_status()
193 ret = mipi_dsi_dcs_set_display_brightness_large(dsi, brightness); in rm69380_bl_update_status()
197 dsi->mode_flags |= MIPI_DSI_MODE_LPM; in rm69380_bl_update_status()
204 struct mipi_dsi_device *dsi = bl_get_data(bl); in rm69380_bl_get_brightness() local
208 dsi->mode_flags &= ~MIPI_DSI_MODE_LPM; in rm69380_bl_get_brightness()
210 ret = mipi_dsi_dcs_get_display_brightness_large(dsi, &brightness); in rm69380_bl_get_brightness()
214 dsi->mode_flags |= MIPI_DSI_MODE_LPM; in rm69380_bl_get_brightness()
225 rm69380_create_backlight(struct mipi_dsi_device *dsi) in rm69380_create_backlight() argument
227 struct device *dev = &dsi->dev; in rm69380_create_backlight()
234 return devm_backlight_device_register(dev, dev_name(dev), dev, dsi, in rm69380_create_backlight()
238 static int rm69380_probe(struct mipi_dsi_device *dsi) in rm69380_probe() argument
242 struct device *dev = &dsi->dev; in rm69380_probe()
262 dsi_sec = of_graph_get_remote_node(dsi->dev.of_node, 1, -1); in rm69380_probe()
272 "Cannot get secondary DSI host\n"); in rm69380_probe()
274 ctx->dsi[1] = in rm69380_probe()
276 if (IS_ERR(ctx->dsi[1])) in rm69380_probe()
277 return dev_err_probe(dev, PTR_ERR(ctx->dsi[1]), in rm69380_probe()
278 "Cannot get secondary DSI node\n"); in rm69380_probe()
280 mipi_dsi_set_drvdata(ctx->dsi[1], ctx); in rm69380_probe()
283 ctx->dsi[0] = dsi; in rm69380_probe()
284 mipi_dsi_set_drvdata(dsi, ctx); in rm69380_probe()
290 ctx->panel.backlight = rm69380_create_backlight(dsi); in rm69380_probe()
297 for (i = 0; i < ARRAY_SIZE(ctx->dsi); i++) { in rm69380_probe()
298 if (!ctx->dsi[i]) in rm69380_probe()
301 dev_dbg(&ctx->dsi[i]->dev, "Binding DSI %d\n", i); in rm69380_probe()
303 ctx->dsi[i]->lanes = 4; in rm69380_probe()
304 ctx->dsi[i]->format = MIPI_DSI_FMT_RGB888; in rm69380_probe()
305 ctx->dsi[i]->mode_flags = MIPI_DSI_MODE_VIDEO_BURST | in rm69380_probe()
308 ret = devm_mipi_dsi_attach(dev, ctx->dsi[i]); in rm69380_probe()
312 "Failed to attach to DSI%d\n", i); in rm69380_probe()
319 static void rm69380_remove(struct mipi_dsi_device *dsi) in rm69380_remove() argument
321 struct rm69380_panel *ctx = mipi_dsi_get_drvdata(dsi); in rm69380_remove()
343 MODULE_DESCRIPTION("DRM driver for Raydium RM69380-equipped DSI panels");