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@xxxxxxxxxxxxx> > > > --- > > > 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