Re: [PATCH 2/2] drm/panel: seiko-43wvf1g: Add the 'enable-gpios' property

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxx>
---
  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@xxxxxxxxxx>



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux