On Thu, 22 Aug 2019 03:36:32 +0300 Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> wrote: > Hi Boris, > > Thank you for the patch. > > On Thu, Aug 08, 2019 at 05:11:49PM +0200, Boris Brezillon wrote: > > Add a new entry for the Toshiba LTA089AC29000 panel. > > > > Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx> > > --- > > .../display/panel/toshiba,lt089ac29000.txt | 5 ++- > > drivers/gpu/drm/panel/panel-simple.c | 36 +++++++++++++++++++ > > 2 files changed, 40 insertions(+), 1 deletion(-) > > > > diff --git a/Documentation/devicetree/bindings/display/panel/toshiba,lt089ac29000.txt b/Documentation/devicetree/bindings/display/panel/toshiba,lt089ac29000.txt > > index 89826116628c..26ebfa098966 100644 > > --- a/Documentation/devicetree/bindings/display/panel/toshiba,lt089ac29000.txt > > +++ b/Documentation/devicetree/bindings/display/panel/toshiba,lt089ac29000.txt > > @@ -1,7 +1,10 @@ > > Toshiba 8.9" WXGA (1280x768) TFT LCD panel > > > > Required properties: > > -- compatible: should be "toshiba,lt089ac29000" > > +- compatible: should be one of the following > > + "toshiba,lt089ac29000" > > + "toshiba,lta089ac29000" > > + > > - power-supply: as specified in the base binding > > > > This binding is compatible with the simple-panel binding, which is specified > > While at it, any change to convert this binding to .yaml ? For panels > it's fairly easy. I'll add a patch doing that. > > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c > > index bff7578f84dd..4c1deed44ce2 100644 > > --- a/drivers/gpu/drm/panel/panel-simple.c > > +++ b/drivers/gpu/drm/panel/panel-simple.c > > @@ -2857,6 +2857,39 @@ static const struct panel_desc toshiba_lt089ac29000 = { > > .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, > > }; > > > > +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. > > I would also leave the GPIO case for later, but it would be nice to already > implement reading the data-mapping property, in order to validate the DT > (you should add the data-mapping property to the bindings by the way). I'll do that. > Bonus points if it can be done in a way that is also usable by other > panels. Sure, I'll make that code generic. > > > + */ > > + .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, > > @@ -3305,6 +3338,9 @@ static const struct of_device_id platform_of_match[] = { > > }, { > > .compatible = "toshiba,lt089ac29000", > > .data = &toshiba_lt089ac29000, > > + }, { > > + .compatible = "toshiba,lta089ac29000", > > + .data = &toshiba_lta089ac29000, > > }, { > > .compatible = "tpk,f07a-0102", > > .data = &tpk_f07a_0102, > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel