Message ID | 20200819101206.633253-3-lkundrak@v3.sk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/panel: Add support for Innolux LS075AT011 | expand |
Hi Lubomir. Sorry for the late feedback! On Wed, Aug 19, 2020 at 12:12:06PM +0200, Lubomir Rintel wrote: > This adds support for the Innolux LS075AT011 7.5" 1200x900 panel. There's > no public data sheet for the panel -- the values have been taken from Open > Firmware and the documentation for the display controller that drives > the panel and tested on the OLPC laptop. > > Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> > --- > drivers/gpu/drm/panel/panel-simple.c | 27 +++++++++++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c > index cb6550d37e858..dfc69457ed2d4 100644 > --- a/drivers/gpu/drm/panel/panel-simple.c > +++ b/drivers/gpu/drm/panel/panel-simple.c > @@ -2121,6 +2121,30 @@ static const struct panel_desc innolux_g121x1_l03 = { > }, > }; > > +static const struct display_timing innolux_ls075at011_timing = { > + .pixelclock = { 56000000, 57000000, 58000000 }, > + .hactive = { 1200, 1200, 1200 }, > + .hfront_porch = { 26, 26, 26 }, > + .hback_porch = { 24, 24, 24 }, > + .hsync_len = { 6, 6, 6 }, > + .vactive = { 900, 900, 900 }, > + .vfront_porch = { 4, 4, 4 }, > + .vback_porch = { 5, 5, 5 }, > + .vsync_len = { 3, 3, 3 }, > + .flags = DISPLAY_FLAGS_VSYNC_LOW | DISPLAY_FLAGS_HSYNC_LOW, > +}; > + > +static const struct panel_desc innolux_ls075at011 = { > + .timings = &innolux_ls075at011_timing, > + .num_timings = 1, > + .bpc = 8, > + .size = { > + .width = 152, > + .height = 115, > + }, > + .connector_type = DRM_MODE_CONNECTOR_LVDS, > +}; For LVDS panels following info is mandatory: .bus_flags .bus_format You have .bpc - so this part is OK. See the checks in panel_simple_probe() - thay are not allowed to trigger for any new panels. Sam
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index cb6550d37e858..dfc69457ed2d4 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -2121,6 +2121,30 @@ static const struct panel_desc innolux_g121x1_l03 = { }, }; +static const struct display_timing innolux_ls075at011_timing = { + .pixelclock = { 56000000, 57000000, 58000000 }, + .hactive = { 1200, 1200, 1200 }, + .hfront_porch = { 26, 26, 26 }, + .hback_porch = { 24, 24, 24 }, + .hsync_len = { 6, 6, 6 }, + .vactive = { 900, 900, 900 }, + .vfront_porch = { 4, 4, 4 }, + .vback_porch = { 5, 5, 5 }, + .vsync_len = { 3, 3, 3 }, + .flags = DISPLAY_FLAGS_VSYNC_LOW | DISPLAY_FLAGS_HSYNC_LOW, +}; + +static const struct panel_desc innolux_ls075at011 = { + .timings = &innolux_ls075at011_timing, + .num_timings = 1, + .bpc = 8, + .size = { + .width = 152, + .height = 115, + }, + .connector_type = DRM_MODE_CONNECTOR_LVDS, +}; + /* * Datasheet specifies that at 60 Hz refresh rate: * - total horizontal time: { 1506, 1592, 1716 } @@ -3907,6 +3931,9 @@ static const struct of_device_id platform_of_match[] = { }, { .compatible = "innolux,g121x1-l03", .data = &innolux_g121x1_l03, + }, { + .compatible = "innolux,ls075at011", + .data = &innolux_ls075at011, }, { .compatible = "innolux,n116bge", .data = &innolux_n116bge,
This adds support for the Innolux LS075AT011 7.5" 1200x900 panel. There's no public data sheet for the panel -- the values have been taken from Open Firmware and the documentation for the display controller that drives the panel and tested on the OLPC laptop. Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> --- drivers/gpu/drm/panel/panel-simple.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)