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 |
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 >
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 --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,
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