Messages in this thread |  | | Subject | Re: [PATCH v3 3/3] drm/panel-simple: add Gopher 2b LCD panel | From | Artjom Vejsel <> | Date | Mon, 26 Jul 2021 14:11:11 +0300 |
| |
Hello, Paul!
Thanks for your investigation.
But while this two panels are compatible with the timing set in the driver, their timing ranges are different ([1], [2]) and therefore should have different compatible strings.
[1]: https://wendangmao.net/doc/753b5635102de2bd960588e2-51.html
[2]: https://www.newhavendisplay.com/appnotes/datasheets/LCDs/ST7282.pdf
Artjom.
On 26/07/2021 12.02, Paul Cercueil wrote: > Hi Artjom, > > Le lun., juil. 26 2021 at 01:15:27 +0300, Artjom Vejsel > <akawolf0@gmail.com> a écrit : >> The Gopher 2b LCD panel is used in Gopher 2b handhelds. >> It's simple panel with NewVision NV3047 driver, but SPI lines are not >> connected. >> It has no specific name, since it's unique to that handhelds. >> lot name at AliExpress: 4.3 inch 40PIN TFT LCD Screen COG NV3047 >> Drive IC 480(RGB)*272 No Touch 24Bit RGB Interface > > From what I gathered the Gopher2's LCD panel is the exact same that is > inside the RS-07 handheld. According to the teardown (in [1]), the > RS-07 panel is a Amelin AML043056B0-40 (see [2]). > > Could you verify that? According to the photos, the product code is > written on the flexible connector. > > If that's the case, instead of using the > "qishenglong,gopher2b-lcd-panel" compatible string, could you use > "amelin,aml043056b0-40"? > > Cheers, > -Paul > > [1]: https://steward-fu.github.io/website/handheld/rs07/teardown.htm > [2]: http://www.amelin.com.cn/en/h-pd-355.html > >> >> Signed-off-by: Artjom Vejsel <akawolf0@gmail.com> >> --- >> drivers/gpu/drm/panel/panel-simple.c | 43 ++++++++++++++++++++++++++++ >> 1 file changed, 43 insertions(+) >> >> diff --git a/drivers/gpu/drm/panel/panel-simple.c >> b/drivers/gpu/drm/panel/panel-simple.c >> index 9b286bd4444f..6b69c0c70814 100644 >> --- a/drivers/gpu/drm/panel/panel-simple.c >> +++ b/drivers/gpu/drm/panel/panel-simple.c >> @@ -3563,6 +3563,46 @@ static const struct panel_desc qd43003c0_40 = { >> .bus_format = MEDIA_BUS_FMT_RGB888_1X24, >> }; >> >> +static const struct drm_display_mode >> qishenglong_gopher2b_lcd_panel_modes[] = { >> + { /* 60 Hz */ >> + .clock = 10800, >> + .hdisplay = 480, >> + .hsync_start = 480 + 77, >> + .hsync_end = 480 + 77 + 41, >> + .htotal = 480 + 77 + 41 + 2, >> + .vdisplay = 272, >> + .vsync_start = 272 + 16, >> + .vsync_end = 272 + 16 + 10, >> + .vtotal = 272 + 16 + 10 + 2, >> + .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, >> + }, >> + { /* 50 Hz */ >> + .clock = 10800, >> + .hdisplay = 480, >> + .hsync_start = 480 + 17, >> + .hsync_end = 480 + 17 + 41, >> + .htotal = 480 + 17 + 41 + 2, >> + .vdisplay = 272, >> + .vsync_start = 272 + 116, >> + .vsync_end = 272 + 116 + 10, >> + .vtotal = 272 + 116 + 10 + 2, >> + .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, >> + }, >> +}; >> + >> +static const struct panel_desc qishenglong_gopher2b_lcd_panel = { >> + .modes = qishenglong_gopher2b_lcd_panel_modes, >> + .num_modes = ARRAY_SIZE(qishenglong_gopher2b_lcd_panel_modes), >> + .bpc = 8, >> + .size = { >> + .width = 95, >> + .height = 54, >> + }, >> + .bus_format = MEDIA_BUS_FMT_RGB888_1X24, >> + .bus_flags = DRM_BUS_FLAG_DE_HIGH | >> DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE, >> + .connector_type = DRM_MODE_CONNECTOR_DPI, >> +}; >> + >> static const struct display_timing rocktech_rk070er9427_timing = { >> .pixelclock = { 26400000, 33300000, 46800000 }, >> .hactive = { 800, 800, 800 }, >> @@ -4651,6 +4691,9 @@ static const struct of_device_id >> platform_of_match[] = { >> }, { >> .compatible = "qiaodian,qd43003c0-40", >> .data = &qd43003c0_40, >> + }, { >> + .compatible = "qishenglong,gopher2b-lcd-panel", >> + .data = &qishenglong_gopher2b_lcd_panel, >> }, { >> .compatible = "rocktech,rk070er9427", >> .data = &rocktech_rk070er9427, >> -- >> 2.32.0 >> > >
|  |