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@xxxxxxxxx> --- .../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 <spanda@xxxxxxxxxxxxxx> + - Douglas Anderson <dianders@xxxxxxxxxxxx> + +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