Lines Matching +full:avee +full:- +full:supply

1 // SPDX-License-Identifier: GPL-2.0-or-later
59 err = mipi_dsi_dcs_set_display_off(innolux->link);
61 dev_err(panel->dev, "failed to set display off: %d\n", err);
63 err = mipi_dsi_dcs_enter_sleep_mode(innolux->link);
65 dev_err(panel->dev, "failed to enter sleep mode: %d\n", err);
69 if (innolux->desc->sleep_mode_delay)
70 msleep(innolux->desc->sleep_mode_delay);
72 gpiod_set_value_cansleep(innolux->enable_gpio, 0);
74 if (innolux->desc->power_down_delay)
75 msleep(innolux->desc->power_down_delay);
77 err = regulator_bulk_disable(innolux->desc->num_supplies,
78 innolux->supplies);
90 gpiod_set_value_cansleep(innolux->enable_gpio, 0);
92 err = regulator_bulk_enable(innolux->desc->num_supplies,
93 innolux->supplies);
100 gpiod_set_value_cansleep(innolux->enable_gpio, 1);
105 if (innolux->desc->init) {
106 err = innolux->desc->init(innolux);
111 err = mipi_dsi_dcs_exit_sleep_mode(innolux->link);
113 dev_err(panel->dev, "failed to exit sleep mode: %d\n", err);
117 /* T6: 120ms - 1000ms*/
120 err = mipi_dsi_dcs_set_display_on(innolux->link);
122 dev_err(panel->dev, "failed to set display on: %d\n", err);
132 gpiod_set_value_cansleep(innolux->enable_gpio, 0);
133 regulator_bulk_disable(innolux->desc->num_supplies, innolux->supplies);
167 .power_down_delay = 80, /* T8: 80ms - 1000ms */
172 "avee",
211 * https://chromium-review.googlesource.com/c/chromiumos/third_party/coreboot/+/892065/
216 struct mipi_dsi_multi_context ctx = { .dsi = innolux->link };
340 const struct drm_display_mode *m = innolux->desc->mode;
343 mode = drm_mode_duplicate(connector->dev, m);
345 dev_err(panel->dev, "failed to add mode %ux%u@%u\n",
346 m->hdisplay, m->vdisplay, drm_mode_vrefresh(m));
347 return -ENOMEM;
354 connector->display_info.width_mm = innolux->desc->size.width;
355 connector->display_info.height_mm = innolux->desc->size.height;
356 connector->display_info.bpc = innolux->desc->bpc;
382 struct device *dev = &dsi->dev;
391 innolux->desc = desc;
393 innolux->supplies = devm_kcalloc(dev, desc->num_supplies,
394 sizeof(*innolux->supplies),
396 if (!innolux->supplies)
397 return -ENOMEM;
399 for (i = 0; i < desc->num_supplies; i++)
400 innolux->supplies[i].supply = desc->supply_names[i];
402 err = devm_regulator_bulk_get(dev, desc->num_supplies,
403 innolux->supplies);
407 innolux->enable_gpio = devm_gpiod_get_optional(dev, "enable",
409 if (IS_ERR(innolux->enable_gpio)) {
410 err = PTR_ERR(innolux->enable_gpio);
412 innolux->enable_gpio = NULL;
415 err = drm_panel_of_backlight(&innolux->base);
419 drm_panel_add(&innolux->base);
422 innolux->link = dsi;
429 drm_panel_remove(&innolux->base);
438 desc = of_device_get_match_data(&dsi->dev);
439 dsi->mode_flags = desc->flags;
440 dsi->format = desc->format;
441 dsi->lanes = desc->lanes;
465 dev_err(&dsi->dev, "failed to detach from DSI host: %d\n", err);
472 .name = "panel-innolux-p079zca",
480 MODULE_AUTHOR("Chris Zhong <zyw@rock-chips.com>");
481 MODULE_AUTHOR("Lin Huang <hl@rock-chips.com>");