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
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,
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",
}, { .compatible = "foxlink,fl500wvr00-a0t", .data = &foxlink_fl500wvr00_a0t,.data = &friendlyarm_hd702e,
Add these in sorted order. "fox" is before "fri"
Sam
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/dri... 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/?... https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?...
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
dri-devel@lists.freedesktop.org