From: Andreas Kemnade <andreas@kemnade.info>
To: robby.cai@oss.nxp.com
Cc: lgirdwood@gmail.com, broonie@kernel.org,
linux-kernel@vger.kernel.org, imx@lists.linux.dev
Subject: Re: [PATCH v2 1/2] regulator: fp9931: Fix VPOS/VNEG voltage selector table
Date: Wed, 5 Aug 2026 00:36:36 +0200 [thread overview]
Message-ID: <20260805003636.1fb41fbb@kemnade.info> (raw)
In-Reply-To: <20260724103441.800522-2-robby.cai@oss.nxp.com>
On Fri, 24 Jul 2026 18:34:40 +0800
robby.cai@oss.nxp.com wrote:
> From: Robby Cai <robby.cai@nxp.com>
>
> The VPOSNEG_table[] mapping does not match the FP9931 datasheet.
>
> The datasheet defines the VPOS/VNEG voltage mapping as:
>
> 00h-04h -> 7.04V (-7.04V)
> 05h -> 7.26V (-7.26V)
> 06h -> 7.49V (-7.49V)
> ...
> 28h-3Fh -> 15.06V (-15.06V)
>
> However, VPOSNEG_table[] has two issues:
>
> 1. Selector 0x00~0x04 should all map to 7.04V (5 entries), but the
> table has 6 entries of 7.04V, causing all subsequent entries to be
> shifted by one position.
>
> 2. Selectors 0x29~0x3F should all clamp to 15.06V (23 entries), but
> the table has only 41 entries. Any selector value above 0x28
> would result in an out-of-bounds table access.
>
> Fix both issues by removing the duplicate 7.04V entry and appending
> the missing 23 clamped 15.06V entries, bringing the table to the
> correct size of 64 entries (0x00~0x3F).
>
> Fixes: 12d821bd13d4 ("regulator: Add FP9931/JD9930 driver")
> Signed-off-by: Robby Cai <robby.cai@nxp.com>
Somehow I missed this.
So also for this:
Reviewed-by: Andreas Kemnade <andreas@kemnade.infe>
> ---
> drivers/regulator/fp9931.c | 54 +++++++++-----------------------------
> 1 file changed, 12 insertions(+), 42 deletions(-)
>
> diff --git a/drivers/regulator/fp9931.c b/drivers/regulator/fp9931.c
> index 002b41f53eff..ff743a8b0dfe 100644
> --- a/drivers/regulator/fp9931.c
> +++ b/drivers/regulator/fp9931.c
> @@ -37,48 +37,18 @@ struct fp9931_data {
> };
>
> static const unsigned int VPOSNEG_table[] = {
> - 7040000,
> - 7040000,
> - 7040000,
> - 7040000,
> - 7040000,
> - 7040000,
> - 7260000,
> - 7490000,
> - 7710000,
> - 7930000,
> - 8150000,
> - 8380000,
> - 8600000,
> - 8820000,
> - 9040000,
> - 9270000,
> - 9490000,
> - 9710000,
> - 9940000,
> - 10160000,
> - 10380000,
> - 10600000,
> - 10830000,
> - 11050000,
> - 11270000,
> - 11490000,
> - 11720000,
> - 11940000,
> - 12160000,
> - 12380000,
> - 12610000,
> - 12830000,
> - 13050000,
> - 13280000,
> - 13500000,
> - 13720000,
> - 13940000,
> - 14170000,
> - 14390000,
> - 14610000,
> - 14830000,
> - 15060000,
> + 7040000, 7040000, 7040000, 7040000, 7040000, /* 00h-04h */
> + 7260000, 7490000, 7710000, 7930000, 8150000, 8380000, /* 05h-0Ah */
> + 8600000, 8820000, 9040000, 9270000, 9490000, 9710000, /* 0Bh-10h */
> + 9940000, 10160000, 10380000, 10600000, 10830000, 11050000, /* 11h-16h */
> + 11270000, 11490000, 11720000, 11940000, 12160000, 12380000, /* 17h-1Ch */
> + 12610000, 12830000, 13050000, 13280000, 13500000, 13720000, /* 1Dh-22h */
> + 13940000, 14170000, 14390000, 14610000, 14830000, 15060000, /* 23h-28h */
> + /* 29h-3Fh: clamped to 15.06V per datasheet */
> + 15060000, 15060000, 15060000, 15060000, 15060000, 15060000,
> + 15060000, 15060000, 15060000, 15060000, 15060000, 15060000,
> + 15060000, 15060000, 15060000, 15060000, 15060000, 15060000,
> + 15060000, 15060000, 15060000, 15060000, 15060000,
> };
>
> static const struct hwmon_channel_info *fp9931_info[] = {
next prev parent reply other threads:[~2026-08-04 22:37 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-24 10:34 [PATCH v2 0/2] regulator: fp9931: fix voltage mapping and runtime PM issues robby.cai
2026-07-24 10:34 ` [PATCH v2 1/2] regulator: fp9931: Fix VPOS/VNEG voltage selector table robby.cai
2026-07-24 10:41 ` sashiko-bot
2026-08-04 22:36 ` Andreas Kemnade [this message]
2026-07-24 10:34 ` [PATCH v2 2/2] regulator: fp9931: Fix Runtime PM usage count underflow in v3p3 ops robby.cai
2026-07-24 10:41 ` sashiko-bot
2026-07-25 19:50 ` Andreas Kemnade
2026-07-31 8:35 ` Robby Cai (OSS)
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=20260805003636.1fb41fbb@kemnade.info \
--to=andreas@kemnade.info \
--cc=broonie@kernel.org \
--cc=imx@lists.linux.dev \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=robby.cai@oss.nxp.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox