Hi Sam, On Thu, May 2, 2019 at 1:04 AM Sam Ravnborg <sam@xxxxxxxxxxxx> 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@xxxxxxxxx> > > Cc: Sam Ravnborg <sam@xxxxxxxxxxxx> > > Cc: David Airlie <airlied@xxxxxxxx> > > Cc: Daniel Vetter <daniel@xxxxxxxx> > > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > > Signed-off-by: Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx> > > 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.