From: Adrien Grassein <adrien.grassein@gmail.com>
To: broonie@kernel.org, jagan@amarulasolutions.com
Cc: lgirdwood@gmail.com, robh+dt@kernel.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
troy.kisky@boundarydevices.com,
Adrien Grassein <adrien.grassein@gmail.com>
Subject: [PATCH 6/6] regulator: pf8x00: use linear range for buck 1-6
Date: Tue, 15 Dec 2020 21:48:58 +0100 [thread overview]
Message-ID: <20201215204858.8186-7-adrien.grassein@gmail.com> (raw)
In-Reply-To: <20201215204858.8186-1-adrien.grassein@gmail.com>
Use a linear range to describe the voltages of the
bucks 1-6 instead of listing it one by one (via a macro)
Signed-off-by: Adrien Grassein <adrien.grassein@gmail.com>
---
drivers/regulator/pf8x00-regulator.c | 38 ++++++----------------------
1 file changed, 8 insertions(+), 30 deletions(-)
diff --git a/drivers/regulator/pf8x00-regulator.c b/drivers/regulator/pf8x00-regulator.c
index 335aa77ef5fc..d5c1916c0646 100644
--- a/drivers/regulator/pf8x00-regulator.c
+++ b/drivers/regulator/pf8x00-regulator.c
@@ -155,35 +155,11 @@ static const unsigned int pf8x00_sw_current_table[] = {
2100000, 2600000, 3000000, 4500000,
};
-#define SWV(i) (6250 * i + 400000)
-#define SWV_LINE(i) SWV(i*8+0), SWV(i*8+1), SWV(i*8+2), SWV(i*8+3), \
- SWV(i*8+4), SWV(i*8+5), SWV(i*8+6), SWV(i*8+7)
-
/* Output: 0.4V to 1.8V */
-static const int pf8x00_sw1_to_6_voltages[] = {
- SWV_LINE(0),
- SWV_LINE(1),
- SWV_LINE(2),
- SWV_LINE(3),
- SWV_LINE(4),
- SWV_LINE(5),
- SWV_LINE(6),
- SWV_LINE(7),
- SWV_LINE(8),
- SWV_LINE(9),
- SWV_LINE(10),
- SWV_LINE(11),
- SWV_LINE(12),
- SWV_LINE(13),
- SWV_LINE(14),
- SWV_LINE(15),
- SWV_LINE(16),
- SWV_LINE(17),
- SWV_LINE(18),
- SWV_LINE(19),
- SWV_LINE(20),
- SWV_LINE(21),
- 1500000, 1800000,
+#define PF8XOO_SW1_6_VOLTAGE_NUM 0xB2
+static const struct linear_range pf8x00_sw1_to_6_voltages[] = {
+ REGULATOR_LINEAR_RANGE(400000, 0x00, 0xB0, 6250),
+ REGULATOR_LINEAR_RANGE(1800000, 0xB1, 0xB1, 0),
};
/* Output: 1.0V to 4.1V */
@@ -248,7 +224,7 @@ static const struct regulator_ops pf8x00_buck1_6_ops = {
.enable = regulator_enable_regmap,
.disable = regulator_disable_regmap,
.is_enabled = regulator_is_enabled_regmap,
- .list_voltage = regulator_list_voltage_table,
+ .list_voltage = regulator_list_voltage_linear_range,
.set_voltage_sel = regulator_set_voltage_sel_regmap,
.get_voltage_sel = regulator_get_voltage_sel_regmap,
.get_current_limit = regulator_get_current_limit_regmap,
@@ -307,7 +283,9 @@ static const struct regulator_ops pf8x00_vsnvs_ops = {
.type = REGULATOR_VOLTAGE, \
.id = PF8X00_BUCK ## _id, \
.owner = THIS_MODULE, \
- .volt_table = voltages, \
+ .linear_ranges = pf8x00_sw1_to_6_voltages, \
+ .n_linear_ranges = \
+ ARRAY_SIZE(pf8x00_sw1_to_6_voltages), \
.vsel_reg = (base) + SW_RUN_VOLT, \
.vsel_mask = 0xff, \
.curr_table = pf8x00_sw_current_table, \
--
2.20.1
prev parent reply other threads:[~2020-12-15 20:51 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-15 20:48 [PATCH 0/6] Fix issues on pf8x00 driver Adrien Grassein
2020-12-15 20:48 ` [PATCH 1/6] regulator: dt-bindings: remove useless properties Adrien Grassein
2020-12-15 20:48 ` [PATCH 2/6] regulator: pf8x00: add a doc for the module Adrien Grassein
2020-12-15 20:48 ` [PATCH 3/6] regulator: dt-bindings: pf8x00: fix nxp,phase-shift doc Adrien Grassein
2020-12-15 21:06 ` Jagan Teki
2020-12-15 21:09 ` Adrien Grassein
2020-12-15 20:48 ` [PATCH 4/6] regulator: dt-bindings: pf8x00: remove nxp,ilim-ma property Adrien Grassein
2020-12-15 20:48 ` [PATCH 5/6] regulator: " Adrien Grassein
2020-12-15 20:48 ` Adrien Grassein [this message]
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=20201215204858.8186-7-adrien.grassein@gmail.com \
--to=adrien.grassein@gmail.com \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jagan@amarulasolutions.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=robh+dt@kernel.org \
--cc=troy.kisky@boundarydevices.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;
as well as URLs for NNTP newsgroup(s).