Skip to contentSkip to conversation

drm/panel: Add panel driver for ChipWealth CH13726A based panels

PATCH Superseded Aaron Kling 2 participants 6 messages Mar 17

Subsystems (4)

v2 of 7 Superseded Latest is v7 →

lore
Share & tools
lore
#0 lore raw

v2 cover drm/panel: Add panel driver for ChipWealth CH13726A based panels

This driver is based on the one by Teguh Sobirin [0], cut down to only support the AYN Thor bottom panel.

[0] https://github.com/AYNTechnologies/linux/commit/d0ff75b09e66023c5f88992706dee4601aa7a437

---
Changes in v2:
- Add Neil Armstrong to binding maintainer list
- Add 120hz mode, which required a minor restructure of the driver
- Link to v1: https://lore.kernel.org/r/[email protected]

---
Aaron Kling (1):
dt-bindings: display: panel: Add ChipWealth CH13726A AMOLED driver bindings

Teguh Sobirin (1):
drm/panel: Add panel driver for ChipWealth CH13726A based panels

 .../display/panel/chipwealth,ch13726a.yaml         |  66 ++++
 drivers/gpu/drm/panel/Kconfig                      |  11 +
 drivers/gpu/drm/panel/Makefile                     |   1 +
 drivers/gpu/drm/panel/panel-chipwealth-ch13726a.c  | 339 +++++++++++++++++++++
 4 files changed, 417 insertions(+)

---
base-commit: 95c541ddfb0815a0ea8477af778bb13bb075079a
change-id: 20260220-ch13726a-59c6678d53d8
prerequisite-change-id: 20260220-ayn-vendor-a153168c29b2:v1
prerequisite-patch-id: 042cab8f04748207ba5395dd0f23c445955aaa2b

Best regards,

Signature · 1 line
Aaron Kling <[email protected]>
#1 lore raw

PATCH v2 1/2 dt-bindings: display: panel: Add ChipWealth CH13726A AMOLED driver bindings

The Chip Wealth Technology CH13726A display driver is a single chip solution for AMOLED using MIPI-DSI. This is used for the AYN Thor bottom panel.

---
 .../display/panel/chipwealth,ch13726a.yaml         | 66 ++++++++++++++++++++++
 1 file changed, 66 insertions(+)
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +66 -0
new file mode 100644
index 0000000000000000000000000000000000000000..b490c6757bb98c0752ded78b8fea3aaec853c7b2
@@ -0,0 +1,66 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/chipwealth,ch13726a.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Chip Wealth Technology CH13726A display driver
+
+maintainers:
+  - Neil Armstrong <[email protected]>
+
+description:
+  Chip Wealth Technology CH13726A is a single-chip solution
+  for AMOLED connected using a MIPI-DSI video interface.
+
+allOf:
+  - $ref: panel-common.yaml#
+
+properties:
+  compatible:
+    const: ayntec,thor-panel-bottom
+
+  port: true
+  reg:
+    maxItems: 1
+    description: DSI virtual channel
+
+  vdd-supply: true
+  vddio-supply: true
+  vdd1v2-supply: true
+  avdd-supply: true
+
+  reset-gpios: true
+
+  rotation: true
+
+required:
+  - compatible
+  - reg
+  - vdd-supply
+  - vddio-supply
+  - vdd1v2-supply
+  - avdd-supply
+  - reset-gpios
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+
+    dsi {
+        #address-cells = <1>;
+        #size-cells = <0>;
+        panel@0 {
+            compatible = "ayntec,thor-panel-bottom";
+            reg = <0>;
+            vdd1v2-supply = <&vreg_l11b_1p2>;
+            vddio-supply = <&vdd_disp_1v8>;
+            vdd-supply = <&vreg_l13b_3p0>;
+            avdd-supply = <&vdd_disp2_2v8>;
+            reset-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>;
+        };
+    };
+
+...
Signature · 1 line
2.53.0
#2 lore raw

Re: [PATCH v2 1/2] dt-bindings: display: panel: Add ChipWealth CH13726A AMOLED driver bindings

