Hi,

On Mon, Jun 16, 2025 at 03:05:17PM +0800, Andy Yan wrote:
> From: Andy Yan <andy....@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....@rock-chips.com>
> ---

Reviewed-by: Sebastian Reichel <sebastian.reic...@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
> 

Attachment: signature.asc
Description: PGP signature

Reply via email to