[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ydqx6qhm53m5p7g3ust7jsdaftqugdfp65m223zoo6awy5qsgb@s4fzof6e3oh2>
Date: Thu, 19 Jun 2025 15:34:26 +0200
From: Sebastian Reichel <sebastian.reichel@...labora.com>
To: Andy Yan <andyshrk@....com>
Cc: neil.armstrong@...aro.org, conor+dt@...nel.org,
quic_jesszhan@...cinc.com, krzk+dt@...nel.org, robh@...nel.org, tzimmermann@...e.de,
devicetree@...r.kernel.org, dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
Andy Yan <andy.yan@...k-chips.com>
Subject: Re: [PATCH 2/2] drivers/panel: raydium-rm67200: Make reset-gpio
optional
Hi,
On Mon, Jun 16, 2025 at 03:05:17PM +0800, Andy Yan wrote:
> From: Andy Yan <andy.yan@...k-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@...k-chips.com>
> ---
Reviewed-by: Sebastian Reichel <sebastian.reichel@...labora.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
>
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists