[PATCH v3 19/21] drm/panel: simple: Add support for Toshiba LTA089AC29000 panel

Laurent Pinchart laurent.pinchart at ideasonboard.com
Tue Dec 3 13:28:24 UTC 2019


Hi Boris,

On Tue, Dec 03, 2019 at 01:42:22PM +0100, Boris Brezillon wrote:
> On Mon, 2 Dec 2019 19:17:24 +0200 Laurent Pinchart wrote:
> > On Wed, Oct 23, 2019 at 05:45:10PM +0200, Boris Brezillon wrote:
> > > Add a new entry for the Toshiba LTA089AC29000 panel.
> > > 
> > > Signed-off-by: Boris Brezillon <boris.brezillon at collabora.com>
> > > ---
> > > Changes in v3:
> > > * None
> > > ---
> > >  drivers/gpu/drm/panel/panel-simple.c | 36 ++++++++++++++++++++++++++++
> > >  1 file changed, 36 insertions(+)
> > > 
> > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> > > index 5d487686d25c..27c92b44bd95 100644
> > > --- a/drivers/gpu/drm/panel/panel-simple.c
> > > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > > @@ -2937,6 +2937,39 @@ static const struct panel_desc toshiba_lt089ac29000 = {
> > >  	.connector_type = DRM_MODE_CONNECTOR_LVDS,
> > >  };
> > >  
> > > +static const struct drm_display_mode toshiba_lta089ac29000_mode = {
> > > +	.clock = 79500,
> > > +	.hdisplay = 1280,
> > > +	.hsync_start = 1280 + 192,
> > > +	.hsync_end = 1280 + 192 + 128,
> > > +	.htotal = 1280 + 192 + 128 + 64,
> > > +	.vdisplay = 768,
> > > +	.vsync_start = 768 + 20,
> > > +	.vsync_end = 768 + 20 + 7,
> > > +	.vtotal = 768 + 20 + 7 + 3,
> > > +	.vrefresh = 60,
> > > +};
> > > +
> > > +static const struct panel_desc toshiba_lta089ac29000 = {
> > > +	.modes = &toshiba_lta089ac29000_mode,
> > > +	.num_modes = 1,
> > > +	.size = {
> > > +		.width = 194,
> > > +		.height = 116,
> > > +	},
> > > +	/*
> > > +	 * FIXME:
> > > +	 * The panel supports 2 bus formats: jeida-24 and jeida-18. The
> > > +	 * mode is selected through the 8b6b_SEL pin. If anyone ever needs
> > > +	 * support for jeida-18 we should probably parse the 'data-mapping'
> > > +	 * property.
> > > +	 * In the unlikely event where 8b6b_SEL is connected to a GPIO, we'd
> > > +	 * need a new infra to allow bus format negotiation at the panel level.
> > > +	 */
> > > +	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA,
> > > +	.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
> > > +};
> > > +
> > >  static const struct drm_display_mode tpk_f07a_0102_mode = {
> > >  	.clock = 33260,
> > >  	.hdisplay = 800,
> > > @@ -3392,6 +3425,9 @@ static const struct of_device_id platform_of_match[] = {
> > >  	}, {
> > >  		.compatible = "toshiba,lt089ac29000",
> > >  		.data = &toshiba_lt089ac29000,
> > > +	}, {
> > > +		.compatible = "toshiba,lta089ac29000",  
> > 
> > Is this really different than "toshiba,lt089ac29000" ? Both have the
> > exact same timing, the only difference is .bus_format, and according to
> > https://www.avnet-integrated.eu/fileadmin/user_upload/Files/Displays/Colour_TFT/LT089AC29000.pdf
> > the "toshiba,lt089ac29000" is an LVDS panel.
> 
> I think you can select the LVDS format on the LTA variant which you
> can't do on the LT089AC29000. But I agree, LT089AC29000 is definitely
> not an DPI/RGB panel. At the same time, changing the definition is
> likely to break existing users :-(.

Or the information could just be unused :-)

> > > +		.data = &toshiba_lta089ac29000,
> > >  	}, {
> > >  		.compatible = "tpk,f07a-0102",
> > >  		.data = &tpk_f07a_0102,  

-- 
Regards,

Laurent Pinchart


More information about the dri-devel mailing list