lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <54910ba4-4680-868e-94fc-88a11f9abfd9@gmail.com>
Date:   Mon, 26 Jul 2021 14:11:11 +0300
From:   Artjom Vejsel <akawolf0@...il.com>
To:     Paul Cercueil <paul@...pouillou.net>
Cc:     thierry.reding@...il.com, sam@...nborg.org,
        dri-devel@...ts.freedesktop.org, robh+dt@...nel.org,
        devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 3/3] drm/panel-simple: add Gopher 2b LCD panel

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@...il.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@...il.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
>>
>
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