[V3 1/2] ASoC: max98390: Add reset gpio control
Sa, Nuno
Nuno.Sa at analog.com
Mon Mar 28 09:42:42 CEST 2022
> From: Steve Lee <steve.lee.analog at gmail.com>
> Sent: Monday, March 28, 2022 4:12 AM
> To: lgirdwood at gmail.com; broonie at kernel.org; perex at perex.cz;
> tiwai at suse.com; ryans.lee at maximintegrated.com; linux-
> kernel at vger.kernel.org; alsa-devel at alsa-project.org
> Cc: krzk at kernel.org; Sa, Nuno <Nuno.Sa at analog.com>; Steve Lee
> <steve.lee.analog at gmail.com>
> Subject: [V3 1/2] ASoC: max98390: Add reset gpio control
>
> [External]
>
> Add reset gpio control to support RESET PIN connected to gpio.
>
> Signed-off-by: Steve Lee <steve.lee.analog at gmail.com>
> ---
> sound/soc/codecs/max98390.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/sound/soc/codecs/max98390.c
> b/sound/soc/codecs/max98390.c
> index 40fd6f363f35..05df9b85d9b0 100644
> --- a/sound/soc/codecs/max98390.c
> +++ b/sound/soc/codecs/max98390.c
> @@ -1022,6 +1022,7 @@ static int max98390_i2c_probe(struct
> i2c_client *i2c,
>
> struct max98390_priv *max98390 = NULL;
> struct i2c_adapter *adapter = i2c->adapter;
> + struct gpio_desc *reset_gpio;
>
> ret = i2c_check_functionality(adapter,
> I2C_FUNC_SMBUS_BYTE
> @@ -1073,6 +1074,17 @@ static int max98390_i2c_probe(struct
> i2c_client *i2c,
> return ret;
> }
>
> + reset_gpio = devm_gpiod_get_optional(&i2c->dev,
> + "reset", GPIOD_OUT_LOW);
> +
> + /* Power on device */
> + if (reset_gpio) {
> + usleep_range(1000, 2000);
> + /* bring out of reset */
> + gpiod_set_value_cansleep(reset_gpio, 1);
Note this will set the gpio in the asserted state. Being it active low, this will
do the opposite thing that you are trying to accomplish...
- Nuno Sá
More information about the Alsa-devel
mailing list