Lines Matching defs:jdi

55 static int jdi_panel_init(struct jdi_panel *jdi)
57 struct mipi_dsi_device *dsi = jdi->dsi;
58 struct device *dev = &jdi->dsi->dev;
75 ret = mipi_dsi_dcs_set_column_address(dsi, 0, jdi->mode->hdisplay - 1);
81 ret = mipi_dsi_dcs_set_page_address(dsi, 0, jdi->mode->vdisplay - 1);
145 static int jdi_panel_on(struct jdi_panel *jdi)
147 struct mipi_dsi_device *dsi = jdi->dsi;
148 struct device *dev = &jdi->dsi->dev;
160 static void jdi_panel_off(struct jdi_panel *jdi)
162 struct mipi_dsi_device *dsi = jdi->dsi;
163 struct device *dev = &jdi->dsi->dev;
181 struct jdi_panel *jdi = to_jdi_panel(panel);
183 if (!jdi->enabled)
186 backlight_disable(jdi->backlight);
188 jdi->enabled = false;
195 struct jdi_panel *jdi = to_jdi_panel(panel);
196 struct device *dev = &jdi->dsi->dev;
199 if (!jdi->prepared)
202 jdi_panel_off(jdi);
204 ret = regulator_bulk_disable(ARRAY_SIZE(jdi->supplies), jdi->supplies);
208 gpiod_set_value(jdi->enable_gpio, 0);
210 gpiod_set_value(jdi->reset_gpio, 1);
212 gpiod_set_value(jdi->dcdc_en_gpio, 0);
214 jdi->prepared = false;
221 struct jdi_panel *jdi = to_jdi_panel(panel);
222 struct device *dev = &jdi->dsi->dev;
225 if (jdi->prepared)
228 ret = regulator_bulk_enable(ARRAY_SIZE(jdi->supplies), jdi->supplies);
236 gpiod_set_value(jdi->dcdc_en_gpio, 1);
239 gpiod_set_value(jdi->reset_gpio, 0);
242 gpiod_set_value(jdi->enable_gpio, 1);
245 ret = jdi_panel_init(jdi);
251 ret = jdi_panel_on(jdi);
257 jdi->prepared = true;
262 ret = regulator_bulk_disable(ARRAY_SIZE(jdi->supplies), jdi->supplies);
266 gpiod_set_value(jdi->enable_gpio, 0);
268 gpiod_set_value(jdi->reset_gpio, 1);
270 gpiod_set_value(jdi->dcdc_en_gpio, 0);
277 struct jdi_panel *jdi = to_jdi_panel(panel);
279 if (jdi->enabled)
282 backlight_enable(jdi->backlight);
284 jdi->enabled = true;
306 struct jdi_panel *jdi = to_jdi_panel(panel);
307 struct device *dev = &jdi->dsi->dev;
389 { .compatible = "jdi,lt070me05000", },
394 static int jdi_panel_add(struct jdi_panel *jdi)
396 struct device *dev = &jdi->dsi->dev;
400 jdi->mode = &default_mode;
402 for (i = 0; i < ARRAY_SIZE(jdi->supplies); i++)
403 jdi->supplies[i].supply = regulator_names[i];
405 ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(jdi->supplies),
406 jdi->supplies);
412 jdi->enable_gpio = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW);
413 if (IS_ERR(jdi->enable_gpio)) {
414 ret = PTR_ERR(jdi->enable_gpio);
419 jdi->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
420 if (IS_ERR(jdi->reset_gpio)) {
421 ret = PTR_ERR(jdi->reset_gpio);
426 jdi->dcdc_en_gpio = devm_gpiod_get(dev, "dcdc-en", GPIOD_OUT_LOW);
427 if (IS_ERR(jdi->dcdc_en_gpio)) {
428 ret = PTR_ERR(jdi->dcdc_en_gpio);
433 jdi->backlight = drm_panel_create_dsi_backlight(jdi->dsi);
434 if (IS_ERR(jdi->backlight)) {
435 ret = PTR_ERR(jdi->backlight);
440 drm_panel_init(&jdi->base, &jdi->dsi->dev, &jdi_panel_funcs,
443 drm_panel_add(&jdi->base);
448 static void jdi_panel_del(struct jdi_panel *jdi)
450 if (jdi->base.dev)
451 drm_panel_remove(&jdi->base);
456 struct jdi_panel *jdi;
464 jdi = devm_kzalloc(&dsi->dev, sizeof(*jdi), GFP_KERNEL);
465 if (!jdi)
468 mipi_dsi_set_drvdata(dsi, jdi);
470 jdi->dsi = dsi;
472 ret = jdi_panel_add(jdi);
481 struct jdi_panel *jdi = mipi_dsi_get_drvdata(dsi);
484 ret = jdi_panel_disable(&jdi->base);
493 jdi_panel_del(jdi);
500 struct jdi_panel *jdi = mipi_dsi_get_drvdata(dsi);
502 jdi_panel_disable(&jdi->base);
507 .name = "panel-jdi-lt070me05000",