Message ID | 20200220083508.792071-6-anarsoul@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add LCD support for Pine64 Pinebook 1080p | expand |
Hi Vasily, Thank you for the patch. On Thu, Feb 20, 2020 at 12:35:07AM -0800, Vasily Khoruzhick wrote: > This commit adds support for the NewEast Optoelectronics CO., LTD > WJFH116008A 11.6" 1920x1080 TFT LCD panel. > > Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> > --- > drivers/gpu/drm/panel/panel-simple.c | 47 ++++++++++++++++++++++++++++ > 1 file changed, 47 insertions(+) > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c > index e14c14ac62b5..aa04afaf3d26 100644 > --- a/drivers/gpu/drm/panel/panel-simple.c > +++ b/drivers/gpu/drm/panel/panel-simple.c > @@ -2224,6 +2224,50 @@ static const struct panel_desc netron_dy_e231732 = { > .bus_format = MEDIA_BUS_FMT_RGB666_1X18, > }; > > +static const struct drm_display_mode neweast_wjfh116008a_modes[] = { > +{ > + .clock = 138500, > + .hdisplay = 1920, > + .hsync_start = 1920 + 48, > + .hsync_end = 1920 + 48 + 32, > + .htotal = 1920 + 48 + 32 + 80, > + .vdisplay = 1080, > + .vsync_start = 1080 + 3, > + .vsync_end = 1080 + 3 + 5, > + .vtotal = 1080 + 3 + 5 + 23, > + .vrefresh = 60, > + .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, > +}, { > + .clock = 110920, > + .hdisplay = 1920, > + .hsync_start = 1920 + 48, > + .hsync_end = 1920 + 48 + 32, > + .htotal = 1920 + 48 + 32 + 80, > + .vdisplay = 1080, > + .vsync_start = 1080 + 3, > + .vsync_end = 1080 + 3 + 5, > + .vtotal = 1080 + 3 + 5 + 23, > + .vrefresh = 48, > + .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, > +} }; This should be indented one step to the right, see boe_nv101wxmn51_modes for instance. The only different between the two modes is the clock, leading to different refresh rates. Are only those two clock frequencies supported, or does the panel support anything in-between as well ? In the latter case, would it make sense to use display_timing instead of drm_display_mode ? See dlc_dlc0700yzg_1_timing for an example. > + > +static const struct panel_desc neweast_wjfh116008a = { > + .modes = neweast_wjfh116008a_modes, > + .num_modes = 2, > + .bpc = 6, > + .size = { > + .width = 260, > + .height = 150, > + }, > + .delay = { > + .prepare = 110, > + .enable = 20, > + .unprepare = 500, > + }, > + .bus_format = MEDIA_BUS_FMT_RGB666_1X18, > + .connector_type = DRM_MODE_CONNECTOR_eDP, > +}; > + > static const struct drm_display_mode newhaven_nhd_43_480272ef_atxl_mode = { > .clock = 9000, > .hdisplay = 480, > @@ -3399,6 +3443,9 @@ static const struct of_device_id platform_of_match[] = { > }, { > .compatible = "netron-dy,e231732", > .data = &netron_dy_e231732, > + }, { > + .compatible = "neweast,wjfh116008a", > + .data = &neweast_wjfh116008a, > }, { > .compatible = "newhaven,nhd-4.3-480272ef-atxl", > .data = &newhaven_nhd_43_480272ef_atxl,
On Thu, Feb 20, 2020 at 5:59 AM Laurent Pinchart <laurent.pinchart@ideasonboard.com> wrote: > > Hi Vasily, Hi Laurent, > > Thank you for the patch. > > On Thu, Feb 20, 2020 at 12:35:07AM -0800, Vasily Khoruzhick wrote: > > This commit adds support for the NewEast Optoelectronics CO., LTD > > WJFH116008A 11.6" 1920x1080 TFT LCD panel. > > > > Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> > > --- > > drivers/gpu/drm/panel/panel-simple.c | 47 ++++++++++++++++++++++++++++ > > 1 file changed, 47 insertions(+) > > > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c > > index e14c14ac62b5..aa04afaf3d26 100644 > > --- a/drivers/gpu/drm/panel/panel-simple.c > > +++ b/drivers/gpu/drm/panel/panel-simple.c > > @@ -2224,6 +2224,50 @@ static const struct panel_desc netron_dy_e231732 = { > > .bus_format = MEDIA_BUS_FMT_RGB666_1X18, > > }; > > > > +static const struct drm_display_mode neweast_wjfh116008a_modes[] = { > > +{ > > + .clock = 138500, > > + .hdisplay = 1920, > > + .hsync_start = 1920 + 48, > > + .hsync_end = 1920 + 48 + 32, > > + .htotal = 1920 + 48 + 32 + 80, > > + .vdisplay = 1080, > > + .vsync_start = 1080 + 3, > > + .vsync_end = 1080 + 3 + 5, > > + .vtotal = 1080 + 3 + 5 + 23, > > + .vrefresh = 60, > > + .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, > > +}, { > > + .clock = 110920, > > + .hdisplay = 1920, > > + .hsync_start = 1920 + 48, > > + .hsync_end = 1920 + 48 + 32, > > + .htotal = 1920 + 48 + 32 + 80, > > + .vdisplay = 1080, > > + .vsync_start = 1080 + 3, > > + .vsync_end = 1080 + 3 + 5, > > + .vtotal = 1080 + 3 + 5 + 23, > > + .vrefresh = 48, > > + .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, > > +} }; > > This should be indented one step to the right, see boe_nv101wxmn51_modes > for instance. Will do. > The only different between the two modes is the clock, leading to > different refresh rates. Are only those two clock frequencies supported, > or does the panel support anything in-between as well ? In the latter > case, would it make sense to use display_timing instead of > drm_display_mode ? See dlc_dlc0700yzg_1_timing for an example. These are coming from EDID. The datasheet [1] says typical frequency is 138.5MHz and min/max are not specified, so I'm not sure whether it supports anything in between. I did check that both modes work though. [1] http://files.pine64.org/doc/datasheet/pinebook/11.6inches-1080P-IPS-LCD-Panel-spec-WJFH116008A.pdf > > + > > +static const struct panel_desc neweast_wjfh116008a = { > > + .modes = neweast_wjfh116008a_modes, > > + .num_modes = 2, > > + .bpc = 6, > > + .size = { > > + .width = 260, > > + .height = 150, > > + }, > > + .delay = { > > + .prepare = 110, > > + .enable = 20, > > + .unprepare = 500, > > + }, > > + .bus_format = MEDIA_BUS_FMT_RGB666_1X18, > > + .connector_type = DRM_MODE_CONNECTOR_eDP, > > +}; > > + > > static const struct drm_display_mode newhaven_nhd_43_480272ef_atxl_mode = { > > .clock = 9000, > > .hdisplay = 480, > > @@ -3399,6 +3443,9 @@ static const struct of_device_id platform_of_match[] = { > > }, { > > .compatible = "netron-dy,e231732", > > .data = &netron_dy_e231732, > > + }, { > > + .compatible = "neweast,wjfh116008a", > > + .data = &neweast_wjfh116008a, > > }, { > > .compatible = "newhaven,nhd-4.3-480272ef-atxl", > > .data = &newhaven_nhd_43_480272ef_atxl, > > -- > Regards, > > Laurent Pinchart
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index e14c14ac62b5..aa04afaf3d26 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -2224,6 +2224,50 @@ static const struct panel_desc netron_dy_e231732 = { .bus_format = MEDIA_BUS_FMT_RGB666_1X18, }; +static const struct drm_display_mode neweast_wjfh116008a_modes[] = { +{ + .clock = 138500, + .hdisplay = 1920, + .hsync_start = 1920 + 48, + .hsync_end = 1920 + 48 + 32, + .htotal = 1920 + 48 + 32 + 80, + .vdisplay = 1080, + .vsync_start = 1080 + 3, + .vsync_end = 1080 + 3 + 5, + .vtotal = 1080 + 3 + 5 + 23, + .vrefresh = 60, + .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, +}, { + .clock = 110920, + .hdisplay = 1920, + .hsync_start = 1920 + 48, + .hsync_end = 1920 + 48 + 32, + .htotal = 1920 + 48 + 32 + 80, + .vdisplay = 1080, + .vsync_start = 1080 + 3, + .vsync_end = 1080 + 3 + 5, + .vtotal = 1080 + 3 + 5 + 23, + .vrefresh = 48, + .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, +} }; + +static const struct panel_desc neweast_wjfh116008a = { + .modes = neweast_wjfh116008a_modes, + .num_modes = 2, + .bpc = 6, + .size = { + .width = 260, + .height = 150, + }, + .delay = { + .prepare = 110, + .enable = 20, + .unprepare = 500, + }, + .bus_format = MEDIA_BUS_FMT_RGB666_1X18, + .connector_type = DRM_MODE_CONNECTOR_eDP, +}; + static const struct drm_display_mode newhaven_nhd_43_480272ef_atxl_mode = { .clock = 9000, .hdisplay = 480, @@ -3399,6 +3443,9 @@ static const struct of_device_id platform_of_match[] = { }, { .compatible = "netron-dy,e231732", .data = &netron_dy_e231732, + }, { + .compatible = "neweast,wjfh116008a", + .data = &neweast_wjfh116008a, }, { .compatible = "newhaven,nhd-4.3-480272ef-atxl", .data = &newhaven_nhd_43_480272ef_atxl,
This commit adds support for the NewEast Optoelectronics CO., LTD WJFH116008A 11.6" 1920x1080 TFT LCD panel. Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> --- drivers/gpu/drm/panel/panel-simple.c | 47 ++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+)