Skip to contentSkip to conversation

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

PATCH Superseded Aaron Kling 3 participants 7 messages Mar 23 – Apr 7

Subsystems (4)

v3 of 7 Superseded Latest is v7 →

lore
Share & tools
lore
#0 lore raw

v3 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.

Due to [1], the AYN vendor description patch has been folded into the AYN QCS8550 dt series. Which means this series now depends on said series and it must be picked up before this.

[0] https://github.com/AYNTechnologies/linux/commit/d0ff75b09e66023c5f88992706dee4601aa7a437
[1] https://lore.kernel.org/linux-arm-msm/[email protected]

---
Changes in v3:
- Reword patch 1 commit message for clarity
- Order properties properly in patch 1
- Track vendor description dependency series change
- Link to v2: https://lore.kernel.org/r/[email protected]

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

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

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

---
base-commit: 785f0eb2f85decbe7c1ef9ae922931f0194ffc2e
change-id: 20260220-ch13726a-59c6678d53d8
prerequisite-change-id: 20260217-ayn-qcs8550-16c07b63de26:v4
prerequisite-patch-id: 042cab8f04748207ba5395dd0f23c445955aaa2b
prerequisite-patch-id: 4e13275bfaa4f838a627fe8dfa3d4cb8972fc5b4
prerequisite-patch-id: 16c130bcfd7c787b91e828b8e600bd0d740f937e
prerequisite-patch-id: 4b7e6b017349c386f54e221790da4392fe066ff3
prerequisite-patch-id: 3844bef2eda3cf59031b1d131eb6ba9295629bb4
prerequisite-patch-id: bcb261e40f0386b91a09eb4080cbdf74d21f3df2

Best regards,

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

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

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

---
 .../display/panel/chipwealth,ch13726a.yaml         | 65 ++++++++++++++++++++++
 1 file changed, 65 insertions(+)
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +65 -0
new file mode 100644
index 0000000000000000000000000000000000000000..5d964900795653401a871994bcf6403cdeaad64f
@@ -0,0 +1,65 @@
+# 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 AMOLED 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
+
+  reg:
+    maxItems: 1
+    description: DSI virtual channel
+
+  vdd-supply: true
+  vddio-supply: true
+  vdd1v2-supply: true
+  avdd-supply: true
+
+  port: 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 v3 1/2] dt-bindings: display: panel: Add ChipWealth CH13726A AMOLED driver

Quoted 18 lines · Aaron Kling

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

---
 .../display/panel/chipwealth,ch13726a.yaml         | 65 ++++++++++++++++++++++
 1 file changed, 65 insertions(+)
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +4 -0
new file mode 100644
index 0000000000000000000000000000000000000000..5d964900795653401a871994bcf6403cdeaad64f
@@ -0,0 +1,65 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/chipwealth,ch13726a.yaml#

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

Quoted 10 lines
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +10 -0
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Chip Wealth Technology CH13726A AMOLED 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.

Here you describe the hardware, including what I asked last time - explain why this is ayntec thor panel, but not chipwealth,ch13726a.

Then also name the file as the compatible. If you do not know the part (model?) number, then why do you think filename should be called ch13726a?

Best regards,
Krzysztof

#3 lore raw

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

Quoted 34 lines · Krzysztof Kozlowski
Quoted 18 lines · Aaron Kling

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

---
 .../display/panel/chipwealth,ch13726a.yaml         | 65 ++++++++++++++++++++++
 1 file changed, 65 insertions(+)
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +4 -0
new file mode 100644
index 0000000000000000000000000000000000000000..5d964900795653401a871994bcf6403cdeaad64f
@@ -0,0 +1,65 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/chipwealth,ch13726a.yaml#

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

Quoted 10 lines
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +10 -0
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Chip Wealth Technology CH13726A AMOLED 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.

Here you describe the hardware, including what I asked last time - explain why this is ayntec thor panel, but not chipwealth,ch13726a.

Quoted 3 lines

Then also name the file as the compatible. If you do not know the part (model?) number, then why do you think filename should be called ch13726a?

The vendor source release for the AYN Thor calls the 'panel' ch13726a, but per the data sheet for said part, it's a chip used in various panels, not a panel itself. The handling for various panels using this chip will share a lot of similarities since the chip is what the kernel driver will talk to. The alternative would be having separate drivers and bindings for every panel that will be mostly duplicated. This is the case for multiple things supported in the kernel already, such as the vtdr6130 which is currently described as a unique panel but is in fact the part number for a ddic. And I will need to refactor that for another device I have in the pipeline. In fact, all the device panels I need to submit in this context reference ddic's and not unique panel models. I'm waiting to see what gets approved for this series before sending the rest of those in.

