Lines Matching +full:iovcc +full:- +full:supply
1 // SPDX-License-Identifier: GPL-2.0+
64 #define DSI_CMD2_BK0_PORCTRL_B0(m) ((m)->vtotal - (m)->vsync_end)
65 #define DSI_CMD2_BK0_PORCTRL_B1(m) ((m)->vsync_start - (m)->vdisplay)
81 #define DSI_PWCTLR2_AVCL 0x0 /* AVCL -4.4v */
117 return mipi_dsi_dcs_write_buffer(st7701->dsi, seq, len); in st7701_dsi_write()
128 const struct drm_display_mode *mode = st7701->desc->mode; in st7701_init_sequence()
137 msleep(st7701->sleep_delay); in st7701_init_sequence()
202 gpiod_set_value(st7701->reset, 0); in st7701_prepare()
204 ret = regulator_bulk_enable(st7701->desc->num_supplies, in st7701_prepare()
205 st7701->supplies); in st7701_prepare()
210 gpiod_set_value(st7701->reset, 1); in st7701_prepare()
242 msleep(st7701->sleep_delay); in st7701_unprepare()
244 gpiod_set_value(st7701->reset, 0); in st7701_unprepare()
255 msleep(st7701->sleep_delay); in st7701_unprepare()
257 regulator_bulk_disable(st7701->desc->num_supplies, st7701->supplies); in st7701_unprepare()
266 const struct drm_display_mode *desc_mode = st7701->desc->mode; in st7701_get_modes()
269 mode = drm_mode_duplicate(connector->dev, desc_mode); in st7701_get_modes()
271 dev_err(&st7701->dsi->dev, "failed to add mode %ux%u@%u\n", in st7701_get_modes()
272 desc_mode->hdisplay, desc_mode->vdisplay, in st7701_get_modes()
274 return -ENOMEM; in st7701_get_modes()
280 connector->display_info.width_mm = desc_mode->width_mm; in st7701_get_modes()
281 connector->display_info.height_mm = desc_mode->height_mm; in st7701_get_modes()
315 "IOVCC",
334 st7701 = devm_kzalloc(&dsi->dev, sizeof(*st7701), GFP_KERNEL); in st7701_dsi_probe()
336 return -ENOMEM; in st7701_dsi_probe()
338 desc = of_device_get_match_data(&dsi->dev); in st7701_dsi_probe()
339 dsi->mode_flags = desc->flags; in st7701_dsi_probe()
340 dsi->format = desc->format; in st7701_dsi_probe()
341 dsi->lanes = desc->lanes; in st7701_dsi_probe()
343 st7701->supplies = devm_kcalloc(&dsi->dev, desc->num_supplies, in st7701_dsi_probe()
344 sizeof(*st7701->supplies), in st7701_dsi_probe()
346 if (!st7701->supplies) in st7701_dsi_probe()
347 return -ENOMEM; in st7701_dsi_probe()
349 for (i = 0; i < desc->num_supplies; i++) in st7701_dsi_probe()
350 st7701->supplies[i].supply = desc->supply_names[i]; in st7701_dsi_probe()
352 ret = devm_regulator_bulk_get(&dsi->dev, desc->num_supplies, in st7701_dsi_probe()
353 st7701->supplies); in st7701_dsi_probe()
357 st7701->reset = devm_gpiod_get(&dsi->dev, "reset", GPIOD_OUT_LOW); in st7701_dsi_probe()
358 if (IS_ERR(st7701->reset)) { in st7701_dsi_probe()
359 dev_err(&dsi->dev, "Couldn't get our reset GPIO\n"); in st7701_dsi_probe()
360 return PTR_ERR(st7701->reset); in st7701_dsi_probe()
363 drm_panel_init(&st7701->panel, &dsi->dev, &st7701_funcs, in st7701_dsi_probe()
375 st7701->sleep_delay = 120 + desc->panel_sleep_delay; in st7701_dsi_probe()
377 ret = drm_panel_of_backlight(&st7701->panel); in st7701_dsi_probe()
381 drm_panel_add(&st7701->panel); in st7701_dsi_probe()
384 st7701->dsi = dsi; in st7701_dsi_probe()
385 st7701->desc = desc; in st7701_dsi_probe()
395 drm_panel_remove(&st7701->panel); in st7701_dsi_remove()