From: Peng Fan <peng.fan@oss.nxp.com>
To: Charles Keepax <ckeepax@opensource.cirrus.com>
Cc: Shenghao Ding <shenghao-ding@ti.com>, Kevin Lu <kevin-lu@ti.com>,
Baojun Xu <baojun.xu@ti.com>, Jaroslav Kysela <perex@perex.cz>,
Takashi Iwai <tiwai@suse.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
Linus Walleij <linus.walleij@linaro.org>,
Bartosz Golaszewski <brgl@bgdev.pl>,
Peter Ujfalusi <peter.ujfalusi@gmail.com>,
David Rhodes <david.rhodes@cirrus.com>,
Richard Fitzgerald <rf@opensource.cirrus.com>,
linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-gpio@vger.kernel.org, patches@opensource.cirrus.com,
Peng Fan <peng.fan@nxp.com>
Subject: Re: [PATCH 4/7] ASoC: codec: cs42l56: Convert to GPIO descriptors
Date: Tue, 8 Apr 2025 23:58:50 +0800 [thread overview]
Message-ID: <20250408155850.GA31497@nxa18884-linux> (raw)
In-Reply-To: <Z/UcOz7RlWSquLXH@opensource.cirrus.com>
On Tue, Apr 08, 2025 at 01:53:15PM +0100, Charles Keepax wrote:
>On Tue, Apr 08, 2025 at 09:40:00AM +0800, Peng Fan (OSS) wrote:
>> From: Peng Fan <peng.fan@nxp.com>
>> Checking the current driver using legacy GPIO API, the
>> nreset value is first output HIGH, then LOW, then HIGH.
>>
>> Checking the datasheet, nreset is should be held low after power
>> on, when nreset is high, it starts to work.
>>
>
>Does feel like it would have made more sense to request it in
>reset at the start certainly, but as you say reasonable to leave
>well enough alone.
yeah. request it in reset state and set HIGH later is better.
I could update to use this new flow.
>
>> Per datasheet, the DTS polarity should be GPIOD_ACTIVE_LOW. The binding
>> example use value 0(GPIOD_ACTIVE_HIGH) which seems wrong. There is
>> no in-tree DTS has the device, so all should be fine.
>
>Yeah it is technically wrong, discussed more below.
>
>> - pdata->gpio_nreset = of_get_named_gpio(np, "cirrus,gpio-nreset", 0);
>> + pdata->gpio_nreset = devm_gpiod_get_optional(&i2c_client->dev, "cirrus,gpio-nreset",
>> + GPIOD_OUT_LOW);
>
>Would be nice to call out that this part is already included in
>the quirks array in of_find_gpio_rename:
>
>944004eb56dc ("gpiolib: of: add a quirk for reset line for Cirrus CS42L56")
I will update commit log to include this.
>
>Took me a while to realise this would request the right property.
My bad.
>
>> - gpio_set_value_cansleep(cs42l56->pdata.gpio_nreset, 0);
>> - gpio_set_value_cansleep(cs42l56->pdata.gpio_nreset, 1);
>> + gpiod_set_value_cansleep(cs42l56->pdata.gpio_nreset, 1);
>> + gpiod_set_value_cansleep(cs42l56->pdata.gpio_nreset, 0);
>
>I can't say I super love this change as it will mean any users
>with a DT that worked with the driver before this change will see
>things break. As far as I know the parts you are updating in
>this series do not have a lot of users, (and none in tree as you
>note) so I guess if everyone else is happy, I don't really object.
A polarity quirk could be added to gpiolib-of, if this is preferred.
Before adding quirk, I would like to see whether Linus and Bartosz agree
on this.
BTW, [1] shows the chip is discontinued. Since there is no in-tree user
for quite some time, and new users would not use end-of-life chips,
should we totally delete this driver?
[1] https://www.cirrus.com/products/cs42l56/
Thanks,
Peng
>
>Thanks,
>Charles
>
next prev parent reply other threads:[~2025-04-08 14:50 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-08 1:39 [PATCH 0/7] ASoC: codec: Convert to GPIO descriptors Peng Fan (OSS)
2025-04-08 1:39 ` [PATCH 1/7] ASoC: codec: tlv320aic32x4: Drop aic32x4_pdata usage Peng Fan (OSS)
2025-04-08 1:39 ` [PATCH 2/7] ASoC: codec: tlv320aic32x4: Convert to GPIO descriptors Peng Fan (OSS)
2025-04-15 13:26 ` Linus Walleij
2025-04-15 13:53 ` Alexander Stein
2025-04-16 8:31 ` Peng Fan
2025-04-16 11:10 ` Linus Walleij
2025-04-08 1:39 ` [PATCH 3/7] ASoC: codec: twl4030: " Peng Fan (OSS)
2025-04-15 13:28 ` Linus Walleij
2025-04-15 14:41 ` Peng Fan
2025-04-08 1:40 ` [PATCH 4/7] ASoC: codec: cs42l56: " Peng Fan (OSS)
2025-04-08 12:53 ` Charles Keepax
2025-04-08 15:58 ` Peng Fan [this message]
2025-04-08 14:24 ` Mark Brown
2025-04-08 16:04 ` Peng Fan
2025-04-08 16:50 ` Charles Keepax
2025-04-08 1:40 ` [PATCH 5/7] ASoC: codec: cs42l73: " Peng Fan (OSS)
2025-04-08 1:40 ` [PATCH 6/7] ASoC: codec: cs42l52: " Peng Fan (OSS)
2025-04-08 1:40 ` [PATCH 7/7] ASoC: codec: tpa6130a2: " Peng Fan (OSS)
2025-04-15 13:31 ` Linus Walleij
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=20250408155850.GA31497@nxa18884-linux \
--to=peng.fan@oss.nxp.com \
--cc=baojun.xu@ti.com \
--cc=brgl@bgdev.pl \
--cc=broonie@kernel.org \
--cc=ckeepax@opensource.cirrus.com \
--cc=david.rhodes@cirrus.com \
--cc=kevin-lu@ti.com \
--cc=lgirdwood@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=patches@opensource.cirrus.com \
--cc=peng.fan@nxp.com \
--cc=perex@perex.cz \
--cc=peter.ujfalusi@gmail.com \
--cc=rf@opensource.cirrus.com \
--cc=shenghao-ding@ti.com \
--cc=tiwai@suse.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.