Lines Matching refs:jdi
60 static void jdi_wait_frames(struct jdi_panel *jdi, unsigned int frames)
62 unsigned int refresh = drm_mode_vrefresh(jdi->mode);
72 struct jdi_panel *jdi = to_panel_jdi(panel);
74 backlight_disable(jdi->backlight);
76 jdi_wait_frames(jdi, 2);
83 struct jdi_panel *jdi = to_panel_jdi(panel);
86 ret = mipi_dsi_dcs_set_display_off(jdi->link1);
90 ret = mipi_dsi_dcs_set_display_off(jdi->link2);
97 ret = mipi_dsi_dcs_enter_sleep_mode(jdi->link1);
100 ret = mipi_dsi_dcs_enter_sleep_mode(jdi->link2);
107 gpiod_set_value(jdi->reset_gpio, 1);
112 gpiod_set_value(jdi->enable_gpio, 0);
117 regulator_disable(jdi->ddi_supply);
122 regulator_disable(jdi->supply);
162 static int jdi_write_dcdc_registers(struct jdi_panel *jdi)
165 mipi_dsi_generic_write_seq(jdi->link1, MCS_CMD_ACS_PROT,
167 mipi_dsi_generic_write_seq(jdi->link2, MCS_CMD_ACS_PROT,
174 mipi_dsi_generic_write_seq(jdi->link1, MCS_PWR_CTRL_FUNC,
180 mipi_dsi_generic_write_seq(jdi->link2, MCS_PWR_CTRL_FUNC,
191 struct jdi_panel *jdi = to_panel_jdi(panel);
197 backlight_disable(jdi->backlight);
198 jdi_wait_frames(jdi, 3);
200 jdi->link1->mode_flags |= MIPI_DSI_MODE_LPM;
201 jdi->link2->mode_flags |= MIPI_DSI_MODE_LPM;
203 err = regulator_enable(jdi->supply);
211 err = regulator_enable(jdi->ddi_supply);
219 gpiod_set_value(jdi->enable_gpio, 1);
223 gpiod_set_value(jdi->reset_gpio, 0);
234 err = jdi_setup_symmetrical_split(jdi->link1, jdi->link2,
235 jdi->mode);
242 err = mipi_dsi_dcs_set_tear_scanline(jdi->link1,
243 jdi->mode->vdisplay - 16);
249 err = mipi_dsi_dcs_set_tear_scanline(jdi->link2,
250 jdi->mode->vdisplay - 16);
256 err = mipi_dsi_dcs_set_tear_on(jdi->link1,
263 err = mipi_dsi_dcs_set_tear_on(jdi->link2,
270 err = mipi_dsi_dcs_set_pixel_format(jdi->link1, MIPI_DCS_PIXEL_FMT_24BIT);
276 err = mipi_dsi_dcs_set_pixel_format(jdi->link2, MIPI_DCS_PIXEL_FMT_24BIT);
282 err = mipi_dsi_dcs_exit_sleep_mode(jdi->link1);
288 err = mipi_dsi_dcs_exit_sleep_mode(jdi->link2);
294 err = jdi_write_dcdc_registers(jdi);
305 err = mipi_dsi_dcs_set_display_on(jdi->link1);
311 err = mipi_dsi_dcs_set_display_on(jdi->link2);
317 jdi->link1->mode_flags &= ~MIPI_DSI_MODE_LPM;
318 jdi->link2->mode_flags &= ~MIPI_DSI_MODE_LPM;
323 regulator_disable(jdi->ddi_supply);
328 regulator_disable(jdi->supply);
337 struct jdi_panel *jdi = to_panel_jdi(panel);
343 jdi_wait_frames(jdi, 3);
345 backlight_enable(jdi->backlight);
367 struct jdi_panel *jdi = to_panel_jdi(panel);
368 struct device *dev = &jdi->link1->dev;
398 { .compatible = "jdi,lpm102a188a", },
403 static int jdi_panel_add(struct jdi_panel *jdi)
405 struct device *dev = &jdi->link1->dev;
407 jdi->mode = &default_mode;
409 jdi->supply = devm_regulator_get(dev, "power");
410 if (IS_ERR(jdi->supply))
411 return dev_err_probe(dev, PTR_ERR(jdi->supply),
414 jdi->ddi_supply = devm_regulator_get(dev, "ddi");
415 if (IS_ERR(jdi->ddi_supply))
416 return dev_err_probe(dev, PTR_ERR(jdi->ddi_supply),
419 jdi->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
420 if (IS_ERR(jdi->reset_gpio))
421 return dev_err_probe(dev, PTR_ERR(jdi->reset_gpio),
426 jdi->enable_gpio = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW);
427 if (IS_ERR(jdi->enable_gpio))
428 return dev_err_probe(dev, PTR_ERR(jdi->enable_gpio),
433 jdi->backlight = devm_of_find_backlight(dev);
434 if (IS_ERR(jdi->backlight))
435 return dev_err_probe(dev, PTR_ERR(jdi->backlight),
438 drm_panel_add(&jdi->base);
443 static void jdi_panel_del(struct jdi_panel *jdi)
445 if (jdi->base.dev)
446 drm_panel_remove(&jdi->base);
448 if (jdi->link2)
449 put_device(&jdi->link2->dev);
455 struct jdi_panel *jdi;
475 jdi = devm_drm_panel_alloc(&dsi->dev, __typeof(*jdi),
479 if (IS_ERR(jdi)) {
481 return PTR_ERR(jdi);
484 mipi_dsi_set_drvdata(dsi, jdi);
486 jdi->link1 = dsi;
487 jdi->link2 = secondary;
489 err = jdi_panel_add(jdi);
499 jdi_panel_del(jdi);
509 struct jdi_panel *jdi = mipi_dsi_get_drvdata(dsi);
513 if (!jdi)
516 err = jdi_panel_disable(&jdi->base);
524 jdi_panel_del(jdi);
529 struct jdi_panel *jdi = mipi_dsi_get_drvdata(dsi);
531 if (!jdi)
534 jdi_panel_disable(&jdi->base);
539 .name = "panel-jdi-lpm102a188a",