innolux,n140hca-eac is a eDP-based LCD panel. This panel has 1920x1080
resolution in 14-inch TFT panel.

Signed-off-by: Rex Nie <rexn...@gmail.com>
---
 .../display/panel/innolux,n140hca-eac.yaml    | 43 +++++++++++++++++++
 drivers/gpu/drm/panel/panel-edp.c             | 26 +++++++++++
 2 files changed, 69 insertions(+)
 create mode 100644 
Documentation/devicetree/bindings/display/panel/innolux,n140hca-eac.yaml

diff --git 
a/Documentation/devicetree/bindings/display/panel/innolux,n140hca-eac.yaml 
b/Documentation/devicetree/bindings/display/panel/innolux,n140hca-eac.yaml
new file mode 100644
index 000000000000..5493e383c97c
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/innolux,n140hca-eac.yaml
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/innolux,n140hca-eac.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Innolux N140HCA-EAC 14 inch eDP 1080p display panel
+
+maintainers:
+  - Sandeep Panda <spa...@codeaurora.org>
+  - Douglas Anderson <diand...@chromium.org>
+
+allOf:
+  - $ref: panel-common.yaml#
+
+properties:
+  compatible:
+    const: innolux,n140hca-eac
+
+  enable-gpios: true
+  power-supply: true
+  backlight: true
+  no-hpd: true
+
+required:
+  - compatible
+  - power-supply
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+
+    panel_edp: panel-edp {
+        compatible = "innolux,n140hca-eac";
+        enable-gpios = <&pio 96 GPIO_ACTIVE_HIGH>;
+        power-supply = <&pp3300_disp_x>;
+        backlight = <&backlight_lcd0>;
+        no-hpd;
+    };
+
+...
diff --git a/drivers/gpu/drm/panel/panel-edp.c 
b/drivers/gpu/drm/panel/panel-edp.c
index f7bfcf63d48e..f5f9c9cb26ba 100644
--- a/drivers/gpu/drm/panel/panel-edp.c
+++ b/drivers/gpu/drm/panel/panel-edp.c
@@ -1330,6 +1330,29 @@ static const struct panel_desc innolux_n125hce_gn1 = {
        },
 };
 
+static const struct display_timing innolux_n140hca_eac_timing = {
+       .pixelclock = { 72600000, 76420000, 80240000 },
+       .hactive = { 1920, 1920, 1920 },
+       .hfront_porch = { 80, 80, 80 },
+       .hback_porch = { 190, 190, 190 },
+       .hsync_len = { 60, 60, 60 },
+       .vactive = { 1080, 1080, 1080 },
+       .vfront_porch = { 6, 6, 6 },
+       .vback_porch = { 38, 38, 38 },
+       .vsync_len = { 8, 8, 8 },
+       .flags = DISPLAY_FLAGS_VSYNC_LOW | DISPLAY_FLAGS_HSYNC_LOW,
+};
+
+static const struct panel_desc innolux_n140hca_eac = {
+       .timings = &innolux_n140hca_eac_timing,
+       .num_timings = 1,
+       .bpc = 6,
+       .size = {
+               .width = 309,
+               .height = 174,
+       },
+};
+
 static const struct drm_display_mode innolux_p120zdg_bf1_mode = {
        .clock = 206016,
        .hdisplay = 2160,
@@ -1750,6 +1773,9 @@ static const struct of_device_id platform_of_match[] = {
        }, {
                .compatible = "innolux,n125hce-gn1",
                .data = &innolux_n125hce_gn1,
+       }, {
+               .compatible = "innolux,n140hca-eac",
+               .data = &innolux_n140hca_eac,
        }, {
                .compatible = "innolux,p120zdg-bf1",
                .data = &innolux_p120zdg_bf1,
-- 
2.25.1

Reply via email to