[PATCH 2/2] drivers/panel: raydium-rm67200: Make reset-gpio optional

Sebastian Reichel sebastian.reichel at collabora.com
Thu Jun 19 13:34:26 UTC 2025


Hi,

On Mon, Jun 16, 2025 at 03:05:17PM +0800, Andy Yan wrote:
> From: Andy Yan <andy.yan at rock-chips.com>
> 
> Although the datasheet of the panel module describes that it has a
> reset pin, in the actual hardware design, we often use an RC circuit
> to control the reset, and rarely use GPIO to control the reset. This
> is the way it is done on our numerous development boards (such as
> RK3568/RK3576 EVB).
> 
> So make the reset-gpio optional.
> 
> Signed-off-by: Andy Yan <andy.yan at rock-chips.com>
> ---

Reviewed-by: Sebastian Reichel <sebastian.reichel at collabora.com>

Greetings,

-- Sebastian

> 
>  drivers/gpu/drm/panel/panel-raydium-rm67200.c | 16 +++++++++-------
>  1 file changed, 9 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/panel/panel-raydium-rm67200.c b/drivers/gpu/drm/panel/panel-raydium-rm67200.c
> index 205273163cb97..add6099ae8a64 100644
> --- a/drivers/gpu/drm/panel/panel-raydium-rm67200.c
> +++ b/drivers/gpu/drm/panel/panel-raydium-rm67200.c
> @@ -36,12 +36,14 @@ static inline struct raydium_rm67200 *to_raydium_rm67200(struct drm_panel *panel
>  
>  static void raydium_rm67200_reset(struct raydium_rm67200 *ctx)
>  {
> -	gpiod_set_value_cansleep(ctx->reset_gpio, 0);
> -	msleep(60);
> -	gpiod_set_value_cansleep(ctx->reset_gpio, 1);
> -	msleep(60);
> -	gpiod_set_value_cansleep(ctx->reset_gpio, 0);
> -	msleep(60);
> +	if (ctx->reset_gpio) {
> +		gpiod_set_value_cansleep(ctx->reset_gpio, 0);
> +		msleep(60);
> +		gpiod_set_value_cansleep(ctx->reset_gpio, 1);
> +		msleep(60);
> +		gpiod_set_value_cansleep(ctx->reset_gpio, 0);
> +		msleep(60);
> +	}
>  }
>  
>  static void raydium_rm67200_write(struct mipi_dsi_multi_context *ctx,
> @@ -412,7 +414,7 @@ static int raydium_rm67200_probe(struct mipi_dsi_device *dsi)
>  	if (ret < 0)
>  		return ret;
>  
> -	ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW);
> +	ctx->reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
>  	if (IS_ERR(ctx->reset_gpio))
>  		return dev_err_probe(dev, PTR_ERR(ctx->reset_gpio),
>  				     "Failed to get reset-gpios\n");
> -- 
> 2.43.0
> 
> base-commit: 8c98c2c9ebeaa472e742d664b714aed5ab7c6f53
> branch: rk356x_rk3588_rk3576_dsi
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20250619/f2cb7a0e/attachment.sig>


More information about the dri-devel mailing list