Skip to contentSkip to conversation

drm/panel: Add Himax HX83121A panel driver

PATCH Superseded Pengyu Luo 2 participants 4 messages Mar 5 – Mar 6

Subsystems (4)

v2 of 4 Superseded Latest is v4 →

lore
Share & tools
lore

Pengyu Luo

author
#0 lore raw

v2 cover drm/panel: Add Himax HX83121A panel driver

Add a driver for panels using the Himax HX83121A Display Driver IC, including support for the BOE/CSOT PPC357DB1-4, found in HUAWEI Matebook E Go series (Gaokun2/3).

---
base-commit: d517cb8cea012f43b069617fc8179b45404f8018
---
Changes in v2:
- fix dt_binding_check (Rob)
- use devm_drm_panel_alloc (Neil)
- move panels specific chunks before module probe function. (Neil)
- fix supply in .c file
- do not initialise statics to false
- Link to v1: https://lore.kernel.org/dri-devel/[email protected]

Pengyu Luo (2):
dt-bindings: display: panel: Add Himax HX83121A
drm/panel: Add Himax HX83121A panel driver

 .../display/panel/himax,hx83121a.yaml         |  92 +++
 drivers/gpu/drm/panel/Kconfig                 |  11 +
 drivers/gpu/drm/panel/Makefile                |   1 +
 drivers/gpu/drm/panel/panel-himax-hx83121a.c  | 749 ++++++++++++++++++
 4 files changed, 853 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/himax,hx83121a.yaml
 create mode 100644 drivers/gpu/drm/panel/panel-himax-hx83121a.c
Signature · 1 line
2.53.0
author
#1 lore raw

PATCH v2 1/2 dt-bindings: display: panel: Add Himax HX83121A

HX83121A is a driver IC used to drive MIPI-DSI panels. It is found in HUAWEI Matebook E Go series (Gaokun2/3) with BOE or CSOT panels.

---
 .../display/panel/himax,hx83121a.yaml         | 92 +++++++++++++++++++
 1 file changed, 92 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/himax,hx83121a.yaml
Documentation/devicetree/bindings/display/panel/himax,hx83121a.yaml new file +92 -0
new file mode 100644
index 000000000..b6bcace29
@@ -0,0 +1,92 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/himax,hx83121a.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Himax HX83121A based DSI display Panels
+
+maintainers:
+  - Pengyu Luo <[email protected]>
+
+description: |
+  The Himax HX83121A is a generic DSI Panel IC used to drive dsi
+  panels. Support video mode panels from China Star Optoelectronics
+  Technology (CSOT) and BOE Technology.
+
+allOf:
+  - $ref: panel-common-dual.yaml#
+
+properties:
+  compatible:
+    items:
+      - enum:
+          - boe,ppc357db1-4
+          - csot,ppc357db1-4
+      - const: himax,hx83121a
+
+  reg:
+    maxItems: 1
+
+  reset-gpios:
+    maxItems: 1
+    description: phandle of gpio for reset line
+
+  avdd-supply:
+    description: analog positive supply for IC
+
+  avee-supply:
+    description: analog negative supply for IC
+
+  vddi-supply:
+    description: power supply for IC
+
+  backlight: true
+  ports: true
+
+required:
+  - compatible
+  - reg
+  - vddi-supply
+  - reset-gpios
+  - ports
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+
+    dsi {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        panel@0 {
+            compatible = "csot,ppc357db1-4", "himax,hx83121a";
+            reg = <0>;
+
+            vddi-supply = <&vreg_l2b>;
+            reset-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
+
+            ports {
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                port@0 {
+                    reg = <0>;
+                    panel_in_0: endpoint {
+                        remote-endpoint = <&dsi0_out>;
+                    };
+                };
+
+                port@1{
+                    reg = <1>;
+                    panel_in_1: endpoint {
+                        remote-endpoint = <&dsi1_out>;
+                    };
+                };
+            };
+        };
+    };
+
+...
Signature · 1 line
2.53.0
Reviewed-by on v2 1/2
#2 lore raw

Re: [PATCH v2 1/2] dt-bindings: display: panel: Add Himax HX83121A

Quoted 17 lines · Pengyu Luo

HX83121A is a driver IC used to drive MIPI-DSI panels. It is found in HUAWEI Matebook E Go series (Gaokun2/3) with BOE or CSOT panels.

---
 .../display/panel/himax,hx83121a.yaml         | 92 +++++++++++++++++++
 1 file changed, 92 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/himax,hx83121a.yaml