Quoted 3 lines · Aaron Kling

The Chip Wealth Technology CH13726A display driver is a single chip solution for AMOLED using MIPI-DSI. This is used for the AYN Thor bottom panel.

A nit, subject: drop second/last, redundant "bindings". The "dt-bindings" prefix is already stating that these are bindings. See also:
https://elixir.bootlin.com/linux/v6.17-rc3/source/Documentation/devicetree/bindings/submitting-patches.rst#L18

Also drop all references to "display driver", even if you meant hardware thing. Driver in hardware is suitable only to motors, haptics and LEDs, but not to displays. AMOLED driver is fine, display driver too confusing.

Quoted 23 lines
---
 .../display/panel/chipwealth,ch13726a.yaml         | 66 ++++++++++++++++++++++
 1 file changed, 66 insertions(+)
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +11 -0
new file mode 100644
index 0000000000000000000000000000000000000000..b490c6757bb98c0752ded78b8fea3aaec853c7b2
@@ -0,0 +1,66 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/chipwealth,ch13726a.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Chip Wealth Technology CH13726A display driver
+
+maintainers:
+  - Neil Armstrong <[email protected]>
+

Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml line 21

Quoted 10 lines
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +10 -0
+description:
+  Chip Wealth Technology CH13726A is a single-chip solution
+  for AMOLED connected using a MIPI-DSI video interface.
+
+allOf:
+  - $ref: panel-common.yaml#
+
+properties:
+  compatible:
+    const: ayntec,thor-panel-bottom

Why compatible is completely different than commit msg, description and title are saying?

Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml line 23

Quoted 2 lines
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +2 -0
+
+  port: true

This goes before reset-gpios

Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml line 34

Quoted 11 lines
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +11 -0
+  reg:
+    maxItems: 1
+    description: DSI virtual channel
+
+  vdd-supply: true
+  vddio-supply: true
+  vdd1v2-supply: true
+  avdd-supply: true
+
+  reset-gpios: true
+

Drop blank line here (it is port+reset-gpios+rotation in three lines).

Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml line 36

Quoted 2 lines
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +2 -0
+  rotation: true
+

Best regards,
Krzysztof

#3 lore raw

Re: [PATCH v2 1/2] dt-bindings: display: panel: Add ChipWealth CH13726A AMOLED driver bindings

Quoted 10 lines · Krzysztof Kozlowski
Quoted 3 lines · Aaron Kling

The Chip Wealth Technology CH13726A display driver is a single chip solution for AMOLED using MIPI-DSI. This is used for the AYN Thor bottom panel.

A nit, subject: drop second/last, redundant "bindings". The "dt-bindings" prefix is already stating that these are bindings. See also:
https://elixir.bootlin.com/linux/v6.17-rc3/source/Documentation/devicetree/bindings/submitting-patches.rst#L18

Ack

Quoted 3 lines

Also drop all references to "display driver", even if you meant hardware thing. Driver in hardware is suitable only to motors, haptics and LEDs, but not to displays. AMOLED driver is fine, display driver too confusing.

Per the data sheet [0], my understanding is that the ch13726 is a ddic, a display driver integrated circuit, which is a class of generic chip that gets bundled with multiple panels. This data sheet doesn't use the specific term ddic, but others I'm working on do and the term crept across for consistency. I can change the description to avoid confusion, Is 'AMOLED driver' enough to imply that this is a common chip supporting multiple panels?

Quoted 28 lines
Quoted 28 lines
---
 .../display/panel/chipwealth,ch13726a.yaml         | 66 ++++++++++++++++++++++
 1 file changed, 66 insertions(+)
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +16 -0
new file mode 100644
index 0000000000000000000000000000000000000000..b490c6757bb98c0752ded78b8fea3aaec853c7b2
@@ -0,0 +1,66 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/chipwealth,ch13726a.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Chip Wealth Technology CH13726A display driver
+
+maintainers:
+  - Neil Armstrong <[email protected]>
+
+description:
+  Chip Wealth Technology CH13726A is a single-chip solution
+  for AMOLED connected using a MIPI-DSI video interface.
+
+allOf:
Quoted 8 lines

Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml line 21

