[PATCH 1/2] drm/panel: simple: Add FriendlyELEC HD702E 800x1280 LCD panel

Jagan Teki jagan at amarulasolutions.com
Mon May 6 09:56:22 UTC 2019


Hi Sam,

On Thu, May 2, 2019 at 1:04 AM Sam Ravnborg <sam at ravnborg.org> wrote:
>
> Hi Jagan
>
> On Wed, May 01, 2019 at 05:44:47PM +0530, Jagan Teki wrote:
> > HD702E lcd is FriendlyELEC developed eDP LCD panel with 800x1280
> > resolution. It has built in Goodix, GT9271 captive touchscreen
> > with backlight adjustable via PWM.
> >
> > Add support for it.
> >
> > Cc: Thierry Reding <thierry.reding at gmail.com>
> > Cc: Sam Ravnborg <sam at ravnborg.org>
> > Cc: David Airlie <airlied at linux.ie>
> > Cc: Daniel Vetter <daniel at ffwll.ch>
> > Cc: dri-devel at lists.freedesktop.org
> > Signed-off-by: Jagan Teki <jagan at amarulasolutions.com>
>
> Please submit the binding in a separate patch as per
> Documentation/devicetree/bindings/submitting-patches.txt

Hmm.. prepared like this initially but few of my patches were combined
earlier even-though I sent it separately. anyway let me separate it
again.

>
> The binding looks like it is compatible with common-panel and
> simple-panel - please say so in the bindings.
> See for example the last few binding documents added to the kernel tree.

Correct, will update.

>
> > ---
> >  .../display/panel/friendlyarm,hd702e.txt      | 29 +++++++++++++++++++
> >  drivers/gpu/drm/panel/panel-simple.c          | 26 +++++++++++++++++
> >  2 files changed, 55 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/display/panel/friendlyarm,hd702e.txt
> >
> > diff --git a/Documentation/devicetree/bindings/display/panel/friendlyarm,hd702e.txt b/Documentation/devicetree/bindings/display/panel/friendlyarm,hd702e.txt
> > new file mode 100644
> > index 000000000000..67349d7f79be
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/display/panel/friendlyarm,hd702e.txt
> > @@ -0,0 +1,29 @@
> > +FriendlyELEC HD702E 800x1280 LCD panel
> > +
> > +HD702E lcd is FriendlyELEC developed eDP LCD panel with 800x1280
> > +resolution. It has built in Goodix, GT9271 captive touchscreen
> > +with backlight adjustable via PWM.
> > +
> > +Required properties:
> > +- compatible: should be "friendlyarm,hd702e"
> > +- power-supply: regulator to provide the supply voltage
> > +
> > +Optional properties:
> > +- backlight: phandle of the backlight device attached to the panel
> > +
> > +Optional nodes:
> > +- Video port for LCD panel input.
> > +
> > +Example:
> > +
> > +     panel {
> > +             compatible ="friendlyarm,hd702e";
> > +             backlight = <&backlight>;
> > +             power-supply = <&vcc3v3_sys>;
> > +
> > +             port {
> > +                     panel_in_edp: endpoint {
> > +                             remote-endpoint = <&edp_out_panel>;
> > +                     };
> > +             };
> > +     };
> > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> > index 9e8218f6a3f2..9db3c0c65ef2 100644
> > --- a/drivers/gpu/drm/panel/panel-simple.c
> > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > @@ -1184,6 +1184,29 @@ static const struct panel_desc foxlink_fl500wvr00_a0t = {
> >       .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
> >  };
> >
> > +static const struct drm_display_mode friendlyarm_hd702e_mode = {
> > +     .clock          = 67185,
> > +     .hdisplay       = 800,
> > +     .hsync_start    = 800 + 20,
> > +     .hsync_end      = 800 + 20 + 24,
> > +     .htotal         = 800 + 20 + 24 + 20,
> > +     .vdisplay       = 1280,
> > +     .vsync_start    = 1280 + 4,
> > +     .vsync_end      = 1280 + 4 + 8,
> > +     .vtotal         = 1280 + 4 + 8 + 4,
> > +     .vrefresh       = 60,
> > +     .flags          = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> > +};
> > +
> > +static const struct panel_desc friendlyarm_hd702e = {
> > +     .modes = &friendlyarm_hd702e_mode,
> > +     .num_modes = 1,
> > +     .size = {
> > +             .width  = 94,
> > +             .height = 151,
> > +     },
> > +};
> As I read the datasheet then this panel needs at least a prepare delay
> of 10 ms (it says > 10 ms from VGH until Data).
> And then we also know that VGH shall be valid at least 10 ms after DVDD
> so prepare is likely 20 ms.
>
> Based on datasheet found here:
> https://pan.baidu.com/s/1geEfBLh/
>
> Please evaluate all delays.

This part I'm unclear, I tried to get the datasheet of this but
couldn't find it either. I have a reference for these FriendlyELEC
panels from https://github.com/friendlyarm/kernel-rockchip/blob/nanopi4-linux-v4.4.y/drivers/gpu/drm/panel/panel-friendlyelec.c
but they are not using any of these delays.

>
> > +
> >  static const struct drm_display_mode giantplus_gpg482739qs5_mode = {
> >       .clock = 9000,
> >       .hdisplay = 480,
> > @@ -2634,6 +2657,9 @@ static const struct of_device_id platform_of_match[] = {
> >       }, {
> >               .compatible = "edt,etm0700g0edh6",
> >               .data = &edt_etm0700g0bdh6,
> > +     }, {
> > +             .compatible = "friendlyarm,hd702e",
> > +             .data = &friendlyarm_hd702e,
> >       }, {
> >               .compatible = "foxlink,fl500wvr00-a0t",
> >               .data = &foxlink_fl500wvr00_a0t,
>
> Add these in sorted order.
> "fox" is before "fri"

True, will sort it.


More information about the dri-devel mailing list