[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMty3ZAfwVyvmAmenhrQHJcy3eq-Yb61a4WLop_8jS-7vM940A@mail.gmail.com>
Date: Mon, 6 May 2019 15:26:22 +0530
From: Jagan Teki <jagan@...rulasolutions.com>
To: Sam Ravnborg <sam@...nborg.org>
Cc: Heiko Stuebner <heiko@...ech.de>, Rob Herring <robh+dt@...nel.org>,
Mark Rutland <mark.rutland@....com>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
linux-rockchip@...ts.infradead.org,
devicetree <devicetree@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
linux-amarula <linux-amarula@...rulasolutions.com>,
Thierry Reding <thierry.reding@...il.com>,
David Airlie <airlied@...ux.ie>,
Daniel Vetter <daniel@...ll.ch>,
dri-devel <dri-devel@...ts.freedesktop.org>
Subject: Re: [PATCH 1/2] drm/panel: simple: Add FriendlyELEC HD702E 800x1280
LCD panel
Hi Sam,
On Thu, May 2, 2019 at 1:04 AM Sam Ravnborg <sam@...nborg.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@...il.com>
> > Cc: Sam Ravnborg <sam@...nborg.org>
> > Cc: David Airlie <airlied@...ux.ie>
> > Cc: Daniel Vetter <daniel@...ll.ch>
> > Cc: dri-devel@...ts.freedesktop.org
> > Signed-off-by: Jagan Teki <jagan@...rulasolutions.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.
Powered by blists - more mailing lists