* [PATCH v1 0/2] support for csot-pna957qt1-1 MIPI-DSI panel
@ 2025-01-27 1:46 Langyan Ye
2025-01-27 1:46 ` [PATCH v1 1/2] dt-bindings: display: panel: Add compatible for CSOT PNA957QT1-1 Langyan Ye
2025-01-27 1:46 ` [PATCH v1 2/2] drm/panel: panel-himax-hx83102: support for csot-pna957qt1-1 MIPI-DSI panel Langyan Ye
0 siblings, 2 replies; 7+ messages in thread
From: Langyan Ye @ 2025-01-27 1:46 UTC (permalink / raw)
To: neil.armstrong, quic_jesszhan, airlied, simona, maarten.lankhorst,
mripard, tzimmermann, robh, krzk+dt, conor+dt, dianders
Cc: dri-devel, devicetree, linux-kernel, Langyan Ye
The csot-pna957qt1-1 panel uses HX83102 IC, so add the compatible to
the hx83102 binding files and add this panel to panel-himax-hx83102.c.
Langyan Ye (2):
dt-bindings: display: panel: Add compatible for CSOT PNA957QT1-1
drm/panel: panel-himax-hx83102: support for csot-pna957qt1-1 MIPI-DSI
panel
.../bindings/display/panel/himax,hx83102.yaml | 2 +
drivers/gpu/drm/panel/panel-himax-hx83102.c | 123 ++++++++++++++++++
2 files changed, 125 insertions(+)
--
2.34.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v1 1/2] dt-bindings: display: panel: Add compatible for CSOT PNA957QT1-1
2025-01-27 1:46 [PATCH v1 0/2] support for csot-pna957qt1-1 MIPI-DSI panel Langyan Ye
@ 2025-01-27 1:46 ` Langyan Ye
2025-01-27 8:43 ` Krzysztof Kozlowski
2025-01-27 1:46 ` [PATCH v1 2/2] drm/panel: panel-himax-hx83102: support for csot-pna957qt1-1 MIPI-DSI panel Langyan Ye
1 sibling, 1 reply; 7+ messages in thread
From: Langyan Ye @ 2025-01-27 1:46 UTC (permalink / raw)
To: neil.armstrong, quic_jesszhan, airlied, simona, maarten.lankhorst,
mripard, tzimmermann, robh, krzk+dt, conor+dt, dianders
Cc: dri-devel, devicetree, linux-kernel, Langyan Ye
Add a new compatible for the panel CSOT PNA957QT1-1. This panel
uses HX83102 IC, so add the compatible to the hx83102 binding files.
Signed-off-by: Langyan Ye <yelangyan@huaqin.corp-partner.google.com>
---
.../devicetree/bindings/display/panel/himax,hx83102.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/panel/himax,hx83102.yaml b/Documentation/devicetree/bindings/display/panel/himax,hx83102.yaml
index c649fb085833..d876269e1fac 100644
--- a/Documentation/devicetree/bindings/display/panel/himax,hx83102.yaml
+++ b/Documentation/devicetree/bindings/display/panel/himax,hx83102.yaml
@@ -18,6 +18,8 @@ properties:
- enum:
# Boe nv110wum-l60 11.0" WUXGA TFT LCD panel
- boe,nv110wum-l60
+ # CSOT pna957qt1-1 10.95" WUXGA TFT LCD panel
+ - csot,pna957qt1-1
# IVO t109nw41 11.0" WUXGA TFT LCD panel
- ivo,t109nw41
# STARRY himax83102-j02 10.51" WUXGA TFT LCD panel
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v1 2/2] drm/panel: panel-himax-hx83102: support for csot-pna957qt1-1 MIPI-DSI panel
2025-01-27 1:46 [PATCH v1 0/2] support for csot-pna957qt1-1 MIPI-DSI panel Langyan Ye
2025-01-27 1:46 ` [PATCH v1 1/2] dt-bindings: display: panel: Add compatible for CSOT PNA957QT1-1 Langyan Ye
@ 2025-01-27 1:46 ` Langyan Ye
2025-01-27 17:33 ` Doug Anderson
1 sibling, 1 reply; 7+ messages in thread
From: Langyan Ye @ 2025-01-27 1:46 UTC (permalink / raw)
To: neil.armstrong, quic_jesszhan, airlied, simona, maarten.lankhorst,
mripard, tzimmermann, robh, krzk+dt, conor+dt, dianders
Cc: dri-devel, devicetree, linux-kernel, Langyan Ye
The csot-pna957qt1-1 is a 10.95" TFT panel. The MIPI controller on this
panel is the same as the other panels here, so add this panel to this
driver. From the datasheet, MIPI needs to keep the LP11 state before
the lcm_reset pin is pulled high, so increase lp11_before_reset flag.
Signed-off-by: Langyan Ye <yelangyan@huaqin.corp-partner.google.com>
---
drivers/gpu/drm/panel/panel-himax-hx83102.c | 123 ++++++++++++++++++++
1 file changed, 123 insertions(+)
diff --git a/drivers/gpu/drm/panel/panel-himax-hx83102.c b/drivers/gpu/drm/panel/panel-himax-hx83102.c
index 8b48bba18131..fbc65d6becb2 100644
--- a/drivers/gpu/drm/panel/panel-himax-hx83102.c
+++ b/drivers/gpu/drm/panel/panel-himax-hx83102.c
@@ -43,6 +43,7 @@
#define HX83102_SETGIP1 0xd5
#define HX83102_SETGIP2 0xd6
#define HX83102_SETGIP3 0xd8
+#define HX83102_UNKNOWN_D9 0xd9
#define HX83102_SETGMA 0xe0
#define HX83102_UNKNOWN_E1 0xe1
#define HX83102_SETTP1 0xe7
@@ -396,6 +397,103 @@ static int ivo_t109nw41_init(struct hx83102 *ctx)
return dsi_ctx.accum_err;
};
+static int csot_pna957qt1_1_init(struct hx83102 *ctx)
+{
+ struct mipi_dsi_multi_context dsi_ctx = { .dsi = ctx->dsi };
+
+ msleep(60);
+
+ hx83102_enable_extended_cmds(&dsi_ctx, true);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETSPCCMD, 0xc4);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_UNKNOWN_D9, 0xd2);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETSPCCMD, 0x3f);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETPOWER, 0x2c, 0xb3, 0xb3, 0x31, 0xf1, 0x33,
+ 0xe0, 0x54, 0x36, 0x36, 0x3a, 0x3a, 0x32, 0x8b, 0x11, 0xe5,
+ 0x98);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETSPCCMD, 0xd9);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETPOWER, 0x8b, 0x33);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETSPCCMD, 0x3f);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETDISP, 0x00, 0x47, 0xb0, 0x80, 0x00, 0x2c,
+ 0x80, 0x3c, 0x9f, 0x22, 0x20, 0x00, 0x00, 0x98, 0x51);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETCYC, 0x41, 0x41, 0x41, 0x41, 0x64, 0x64,
+ 0x40, 0x84, 0x64, 0x84, 0x01, 0x9d, 0x01, 0x02, 0x01, 0x00,
+ 0x00);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETVDC, 0x1b, 0x04);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_UNKNOWN_BE, 0x20);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETPTBA, 0xfc, 0xc4, 0x80, 0x9c, 0x36, 0x00,
+ 0x0d, 0x04);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETSTBA, 0x32, 0x32, 0x22, 0x11, 0x22, 0xa0,
+ 0x31, 0x08, 0xf5, 0x03);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETSPCCMD, 0xcc);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETTCON, 0x80);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETSPCCMD, 0x3f);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETSPCCMD, 0xc6);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETRAMDMY, 0x97);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETSPCCMD, 0x3f);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETPWM, 0x00, 0x1e, 0x13, 0x88, 0x01);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETCLOCK, 0x08, 0x13, 0x07, 0x00, 0x0f,
+ 0x36);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETPANEL, 0x02, 0x03, 0x44);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETPCTRL, 0x07, 0x06, 0x00, 0x02, 0x04, 0x2c,
+ 0xff);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETGIP0, 0x06, 0x00, 0x00, 0x00, 0x40, 0x04,
+ 0x08, 0x04, 0x08, 0x37, 0x07, 0x44, 0x37, 0x2b, 0x2b, 0x03,
+ 0x03, 0x32, 0x10, 0x22, 0x00, 0x25, 0x32, 0x10, 0x29, 0x00,
+ 0x29, 0x32, 0x10, 0x08, 0x00, 0x08, 0x00, 0x00);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETGIP1, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
+ 0x18, 0x18, 0x18, 0x18, 0x07, 0x06, 0x07, 0x06, 0x05, 0x04,
+ 0x05, 0x04, 0x03, 0x02, 0x03, 0x02, 0x01, 0x00, 0x01, 0x00,
+ 0x18, 0x18, 0x25, 0x24, 0x25, 0x24, 0x1f, 0x1f, 0x1f, 0x1f,
+ 0x1e, 0x1e, 0x1e, 0x1e, 0x20, 0x20, 0x20, 0x20);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETGIP3, 0x0a, 0x2a, 0xaa, 0x8a, 0xaa, 0xa0,
+ 0x0a, 0x2a, 0xaa, 0x8a, 0xaa, 0xa0);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETGMA, 0x0a, 0x0e, 0x1a, 0x21, 0x28, 0x46,
+ 0x5c, 0x61, 0x63, 0x5e, 0x78, 0x7d, 0x80, 0x8e, 0x89, 0x90,
+ 0x98, 0xaa, 0xa8, 0x52, 0x59, 0x60, 0x6f, 0x06, 0x0a, 0x16,
+ 0x1d, 0x24, 0x46, 0x5c, 0x61, 0x6b, 0x66, 0x7c, 0x7d, 0x80,
+ 0x8e, 0x89, 0x90, 0x98, 0xaa, 0xa8, 0x52, 0x59, 0x60, 0x6f);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETTP1, 0xe0, 0x10, 0x10, 0x0d, 0x1e, 0x9d,
+ 0x02, 0x52, 0x9d, 0x14, 0x14);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETBANK, 0x01);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETPOWER, 0x01, 0x7f, 0x11, 0xfd);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETSPCCMD, 0xc5);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETMIPI, 0x4f);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETSPCCMD, 0x3f);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETCLOCK, 0x86);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_UNKNOWN_D2, 0x64);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETSPCCMD, 0xc5);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETGIP0, 0x00);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETSPCCMD, 0x3f);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETGIP3, 0x0a, 0x2a, 0xaa, 0x8a, 0xaa, 0xa0,
+ 0x0a, 0x2a, 0xaa, 0x8a, 0xaa, 0xa0, 0x05, 0x15, 0x55, 0x45,
+ 0x55, 0x50, 0x05, 0x15, 0x55, 0x45, 0x55, 0x50);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETTP1, 0x02, 0x00, 0x24, 0x01, 0x7e, 0x0f,
+ 0x7c, 0x10, 0xa0, 0x00, 0x00);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETBANK, 0x02);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETCLOCK, 0x03, 0x07, 0x00, 0x10, 0x7b);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETGIP3, 0x0f, 0x3f, 0xff, 0xcf, 0xff, 0xf0,
+ 0x0f, 0x3f, 0xff, 0xcf, 0xff, 0xf0);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETTP1, 0xfe, 0x01, 0xfe, 0x01, 0xfe, 0x01,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x23, 0x81, 0x02, 0x40, 0x00,
+ 0x20, 0x9d, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETBANK, 0x03);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETDISP, 0x66, 0x81);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETSPCCMD, 0xc6);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETCYC, 0x03, 0xff, 0xf8);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETSPCCMD, 0x3f);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETGIP3, 0x0a, 0x2a, 0xaa, 0x8a, 0xaa, 0xa0,
+ 0x0a, 0x2a, 0xaa, 0x8a, 0xaa, 0xa0, 0x0f, 0x2a, 0xaa, 0x8a,
+ 0xaa, 0xf0, 0x0f, 0x2a, 0xaa, 0x8a, 0xaa, 0xf0, 0x0a, 0x2a,
+ 0xaa, 0x8a, 0xaa, 0xa0, 0x0a, 0x2a, 0xaa, 0x8a, 0xaa, 0xa0);
+ mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETBANK, 0x00);
+ hx83102_enable_extended_cmds(&dsi_ctx, false);
+
+ mipi_dsi_msleep(&dsi_ctx, 60);
+
+ return dsi_ctx.accum_err;
+};
+
static const struct drm_display_mode starry_mode = {
.clock = 162680,
.hdisplay = 1200,
@@ -462,6 +560,28 @@ static const struct hx83102_panel_desc ivo_t109nw41_desc = {
.init = ivo_t109nw41_init,
};
+static const struct drm_display_mode csot_pna957qt1_1_default_mode = {
+ .clock = 177958,
+ .hdisplay = 1200,
+ .hsync_start = 1200 + 124,
+ .hsync_end = 1200 + 124 + 80,
+ .htotal = 1200 + 124 + 80 + 40,
+ .vdisplay = 1920,
+ .vsync_start = 1920 + 88,
+ .vsync_end = 1920 + 88 + 8,
+ .vtotal = 1920 + 88 + 8 + 38,
+ .type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED,
+};
+
+static const struct hx83102_panel_desc csot_pna957qt1_1_desc = {
+ .modes = &csot_pna957qt1_1_default_mode,
+ .size = {
+ .width_mm = 147,
+ .height_mm = 235,
+ },
+ .init = csot_pna957qt1_1_init,
+};
+
static int hx83102_enable(struct drm_panel *panel)
{
msleep(130);
@@ -681,6 +801,9 @@ static const struct of_device_id hx83102_of_match[] = {
{ .compatible = "boe,nv110wum-l60",
.data = &boe_nv110wum_desc
},
+ { .compatible = "csot,pna957qt1-1",
+ .data = &csot_pna957qt1_1_desc
+ },
{ .compatible = "ivo,t109nw41",
.data = &ivo_t109nw41_desc
},
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v1 1/2] dt-bindings: display: panel: Add compatible for CSOT PNA957QT1-1
2025-01-27 1:46 ` [PATCH v1 1/2] dt-bindings: display: panel: Add compatible for CSOT PNA957QT1-1 Langyan Ye
@ 2025-01-27 8:43 ` Krzysztof Kozlowski
2025-01-27 17:33 ` Doug Anderson
0 siblings, 1 reply; 7+ messages in thread
From: Krzysztof Kozlowski @ 2025-01-27 8:43 UTC (permalink / raw)
To: Langyan Ye
Cc: neil.armstrong, quic_jesszhan, airlied, simona, maarten.lankhorst,
mripard, tzimmermann, robh, krzk+dt, conor+dt, dianders,
dri-devel, devicetree, linux-kernel
On Mon, Jan 27, 2025 at 09:46:04AM +0800, Langyan Ye wrote:
> Add a new compatible for the panel CSOT PNA957QT1-1. This panel
> uses HX83102 IC, so add the compatible to the hx83102 binding files.
>
> Signed-off-by: Langyan Ye <yelangyan@huaqin.corp-partner.google.com>
> ---
> .../devicetree/bindings/display/panel/himax,hx83102.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/display/panel/himax,hx83102.yaml b/Documentation/devicetree/bindings/display/panel/himax,hx83102.yaml
> index c649fb085833..d876269e1fac 100644
> --- a/Documentation/devicetree/bindings/display/panel/himax,hx83102.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/himax,hx83102.yaml
> @@ -18,6 +18,8 @@ properties:
> - enum:
> # Boe nv110wum-l60 11.0" WUXGA TFT LCD panel
> - boe,nv110wum-l60
> + # CSOT pna957qt1-1 10.95" WUXGA TFT LCD panel
> + - csot,pna957qt1-1
You need to add such vendor prefix first.
It does not look like you tested the DTS against bindings. Please run
'make dtbs_check W=1' (see
Documentation/devicetree/bindings/writing-schema.rst or
https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/
for instructions).
Maybe you need to update your dtschema and yamllint. Don't rely on
distro packages for dtschema and be sure you are using the latest
released dtschema.
Point us to your DTS so we can validate that you really tested it.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 1/2] dt-bindings: display: panel: Add compatible for CSOT PNA957QT1-1
2025-01-27 8:43 ` Krzysztof Kozlowski
@ 2025-01-27 17:33 ` Doug Anderson
2025-01-27 17:45 ` Krzysztof Kozlowski
0 siblings, 1 reply; 7+ messages in thread
From: Doug Anderson @ 2025-01-27 17:33 UTC (permalink / raw)
To: Langyan Ye
Cc: neil.armstrong, quic_jesszhan, airlied, simona, maarten.lankhorst,
mripard, tzimmermann, robh, krzk+dt, conor+dt, dri-devel,
devicetree, linux-kernel, Krzysztof Kozlowski
Langyan,
On Mon, Jan 27, 2025 at 12:43 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On Mon, Jan 27, 2025 at 09:46:04AM +0800, Langyan Ye wrote:
> > Add a new compatible for the panel CSOT PNA957QT1-1. This panel
> > uses HX83102 IC, so add the compatible to the hx83102 binding files.
> >
> > Signed-off-by: Langyan Ye <yelangyan@huaqin.corp-partner.google.com>
> > ---
> > .../devicetree/bindings/display/panel/himax,hx83102.yaml | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/display/panel/himax,hx83102.yaml b/Documentation/devicetree/bindings/display/panel/himax,hx83102.yaml
> > index c649fb085833..d876269e1fac 100644
> > --- a/Documentation/devicetree/bindings/display/panel/himax,hx83102.yaml
> > +++ b/Documentation/devicetree/bindings/display/panel/himax,hx83102.yaml
> > @@ -18,6 +18,8 @@ properties:
> > - enum:
> > # Boe nv110wum-l60 11.0" WUXGA TFT LCD panel
> > - boe,nv110wum-l60
> > + # CSOT pna957qt1-1 10.95" WUXGA TFT LCD panel
> > + - csot,pna957qt1-1
>
> You need to add such vendor prefix first.
Since you may not know what this means, Krzysztof expects you to add a
new patch to the front of your series adding an entry into
"Documentation/devicetree/bindings/vendor-prefixes.yaml" for "csot".
Based on my experience with eDP panels made by them, presumably "csot"
is "China Star Optoelectronics Technology Co., Ltd" ?
> It does not look like you tested the DTS against bindings. Please run
> 'make dtbs_check W=1' (see
> Documentation/devicetree/bindings/writing-schema.rst or
> https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/
> for instructions).
> Maybe you need to update your dtschema and yamllint. Don't rely on
> distro packages for dtschema and be sure you are using the latest
> released dtschema.
It's important that you figure out how to do the above so you can
validate your bindings yourself.
> Point us to your DTS so we can validate that you really tested it.
Krzysztof: not sure what you're asking for here. I assume Langyan is
posting support for this panel for hardware they are trying to bring
up, and the device tree may not be officially posted anywhere yet.
This is not really a requirement, is it? Given that Langyan is just
adding a compatible to an existing binding, it seems like we can be
fairly certain that the binding is fine without needing an extra dts
example, right?
-Doug
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 2/2] drm/panel: panel-himax-hx83102: support for csot-pna957qt1-1 MIPI-DSI panel
2025-01-27 1:46 ` [PATCH v1 2/2] drm/panel: panel-himax-hx83102: support for csot-pna957qt1-1 MIPI-DSI panel Langyan Ye
@ 2025-01-27 17:33 ` Doug Anderson
0 siblings, 0 replies; 7+ messages in thread
From: Doug Anderson @ 2025-01-27 17:33 UTC (permalink / raw)
To: Langyan Ye
Cc: neil.armstrong, quic_jesszhan, airlied, simona, maarten.lankhorst,
mripard, tzimmermann, robh, krzk+dt, conor+dt, dri-devel,
devicetree, linux-kernel
Hi,
On Sun, Jan 26, 2025 at 5:46 PM Langyan Ye
<yelangyan@huaqin.corp-partner.google.com> wrote:
>
> The csot-pna957qt1-1 is a 10.95" TFT panel. The MIPI controller on this
> panel is the same as the other panels here, so add this panel to this
> driver. From the datasheet, MIPI needs to keep the LP11 state before
> the lcm_reset pin is pulled high, so increase lp11_before_reset flag.
Drop the part about LP11. You must have copied it from an earlier
panel where that flag still made sense. It doesn't make sense to talk
about given the current state of the driver.
> @@ -396,6 +397,103 @@ static int ivo_t109nw41_init(struct hx83102 *ctx)
> return dsi_ctx.accum_err;
> };
>
> +static int csot_pna957qt1_1_init(struct hx83102 *ctx)
> +{
nit: can you keep the functions sorted to match the bindings? So this
function would be in between the BOE init function and the IVO init
function?
> @@ -462,6 +560,28 @@ static const struct hx83102_panel_desc ivo_t109nw41_desc = {
> .init = ivo_t109nw41_init,
> };
>
> +static const struct drm_display_mode csot_pna957qt1_1_default_mode = {
> + .clock = 177958,
nit: similarly, sort the default_mode / desc between the BOE one and
the IVO one.
Other than small nits, this looks pretty nice to me and I'd expect to
give a Reviewed-by tag on v2 unless something major changes.
-Doug
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 1/2] dt-bindings: display: panel: Add compatible for CSOT PNA957QT1-1
2025-01-27 17:33 ` Doug Anderson
@ 2025-01-27 17:45 ` Krzysztof Kozlowski
0 siblings, 0 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2025-01-27 17:45 UTC (permalink / raw)
To: Doug Anderson, Langyan Ye
Cc: neil.armstrong, quic_jesszhan, airlied, simona, maarten.lankhorst,
mripard, tzimmermann, robh, krzk+dt, conor+dt, dri-devel,
devicetree, linux-kernel
On 27/01/2025 18:33, Doug Anderson wrote:
>> Point us to your DTS so we can validate that you really tested it.
>
> Krzysztof: not sure what you're asking for here. I assume Langyan is
> posting support for this panel for hardware they are trying to bring
> up, and the device tree may not be officially posted anywhere yet.
> This is not really a requirement, is it? Given that Langyan is just
If that's the case, it's fine, but sometimes people just wait
unnecessarily with posting DTS.
> adding a compatible to an existing binding, it seems like we can be
> fairly certain that the binding is fine without needing an extra dts
> example, right?
Yes
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-01-27 17:45 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-27 1:46 [PATCH v1 0/2] support for csot-pna957qt1-1 MIPI-DSI panel Langyan Ye
2025-01-27 1:46 ` [PATCH v1 1/2] dt-bindings: display: panel: Add compatible for CSOT PNA957QT1-1 Langyan Ye
2025-01-27 8:43 ` Krzysztof Kozlowski
2025-01-27 17:33 ` Doug Anderson
2025-01-27 17:45 ` Krzysztof Kozlowski
2025-01-27 1:46 ` [PATCH v1 2/2] drm/panel: panel-himax-hx83102: support for csot-pna957qt1-1 MIPI-DSI panel Langyan Ye
2025-01-27 17:33 ` Doug Anderson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox