Add binding for the Innolux G070Y2-T02 panel. It is 7" WVGA (800x480) TFT LCD panel with TTL interface and a backlight unit.
Signed-off-by: Oleksij Rempel o.rempel@pengutronix.de --- .../devicetree/bindings/display/panel/panel-simple.yaml | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml index 335776c45474..2f1c0928d260 100644 --- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml +++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml @@ -166,6 +166,8 @@ properties: - innolux,at070tn92 # Innolux G070Y2-L01 7" WVGA (800x480) TFT LCD panel - innolux,g070y2-l01 + # Innolux G070Y2-T02 7" WVGA (800x480) TFT LCD TTL panel + - innolux,g070y2-t02 # Innolux Corporation 10.1" G101ICE-L01 WXGA (1280x800) LVDS panel - innolux,g101ice-l01 # Innolux Corporation 12.1" WXGA (1280x800) TFT LCD panel
Add compatible and timings for the Innolux G070Y2-T02 panel. It is 7" WVGA (800x480) TFT LCD panel with TTL interface and a backlight unit.
Co-Developed-by: Robin van der Gracht robin@protonic.nl Signed-off-by: Robin van der Gracht robin@protonic.nl Signed-off-by: Oleksij Rempel o.rempel@pengutronix.de --- drivers/gpu/drm/panel/panel-simple.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 9b6c4e6c38a1..a03b60f6fa99 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -2524,6 +2524,19 @@ static const struct panel_desc innolux_g070y2_l01 = { .connector_type = DRM_MODE_CONNECTOR_LVDS, };
+static const struct panel_desc innolux_g070y2_t02 = { + .modes = &innolux_at070tn92_mode, + .num_modes = 1, + .bpc = 8, + .size = { + .width = 152, + .height = 92, + }, + .bus_format = MEDIA_BUS_FMT_RGB888_1X24, + .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, + .connector_type = DRM_MODE_CONNECTOR_DPI, +}; + static const struct display_timing innolux_g101ice_l01_timing = { .pixelclock = { 60400000, 71100000, 74700000 }, .hactive = { 1280, 1280, 1280 }, @@ -4663,6 +4676,9 @@ static const struct of_device_id platform_of_match[] = { }, { .compatible = "innolux,g070y2-l01", .data = &innolux_g070y2_l01, + }, { + .compatible = "innolux,g070y2-t02", + .data = &innolux_g070y2_t02, }, { .compatible = "innolux,g101ice-l01", .data = &innolux_g101ice_l01
Hi Oleksij, Robin,
On Thu, Sep 30, 2021 at 12:05:00PM +0200, Oleksij Rempel wrote:
Add compatible and timings for the Innolux G070Y2-T02 panel. It is 7" WVGA (800x480) TFT LCD panel with TTL interface and a backlight unit.
Co-Developed-by: Robin van der Gracht robin@protonic.nl Signed-off-by: Robin van der Gracht robin@protonic.nl Signed-off-by: Oleksij Rempel o.rempel@pengutronix.de
drivers/gpu/drm/panel/panel-simple.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 9b6c4e6c38a1..a03b60f6fa99 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -2524,6 +2524,19 @@ static const struct panel_desc innolux_g070y2_l01 = { .connector_type = DRM_MODE_CONNECTOR_LVDS, };
+static const struct panel_desc innolux_g070y2_t02 = {
- .modes = &innolux_at070tn92_mode,
It is suprising to see that the innolux_g070y2_t02 uses the mode innolux_at070tn92_mode. Is it on purpose? If yes then I would expect the changelog to say so.
In most (all?) other cases the panel provide their own mode.
Sam
- .num_modes = 1,
- .bpc = 8,
- .size = {
.width = 152,
.height = 92,
- },
- .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
- .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
- .connector_type = DRM_MODE_CONNECTOR_DPI,
+};
static const struct display_timing innolux_g101ice_l01_timing = { .pixelclock = { 60400000, 71100000, 74700000 }, .hactive = { 1280, 1280, 1280 }, @@ -4663,6 +4676,9 @@ static const struct of_device_id platform_of_match[] = { }, { .compatible = "innolux,g070y2-l01", .data = &innolux_g070y2_l01,
- }, {
.compatible = "innolux,g070y2-t02",
}, { .compatible = "innolux,g101ice-l01", .data = &innolux_g101ice_l01.data = &innolux_g070y2_t02,
-- 2.30.2
On Sat, Oct 09, 2021 at 05:12:44PM +0200, Sam Ravnborg wrote:
Hi Oleksij, Robin,
On Thu, Sep 30, 2021 at 12:05:00PM +0200, Oleksij Rempel wrote:
Add compatible and timings for the Innolux G070Y2-T02 panel. It is 7" WVGA (800x480) TFT LCD panel with TTL interface and a backlight unit.
Co-Developed-by: Robin van der Gracht robin@protonic.nl Signed-off-by: Robin van der Gracht robin@protonic.nl Signed-off-by: Oleksij Rempel o.rempel@pengutronix.de
drivers/gpu/drm/panel/panel-simple.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 9b6c4e6c38a1..a03b60f6fa99 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -2524,6 +2524,19 @@ static const struct panel_desc innolux_g070y2_l01 = { .connector_type = DRM_MODE_CONNECTOR_LVDS, };
+static const struct panel_desc innolux_g070y2_t02 = {
- .modes = &innolux_at070tn92_mode,
It is suprising to see that the innolux_g070y2_t02 uses the mode innolux_at070tn92_mode. Is it on purpose?
yes.
If yes then I would expect the changelog to say so.
In most (all?) other cases the panel provide their own mode.
It works with same timing values. What is the preferred way, add own mode or extend the changelog?
Regards, Oleksij
Hi Oleksij, On Mon, Oct 11, 2021 at 11:01:48AM +0200, Oleksij Rempel wrote:
On Sat, Oct 09, 2021 at 05:12:44PM +0200, Sam Ravnborg wrote:
Hi Oleksij, Robin,
On Thu, Sep 30, 2021 at 12:05:00PM +0200, Oleksij Rempel wrote:
Add compatible and timings for the Innolux G070Y2-T02 panel. It is 7" WVGA (800x480) TFT LCD panel with TTL interface and a backlight unit.
Co-Developed-by: Robin van der Gracht robin@protonic.nl Signed-off-by: Robin van der Gracht robin@protonic.nl Signed-off-by: Oleksij Rempel o.rempel@pengutronix.de
drivers/gpu/drm/panel/panel-simple.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 9b6c4e6c38a1..a03b60f6fa99 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -2524,6 +2524,19 @@ static const struct panel_desc innolux_g070y2_l01 = { .connector_type = DRM_MODE_CONNECTOR_LVDS, };
+static const struct panel_desc innolux_g070y2_t02 = {
- .modes = &innolux_at070tn92_mode,
It is suprising to see that the innolux_g070y2_t02 uses the mode innolux_at070tn92_mode. Is it on purpose?
yes.
If yes then I would expect the changelog to say so.
In most (all?) other cases the panel provide their own mode.
It works with same timing values. What is the preferred way, add own mode or extend the changelog?
Both works for me, but I would duplicate the timings. Only because I do not trust anyone that comes later to see that the timings are used twice.
Sam
From: Søren Andersen san@skov.dk
Add support for the Logic Technologies LTTD800x480 L2RT 7" 800x480 TFT Resistive Touch Module.
Signed-off-by: Søren Andersen san@skov.dk Signed-off-by: Sam Ravnborg sam@ravnborg.org Signed-off-by: Oleksij Rempel o.rempel@pengutronix.de --- drivers/gpu/drm/panel/panel-simple.c | 35 ++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index a03b60f6fa99..fdcba94c02da 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -3139,6 +3139,38 @@ static const struct panel_desc logictechno_lt170410_2whc = { .connector_type = DRM_MODE_CONNECTOR_LVDS, };
+static const struct drm_display_mode logictechno_lttd800480070_l2rt_mode = { + .clock = 33000, + .hdisplay = 800, + .hsync_start = 800 + 112, + .hsync_end = 800 + 112 + 3, + .htotal = 800 + 112 + 3 + 85, + .vdisplay = 480, + .vsync_start = 480 + 38, + .vsync_end = 480 + 38 + 3, + .vtotal = 480 + 38 + 3 + 29, + .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, +}; + +static const struct panel_desc logictechno_lttd800480070_l2rt = { + .modes = &logictechno_lttd800480070_l2rt_mode, + .num_modes = 1, + .bpc = 8, + .size = { + .width = 154, + .height = 86, + }, + .delay = { + .prepare = 45, + .enable = 100, + .disable = 100, + .unprepare = 45 + }, + .bus_format = MEDIA_BUS_FMT_RGB888_1X24, + .bus_flags = DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE, + .connector_type = DRM_MODE_CONNECTOR_DPI, +}; + static const struct drm_display_mode logictechno_lttd800480070_l6wh_rt_mode = { .clock = 33000, .hdisplay = 800, @@ -4754,6 +4786,9 @@ static const struct of_device_id platform_of_match[] = { }, { .compatible = "logictechno,lt170410-2whc", .data = &logictechno_lt170410_2whc, + }, { + .compatible = "logictechno,lttd800480070-l2rt", + .data = &logictechno_lttd800480070_l2rt, }, { .compatible = "logictechno,lttd800480070-l6wh-rt", .data = &logictechno_lttd800480070_l6wh_rt,
Hi Oleksij, On Thu, Sep 30, 2021 at 12:05:01PM +0200, Oleksij Rempel wrote:
From: Søren Andersen san@skov.dk
Add support for the Logic Technologies LTTD800x480 L2RT 7" 800x480 TFT Resistive Touch Module.
Signed-off-by: Søren Andersen san@skov.dk Signed-off-by: Sam Ravnborg sam@ravnborg.org Signed-off-by: Oleksij Rempel o.rempel@pengutronix.de
Thanks for upstreaming this. Applied to drm-misc-next,
Sam
On Thu, 30 Sep 2021 12:04:59 +0200, Oleksij Rempel wrote:
Add binding for the Innolux G070Y2-T02 panel. It is 7" WVGA (800x480) TFT LCD panel with TTL interface and a backlight unit.
Signed-off-by: Oleksij Rempel o.rempel@pengutronix.de
.../devicetree/bindings/display/panel/panel-simple.yaml | 2 ++ 1 file changed, 2 insertions(+)
Acked-by: Rob Herring robh@kernel.org
dri-devel@lists.freedesktop.org