Linux kernel and device drivers for NXP i.MX platforms
 help / color / mirror / Atom feed
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[] = {


  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