[PATCH v2 2/4] drm/sun4i: tcon: Refactor the LVDS and panel probing
Chen-Yu Tsai
wens at csie.org
Mon Oct 5 14:28:58 UTC 2020
On Mon, Oct 5, 2020 at 10:19 PM Maxime Ripard <maxime at cerno.tech> wrote:
>
> Hi Chen-Yu,
>
> Sorry for the delay
>
> On Sat, Aug 29, 2020 at 02:43:53PM +0800, Chen-Yu Tsai wrote:
> > > +static int sun4i_tcon_register_panel(struct drm_device *drm,
> > > + struct sun4i_tcon *tcon)
> > > +{
> > > + struct device_node *companion;
> > > + struct device_node *remote;
> > > + struct device *dev = tcon->dev;
> > > + bool has_lvds_alt;
> > > + bool has_lvds_rst;
> > > + int ret;
> > > +
> > > + /*
> > > + * If we have an LVDS panel connected to the TCON, we should
> > > + * just probe the LVDS connector. Otherwise, let's just register
> > > + * an RGB panel.
> > > + */
> > > + remote = of_graph_get_remote_node(dev->of_node, 1, 0);
> > > + if (!tcon->quirks->supports_lvds ||
> > > + !of_device_is_compatible(remote, "panel-lvds"))
> > > + return sun4i_rgb_init(drm, tcon);
> >
> > Slightly related: IIRC there are a few LVDS panels supported in panel-simple
> > so they don't use the panel-lvds compatible. Any idea how to deal with those?
>
> I agree that this is an issue, I'm not entirely sure how to fix it. The
> proper fix would be to have multiple output ports, one for each output
> type, but given how our current binding looks like I'm not sure how we
> could retro-fit that without some horror-looking code.
>
> Maybe we can add a property on the endpoint?
I guess that works. :)
Since the LCD and LVDS outputs use the same pins, it's not like we really would
have multiple output ports.
ChenYu
More information about the dri-devel
mailing list