Documentation/devicetree/bindings/display/panel/himax,hx83121a.yaml new file +2 -0
new file mode 100644
index 000000000..b6bcace29
@@ -0,0 +1,92 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2

Documentation/devicetree/bindings/display/panel/himax,hx83121a.yaml line 12

Quoted 10 lines
Documentation/devicetree/bindings/display/panel/himax,hx83121a.yaml new file +10 -0
+---
+$id: http://devicetree.org/schemas/display/panel/himax,hx83121a.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Himax HX83121A based DSI display Panels
+
+maintainers:
+  - Pengyu Luo <[email protected]>
+
+description: |

Do not need '|' unless you need to preserve formatting.

Quoted 11 lines
Documentation/devicetree/bindings/display/panel/himax,hx83121a.yaml new file +11 -0
+  The Himax HX83121A is a generic DSI Panel IC used to drive dsi
+  panels. Support video mode panels from China Star Optoelectronics
+  Technology (CSOT) and BOE Technology.
+
+allOf:
+  - $ref: panel-common-dual.yaml#
+
+properties:
+  compatible:
+    items:
+      - enum:

Documentation/devicetree/bindings/display/panel/himax,hx83121a.yaml line 33

Quoted 10 lines
Documentation/devicetree/bindings/display/panel/himax,hx83121a.yaml new file +10 -0
+          - boe,ppc357db1-4
+          - csot,ppc357db1-4
+      - const: himax,hx83121a
+
+  reg:
+    maxItems: 1
+
+  reset-gpios:
+    maxItems: 1
+    description: phandle of gpio for reset line

Drop description

Best regards,
Krzysztof

author
#3 lore raw

PATCH v2 2/2 drm/panel: Add Himax HX83121A panel driver

In reply to Pengyu Luo

Add a driver for panels using the Himax HX83121A Display Driver IC, including support for the BOE/CSOT PPC357DB1-4, found in HUAWEI Matebook E Go series (Gaokun2/3).

---
 drivers/gpu/drm/panel/Kconfig                |  11 +
 drivers/gpu/drm/panel/Makefile               |   1 +
 drivers/gpu/drm/panel/panel-himax-hx83121a.c | 749 +++++++++++++++++++
 3 files changed, 761 insertions(+)
 create mode 100644 drivers/gpu/drm/panel/panel-himax-hx83121a.c
drivers/gpu/drm/panel/Kconfig +11 -0
index 79264f7bb..f8aaeb40f 100644
@@ -203,6 +203,17 @@ config DRM_PANEL_HIMAX_HX83112B
 	  Say Y here if you want to enable support for Himax HX83112B-based
 	  display panels, such as the one found in the Fairphone 3 smartphone.
 
+config DRM_PANEL_HIMAX_HX83121A
+	tristate "Himax HX83121A-based DSI panel"
+	depends on OF
+	depends on DRM_MIPI_DSI
+	depends on BACKLIGHT_CLASS_DEVICE
+	select DRM_KMS_HELPER
+	help
+	  Say Y here if you want to enable support for Himax HX83121A-based
+	  display panels, such as the one found in the HUAWEI Matebook E Go
+          series.
+
 config DRM_PANEL_HIMAX_HX8394
 	tristate "HIMAX HX8394 MIPI-DSI LCD panels"
 	depends on OF
drivers/gpu/drm/panel/Makefile +1 -0
index aeffaa956..1964307cc 100644
@@ -21,6 +21,7 @@ obj-$(CONFIG_DRM_PANEL_HIMAX_HX8279) += panel-himax-hx8279.o
 obj-$(CONFIG_DRM_PANEL_HIMAX_HX83102) += panel-himax-hx83102.o
 obj-$(CONFIG_DRM_PANEL_HIMAX_HX83112A) += panel-himax-hx83112a.o
 obj-$(CONFIG_DRM_PANEL_HIMAX_HX83112B) += panel-himax-hx83112b.o
+obj-$(CONFIG_DRM_PANEL_HIMAX_HX83121A) += panel-himax-hx83121a.o
 obj-$(CONFIG_DRM_PANEL_HIMAX_HX8394) += panel-himax-hx8394.o
 obj-$(CONFIG_DRM_PANEL_HYDIS_HV101HD1) += panel-hydis-hv101hd1.o
 obj-$(CONFIG_DRM_PANEL_ILITEK_IL9322) += panel-ilitek-ili9322.o
drivers/gpu/drm/panel/panel-himax-hx83121a.c new file +749 -0

749 lines not on this page · raw message

Signature · 1 line
2.53.0