Message ID | 20190501121448.3812-1-jagan@amarulasolutions.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] drm/panel: simple: Add FriendlyELEC HD702E 800x1280 LCD panel | expand |
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@gmail.com> > Cc: Sam Ravnborg <sam@ravnborg.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Daniel Vetter <daniel@ffwll.ch> > Cc: dri-devel@lists.freedesktop.org > Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Please submit the binding in a separate patch as per Documentation/devicetree/bindings/submitting-patches.txt 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. > --- > .../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. > + > 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" Sam
On Wed, 1 May 2019 17:44:47 +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@gmail.com> > Cc: Sam Ravnborg <sam@ravnborg.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Daniel Vetter <daniel@ffwll.ch> > Cc: dri-devel@lists.freedesktop.org > Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> > --- > .../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 > Reviewed-by: Rob Herring <robh@kernel.org>
Hi Sam, On Thu, May 2, 2019 at 1:04 AM Sam Ravnborg <sam@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@gmail.com> > > Cc: Sam Ravnborg <sam@ravnborg.org> > > Cc: David Airlie <airlied@linux.ie> > > Cc: Daniel Vetter <daniel@ffwll.ch> > > Cc: dri-devel@lists.freedesktop.org > > Signed-off-by: Jagan Teki <jagan@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.
On Mon, May 6, 2019 at 4:56 AM Jagan Teki <jagan@amarulasolutions.com> wrote: > > Hi Sam, > > On Thu, May 2, 2019 at 1:04 AM Sam Ravnborg <sam@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@gmail.com> > > > Cc: Sam Ravnborg <sam@ravnborg.org> > > > Cc: David Airlie <airlied@linux.ie> > > > Cc: Daniel Vetter <daniel@ffwll.ch> > > > Cc: dri-devel@lists.freedesktop.org > > > Signed-off-by: Jagan Teki <jagan@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. For what subsystem? All the maintainers that I was aware of doing that have stopped. Rob
On Mon, May 6, 2019 at 8:34 PM Rob Herring <robh+dt@kernel.org> wrote: > > On Mon, May 6, 2019 at 4:56 AM Jagan Teki <jagan@amarulasolutions.com> wrote: > > > > Hi Sam, > > > > On Thu, May 2, 2019 at 1:04 AM Sam Ravnborg <sam@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@gmail.com> > > > > Cc: Sam Ravnborg <sam@ravnborg.org> > > > > Cc: David Airlie <airlied@linux.ie> > > > > Cc: Daniel Vetter <daniel@ffwll.ch> > > > > Cc: dri-devel@lists.freedesktop.org > > > > Signed-off-by: Jagan Teki <jagan@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. > > For what subsystem? All the maintainers that I was aware of doing that > have stopped. May be it was recent, Dmitry combined by previous dt and driver changes. https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=ae97fb589648cd5558f1ceea317404a639307501 https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=a5f50c501321249d67611353dde6d68d48c5b959
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, + }, +}; + 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,
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@gmail.com> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: David Airlie <airlied@linux.ie> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: dri-devel@lists.freedesktop.org Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> --- .../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