Lines Matching refs:jdi

48 static int jdi_panel_init(struct jdi_panel *jdi)
50 struct mipi_dsi_device *dsi = jdi->dsi;
51 struct device *dev = &jdi->dsi->dev;
68 ret = mipi_dsi_dcs_set_column_address(dsi, 0, jdi->mode->hdisplay - 1);
74 ret = mipi_dsi_dcs_set_page_address(dsi, 0, jdi->mode->vdisplay - 1);
138 static int jdi_panel_on(struct jdi_panel *jdi)
140 struct mipi_dsi_device *dsi = jdi->dsi;
141 struct device *dev = &jdi->dsi->dev;
153 static void jdi_panel_off(struct jdi_panel *jdi)
155 struct mipi_dsi_device *dsi = jdi->dsi;
156 struct device *dev = &jdi->dsi->dev;
174 struct jdi_panel *jdi = to_jdi_panel(panel);
176 backlight_disable(jdi->backlight);
183 struct jdi_panel *jdi = to_jdi_panel(panel);
184 struct device *dev = &jdi->dsi->dev;
187 jdi_panel_off(jdi);
189 ret = regulator_bulk_disable(ARRAY_SIZE(jdi->supplies), jdi->supplies);
193 gpiod_set_value(jdi->enable_gpio, 0);
195 gpiod_set_value(jdi->reset_gpio, 1);
197 gpiod_set_value(jdi->dcdc_en_gpio, 0);
204 struct jdi_panel *jdi = to_jdi_panel(panel);
205 struct device *dev = &jdi->dsi->dev;
208 ret = regulator_bulk_enable(ARRAY_SIZE(jdi->supplies), jdi->supplies);
216 gpiod_set_value(jdi->dcdc_en_gpio, 1);
219 gpiod_set_value(jdi->reset_gpio, 0);
222 gpiod_set_value(jdi->enable_gpio, 1);
225 ret = jdi_panel_init(jdi);
231 ret = jdi_panel_on(jdi);
240 ret = regulator_bulk_disable(ARRAY_SIZE(jdi->supplies), jdi->supplies);
244 gpiod_set_value(jdi->enable_gpio, 0);
246 gpiod_set_value(jdi->reset_gpio, 1);
248 gpiod_set_value(jdi->dcdc_en_gpio, 0);
255 struct jdi_panel *jdi = to_jdi_panel(panel);
257 backlight_enable(jdi->backlight);
279 struct jdi_panel *jdi = to_jdi_panel(panel);
280 struct device *dev = &jdi->dsi->dev;
362 { .compatible = "jdi,lt070me05000", },
367 static int jdi_panel_add(struct jdi_panel *jdi)
369 struct device *dev = &jdi->dsi->dev;
373 jdi->mode = &default_mode;
375 for (i = 0; i < ARRAY_SIZE(jdi->supplies); i++)
376 jdi->supplies[i].supply = regulator_names[i];
378 ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(jdi->supplies),
379 jdi->supplies);
384 jdi->enable_gpio = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW);
385 if (IS_ERR(jdi->enable_gpio)) {
386 return dev_err_probe(dev, PTR_ERR(jdi->enable_gpio),
390 jdi->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
391 if (IS_ERR(jdi->reset_gpio))
392 return dev_err_probe(dev, PTR_ERR(jdi->reset_gpio),
395 jdi->dcdc_en_gpio = devm_gpiod_get(dev, "dcdc-en", GPIOD_OUT_LOW);
396 if (IS_ERR(jdi->dcdc_en_gpio))
397 return dev_err_probe(dev, PTR_ERR(jdi->dcdc_en_gpio),
400 jdi->backlight = drm_panel_create_dsi_backlight(jdi->dsi);
401 if (IS_ERR(jdi->backlight))
402 return dev_err_probe(dev, PTR_ERR(jdi->backlight),
405 drm_panel_add(&jdi->base);
410 static void jdi_panel_del(struct jdi_panel *jdi)
412 if (jdi->base.dev)
413 drm_panel_remove(&jdi->base);
418 struct jdi_panel *jdi;
426 jdi = devm_drm_panel_alloc(&dsi->dev, __typeof(*jdi), base,
429 if (IS_ERR(jdi))
430 return PTR_ERR(jdi);
432 mipi_dsi_set_drvdata(dsi, jdi);
434 jdi->dsi = dsi;
436 ret = jdi_panel_add(jdi);
442 jdi_panel_del(jdi);
451 struct jdi_panel *jdi = mipi_dsi_get_drvdata(dsi);
459 jdi_panel_del(jdi);
464 .name = "panel-jdi-lt070me05000",