[PATCH 2/2] drm/panel: seiko-43wvf1g: Add the 'enable-gpios' property
neil.armstrong at linaro.org
neil.armstrong at linaro.org
Wed Mar 15 09:09:51 UTC 2023
On 14/03/2023 12:17, Fabio Estevam wrote:
> Sometimes a GPIO is needed to turn on/off the display.
>
> Add support for this usecase by introducing the optional 'enable-gpios'
> property.
>
> Tested on a imx53qsb board.
>
> Signed-off-by: Fabio Estevam <festevam at denx.de>
> ---
> drivers/gpu/drm/panel/panel-seiko-43wvf1g.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c b/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c
> index 76160e5d43bd..c250ca36a5b3 100644
> --- a/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c
> +++ b/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c
> @@ -7,6 +7,7 @@
> */
>
> #include <linux/delay.h>
> +#include <linux/gpio/consumer.h>
> #include <linux/media-bus-format.h>
> #include <linux/module.h>
> #include <linux/of.h>
> @@ -48,6 +49,7 @@ struct seiko_panel {
> const struct seiko_panel_desc *desc;
> struct regulator *dvdd;
> struct regulator *avdd;
> + struct gpio_desc *enable_gpio;
> };
>
> static inline struct seiko_panel *to_seiko_panel(struct drm_panel *panel)
> @@ -139,6 +141,8 @@ static int seiko_panel_unprepare(struct drm_panel *panel)
> if (!p->prepared)
> return 0;
>
> + gpiod_set_value_cansleep(p->enable_gpio, 0);
> +
> regulator_disable(p->avdd);
>
> /* Add a 100ms delay as per the panel datasheet */
> @@ -174,6 +178,8 @@ static int seiko_panel_prepare(struct drm_panel *panel)
> goto disable_dvdd;
> }
>
> + gpiod_set_value_cansleep(p->enable_gpio, 1);
> +
> p->prepared = true;
>
> return 0;
> @@ -252,6 +258,12 @@ static int seiko_panel_probe(struct device *dev,
> if (IS_ERR(panel->avdd))
> return PTR_ERR(panel->avdd);
>
> + panel->enable_gpio = devm_gpiod_get_optional(dev, "enable",
> + GPIOD_OUT_LOW);
> + if (IS_ERR(panel->enable_gpio))
> + return dev_err_probe(dev, PTR_ERR(panel->enable_gpio),
> + "failed to request GPIO\n");
> +
> drm_panel_init(&panel->base, dev, &seiko_panel_funcs,
> DRM_MODE_CONNECTOR_DPI);
>
Reviewed-by: Neil Armstrong <neil.armstrong at linaro.org>
More information about the dri-devel
mailing list