From: Lee Jones <lee@kernel.org>
To: Chen-Yu Tsai <wenst@chromium.org>
Cc: Matthias Brugger <matthias.bgg@gmail.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>,
Mark Brown <broonie@kernel.org>,
Zhiyong Tao <zhiyong.tao@mediatek.com>,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org
Subject: Re: [PATCH v3 2/3] regulator: mt6358: Add output voltage fine tuning to fixed regulators
Date: Thu, 21 Sep 2023 11:30:50 +0100 [thread overview]
Message-ID: <20230921103050.GA3449785@google.com> (raw)
In-Reply-To: <20230913082919.1631287-3-wenst@chromium.org>
On Wed, 13 Sep 2023, Chen-Yu Tsai wrote:
> The "fixed" LDO regulators found on the MT6358 and MT6366 PMICs have
> either no voltage selection register, or only one valid setting.
> However these do have a fine voltage calibration setting that can
> slightly boost the output voltage from 0 mV to 100 mV, in 10 mV
> increments.
>
> Add support for this by changing these into linear range regulators.
> Some register definitions that are missing are also added.
>
> Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> ---
> This patch needs an ack from Lee.
>
> drivers/regulator/mt6358-regulator.c | 15 +++++++++++++--
> include/linux/mfd/mt6358/registers.h | 6 ++++++
Acked-by: Lee Jones <lee@kernel.org>
> 2 files changed, 19 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/regulator/mt6358-regulator.c b/drivers/regulator/mt6358-regulator.c
> index 935c7ad56c7e..ecb2cd1eb34f 100644
> --- a/drivers/regulator/mt6358-regulator.c
> +++ b/drivers/regulator/mt6358-regulator.c
> @@ -123,10 +123,13 @@ struct mt6358_regulator_info {
> .type = REGULATOR_VOLTAGE, \
> .id = MT6358_ID_##vreg, \
> .owner = THIS_MODULE, \
> - .n_voltages = 1, \
> + .n_voltages = 11, \
> + .vsel_reg = MT6358_##vreg##_ANA_CON0, \
> + .vsel_mask = GENMASK(3, 0), \
> .enable_reg = enreg, \
> .enable_mask = BIT(enbit), \
> .min_uV = volt, \
> + .uV_step = 10000, \
> }, \
> .status_reg = MT6358_LDO_##vreg##_CON1, \
> .qi = BIT(15), \
> @@ -219,10 +222,13 @@ struct mt6358_regulator_info {
> .type = REGULATOR_VOLTAGE, \
> .id = MT6366_ID_##vreg, \
> .owner = THIS_MODULE, \
> - .n_voltages = 1, \
> + .n_voltages = 11, \
> + .vsel_reg = MT6358_##vreg##_ANA_CON0, \
> + .vsel_mask = GENMASK(3, 0), \
> .enable_reg = enreg, \
> .enable_mask = BIT(enbit), \
> .min_uV = volt, \
> + .uV_step = 10000, \
> }, \
> .status_reg = MT6358_LDO_##vreg##_CON1, \
> .qi = BIT(15), \
> @@ -482,8 +488,13 @@ static const struct regulator_ops mt6358_volt_table_ops = {
> .get_status = mt6358_get_status,
> };
>
> +/* "Fixed" LDOs with output voltage calibration +0 ~ +10 mV */
> static const struct regulator_ops mt6358_volt_fixed_ops = {
> .list_voltage = regulator_list_voltage_linear,
> + .map_voltage = regulator_map_voltage_linear,
> + .set_voltage_sel = regulator_set_voltage_sel_regmap,
> + .get_voltage_sel = mt6358_get_buck_voltage_sel,
> + .set_voltage_time_sel = regulator_set_voltage_time_sel,
> .enable = regulator_enable_regmap,
> .disable = regulator_disable_regmap,
> .is_enabled = regulator_is_enabled_regmap,
> diff --git a/include/linux/mfd/mt6358/registers.h b/include/linux/mfd/mt6358/registers.h
> index 3d33517f178c..5ea2590be710 100644
> --- a/include/linux/mfd/mt6358/registers.h
> +++ b/include/linux/mfd/mt6358/registers.h
> @@ -262,6 +262,12 @@
> #define MT6358_LDO_VBIF28_CON3 0x1db0
> #define MT6358_VCAMA1_ANA_CON0 0x1e08
> #define MT6358_VCAMA2_ANA_CON0 0x1e0c
> +#define MT6358_VFE28_ANA_CON0 0x1e10
> +#define MT6358_VCN28_ANA_CON0 0x1e14
> +#define MT6358_VBIF28_ANA_CON0 0x1e18
> +#define MT6358_VAUD28_ANA_CON0 0x1e1c
> +#define MT6358_VAUX18_ANA_CON0 0x1e20
> +#define MT6358_VXO22_ANA_CON0 0x1e24
> #define MT6358_VCN33_ANA_CON0 0x1e28
> #define MT6358_VSIM1_ANA_CON0 0x1e2c
> #define MT6358_VSIM2_ANA_CON0 0x1e30
> --
> 2.42.0.283.g2d96d420d3-goog
>
--
Lee Jones [李琼斯]
next prev parent reply other threads:[~2023-09-21 22:11 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-13 8:29 [PATCH v3 0/3] regulator: mt6358: Remove bogus regulators and improvements Chen-Yu Tsai
2023-09-13 8:29 ` [PATCH v3 1/3] regulator: mt6358: Fail probe on unknown chip ID Chen-Yu Tsai
2023-09-13 8:29 ` [PATCH v3 2/3] regulator: mt6358: Add output voltage fine tuning to fixed regulators Chen-Yu Tsai
2023-09-21 10:30 ` Lee Jones [this message]
2023-09-13 8:29 ` [PATCH v3 3/3] regulator: mt6358: Add output voltage fine tuning to variable LDOs Chen-Yu Tsai
2023-09-21 9:13 ` AngeloGioacchino Del Regno
2023-09-26 12:59 ` [PATCH v3 0/3] regulator: mt6358: Remove bogus regulators and improvements Mark Brown
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=20230921103050.GA3449785@google.com \
--to=lee@kernel.org \
--cc=angelogioacchino.delregno@collabora.com \
--cc=broonie@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=wenst@chromium.org \
--cc=zhiyong.tao@mediatek.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