From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: linux-fbdev@vger.kernel.org
Subject: Re: [PATCH 5/5] fbdev: omap2: panel-dpi: allow specification of a vcc regulator
Date: Wed, 16 Dec 2015 17:38:57 +0000 [thread overview]
Message-ID: <5671A1B1.3070504@ti.com> (raw)
In-Reply-To: <1449753107-11410-5-git-send-email-uwe@kleine-koenig.org>
[-- Attachment #1: Type: text/plain, Size: 3183 bytes --]
On 10/12/15 15:11, Uwe Kleine-König wrote:
> From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
>
> To allow supporting displays that need some logic to enable power to the
> display add support for a vcc-supply property to drive a regulator.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
> Documentation/devicetree/bindings/video/panel-dpi.txt | 1 +
> drivers/video/fbdev/omap2/displays-new/panel-dpi.c | 13 +++++++++++++
> 2 files changed, 14 insertions(+)
Same comments here about the bindings.
> diff --git a/Documentation/devicetree/bindings/video/panel-dpi.txt b/Documentation/devicetree/bindings/video/panel-dpi.txt
> index 1a1d8f6f884f..eaa39d1b1279 100644
> --- a/Documentation/devicetree/bindings/video/panel-dpi.txt
> +++ b/Documentation/devicetree/bindings/video/panel-dpi.txt
> @@ -8,6 +8,7 @@ Optional properties:
> - label: a symbolic name for the panel
> - enable-gpios: panel enable gpio
> - reset-gpios: GPIO to control the RESET pin
> +- vcc-supply: phandle of regulator that will be used to enable power to the display
>
> Required nodes:
> - "panel-timing" containing video timings
> diff --git a/drivers/video/fbdev/omap2/displays-new/panel-dpi.c b/drivers/video/fbdev/omap2/displays-new/panel-dpi.c
> index 7e2f9e0813dc..65c6d9e6862b 100644
> --- a/drivers/video/fbdev/omap2/displays-new/panel-dpi.c
> +++ b/drivers/video/fbdev/omap2/displays-new/panel-dpi.c
> @@ -15,6 +15,7 @@
> #include <linux/slab.h>
> #include <linux/of.h>
> #include <linux/of_gpio.h>
> +#include <linux/regulator/consumer.h>
>
> #include <video/omapdss.h>
> #include <video/omap-panel-data.h>
> @@ -33,6 +34,7 @@ struct panel_drv_data {
>
> struct gpio_desc *enable_gpio;
> struct gpio_desc *reset_gpio;
> + struct regulator *vcc_supply;
> };
>
> #define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
> @@ -84,6 +86,12 @@ static int panel_dpi_enable(struct omap_dss_device *dssdev)
> if (r)
> return r;
>
> + r = regulator_enable(ddata->vcc_supply);
> + if (r) {
> + in->ops.dpi->disable(in);
> + return r;
> + }
> +
> gpiod_set_value_cansleep(ddata->reset_gpio, 0);
> gpiod_set_value_cansleep(ddata->enable_gpio, 1);
>
> @@ -107,6 +115,7 @@ static void panel_dpi_disable(struct omap_dss_device *dssdev)
> gpio_set_value_cansleep(ddata->backlight_gpio, 0);
>
> gpiod_set_value_cansleep(ddata->enable_gpio, 0);
> + regulator_disable(ddata->vcc_supply);
>
> in->ops.dpi->disable(in);
>
> @@ -218,6 +227,10 @@ static int panel_dpi_probe_of(struct platform_device *pdev)
> if (IS_ERR(ddata->reset_gpio))
> return PTR_ERR(ddata->reset_gpio);
>
> + ddata->vcc_supply = devm_regulator_get(&pdev->dev, "vcc");
> + if (IS_ERR(ddata->vcc_supply))
> + return PTR_ERR(ddata->vcc_supply);
> +
> ddata->backlight_gpio = -ENOENT;
>
> r = of_get_display_timing(node, "panel-timing", &timing);
Some panels might need to sleep before/after the regulator, but the same
goes for enable gpio. And we don't have a sane way to handle that at the
moment, so I think this is fine.
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2015-12-16 17:38 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-10 13:11 [PATCH 5/5] fbdev: omap2: panel-dpi: allow specification of a vcc regulator Uwe Kleine-König
2015-12-16 17:38 ` Tomi Valkeinen [this message]
2015-12-19 20:41 ` Adam Ford
2015-12-23 8:32 ` Tomi Valkeinen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5671A1B1.3070504@ti.com \
--to=tomi.valkeinen@ti.com \
--cc=linux-fbdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.