mbox series

[v3,0/6] drm/panel: simple: Add Panels and Panel Vendors

Message ID 20240515095133.745492-1-a-bhatia1@ti.com
Headers show
Series drm/panel: simple: Add Panels and Panel Vendors | expand

Message

Aradhya Bhatia May 15, 2024, 9:51 a.m. UTC
Hi all,

Picking up this long-standing series which added support for Microtips'
and LincolnTech's dual-lvds panels.

Microtips Technology Solutions USA, and Lincoln Technology Solutions are
2 display panel vendors, and the patches 1/6 and 2/6 add their vendor
prefixes.

Patch 3/6 adds panel specific compatibles to the binding for simple
panels with 2 lvds ports.

Lastly, patches 4/6 through 6/6 add the timing parameters and the
compatibles in the panel-simple driver file.

This series has changed from v2 in that it is not trying to add a new
schema for panel-dual-lvds anymore. There is no requirement for that
today. So patches 3/4 and 4/4 from v2 have completely been dropped. And
in their place, have come new patches - 3/6 through 6/6.
Patches 1/4 and 2/4 from v2 are now 1/6 and 2/6 respectively, and I have
carried the tags provided by Laurent Pinchart and Krzysztof Kozlowski.

Regards
Aradhya

Changes in V3:
==============
  - Drop the schema for "panel-dual-lvds".
  - Instead add the panels under schema for simple panels with dual
    ports.
  - Add support for these panels in panel-simple driver.

Changes in V2:
==============
  - Rebased to latest linux-next.
  - Made dt-binding syntax corrections in Patch 3/4, based on comments
    by Krzysztof Kozlowski and Laurent Pinchart.

V2: https://lore.kernel.org/all/20230124101238.4542-1-a-bhatia1@ti.com/
V1: https://lore.kernel.org/all/20230103064615.5311-1-a-bhatia1@ti.com/


Aradhya Bhatia (6):
  dt-bindings: vendor-prefixes: Add microtips
  dt-bindings: vendor-prefixes: Add lincolntech
  dt-bindings: display: simple: Add Microtips & Lincolntech Dual-LVDS
    Panels
  drm/panel: simple: Add Lincoln Tech Sol LCD185-101CT panel
  drm/panel: simple: Add Microtips Technology 13-101HIEBCAF0-C panel
  drm/panel: simple: Add Microtips Technology MF-103HIEB0GA0 panel

 .../panel/panel-simple-lvds-dual-ports.yaml   |  6 ++
 .../devicetree/bindings/vendor-prefixes.yaml  |  4 +
 drivers/gpu/drm/panel/panel-simple.c          | 96 +++++++++++++++++++
 3 files changed, 106 insertions(+)


base-commit: 82d92a9a1b9ea0ea52aff27cddd05009b4edad49

Comments

