[PATCH 2/2] drm/panel-simple: add AUO P238HAN01 panel entry

Neil Armstrong neil.armstrong at linaro.org
Tue May 20 08:57:05 UTC 2025


On 20/05/2025 09:44, Michael Walle wrote:
> Timings taken from the datasheet and the display is working in DE mode,
> thus the datasheet only specifies the blanking period. sync, back porch
> and front porch are arbitrarily chosen.
> 
> The datasheet can be found at [1] but for reference these are the
> relevant timings:
> 
>   sym  |              | min  | typ  | max  | unit |
> ------|--------------+------+------+------+------+
>     Tv | V period     | 1094 | 1130 | 1836 | Th   |
>        | V active     | 1080 | 1080 | 1080 | Th   |
>        | V blanking   |   14 |   50 |  756 | Th   |
>     Fv | V frequency  |   49 |   60 |   76 | Hz   |
>     Th | H period     | 1000 | 1050 | 1678 | Tclk |
>        | H active     |  960 |  960 |  960 | Tclk |
>        | H blanking   |   40 |   90 |  718 | Tclk |
>     Fh | H frequency  | 53.7 | 67.8 | 90.0 | kHz  |
>   Tclk | LVDS clock   | 53.7 | 71.2 | 90.0 | MHz  |
> 
> Keep in mind that this is a dual link LVDS panel and the horizontal
> timings are only for one half of the panel.
> 
> [1] https://www.fortec-integrated.de/fileadmin/pdf/produkte/TFT-Displays/AUO/P238HAN01.0_Datasheet.pdf
> 
> Signed-off-by: Michael Walle <mwalle at kernel.org>
> ---
>   drivers/gpu/drm/panel/panel-simple.c | 27 +++++++++++++++++++++++++++
>   1 file changed, 27 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index 0a3b26bb4d73..47222d2d8129 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -1268,6 +1268,30 @@ static const struct panel_desc auo_g190ean01 = {
>   	.connector_type = DRM_MODE_CONNECTOR_LVDS,
>   };
>   
> +static const struct display_timing auo_p238han01_timings = {
> +	.pixelclock = { 107400000, 142400000, 180000000 },
> +	.hactive = { 1920, 1920, 1920 },
> +	.hfront_porch = { 30, 70, 650 },
> +	.hback_porch = { 30, 70, 650 },
> +	.hsync_len = { 20, 40, 136 },
> +	.vactive = { 1080, 1080, 1080 },
> +	.vfront_porch = { 5, 19, 318 },
> +	.vback_porch = { 5, 19, 318 },
> +	.vsync_len = { 4, 12, 120 },
> +};
> +
> +static const struct panel_desc auo_p238han01 = {
> +	.timings = &auo_p238han01_timings,
> +	.num_timings = 1,
> +	.bpc = 8,
> +	.size = {
> +		.width = 527,
> +		.height = 296,
> +	},
> +	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
> +	.connector_type = DRM_MODE_CONNECTOR_LVDS,
> +};
> +
>   static const struct display_timing auo_p320hvn03_timings = {
>   	.pixelclock = { 106000000, 148500000, 164000000 },
>   	.hactive = { 1920, 1920, 1920 },
> @@ -4938,6 +4962,9 @@ static const struct of_device_id platform_of_match[] = {
>   	}, {
>   		.compatible = "auo,g190ean01",
>   		.data = &auo_g190ean01,
> +	}, {
> +		.compatible = "auo,p238han01",
> +		.data = &auo_p238han01,
>   	}, {
>   		.compatible = "auo,p320hvn03",
>   		.data = &auo_p320hvn03,

Reviewed-by: Neil Armstrong <neil.armstrong at linaro.org>


More information about the dri-devel mailing list