2022-02-18 07:00:04

by Rex Nie

[permalink] [raw]
Subject: [PATCH] drm/panel: Add panel-edp: add lcd innolux,n140hca-eac

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

Signed-off-by: Rex Nie <[email protected]>
---
.../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 <[email protected]>
+ - Douglas Anderson <[email protected]>
+
+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


2022-02-18 09:17:12

by Hsin-Yi Wang

[permalink] [raw]
Subject: Re: [PATCH] drm/panel: Add panel-edp: add lcd innolux,n140hca-eac

On Fri, Feb 18, 2022 at 2:36 PM Rex Nie <[email protected]> wrote:
>
> innolux,n140hca-eac is a eDP-based LCD panel. This panel has 1920x1080
> resolution in 14-inch TFT panel.
>
> Signed-off-by: Rex Nie <[email protected]>
> ---
> .../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
>
Hi Rex,

Please split yaml and driver into different patches.
You don't need to create a new binding for innolux,n140hca-eac.yaml.
You can add the compatible into panel-simple.yaml. Check
innolux,n125hce-gn1 for example.

> 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 <[email protected]>
> + - Douglas Anderson <[email protected]>
> +
> +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
>