From: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
To: Hans de Goede <hdegoede@redhat.com>
Cc: Tianshu Qiu <tian.shu.qiu@intel.com>,
Sakari Ailus <sakari.ailus@linux.intel.com>,
Bingbu Cao <bingbu.cao@intel.com>,
linux-media@vger.kernel.org
Subject: Re: [PATCH 3/4] media: ov2740: Add powerdown GPIO support
Date: Fri, 29 Nov 2024 14:23:23 +0100 [thread overview]
Message-ID: <Z0nAS5oaG87ECYBz@linux.intel.com> (raw)
In-Reply-To: <20241128152338.4583-4-hdegoede@redhat.com>
On Thu, Nov 28, 2024 at 04:23:37PM +0100, Hans de Goede wrote:
> The ov2740 sensor has both reset and power_down inputs according to
> the datasheet one or the other should always be tied to DOVDD but on
> some designs both are attached to GPIOs.
>
> Add support for controlling both a reset and a powerdown GPIO.
>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Tested-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
> ---
> drivers/media/i2c/ov2740.c | 15 +++++++++++++--
> 1 file changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/i2c/ov2740.c b/drivers/media/i2c/ov2740.c
> index 998e1977978d..14d0a0588cc2 100644
> --- a/drivers/media/i2c/ov2740.c
> +++ b/drivers/media/i2c/ov2740.c
> @@ -525,6 +525,7 @@ struct ov2740 {
>
> /* GPIOs, clocks */
> struct gpio_desc *reset_gpio;
> + struct gpio_desc *powerdown_gpio;
> struct clk *clk;
>
> /* Current mode */
> @@ -1306,6 +1307,7 @@ static int ov2740_suspend(struct device *dev)
> struct ov2740 *ov2740 = to_ov2740(sd);
>
> gpiod_set_value_cansleep(ov2740->reset_gpio, 1);
> + gpiod_set_value_cansleep(ov2740->powerdown_gpio, 1);
> clk_disable_unprepare(ov2740->clk);
> return 0;
> }
> @@ -1320,6 +1322,7 @@ static int ov2740_resume(struct device *dev)
> if (ret)
> return ret;
>
> + gpiod_set_value_cansleep(ov2740->powerdown_gpio, 0);
> gpiod_set_value_cansleep(ov2740->reset_gpio, 0);
> msleep(20);
>
> @@ -1348,9 +1351,17 @@ static int ov2740_probe(struct i2c_client *client)
> if (IS_ERR(ov2740->reset_gpio)) {
> return dev_err_probe(dev, PTR_ERR(ov2740->reset_gpio),
> "failed to get reset GPIO\n");
> - } else if (ov2740->reset_gpio) {
> + }
> +
> + ov2740->powerdown_gpio = devm_gpiod_get_optional(dev, "powerdown", GPIOD_OUT_HIGH);
> + if (IS_ERR(ov2740->powerdown_gpio)) {
> + return dev_err_probe(dev, PTR_ERR(ov2740->powerdown_gpio),
> + "failed to get powerdown GPIO\n");
> + }
> +
> + if (ov2740->reset_gpio || ov2740->powerdown_gpio) {
> /*
> - * Ensure reset is asserted for at least 20 ms before
> + * Ensure reset/powerdown is asserted for at least 20 ms before
> * ov2740_resume() deasserts it.
> */
> msleep(20);
> --
> 2.47.0
>
>
next prev parent reply other threads:[~2024-11-29 13:23 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-28 15:23 [PATCH 0/4] media: ov2740: Various improvements Hans de Goede
2024-11-28 15:23 ` [PATCH 1/4] media: ov2740: Debug log chip ID Hans de Goede
2024-11-28 16:38 ` Ricardo Ribalda Delgado
2024-11-28 22:49 ` Ricardo Ribalda Delgado
2024-11-29 13:22 ` Stanislaw Gruszka
2024-11-28 15:23 ` [PATCH 2/4] media: ov2740: Add camera orientation and sensor rotation controls Hans de Goede
2024-11-28 16:44 ` Ricardo Ribalda Delgado
2024-12-15 22:47 ` Hans de Goede
2024-11-29 13:23 ` Stanislaw Gruszka
2024-11-28 15:23 ` [PATCH 3/4] media: ov2740: Add powerdown GPIO support Hans de Goede
2024-11-28 16:53 ` Ricardo Ribalda Delgado
2024-12-20 11:35 ` Hans de Goede
2024-12-20 12:30 ` Ricardo Ribalda Delgado
2024-11-29 13:23 ` Stanislaw Gruszka [this message]
2024-11-28 15:23 ` [PATCH 4/4] media: ov2740: Add regulator support Hans de Goede
2024-11-28 16:50 ` Ricardo Ribalda Delgado
2024-12-13 9:05 ` Sakari Ailus
2024-11-29 13:24 ` Stanislaw Gruszka
2024-12-13 9:04 ` Sakari Ailus
2024-12-20 11:40 ` Hans de Goede
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Z0nAS5oaG87ECYBz@linux.intel.com \
--to=stanislaw.gruszka@linux.intel.com \
--cc=bingbu.cao@intel.com \
--cc=hdegoede@redhat.com \
--cc=linux-media@vger.kernel.org \
--cc=sakari.ailus@linux.intel.com \
--cc=tian.shu.qiu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.