AW: (EXT) Re: [PATCH 1/3] drm/bridge: ti-sn65dsi83: Add vcc supply regulator support
Alexander Stein
Alexander.Stein at ew.tq-group.com
Tue Oct 12 06:35:25 UTC 2021
Hi Sam,
On Mon, 11 Oct 2021 22:29:30 +0200, Sam Ravnborg wrote:
> > VCC needs to be enabled before releasing the enable GPIO.
> >
> > Signed-off-by: Alexander Stein <alexander.stein at ew.tq-group.com>
> > ---
> > drivers/gpu/drm/bridge/ti-sn65dsi83.c | 15 ++++++++++++++-
> > 1 file changed, 14 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi83.c b/drivers/gpu/drm/bridge/ti-sn65dsi83.c
> > index a32f70bc68ea..5fab0fabcd15 100644
> > --- a/drivers/gpu/drm/bridge/ti-sn65dsi83.c
> > +++ b/drivers/gpu/drm/bridge/ti-sn65dsi83.c
> > @@ -33,6 +33,7 @@
> > #include <linux/of_device.h>
> > #include <linux/of_graph.h>
> > #include <linux/regmap.h>
> > +#include <linux/regulator/consumer.h>
> >
> > #include <drm/drm_atomic_helper.h>
> > #include <drm/drm_bridge.h>
> > @@ -143,6 +144,7 @@ struct sn65dsi83 {
> > struct mipi_dsi_device *dsi;
> > struct drm_bridge *panel_bridge;
> > struct gpio_desc *enable_gpio;
> > + struct regulator *vcc;
> > int dsi_lanes;
> > bool lvds_dual_link;
> > bool lvds_dual_link_even_odd_swap;
> > @@ -647,6 +649,12 @@ static int sn65dsi83_parse_dt(struct sn65dsi83 *ctx,
> enum sn65dsi83_model model)
> >
> > ctx->panel_bridge = panel_bridge;
> >
> > + ctx->vcc = devm_regulator_get(dev, "vcc");
> In the binding the vcc regulator is required, but devm_regulator_get()
> will create a dummy regulator if not found. Maybe this is on purpose and
> all is good.
Thanks for addressing this. I was slightly unsure myself, but IMHO this is
all good as this makes the driver backward compatible with older DT
which lack the regulator. If there was no vcc regulator necessary and the bridge
was working,then a dummy regulator is fine, as the DT fix would be adding a
always-on, regulator-fixed without any enable/disable possibility anyway.
Best regards,
Alexander
More information about the dri-devel
mailing list