[PATCH 4/5] drm/bridge: ti-tfp410: Add support for the powerdown GPIO
Jyri Sarha
jsarha at ti.com
Tue Dec 11 13:01:52 UTC 2018
On 06/12/2018 22:26, Laurent Pinchart wrote:
> The TFP410 has a powerdown pin that can be connected to a GPIO to
> control power saving. The DT bindings define a corresponding property,
> but the driver doesn't implement support for it. Fix that.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
I find the naming of the the gpio bit backwards, but I guess it si fine
since it is also the name of the pin.
Reviewed-by: Jyri Sarha <jsarha at ti.com>
> drivers/gpu/drm/bridge/ti-tfp410.c | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/drivers/gpu/drm/bridge/ti-tfp410.c b/drivers/gpu/drm/bridge/ti-tfp410.c
> index e4280f5af9f5..d25d23cfe3f5 100644
> --- a/drivers/gpu/drm/bridge/ti-tfp410.c
> +++ b/drivers/gpu/drm/bridge/ti-tfp410.c
> @@ -32,6 +32,7 @@ struct tfp410 {
> struct i2c_adapter *ddc;
> struct gpio_desc *hpd;
> struct delayed_work hpd_work;
> + struct gpio_desc *powerdown;
>
> struct device *dev;
> };
> @@ -139,8 +140,24 @@ static int tfp410_attach(struct drm_bridge *bridge)
> return 0;
> }
>
> +static void tfp410_enable(struct drm_bridge *bridge)
> +{
> + struct tfp410 *dvi = drm_bridge_to_tfp410(bridge);
> +
> + gpiod_set_value_cansleep(dvi->powerdown, 0);
> +}
> +
> +static void tfp410_disable(struct drm_bridge *bridge)
> +{
> + struct tfp410 *dvi = drm_bridge_to_tfp410(bridge);
> +
> + gpiod_set_value_cansleep(dvi->powerdown, 1);
> +}
> +
> static const struct drm_bridge_funcs tfp410_bridge_funcs = {
> .attach = tfp410_attach,
> + .enable = tfp410_enable,
> + .disable = tfp410_disable,
> };
>
> static void tfp410_hpd_work_func(struct work_struct *work)
> @@ -229,6 +246,13 @@ static int tfp410_init(struct device *dev)
> if (ret)
> goto fail;
>
> + dvi->powerdown = devm_gpiod_get_optional(dev, "powerdown",
> + GPIOD_OUT_HIGH);
> + if (IS_ERR(dvi->powerdown)) {
> + dev_err(dev, "failed to parse powerdown gpio\n");
> + return PTR_ERR(dvi->powerdown);
> + }
> +
> if (dvi->hpd) {
> INIT_DELAYED_WORK(&dvi->hpd_work, tfp410_hpd_work_func);
>
>
--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
More information about the dri-devel
mailing list