If I add something to the description like 'This chip is not a panel itself, but is used to control various panels', would that be sufficient? Or does the kernel need a new way to describe ddic's separately from panels, since this seems to be common now?

Aaron

#4 lore raw

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

Quoted 54 lines · Aaron Kling
Quoted 34 lines · Krzysztof Kozlowski
Quoted 18 lines · Aaron Kling

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

---
 .../display/panel/chipwealth,ch13726a.yaml         | 65 ++++++++++++++++++++++
 1 file changed, 65 insertions(+)
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +4 -0
new file mode 100644
index 0000000000000000000000000000000000000000..5d964900795653401a871994bcf6403cdeaad64f
@@ -0,0 +1,65 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/chipwealth,ch13726a.yaml#

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

Quoted 10 lines
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +10 -0
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Chip Wealth Technology CH13726A AMOLED 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.

Here you describe the hardware, including what I asked last time - explain why this is ayntec thor panel, but not chipwealth,ch13726a.

Quoted 3 lines

Then also name the file as the compatible. If you do not know the part (model?) number, then why do you think filename should be called ch13726a?

The vendor source release for the AYN Thor calls the 'panel' ch13726a, but per the data sheet for said part, it's a chip used in various panels, not a panel itself. The handling for various panels using this chip will share a lot of similarities since the chip is what the kernel driver will talk to. The alternative would be having separate drivers and bindings for every panel that will be mostly duplicated. This is the case for multiple things supported in the kernel already, such as the vtdr6130 which is currently described as a unique panel but is in fact the part number for a ddic. And I will need to refactor that for another device I have in the pipeline. In fact, all the device panels I need to submit in this context reference ddic's and not unique panel models. I'm waiting to see what gets approved for this series before sending the rest of those in.

Quoted 4 lines

If I add something to the description like 'This chip is not a panel itself, but is used to control various panels', would that be sufficient? Or does the kernel need a new way to describe ddic's separately from panels, since this seems to be common now?

Krzysztof,

Any response to this? Or do I take another guess at what you want when sending a new revision?

Aaron

maintainer
#5 lore raw

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

In reply to Aaron Kling
Quoted 53 lines · Aaron Kling
Quoted 34 lines · Krzysztof Kozlowski
Quoted 18 lines · Aaron Kling

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

---
 .../display/panel/chipwealth,ch13726a.yaml         | 65 ++++++++++++++++++++++
 1 file changed, 65 insertions(+)
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +4 -0
new file mode 100644
index 0000000000000000000000000000000000000000..5d964900795653401a871994bcf6403cdeaad64f
@@ -0,0 +1,65 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/chipwealth,ch13726a.yaml#

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

Quoted 10 lines
Documentation/devicetree/bindings/display/panel/chipwealth,ch13726a.yaml new file +10 -0
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Chip Wealth Technology CH13726A AMOLED 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.

Here you describe the hardware, including what I asked last time - explain why this is ayntec thor panel, but not chipwealth,ch13726a.

Quoted 3 lines

Then also name the file as the compatible. If you do not know the part (model?) number, then why do you think filename should be called ch13726a?

The vendor source release for the AYN Thor calls the 'panel' ch13726a, but per the data sheet for said part, it's a chip used in various panels, not a panel itself. The handling for various panels using this chip will share a lot of similarities since the chip is what the kernel driver will talk to. The alternative would be having separate drivers and bindings for every panel that will be mostly duplicated. This is the case for multiple things supported in the kernel already, such as the vtdr6130 which is currently described as a unique panel but is in fact the part number for a ddic. And I will need to refactor that for another device I have in the pipeline. In fact, all the device panels I need to submit in this context reference ddic's and not unique panel models. I'm waiting to see what gets approved for this series before sending the rest of those in.

Quoted 4 lines

If I add something to the description like 'This chip is not a panel itself, but is used to control various panels', would that be sufficient? Or does the kernel need a new way to describe ddic's separately from panels, since this seems to be common now?

So sounds like the compatible should be '"ayntec,thor-panel-bottom", "chipwealth,ch13726a"' with the filename being chipwealth,ch13726a.yaml. At least that is how we do most cases where we know the underlying chip.

Rob

#6 lore raw

PATCH v3 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