Quoted 5 lines
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +5 -0
+  - $ref: panel-common.yaml#
+
+properties:
+  compatible:
+    const: ayntec,thor-panel-bottom

Why compatible is completely different than commit msg, description and title are saying?

See above for the general explanation. I don't know what the panel part number for this is, the only thing the odm described was the ddic. So I'm describing where the panel is used. There is precedence for this, for example rocktech,jh057n00900 containing gameforce,chi-panel. The downstream driver code I based on also supports displays from retroidpocket, so I'm also trying to leave a simple path for those to be added, should someone care to.

Quoted 4 lines

Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml line 23

Quoted 2 lines
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +2 -0
+
+  port: true

This goes before reset-gpios

Ack

Quoted 5 lines
Quoted 5 lines
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +5 -0
+  reg:
+    maxItems: 1
+    description: DSI virtual channel
+
+  vdd-supply: true
Quoted 8 lines

Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml line 34

Quoted 6 lines
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +6 -0
+  vddio-supply: true
+  vdd1v2-supply: true
+  avdd-supply: true
+
+  reset-gpios: true
+

Drop blank line here (it is port+reset-gpios+rotation in three lines).

Ack

Quoted 7 lines

Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml line 36

Quoted 3 lines
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +2 -0
+  rotation: true
+

Best regards,
Krzysztof

Aaron

#4 lore raw

Re: [PATCH v2 1/2] dt-bindings: display: panel: Add ChipWealth CH13726A AMOLED driver bindings

Quoted 19 lines · Aaron Kling
Quoted 10 lines · Krzysztof Kozlowski
Quoted 3 lines · Aaron Kling

The Chip Wealth Technology CH13726A display driver is a single chip solution for AMOLED using MIPI-DSI. This is used for the AYN Thor bottom panel.

A nit, subject: drop second/last, redundant "bindings". The "dt-bindings" prefix is already stating that these are bindings. See also:
https://elixir.bootlin.com/linux/v6.17-rc3/source/Documentation/devicetree/bindings/submitting-patches.rst#L18

Ack

Quoted 3 lines

Also drop all references to "display driver", even if you meant hardware thing. Driver in hardware is suitable only to motors, haptics and LEDs, but not to displays. AMOLED driver is fine, display driver too confusing.

Quoted 7 lines

Per the data sheet [0], my understanding is that the ch13726 is a ddic, a display driver integrated circuit, which is a class of generic chip that gets bundled with multiple panels. This data sheet doesn't use the specific term ddic, but others I'm working on do and the term crept across for consistency. I can change the description to avoid confusion, Is 'AMOLED driver' enough to imply that this is a common chip supporting multiple panels?

Sorry, forgot to actually paste the link [0] in my last reply. Adding now.

Quoted 66 lines
Quoted 28 lines
Quoted 28 lines
---
 .../display/panel/chipwealth,ch13726a.yaml         | 66 ++++++++++++++++++++++
 1 file changed, 66 insertions(+)
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +16 -0
new file mode 100644
index 0000000000000000000000000000000000000000..b490c6757bb98c0752ded78b8fea3aaec853c7b2
@@ -0,0 +1,66 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/chipwealth,ch13726a.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Chip Wealth Technology CH13726A display driver
+
+maintainers:
+  - Neil Armstrong <[email protected]>
+
+description:
+  Chip Wealth Technology CH13726A is a single-chip solution
+  for AMOLED connected using a MIPI-DSI video interface.
+
+allOf:
Quoted 8 lines

Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml line 21

Quoted 5 lines
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +5 -0
+  - $ref: panel-common.yaml#
+
+properties:
+  compatible:
+    const: ayntec,thor-panel-bottom

Why compatible is completely different than commit msg, description and title are saying?

