* [PATCH v2 0/3] support for csot-pna957qt1-1 MIPI-DSI panel
@ 2025-02-06 13:12 Langyan Ye
2025-02-06 13:12 ` [PATCH v2 1/3] dt-bindings: vendor: add csot Langyan Ye
` (2 more replies)
0 siblings, 3 replies; 14+ messages in thread
From: Langyan Ye @ 2025-02-06 13:12 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 "csot" to the Devicetree Vendor Prefix Registry.
Adjust functions and default_mode/desc ordering to match bindings.
Changes in v2:
- PATCH 1/3: Add "csot" to the Devicetree Vendor Prefix Registry.
- PATCH 3/3: Adjust functions and default_mode/desc ordering to match bindings.
- Link to v1: https://lore.kernel.org/all/20250127014605.1862287-1-yelangyan@huaqin.corp-partner.google.com/
Langyan Ye (3):
dt-bindings: vendor: add csot
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 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
drivers/gpu/drm/panel/panel-himax-hx83102.c | 123 ++++++++++++++++++
3 files changed, 127 insertions(+)
--
2.34.1
^ permalink raw reply [flat|nested] 14+ messages in thread* [PATCH v2 1/3] dt-bindings: vendor: add csot 2025-02-06 13:12 [PATCH v2 0/3] support for csot-pna957qt1-1 MIPI-DSI panel Langyan Ye @ 2025-02-06 13:12 ` Langyan Ye 2025-02-06 17:12 ` Doug Anderson 2025-02-06 13:12 ` [PATCH v2 2/3] dt-bindings: display: panel: Add compatible for CSOT PNA957QT1-1 Langyan Ye 2025-02-06 13:13 ` [PATCH v2 3/3] drm/panel: panel-himax-hx83102: support for csot-pna957qt1-1 MIPI-DSI panel Langyan Ye 2 siblings, 1 reply; 14+ messages in thread From: Langyan Ye @ 2025-02-06 13:12 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 "csot" to the Devicetree Vendor Prefix Registry. Signed-off-by: Langyan Ye <yelangyan@huaqin.corp-partner.google.com> --- Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml index 42d14899d584..375f1f7c79ef 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml @@ -336,6 +336,8 @@ patternProperties: description: Crystalfontz America, Inc. "^csky,.*": description: Hangzhou C-SKY Microsystems Co., Ltd + "^csot,.*": + description: Guangzhou China Star Optoelectronics Technology Co., Ltd "^csq,.*": description: Shenzen Chuangsiqi Technology Co.,Ltd. "^ctera,.*": -- 2.34.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v2 1/3] dt-bindings: vendor: add csot 2025-02-06 13:12 ` [PATCH v2 1/3] dt-bindings: vendor: add csot Langyan Ye @ 2025-02-06 17:12 ` Doug Anderson 2025-02-06 18:13 ` Conor Dooley 0 siblings, 1 reply; 14+ messages in thread From: Doug Anderson @ 2025-02-06 17:12 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 Thu, Feb 6, 2025 at 5:13 AM Langyan Ye <yelangyan@huaqin.corp-partner.google.com> wrote: > > Add "csot" to the Devicetree Vendor Prefix Registry. > > Signed-off-by: Langyan Ye <yelangyan@huaqin.corp-partner.google.com> > --- > Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml > index 42d14899d584..375f1f7c79ef 100644 > --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml > +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml > @@ -336,6 +336,8 @@ patternProperties: > description: Crystalfontz America, Inc. > "^csky,.*": > description: Hangzhou C-SKY Microsystems Co., Ltd > + "^csot,.*": > + description: Guangzhou China Star Optoelectronics Technology Co., Ltd Doing a `git log` on `Documentation/devicetree/bindings/vendor-prefixes.yaml` shows that most patches use the subject prefix `dt-bindings: vendor-prefixes`, not `dt-bindings: vendor`. If device-tree folks care about this difference and they don't want to fix it when applying, they might request you to send a new version. In any case, that's fairly minor so I'm OK with: Reviewed-by: Douglas Anderson <dianders@chromium.org> I would assume this will go through the DT tree, not drm-misc. If this is wrong then someone should shout. -Doug ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 1/3] dt-bindings: vendor: add csot 2025-02-06 17:12 ` Doug Anderson @ 2025-02-06 18:13 ` Conor Dooley 2025-02-06 19:21 ` Doug Anderson 0 siblings, 1 reply; 14+ messages in thread From: Conor Dooley @ 2025-02-06 18:13 UTC (permalink / raw) To: Doug Anderson Cc: Langyan Ye, neil.armstrong, quic_jesszhan, airlied, simona, maarten.lankhorst, mripard, tzimmermann, robh, krzk+dt, conor+dt, dri-devel, devicetree, linux-kernel [-- Attachment #1: Type: text/plain, Size: 1775 bytes --] On Thu, Feb 06, 2025 at 09:12:45AM -0800, Doug Anderson wrote: > Hi, > > On Thu, Feb 6, 2025 at 5:13 AM Langyan Ye > <yelangyan@huaqin.corp-partner.google.com> wrote: > > > > Add "csot" to the Devicetree Vendor Prefix Registry. > > > > Signed-off-by: Langyan Ye <yelangyan@huaqin.corp-partner.google.com> > > --- > > Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml > > index 42d14899d584..375f1f7c79ef 100644 > > --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml > > +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml > > @@ -336,6 +336,8 @@ patternProperties: > > description: Crystalfontz America, Inc. > > "^csky,.*": > > description: Hangzhou C-SKY Microsystems Co., Ltd > > + "^csot,.*": > > + description: Guangzhou China Star Optoelectronics Technology Co., Ltd > > Doing a `git log` on > `Documentation/devicetree/bindings/vendor-prefixes.yaml` shows that > most patches use the subject prefix `dt-bindings: vendor-prefixes`, > not `dt-bindings: vendor`. If device-tree folks care about this > difference and they don't want to fix it when applying, they might > request you to send a new version. > > In any case, that's fairly minor so I'm OK with: > > Reviewed-by: Douglas Anderson <dianders@chromium.org> > > I would assume this will go through the DT tree, not drm-misc. If this > is wrong then someone should shout. idk, probably the whole series should go together via drm-misc. %subject can change if there's a resubmission, otherwise Acked-by: Conor Dooley <conor.dooley@microchip.com> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 1/3] dt-bindings: vendor: add csot 2025-02-06 18:13 ` Conor Dooley @ 2025-02-06 19:21 ` Doug Anderson 2025-02-07 17:58 ` Doug Anderson 0 siblings, 1 reply; 14+ messages in thread From: Doug Anderson @ 2025-02-06 19:21 UTC (permalink / raw) To: Conor Dooley Cc: Langyan Ye, neil.armstrong, quic_jesszhan, airlied, simona, maarten.lankhorst, mripard, tzimmermann, robh, krzk+dt, conor+dt, dri-devel, devicetree, linux-kernel Hi, On Thu, Feb 6, 2025 at 10:13 AM Conor Dooley <conor@kernel.org> wrote: > > On Thu, Feb 06, 2025 at 09:12:45AM -0800, Doug Anderson wrote: > > Hi, > > > > On Thu, Feb 6, 2025 at 5:13 AM Langyan Ye > > <yelangyan@huaqin.corp-partner.google.com> wrote: > > > > > > Add "csot" to the Devicetree Vendor Prefix Registry. > > > > > > Signed-off-by: Langyan Ye <yelangyan@huaqin.corp-partner.google.com> > > > --- > > > Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ > > > 1 file changed, 2 insertions(+) > > > > > > diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml > > > index 42d14899d584..375f1f7c79ef 100644 > > > --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml > > > +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml > > > @@ -336,6 +336,8 @@ patternProperties: > > > description: Crystalfontz America, Inc. > > > "^csky,.*": > > > description: Hangzhou C-SKY Microsystems Co., Ltd > > > + "^csot,.*": > > > + description: Guangzhou China Star Optoelectronics Technology Co., Ltd > > > > Doing a `git log` on > > `Documentation/devicetree/bindings/vendor-prefixes.yaml` shows that > > most patches use the subject prefix `dt-bindings: vendor-prefixes`, > > not `dt-bindings: vendor`. If device-tree folks care about this > > difference and they don't want to fix it when applying, they might > > request you to send a new version. > > > > In any case, that's fairly minor so I'm OK with: > > > > Reviewed-by: Douglas Anderson <dianders@chromium.org> > > > > I would assume this will go through the DT tree, not drm-misc. If this > > is wrong then someone should shout. > > idk, probably the whole series should go together via drm-misc. > %subject can change if there's a resubmission, otherwise > Acked-by: Conor Dooley <conor.dooley@microchip.com> Ah, I'm fine landing it with drm-misc. I'll land it tomorrow unless there are objections. I'll adjust the subject when landing. -Doug ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 1/3] dt-bindings: vendor: add csot 2025-02-06 19:21 ` Doug Anderson @ 2025-02-07 17:58 ` Doug Anderson 0 siblings, 0 replies; 14+ messages in thread From: Doug Anderson @ 2025-02-07 17:58 UTC (permalink / raw) To: Conor Dooley Cc: Langyan Ye, neil.armstrong, quic_jesszhan, airlied, simona, maarten.lankhorst, mripard, tzimmermann, robh, krzk+dt, conor+dt, dri-devel, devicetree, linux-kernel Hi, On Thu, Feb 6, 2025 at 11:21 AM Doug Anderson <dianders@chromium.org> wrote: > > Hi, > > On Thu, Feb 6, 2025 at 10:13 AM Conor Dooley <conor@kernel.org> wrote: > > > > On Thu, Feb 06, 2025 at 09:12:45AM -0800, Doug Anderson wrote: > > > Hi, > > > > > > On Thu, Feb 6, 2025 at 5:13 AM Langyan Ye > > > <yelangyan@huaqin.corp-partner.google.com> wrote: > > > > > > > > Add "csot" to the Devicetree Vendor Prefix Registry. > > > > > > > > Signed-off-by: Langyan Ye <yelangyan@huaqin.corp-partner.google.com> > > > > --- > > > > Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ > > > > 1 file changed, 2 insertions(+) > > > > > > > > diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml > > > > index 42d14899d584..375f1f7c79ef 100644 > > > > --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml > > > > +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml > > > > @@ -336,6 +336,8 @@ patternProperties: > > > > description: Crystalfontz America, Inc. > > > > "^csky,.*": > > > > description: Hangzhou C-SKY Microsystems Co., Ltd > > > > + "^csot,.*": > > > > + description: Guangzhou China Star Optoelectronics Technology Co., Ltd > > > > > > Doing a `git log` on > > > `Documentation/devicetree/bindings/vendor-prefixes.yaml` shows that > > > most patches use the subject prefix `dt-bindings: vendor-prefixes`, > > > not `dt-bindings: vendor`. If device-tree folks care about this > > > difference and they don't want to fix it when applying, they might > > > request you to send a new version. > > > > > > In any case, that's fairly minor so I'm OK with: > > > > > > Reviewed-by: Douglas Anderson <dianders@chromium.org> > > > > > > I would assume this will go through the DT tree, not drm-misc. If this > > > is wrong then someone should shout. > > > > idk, probably the whole series should go together via drm-misc. > > %subject can change if there's a resubmission, otherwise > > Acked-by: Conor Dooley <conor.dooley@microchip.com> > > Ah, I'm fine landing it with drm-misc. I'll land it tomorrow unless > there are objections. I'll adjust the subject when landing. Pushed to drm-misc-next with Conor's Ack after adjusting the subject: [1/3] dt-bindings: vendor-prefixes: add csot commit: 75e80af7d62e0dde006c23aec67b9ec8037324db ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v2 2/3] dt-bindings: display: panel: Add compatible for CSOT PNA957QT1-1 2025-02-06 13:12 [PATCH v2 0/3] support for csot-pna957qt1-1 MIPI-DSI panel Langyan Ye 2025-02-06 13:12 ` [PATCH v2 1/3] dt-bindings: vendor: add csot Langyan Ye @ 2025-02-06 13:12 ` Langyan Ye 2025-02-06 17:17 ` Doug Anderson 2025-02-06 18:14 ` Conor Dooley 2025-02-06 13:13 ` [PATCH v2 3/3] drm/panel: panel-himax-hx83102: support for csot-pna957qt1-1 MIPI-DSI panel Langyan Ye 2 siblings, 2 replies; 14+ messages in thread From: Langyan Ye @ 2025-02-06 13:12 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] 14+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: display: panel: Add compatible for CSOT PNA957QT1-1 2025-02-06 13:12 ` [PATCH v2 2/3] dt-bindings: display: panel: Add compatible for CSOT PNA957QT1-1 Langyan Ye @ 2025-02-06 17:17 ` Doug Anderson 2025-02-06 18:14 ` Conor Dooley 1 sibling, 0 replies; 14+ messages in thread From: Doug Anderson @ 2025-02-06 17:17 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 Thu, Feb 6, 2025 at 5:13 AM Langyan Ye <yelangyan@huaqin.corp-partner.google.com> 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(+) I haven't personally run this through DT validation, but this looks good to me from a visual inspection. Reviewed-by: Douglas Anderson <dianders@chromium.org> I would assume this lands through the drm-misc tree and it'll meet up with the vendor-prefix patch in mainline. That'll cause a temporary schema validation error in drm-misc but I think that's OK, right? I also wouldn't personally object to this landing through the DT bindings tree. As a simple drm-misc committer I'm not sure I have the official authority to ack that, but I've given my blessing for stuff like this in the past and haven't been yelled at yet. For now, I'll wait for a DT maintainer to give it a review and guidance. -Doug ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: display: panel: Add compatible for CSOT PNA957QT1-1 2025-02-06 13:12 ` [PATCH v2 2/3] dt-bindings: display: panel: Add compatible for CSOT PNA957QT1-1 Langyan Ye 2025-02-06 17:17 ` Doug Anderson @ 2025-02-06 18:14 ` Conor Dooley 2025-02-07 17:59 ` Doug Anderson 1 sibling, 1 reply; 14+ messages in thread From: Conor Dooley @ 2025-02-06 18:14 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 [-- Attachment #1: Type: text/plain, Size: 331 bytes --] On Thu, Feb 06, 2025 at 09:12:59PM +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> Acked-by: Conor Dooley <conor.dooley@microchip.com> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: display: panel: Add compatible for CSOT PNA957QT1-1 2025-02-06 18:14 ` Conor Dooley @ 2025-02-07 17:59 ` Doug Anderson 0 siblings, 0 replies; 14+ messages in thread From: Doug Anderson @ 2025-02-07 17:59 UTC (permalink / raw) To: Conor Dooley Cc: Langyan Ye, neil.armstrong, quic_jesszhan, airlied, simona, maarten.lankhorst, mripard, tzimmermann, robh, krzk+dt, conor+dt, dri-devel, devicetree, linux-kernel Hi, On Thu, Feb 6, 2025 at 10:14 AM Conor Dooley <conor@kernel.org> wrote: > > On Thu, Feb 06, 2025 at 09:12:59PM +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> > > Acked-by: Conor Dooley <conor.dooley@microchip.com> Pushed to drm-misc-next with Conor's Ack: [2/3] dt-bindings: display: panel: Add compatible for CSOT PNA957QT1-1 commit: 36947218ca90c1f560f43c88c438124f8df884d4 ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v2 3/3] drm/panel: panel-himax-hx83102: support for csot-pna957qt1-1 MIPI-DSI panel 2025-02-06 13:12 [PATCH v2 0/3] support for csot-pna957qt1-1 MIPI-DSI panel Langyan Ye 2025-02-06 13:12 ` [PATCH v2 1/3] dt-bindings: vendor: add csot Langyan Ye 2025-02-06 13:12 ` [PATCH v2 2/3] dt-bindings: display: panel: Add compatible for CSOT PNA957QT1-1 Langyan Ye @ 2025-02-06 13:13 ` Langyan Ye 2025-02-06 16:32 ` neil.armstrong ` (2 more replies) 2 siblings, 3 replies; 14+ messages in thread From: Langyan Ye @ 2025-02-06 13:13 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. 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..ba5e5b7df5fc 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 @@ -291,6 +292,103 @@ static int boe_nv110wum_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 int ivo_t109nw41_init(struct hx83102 *ctx) { struct mipi_dsi_multi_context dsi_ctx = { .dsi = ctx->dsi }; @@ -440,6 +538,28 @@ static const struct hx83102_panel_desc boe_nv110wum_desc = { .init = boe_nv110wum_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 const struct drm_display_mode ivo_t109nw41_default_mode = { .clock = 167700, .hdisplay = 1200, @@ -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] 14+ messages in thread
* Re: [PATCH v2 3/3] drm/panel: panel-himax-hx83102: support for csot-pna957qt1-1 MIPI-DSI panel 2025-02-06 13:13 ` [PATCH v2 3/3] drm/panel: panel-himax-hx83102: support for csot-pna957qt1-1 MIPI-DSI panel Langyan Ye @ 2025-02-06 16:32 ` neil.armstrong 2025-02-06 17:20 ` Doug Anderson 2025-02-07 17:59 ` Doug Anderson 2 siblings, 0 replies; 14+ messages in thread From: neil.armstrong @ 2025-02-06 16:32 UTC (permalink / raw) To: Langyan Ye, quic_jesszhan, airlied, simona, maarten.lankhorst, mripard, tzimmermann, robh, krzk+dt, conor+dt, dianders Cc: dri-devel, devicetree, linux-kernel On 06/02/2025 14:13, Langyan Ye 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. > > 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..ba5e5b7df5fc 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 > @@ -291,6 +292,103 @@ static int boe_nv110wum_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 int ivo_t109nw41_init(struct hx83102 *ctx) > { > struct mipi_dsi_multi_context dsi_ctx = { .dsi = ctx->dsi }; > @@ -440,6 +538,28 @@ static const struct hx83102_panel_desc boe_nv110wum_desc = { > .init = boe_nv110wum_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 const struct drm_display_mode ivo_t109nw41_default_mode = { > .clock = 167700, > .hdisplay = 1200, > @@ -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 > }, Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 3/3] drm/panel: panel-himax-hx83102: support for csot-pna957qt1-1 MIPI-DSI panel 2025-02-06 13:13 ` [PATCH v2 3/3] drm/panel: panel-himax-hx83102: support for csot-pna957qt1-1 MIPI-DSI panel Langyan Ye 2025-02-06 16:32 ` neil.armstrong @ 2025-02-06 17:20 ` Doug Anderson 2025-02-07 17:59 ` Doug Anderson 2 siblings, 0 replies; 14+ messages in thread From: Doug Anderson @ 2025-02-06 17:20 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 Thu, Feb 6, 2025 at 5:13 AM 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. > > 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(+) Reviewed-by: Douglas Anderson <dianders@chromium.org> There's no rocket science here, so assuming that the bindings get DT acks I probably won't add any real delay before landing... ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 3/3] drm/panel: panel-himax-hx83102: support for csot-pna957qt1-1 MIPI-DSI panel 2025-02-06 13:13 ` [PATCH v2 3/3] drm/panel: panel-himax-hx83102: support for csot-pna957qt1-1 MIPI-DSI panel Langyan Ye 2025-02-06 16:32 ` neil.armstrong 2025-02-06 17:20 ` Doug Anderson @ 2025-02-07 17:59 ` Doug Anderson 2 siblings, 0 replies; 14+ messages in thread From: Doug Anderson @ 2025-02-07 17:59 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 Thu, Feb 6, 2025 at 5:13 AM 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. > > 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(+) Pushed to drm-misc-next: [3/3] drm/panel: panel-himax-hx83102: support for csot-pna957qt1-1 MIPI-DSI panel commit: 05345cea4ff5a857612df3f10144dec685c07e6d ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2025-02-07 18:05 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-02-06 13:12 [PATCH v2 0/3] support for csot-pna957qt1-1 MIPI-DSI panel Langyan Ye 2025-02-06 13:12 ` [PATCH v2 1/3] dt-bindings: vendor: add csot Langyan Ye 2025-02-06 17:12 ` Doug Anderson 2025-02-06 18:13 ` Conor Dooley 2025-02-06 19:21 ` Doug Anderson 2025-02-07 17:58 ` Doug Anderson 2025-02-06 13:12 ` [PATCH v2 2/3] dt-bindings: display: panel: Add compatible for CSOT PNA957QT1-1 Langyan Ye 2025-02-06 17:17 ` Doug Anderson 2025-02-06 18:14 ` Conor Dooley 2025-02-07 17:59 ` Doug Anderson 2025-02-06 13:13 ` [PATCH v2 3/3] drm/panel: panel-himax-hx83102: support for csot-pna957qt1-1 MIPI-DSI panel Langyan Ye 2025-02-06 16:32 ` neil.armstrong 2025-02-06 17:20 ` Doug Anderson 2025-02-07 17:59 ` Doug Anderson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox