diff mbox series

drm/panel: Add panel-edp: add lcd innolux,n140hca-eac

Message ID 20220218063610.1530630-1-rexnie3@gmail.com (mailing list archive)
State New, archived
Headers show
Series drm/panel: Add panel-edp: add lcd innolux,n140hca-eac | expand

Commit Message

Rex Nie Feb. 18, 2022, 6:36 a.m. UTC
innolux,n140hca-eac is a eDP-based LCD panel. This panel has 1920x1080
resolution in 14-inch TFT panel.

Signed-off-by: Rex Nie <rexnie3@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

Comments

Hsin-Yi Wang Feb. 18, 2022, 9:01 a.m. UTC | #1
On Fri, Feb 18, 2022 at 2:36 PM Rex Nie <rexnie3@gmail.com> 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 <rexnie3@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
>
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 <spanda@codeaurora.org>
> +  - Douglas Anderson <dianders@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
>
Rex Nie Feb. 18, 2022, 9:17 a.m. UTC | #2
Hi Hsin-Yi,

Got it, thanks

On Fri, 18 Feb 2022 at 17:01, Hsin-Yi Wang <hsinyi@chromium.org> wrote:

> On Fri, Feb 18, 2022 at 2:36 PM Rex Nie <rexnie3@gmail.com> 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 <rexnie3@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
> >
> 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 <spanda@codeaurora.org>
> > +  - Douglas Anderson <dianders@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
> >
>
diff mbox series

Patch

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 <spanda@codeaurora.org>
+  - Douglas Anderson <dianders@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,