See above for the general explanation. I don't know what the panel part number for this is, the only thing the odm described was the ddic. So I'm describing where the panel is used. There is precedence for this, for example rocktech,jh057n00900 containing gameforce,chi-panel. The downstream driver code I based on also supports displays from retroidpocket, so I'm also trying to leave a simple path for those to be added, should someone care to.

Quoted 4 lines

Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml line 23

Quoted 2 lines
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +2 -0
+
+  port: true

This goes before reset-gpios

Ack

Quoted 5 lines
Quoted 5 lines
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +5 -0
+  reg:
+    maxItems: 1
+    description: DSI virtual channel
+
+  vdd-supply: true
Quoted 8 lines

Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml line 34

Quoted 6 lines
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +6 -0
+  vddio-supply: true
+  vdd1v2-supply: true
+  avdd-supply: true
+
+  reset-gpios: true
+

Drop blank line here (it is port+reset-gpios+rotation in three lines).

Quoted 9 lines

Ack

Quoted 7 lines

Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml line 36

Quoted 3 lines
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +2 -0
+  rotation: true
+

Best regards,
Krzysztof

Aaron

[0] https://www.scribd.com/document/910879274/CH13726A-SPEC-V0-0

#5 lore raw

PATCH v2 2/2 drm/panel: Add panel driver for ChipWealth CH13726A based panels

In reply to Aaron Kling

From: Teguh Sobirin <[email protected]>

This is used by the AYN Thor for the bottom panel.

---
 drivers/gpu/drm/panel/Kconfig                     |  11 +
 drivers/gpu/drm/panel/Makefile                    |   1 +
 drivers/gpu/drm/panel/panel-chipwealth-ch13726a.c | 339 ++++++++++++++++++++++
 3 files changed, 351 insertions(+)
drivers/gpu/drm/panel/Kconfig +11 -0
index a99f2e2a49fe66a09c6f2d503f570b05a5e228b1..e953b61a819082866b93d0a453ee750a76d70c18 100644
@@ -105,6 +105,17 @@ config DRM_PANEL_BOE_TV101WUM_LL2
 	  Say Y here if you want to support for BOE TV101WUM-LL2
 	  WUXGA PANEL DSI Video Mode panel
 
+config DRM_PANEL_CHIPWEALTH_CH13726A
+	tristate "CHIPWEALTH CH13726A-based DSI panel"
+	depends on OF
+	depends on DRM_MIPI_DSI
+	depends on BACKLIGHT_CLASS_DEVICE
+	select DRM_DISPLAY_DP_HELPER
+	select DRM_DISPLAY_HELPER
+	help
+	  Say Y here if you want to enable support for ChipWealth
+	  CH13726A-based display panels.
+
 config DRM_PANEL_EBBG_FT8719
 	tristate "EBBG FT8719 panel driver"
 	depends on OF
drivers/gpu/drm/panel/Makefile +1 -0
index 3336a2c0cd86419b6a22f74dcde6df966a311da9..85da2eb5a5c664d4302837f52e7e10ec11da8966 100644
@@ -9,6 +9,7 @@ obj-$(CONFIG_DRM_PANEL_BOE_TD4320) += panel-boe-td4320.o
 obj-$(CONFIG_DRM_PANEL_BOE_TH101MB31UIG002_28A) += panel-boe-th101mb31ig002-28a.o
 obj-$(CONFIG_DRM_PANEL_BOE_TV101WUM_LL2) += panel-boe-tv101wum-ll2.o
 obj-$(CONFIG_DRM_PANEL_BOE_TV101WUM_NL6) += panel-boe-tv101wum-nl6.o
+obj-$(CONFIG_DRM_PANEL_CHIPWEALTH_CH13726A) += panel-chipwealth-ch13726a.o
 obj-$(CONFIG_DRM_PANEL_DSI_CM) += panel-dsi-cm.o
 obj-$(CONFIG_DRM_PANEL_LVDS) += panel-lvds.o
 obj-$(CONFIG_DRM_PANEL_SIMPLE) += panel-simple.o
drivers/gpu/drm/panel/panel-chipwealth-ch13726a.c new file +339 -0

339 lines not on this page · raw message

Signature · 1 line
2.53.0