[PATCH v2 2/3] drm/panel-edp: Add support for BOE NE140WUM-N6S panel

Doug Anderson dianders at chromium.org
Mon Apr 28 19:44:57 UTC 2025


Hi,

On Mon, Apr 21, 2025 at 4:37 AM Zhengqiao Xia
<xiazhengqiao at huaqin.corp-partner.google.com> wrote:
>
> BOE NE140WUM-N6S EDID:
> edid-decode (hex):
>
> 00 ff ff ff ff ff ff 00 09 e5 73 0d 00 00 00 00
> 32 22 01 04 a5 1e 13 78 07 13 45 a6 54 4d a0 27
> 0c 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
> 01 01 01 01 01 01 03 3e 80 a0 70 b0 48 40 30 20
> 36 00 2e bc 10 00 00 1a 00 00 00 fd 00 1e 78 99
> 99 20 01 0a 20 20 20 20 20 20 00 00 00 fc 00 4e
> 45 31 34 30 57 55 4d 2d 4e 36 53 0a 00 00 00 00
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 45
>
> 70 20 79 02 00 22 00 14 33 d8 04 85 7f 07 9f 00
> 2f 00 1f 00 af 04 47 00 02 00 05 00 81 00 13 72
> 1a 00 00 03 01 1e 78 00 00 5a 4a 5a 4a 78 00 00
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ad 90
>
> Signed-off-by: Zhengqiao Xia <xiazhengqiao at huaqin.corp-partner.google.com>
> ---
>  drivers/gpu/drm/panel/panel-edp.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
>
> diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
> index 958d260cda8a..92844ab4cb9c 100644
> --- a/drivers/gpu/drm/panel/panel-edp.c
> +++ b/drivers/gpu/drm/panel/panel-edp.c
> @@ -1757,6 +1757,13 @@ static const struct panel_delay delay_200_500_e80_d50 = {
>         .disable = 50,
>  };
>
> +static const struct panel_delay delay_200_500_e80_p2e80 = {
> +       .hpd_absent = 200,
> +       .unprepare = 500,
> +       .enable = 80,
> +       .prepare_to_enable = 80,
> +};

Unless I'm mistaken, you don't need to add this timing. See the docs
for `prepare_to_enable`, where the relationship between the `enable`
and `prepare_to_enable` delay is documented. Specifically, see:

* In other words:
*   prepare()
*     ...
*     // do fixed prepare delay
*     // wait for HPD GPIO if applicable
*     // start counting for prepare_to_enable
*
*   enable()
*     // do fixed enable delay
*     // enforce prepare_to_enable min time

Given that the fixed delay is 80 ms in your timings it seems
impossible to ever need the `prepare_to_enable` delay. ...so you can
just leave the `prepare_to_enable` off, which means you can just use
`delay_200_500_e80` like many of the other BOE panels.


> +
>  static const struct panel_delay delay_80_500_e50 = {
>         .hpd_absent = 80,
>         .unprepare = 500,
> @@ -1916,6 +1923,7 @@ static const struct edp_panel_entry edp_panels[] = {
>         EDP_PANEL_ENTRY('B', 'O', 'E', 0x09c3, &delay_200_500_e50, "NT116WHM-N21,836X2"),
>         EDP_PANEL_ENTRY('B', 'O', 'E', 0x094b, &delay_200_500_e50, "NT116WHM-N21"),
>         EDP_PANEL_ENTRY('B', 'O', 'E', 0x0951, &delay_200_500_e80, "NV116WHM-N47"),
> +       EDP_PANEL_ENTRY('B', 'O', 'E', 0x0d73, &delay_200_500_e80_p2e80, "NE140WUM-N6S"),
>         EDP_PANEL_ENTRY('B', 'O', 'E', 0x095f, &delay_200_500_e50, "NE135FBM-N41 v8.1"),

Please sort. 0x0d73 does not come between 0x0951 and 0x095f.


More information about the dri-devel mailing list