Neil Armstrong May 15, 2024, 9:16 p.m. UTC | #1
On 15/05/2024 11:51, Aradhya Bhatia wrote:
> Add support for Lincoln Technology Solutions LCD185-101CT, 10.1",
> 1920x1200, 8-bit TFT LCD with LVDS interface, LED backlight and PCAP
> touch support (Goodix GT928).
> 
> [0]: Panel Datasheet
> https://lincolntechsolutions.com/wp-content/uploads/2023/04/LCD185-101CTL1ARNTT_DS_R1.3.pdf
> 
> Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
> ---
>   drivers/gpu/drm/panel/panel-simple.c | 32 ++++++++++++++++++++++++++++
>   1 file changed, 32 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index dcb6d0b6ced0..10e974bffd28 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -2870,6 +2870,35 @@ static const struct panel_desc lg_lb070wv8 = {
>   	.connector_type = DRM_MODE_CONNECTOR_LVDS,
>   };
>   
> +static const struct drm_display_mode lincolntech_lcd185_101ct_mode = {
> +	.clock = 155127,
> +	.hdisplay = 1920,
> +	.hsync_start = 1920 + 128,
> +	.hsync_end = 1920 + 128 + 20,
> +	.htotal = 1920 + 128 + 20 + 12,
> +	.vdisplay = 1200,
> +	.vsync_start = 1200 + 19,
> +	.vsync_end = 1200 + 19 + 4,
> +	.vtotal = 1200 + 19 + 4 + 20,
> +};
> +
> +static const struct panel_desc lincolntech_lcd185_101ct = {
> +	.modes = &lincolntech_lcd185_101ct_mode,
> +	.bpc = 8,
> +	.num_modes = 1,
> +	.size = {
> +		.width = 217,
> +		.height = 136,
> +	},
> +	.delay = {
> +		.prepare = 50,
> +		.disable = 50,
> +	},
> +	.bus_flags = DRM_BUS_FLAG_DE_HIGH,
> +	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
> +	.connector_type = DRM_MODE_CONNECTOR_LVDS,
> +};
> +
>   static const struct display_timing logictechno_lt161010_2nh_timing = {
>   	.pixelclock = { 26400000, 33300000, 46800000 },
>   	.hactive = { 800, 800, 800 },
> @@ -4644,6 +4673,9 @@ static const struct of_device_id platform_of_match[] = {
>   	}, {
>   		.compatible = "lg,lb070wv8",
>   		.data = &lg_lb070wv8,
> +	}, {
> +		.compatible = "lincolntech,lcd185-101ct",
> +		.data = &lincolntech_lcd185_101ct,
>   	}, {
>   		.compatible = "logicpd,type28",
>   		.data = &logicpd_type_28,

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Neil Armstrong May 15, 2024, 9:17 p.m. UTC | #2
On 15/05/2024 11:51, Aradhya Bhatia wrote:
> Add support for Microtips Technology USA 13-101HIECAF0-C 10.1",
> 1920x1200, 8-bit TFT LCD with LVDS interface, LED backlight and touch
> support (ILITEK 2511).
> 
> [0]: Panel Datasheet
> https://simplespec.microtipsusa.com/uploads/spec/datasheetFile/2588/13-101HIEBCAF0-S_V1.1_20221104.pdf
> 
> Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
> ---
>   drivers/gpu/drm/panel/panel-simple.c | 32 ++++++++++++++++++++++++++++
>   1 file changed, 32 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index 10e974bffd28..3a0d8f0ff267 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -3055,6 +3055,35 @@ static const struct panel_desc logicpd_type_28 = {
>   	.connector_type = DRM_MODE_CONNECTOR_DPI,
>   };
>   
> +static const struct drm_display_mode microtips_mf_101hiebcaf0_c_mode = {
> +	.clock = 150275,
> +	.hdisplay = 1920,
> +	.hsync_start = 1920 + 32,
> +	.hsync_end = 1920 + 32 + 52,
> +	.htotal = 1920 + 32 + 52 + 24,
> +	.vdisplay = 1200,
> +	.vsync_start = 1200 + 24,
> +	.vsync_end = 1200 + 24 + 8,
> +	.vtotal = 1200 + 24 + 8 + 3,
> +};
> +
> +static const struct panel_desc microtips_mf_101hiebcaf0_c = {
> +	.modes = &microtips_mf_101hiebcaf0_c_mode,
> +	.bpc = 8,
> +	.num_modes = 1,
> +	.size = {
> +		.width = 217,
> +		.height = 136,
> +	},
> +	.delay = {
> +		.prepare = 50,
> +		.disable = 50,
> +	},
> +	.bus_flags = DRM_BUS_FLAG_DE_HIGH,
> +	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
> +	.connector_type = DRM_MODE_CONNECTOR_LVDS,
> +};
> +
>   static const struct drm_display_mode mitsubishi_aa070mc01_mode = {
>   	.clock = 30400,
>   	.hdisplay = 800,
> @@ -4694,6 +4723,9 @@ static const struct of_device_id platform_of_match[] = {
>   	}, {
>   		.compatible = "logictechno,lttd800480070-l6wh-rt",
>   		.data = &logictechno_lttd800480070_l6wh_rt,
> +	}, {
> +		.compatible = "microtips,mf-101hiebcaf0",
> +		.data = &microtips_mf_101hiebcaf0_c,
>   	}, {
>   		.compatible = "mitsubishi,aa070mc01-ca1",
>   		.data = &mitsubishi_aa070mc01,

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Neil Armstrong May 15, 2024, 9:17 p.m. UTC | #3
On 15/05/2024 11:51, Aradhya Bhatia wrote:
> Add support for Microtips Technology USA MF-103HIEB0GA0 10.25"[0],
> 1920x720, 8-bit TFT LCD with LVDS interface. Its a Dual-LVDS Panel and
> does not support touch.
> 
> [0]: Panel Datasheet
> https://simplespec.microtipsusa.com/uploads/spec/datasheetFile/2660/13-103HIEB0GA0-S_V1.0_20211206.pdf
> 
> Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
> ---
>   drivers/gpu/drm/panel/panel-simple.c | 32 ++++++++++++++++++++++++++++
>   1 file changed, 32 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index 3a0d8f0ff267..1b0a6b4e034c 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -3084,6 +3084,35 @@ static const struct panel_desc microtips_mf_101hiebcaf0_c = {
>   	.connector_type = DRM_MODE_CONNECTOR_LVDS,
>   };
>   
> +static const struct drm_display_mode microtips_mf_103hieb0ga0_mode = {
> +	.clock = 93301,
> +	.hdisplay = 1920,
> +	.hsync_start = 1920 + 72,
> +	.hsync_end = 1920 + 72 + 72,
> +	.htotal = 1920 + 72 + 72 + 72,
> +	.vdisplay = 720,
> +	.vsync_start = 720 + 3,
> +	.vsync_end = 720 + 3 + 3,
> +	.vtotal = 720 + 3 + 3 + 2,
> +};
> +
> +static const struct panel_desc microtips_mf_103hieb0ga0 = {
> +	.modes = &microtips_mf_103hieb0ga0_mode,
> +	.bpc = 8,
> +	.num_modes = 1,
> +	.size = {
> +		.width = 244,
> +		.height = 92,
> +	},
> +	.delay = {
> +		.prepare = 50,
> +		.disable = 50,
> +	},
> +	.bus_flags = DRM_BUS_FLAG_DE_HIGH,
> +	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
> +	.connector_type = DRM_MODE_CONNECTOR_LVDS,
> +};
> +
>   static const struct drm_display_mode mitsubishi_aa070mc01_mode = {
>   	.clock = 30400,
>   	.hdisplay = 800,
> @@ -4726,6 +4755,9 @@ static const struct of_device_id platform_of_match[] = {
>   	}, {
>   		.compatible = "microtips,mf-101hiebcaf0",
>   		.data = &microtips_mf_101hiebcaf0_c,
> +	}, {
> +		.compatible = "microtips,mf-103hieb0ga0",
> +		.data = &microtips_mf_103hieb0ga0,
>   	}, {
>   		.compatible = "mitsubishi,aa070mc01-ca1",
>   		.data = &mitsubishi_aa070mc01,

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Neil Armstrong May 15, 2024, 9:22 p.m. UTC | #4
Hi,

On Wed, 15 May 2024 15:21:27 +0530, Aradhya Bhatia wrote:
> Picking up this long-standing series which added support for Microtips'
> and LincolnTech's dual-lvds panels.
> 
> Microtips Technology Solutions USA, and Lincoln Technology Solutions are
> 2 display panel vendors, and the patches 1/6 and 2/6 add their vendor
> prefixes.
> 
> [...]

Thanks, Applied to https://gitlab.freedesktop.org/drm/misc/kernel.git (drm-misc-next)

[1/6] dt-bindings: vendor-prefixes: Add microtips
      https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/71465a86296ab963bc120b5e32b9a19f69090e6f
[2/6] dt-bindings: vendor-prefixes: Add lincolntech
      https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/37dbca37f3b53cb698798462f197db2637f6ab34
[3/6] dt-bindings: display: simple: Add Microtips & Lincolntech Dual-LVDS Panels
      https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/43f092d2540f7869ab5dc5a53ae1f76d44fc6293
[4/6] drm/panel: simple: Add Lincoln Tech Sol LCD185-101CT panel
      https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/ac9b8b7fee6578015483c5f130bad78d368c00cd
[5/6] drm/panel: simple: Add Microtips Technology 13-101HIEBCAF0-C panel
      https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/f558d676cfbc388f2c3175c3c1f99c57902ea3c1
[6/6] drm/panel: simple: Add Microtips Technology MF-103HIEB0GA0 panel
      https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/2c3d1bd284c5141a85188f48e7f42112e81ffcd8
Liu Ying May 16, 2024, 2:33 a.m. UTC | #5
On 5/15/24 17:51, Aradhya Bhatia wrote:
> Add support for Microtips Technology USA MF-103HIEB0GA0 10.25"[0],
> 1920x720, 8-bit TFT LCD with LVDS interface. Its a Dual-LVDS Panel and
> does not support touch.
> 
> [0]: Panel Datasheet
> https://simplespec.microtipsusa.com/uploads/spec/datasheetFile/2660/13-103HIEB0GA0-S_V1.0_20211206.pdf
> 
> Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
> ---
>  drivers/gpu/drm/panel/panel-simple.c | 32 ++++++++++++++++++++++++++++
>  1 file changed, 32 insertions(+)

Like my comments for patch 3/6, this panel is not simple enough
for this driver.

Regards,
Liu Ying

> 
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index 3a0d8f0ff267..1b0a6b4e034c 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -3084,6 +3084,35 @@ static const struct panel_desc microtips_mf_101hiebcaf0_c = {
>  	.connector_type = DRM_MODE_CONNECTOR_LVDS,
>  };
>  
> +static const struct drm_display_mode microtips_mf_103hieb0ga0_mode = {
> +	.clock = 93301,
> +	.hdisplay = 1920,
> +	.hsync_start = 1920 + 72,
> +	.hsync_end = 1920 + 72 + 72,
> +	.htotal = 1920 + 72 + 72 + 72,
> +	.vdisplay = 720,
> +	.vsync_start = 720 + 3,
> +	.vsync_end = 720 + 3 + 3,
> +	.vtotal = 720 + 3 + 3 + 2,
> +};
> +
> +static const struct panel_desc microtips_mf_103hieb0ga0 = {
> +	.modes = &microtips_mf_103hieb0ga0_mode,
> +	.bpc = 8,
> +	.num_modes = 1,
> +	.size = {
> +		.width = 244,
> +		.height = 92,
> +	},
> +	.delay = {
> +		.prepare = 50,
> +		.disable = 50,
> +	},
> +	.bus_flags = DRM_BUS_FLAG_DE_HIGH,
> +	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
> +	.connector_type = DRM_MODE_CONNECTOR_LVDS,
> +};
> +
>  static const struct drm_display_mode mitsubishi_aa070mc01_mode = {
>  	.clock = 30400,
>  	.hdisplay = 800,
> @@ -4726,6 +4755,9 @@ static const struct of_device_id platform_of_match[] = {
>  	}, {
>  		.compatible = "microtips,mf-101hiebcaf0",
>  		.data = &microtips_mf_101hiebcaf0_c,
> +	}, {
> +		.compatible = "microtips,mf-103hieb0ga0",
> +		.data = &microtips_mf_103hieb0ga0,
>  	}, {
>  		.compatible = "mitsubishi,aa070mc01-ca1",
>  		.data = &mitsubishi_aa070mc01,