Message ID | 20240328102746.17868-1-marex@denx.de |
---|---|
State | Not Applicable |
Headers | show |
Series | [1/4] dt-bindings: display: simple: Document support for Innolux G121XCE-L01 | expand |
Context | Check | Description |
---|---|---|
robh/checkpatch | warning | total: 0 errors, 1 warnings, 8 lines checked |
robh/patch-applied | success | |
robh/dtbs-check | warning | build log |
robh/dt-meta-schema | success |
On Thu, Mar 28, 2024 at 11:27:35AM +0100, Marek Vasut wrote: > Document support for Innolux CheMei 12" G121XCE-L01 XGA LVDS display. > > G121XCE-L01 is a Color Active Matrix Liquid Crystal Display composed of > a TFT LCD panel, a driver circuit, and LED backlight system. The screen > format is intended to support the 4:3, 1024(H) x 768(V) screen and either > 262k/16.7M colors (RGB 6-bits or 8-bits) with LED backlight driver circuit. > All input signals are LVDS interface compatible. > > Documentation [1] and [2] indicate that G121X1-L03 and G121XCE-L01 are > effectively identical panels, use the former as RGB 6-bits variant and > document the later as RGB 8-bits variant. > > [1] https://www.distec.de/fileadmin/pdf/produkte/TFT-Displays/Innolux/G121X1-L03_Datasheet.pdf > [2] https://www.distec.de/fileadmin/pdf/produkte/TFT-Displays/Innolux/G121XCE-L01_Datasheet.pdf > > Signed-off-by: Marek Vasut <marex@denx.de> > --- > Cc: Conor Dooley <conor+dt@kernel.org> Acked-by: Conor Dooley <conor.dooley@microchip.com> Thanks, Conor. > Cc: Daniel Vetter <daniel@ffwll.ch> > Cc: David Airlie <airlied@gmail.com> > Cc: Jessica Zhang <quic_jesszhan@quicinc.com> > Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Cc: Maxime Ripard <mripard@kernel.org> > Cc: Neil Armstrong <neil.armstrong@linaro.org> > Cc: Rob Herring <robh@kernel.org> > Cc: Sam Ravnborg <sam@ravnborg.org> > Cc: Thierry Reding <thierry.reding@gmail.com> > Cc: Thomas Zimmermann <tzimmermann@suse.de> > Cc: devicetree@vger.kernel.org > Cc: dri-devel@lists.freedesktop.org > --- > .../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 e0f6aa9a025c4..931d98836e121 100644 > --- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml > +++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml > @@ -190,6 +190,8 @@ properties: > - innolux,g121i1-l01 > # Innolux Corporation 12.1" G121X1-L03 XGA (1024x768) TFT LCD panel > - innolux,g121x1-l03 > + # Innolux Corporation 12.1" G121XCE-L01 XGA (1024x768) TFT LCD panel > + - innolux,g121xce-l01 > # Innolux Corporation 11.6" WXGA (1366x768) TFT LCD panel > - innolux,n116bca-ea1 > # Innolux Corporation 11.6" WXGA (1366x768) TFT LCD panel > -- > 2.43.0 >
On 3/28/2024 3:27 AM, Marek Vasut wrote: > The .bpc = 6 implies .bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG , > add the missing bus_format. Add missing connector type and bus_flags > as well. > > Documentation [1] 1.4 GENERAL SPECIFICATI0NS indicates this panel is > capable of both RGB 18bit/24bit panel, the current configuration uses > 18bit mode, .bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG , .bpc = 6. > > Support for the 24bit mode would require another entry in panel-simple > with .bus_format = MEDIA_BUS_FMT_RGB666_1X7X4_SPWG and .bpc = 8, which > is out of scope of this fix. > > [1] https://www.distec.de/fileadmin/pdf/produkte/TFT-Displays/Innolux/G121X1-L03_Datasheet.pdf Hi Marek, Acked-by: Jessica Zhang <quic_jesszhan@quicinc.com> Thanks, Jessica Zhang > > Fixes: f8fa17ba812b ("drm/panel: simple: Add support for Innolux G121X1-L03") > Signed-off-by: Marek Vasut <marex@denx.de> > --- > Cc: Conor Dooley <conor+dt@kernel.org> > Cc: Daniel Vetter <daniel@ffwll.ch> > Cc: David Airlie <airlied@gmail.com> > Cc: Jessica Zhang <quic_jesszhan@quicinc.com> > Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Cc: Maxime Ripard <mripard@kernel.org> > Cc: Neil Armstrong <neil.armstrong@linaro.org> > Cc: Rob Herring <robh@kernel.org> > Cc: Sam Ravnborg <sam@ravnborg.org> > Cc: Thierry Reding <thierry.reding@gmail.com> > Cc: Thomas Zimmermann <tzimmermann@suse.de> > Cc: devicetree@vger.kernel.org > Cc: dri-devel@lists.freedesktop.org > --- > drivers/gpu/drm/panel/panel-simple.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c > index d9ddef0e675a7..d4c30a86d15d6 100644 > --- a/drivers/gpu/drm/panel/panel-simple.c > +++ b/drivers/gpu/drm/panel/panel-simple.c > @@ -2618,6 +2618,9 @@ static const struct panel_desc innolux_g121x1_l03 = { > .unprepare = 200, > .disable = 400, > }, > + .bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG, > + .bus_flags = DRM_BUS_FLAG_DE_HIGH, > + .connector_type = DRM_MODE_CONNECTOR_LVDS, > }; > > static const struct display_timing innolux_g156hce_l01_timings = { > -- > 2.43.0 >
On 3/28/2024 3:27 AM, Marek Vasut wrote: > Use display_timing instead of drm_display_mode to define a range of > possible display timings supported by this panel. This makes the panel > support more flexible and improves compatibility. No functional change > is expected. > > The settings are picked from documentation [1] section 6.1 INPUT SIGNAL > TIMING SPECIFICATIONS. > > [1] https://www.distec.de/fileadmin/pdf/produkte/TFT-Displays/Innolux/G121X1-L03_Datasheet.pdf Hi Marek, Acked-by: Jessica Zhang <quic_jesszhan@quicinc.com> Thanks, Jessica Zhang > > Signed-off-by: Marek Vasut <marex@denx.de> > --- > Cc: Conor Dooley <conor+dt@kernel.org> > Cc: Daniel Vetter <daniel@ffwll.ch> > Cc: David Airlie <airlied@gmail.com> > Cc: Jessica Zhang <quic_jesszhan@quicinc.com> > Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Cc: Maxime Ripard <mripard@kernel.org> > Cc: Neil Armstrong <neil.armstrong@linaro.org> > Cc: Rob Herring <robh@kernel.org> > Cc: Sam Ravnborg <sam@ravnborg.org> > Cc: Thierry Reding <thierry.reding@gmail.com> > Cc: Thomas Zimmermann <tzimmermann@suse.de> > Cc: devicetree@vger.kernel.org > Cc: dri-devel@lists.freedesktop.org > --- > drivers/gpu/drm/panel/panel-simple.c | 26 +++++++++++++------------- > 1 file changed, 13 insertions(+), 13 deletions(-) > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c > index d4c30a86d15d6..737c78b3b8a23 100644 > --- a/drivers/gpu/drm/panel/panel-simple.c > +++ b/drivers/gpu/drm/panel/panel-simple.c > @@ -2592,22 +2592,22 @@ static const struct panel_desc innolux_g121i1_l01 = { > .connector_type = DRM_MODE_CONNECTOR_LVDS, > }; > > -static const struct drm_display_mode innolux_g121x1_l03_mode = { > - .clock = 65000, > - .hdisplay = 1024, > - .hsync_start = 1024 + 0, > - .hsync_end = 1024 + 1, > - .htotal = 1024 + 0 + 1 + 320, > - .vdisplay = 768, > - .vsync_start = 768 + 38, > - .vsync_end = 768 + 38 + 1, > - .vtotal = 768 + 38 + 1 + 0, > - .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC, > +static const struct display_timing innolux_g121x1_l03_timings = { > + .pixelclock = { 57500000, 64900000, 74400000 }, > + .hactive = { 1024, 1024, 1024 }, > + .hfront_porch = { 90, 140, 190 }, > + .hback_porch = { 90, 140, 190 }, > + .hsync_len = { 36, 40, 60 }, > + .vactive = { 768, 768, 768 }, > + .vfront_porch = { 2, 15, 30 }, > + .vback_porch = { 2, 15, 30 }, > + .vsync_len = { 2, 8, 20 }, > + .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW, > }; > > static const struct panel_desc innolux_g121x1_l03 = { > - .modes = &innolux_g121x1_l03_mode, > - .num_modes = 1, > + .timings = &innolux_g121x1_l03_timings, > + .num_timings = 1, > .bpc = 6, > .size = { > .width = 246, > -- > 2.43.0 >
On 3/28/2024 3:27 AM, Marek Vasut wrote: > G121XCE-L01 is a Color Active Matrix Liquid Crystal Display composed of > a TFT LCD panel, a driver circuit, and LED backlight system. The screen > format is intended to support the 4:3, 1024(H) x 768(V) screen and either > 262k/16.7M colors (RGB 6-bits or 8-bits) with LED backlight driver circuit. > All input signals are LVDS interface compatible. > > Documentation [1] and [2] indicate that G121X1-L03 and G121XCE-L01 are > effectively identical panels, use the former as RGB 6-bits variant and > add the later as RGB 8-bits variant. > > [1] https://www.distec.de/fileadmin/pdf/produkte/TFT-Displays/Innolux/G121X1-L03_Datasheet.pdf > [2] https://www.distec.de/fileadmin/pdf/produkte/TFT-Displays/Innolux/G121XCE-L01_Datasheet.pdf Hi Marek, Acked-by: Jessica Zhang <quic_jesszhan@quicinc.com> Thanks, Jessica Zhang > > Signed-off-by: Marek Vasut <marex@denx.de> > --- > Cc: Conor Dooley <conor+dt@kernel.org> > Cc: Daniel Vetter <daniel@ffwll.ch> > Cc: David Airlie <airlied@gmail.com> > Cc: Jessica Zhang <quic_jesszhan@quicinc.com> > Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Cc: Maxime Ripard <mripard@kernel.org> > Cc: Neil Armstrong <neil.armstrong@linaro.org> > Cc: Rob Herring <robh@kernel.org> > Cc: Sam Ravnborg <sam@ravnborg.org> > Cc: Thierry Reding <thierry.reding@gmail.com> > Cc: Thomas Zimmermann <tzimmermann@suse.de> > Cc: devicetree@vger.kernel.org > Cc: dri-devel@lists.freedesktop.org > --- > drivers/gpu/drm/panel/panel-simple.c | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c > index 737c78b3b8a23..5acc9f2941909 100644 > --- a/drivers/gpu/drm/panel/panel-simple.c > +++ b/drivers/gpu/drm/panel/panel-simple.c > @@ -2623,6 +2623,24 @@ static const struct panel_desc innolux_g121x1_l03 = { > .connector_type = DRM_MODE_CONNECTOR_LVDS, > }; > > +static const struct panel_desc innolux_g121xce_l01 = { > + .timings = &innolux_g121x1_l03_timings, > + .num_timings = 1, > + .bpc = 8, > + .size = { > + .width = 246, > + .height = 185, > + }, > + .delay = { > + .enable = 200, > + .unprepare = 200, > + .disable = 400, > + }, > + .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, > + .bus_flags = DRM_BUS_FLAG_DE_HIGH, > + .connector_type = DRM_MODE_CONNECTOR_LVDS, > +}; > + > static const struct display_timing innolux_g156hce_l01_timings = { > .pixelclock = { 120000000, 141860000, 150000000 }, > .hactive = { 1920, 1920, 1920 }, > @@ -4596,6 +4614,9 @@ static const struct of_device_id platform_of_match[] = { > }, { > .compatible = "innolux,g121x1-l03", > .data = &innolux_g121x1_l03, > + }, { > + .compatible = "innolux,g121xce-l01", > + .data = &innolux_g121xce_l01, > }, { > .compatible = "innolux,g156hce-l01", > .data = &innolux_g156hce_l01, > -- > 2.43.0 >
diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml index e0f6aa9a025c4..931d98836e121 100644 --- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml +++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml @@ -190,6 +190,8 @@ properties: - innolux,g121i1-l01 # Innolux Corporation 12.1" G121X1-L03 XGA (1024x768) TFT LCD panel - innolux,g121x1-l03 + # Innolux Corporation 12.1" G121XCE-L01 XGA (1024x768) TFT LCD panel + - innolux,g121xce-l01 # Innolux Corporation 11.6" WXGA (1366x768) TFT LCD panel - innolux,n116bca-ea1 # Innolux Corporation 11.6" WXGA (1366x768) TFT LCD panel
Document support for Innolux CheMei 12" G121XCE-L01 XGA LVDS display. G121XCE-L01 is a Color Active Matrix Liquid Crystal Display composed of a TFT LCD panel, a driver circuit, and LED backlight system. The screen format is intended to support the 4:3, 1024(H) x 768(V) screen and either 262k/16.7M colors (RGB 6-bits or 8-bits) with LED backlight driver circuit. All input signals are LVDS interface compatible. Documentation [1] and [2] indicate that G121X1-L03 and G121XCE-L01 are effectively identical panels, use the former as RGB 6-bits variant and document the later as RGB 8-bits variant. [1] https://www.distec.de/fileadmin/pdf/produkte/TFT-Displays/Innolux/G121X1-L03_Datasheet.pdf [2] https://www.distec.de/fileadmin/pdf/produkte/TFT-Displays/Innolux/G121XCE-L01_Datasheet.pdf Signed-off-by: Marek Vasut <marex@denx.de> --- Cc: Conor Dooley <conor+dt@kernel.org> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: David Airlie <airlied@gmail.com> Cc: Jessica Zhang <quic_jesszhan@quicinc.com> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Maxime Ripard <mripard@kernel.org> Cc: Neil Armstrong <neil.armstrong@linaro.org> Cc: Rob Herring <robh@kernel.org> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Thomas Zimmermann <tzimmermann@suse.de> Cc: devicetree@vger.kernel.org Cc: dri-devel@lists.freedesktop.org --- .../devicetree/bindings/display/panel/panel-simple.yaml | 2 ++ 1 file changed, 2 insertions(+)