* [PATCH v4 0/4] Add support for mpq2286 PMIC IC
@ 2023-10-11 16:47 Saravanan Sekar
2023-10-11 16:47 ` [PATCH v4 1/4] hwmon: (pmbus/mpq7932) Get page count based on chip info Saravanan Sekar
` (3 more replies)
0 siblings, 4 replies; 11+ messages in thread
From: Saravanan Sekar @ 2023-10-11 16:47 UTC (permalink / raw
To: sravanhome, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt,
conor+dt, linux, jdelvare
Cc: linux-kernel, devicetree, linux-hwmon, Saravanan Sekar
changes in v4:
- dt-binding changed regulator node and name from 'buck0' to 'buck'
- added new pmbus regulator helper to define single regulator and used in mpq2286 driver
changes in v3:
- dt-binding commit message updated the reason for 'buck0' is used instead of 'buck'
changes in v2:
- fix dt check warnings
- fix compiler warning on cast device_get_match_data and lexicological order of compatible
The MPQ2286 is a programmable, high frequency synchronous buck regulator with
integrated internal high side and low side power MOSFET. Application in
Automotive compenents such as ADAS, Infotainment, SOC System core, DDR memory.
Saravanan Sekar (4):
hwmon: (pmbus/mpq7932) Get page count based on chip info
regulator: dt-bindings: Add mps,mpq2286 power-management IC
hwmon: (pmbus/core) Add helper macro to define single pmbus regulator
hwmon: (pmbus/mpq2286) Add a support for mpq2286 Power Management IC
.../bindings/regulator/mps,mpq2286.yaml | 59 +++++++++++++++++++
drivers/hwmon/pmbus/mpq7932.c | 19 ++++--
drivers/hwmon/pmbus/pmbus.h | 15 +++++
3 files changed, 89 insertions(+), 4 deletions(-)
create mode 100644 Documentation/devicetree/bindings/regulator/mps,mpq2286.yaml
--
2.34.1
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v4 1/4] hwmon: (pmbus/mpq7932) Get page count based on chip info
2023-10-11 16:47 [PATCH v4 0/4] Add support for mpq2286 PMIC IC Saravanan Sekar
@ 2023-10-11 16:47 ` Saravanan Sekar
2023-10-26 0:49 ` Guenter Roeck
2023-10-11 16:47 ` [PATCH v4 2/4] regulator: dt-bindings: Add mps,mpq2286 power-management IC Saravanan Sekar
` (2 subsequent siblings)
3 siblings, 1 reply; 11+ messages in thread
From: Saravanan Sekar @ 2023-10-11 16:47 UTC (permalink / raw
To: sravanhome, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt,
conor+dt, linux, jdelvare
Cc: linux-kernel, devicetree, linux-hwmon, Saravanan Sekar
Get page count using compatible match to support the series of chipsets
which differs in number of regualator/page.
Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
---
drivers/hwmon/pmbus/mpq7932.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/hwmon/pmbus/mpq7932.c b/drivers/hwmon/pmbus/mpq7932.c
index 6c62f01da7c6..723c314a57a2 100644
--- a/drivers/hwmon/pmbus/mpq7932.c
+++ b/drivers/hwmon/pmbus/mpq7932.c
@@ -105,7 +105,7 @@ static int mpq7932_probe(struct i2c_client *client)
return -ENOMEM;
info = &data->info;
- info->pages = MPQ7932_NUM_PAGES;
+ info->pages = (int)(unsigned long)device_get_match_data(&client->dev);
info->format[PSC_VOLTAGE_OUT] = direct;
info->m[PSC_VOLTAGE_OUT] = 160;
info->b[PSC_VOLTAGE_OUT] = -33;
@@ -115,7 +115,7 @@ static int mpq7932_probe(struct i2c_client *client)
}
#if IS_ENABLED(CONFIG_SENSORS_MPQ7932_REGULATOR)
- info->num_regulators = ARRAY_SIZE(mpq7932_regulators_desc);
+ info->num_regulators = info->pages;
info->reg_desc = mpq7932_regulators_desc;
#endif
@@ -129,7 +129,7 @@ static int mpq7932_probe(struct i2c_client *client)
}
static const struct of_device_id mpq7932_of_match[] = {
- { .compatible = "mps,mpq7932"},
+ { .compatible = "mps,mpq7932", .data = (void *)MPQ7932_NUM_PAGES },
{},
};
MODULE_DEVICE_TABLE(of, mpq7932_of_match);
--
2.34.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v4 2/4] regulator: dt-bindings: Add mps,mpq2286 power-management IC
2023-10-11 16:47 [PATCH v4 0/4] Add support for mpq2286 PMIC IC Saravanan Sekar
2023-10-11 16:47 ` [PATCH v4 1/4] hwmon: (pmbus/mpq7932) Get page count based on chip info Saravanan Sekar
@ 2023-10-11 16:47 ` Saravanan Sekar
2023-10-11 18:22 ` Mark Brown
` (2 more replies)
2023-10-11 16:47 ` [PATCH v4 3/4] hwmon: (pmbus/core) Add helper macro to define single pmbus regulator Saravanan Sekar
2023-10-11 16:47 ` [PATCH v4 4/4] hwmon: (pmbus/mpq2286) Add a support for mpq2286 Power Management IC Saravanan Sekar
3 siblings, 3 replies; 11+ messages in thread
From: Saravanan Sekar @ 2023-10-11 16:47 UTC (permalink / raw
To: sravanhome, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt,
conor+dt, linux, jdelvare
Cc: linux-kernel, devicetree, linux-hwmon, Saravanan Sekar
Document mpq2286 power-management IC.
Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
---
.../bindings/regulator/mps,mpq2286.yaml | 59 +++++++++++++++++++
1 file changed, 59 insertions(+)
create mode 100644 Documentation/devicetree/bindings/regulator/mps,mpq2286.yaml
diff --git a/Documentation/devicetree/bindings/regulator/mps,mpq2286.yaml b/Documentation/devicetree/bindings/regulator/mps,mpq2286.yaml
new file mode 100644
index 000000000000..1296f9b30862
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/mps,mpq2286.yaml
@@ -0,0 +1,59 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/mps,mpq2286.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Monolithic Power System MPQ2286 PMIC
+
+maintainers:
+ - Saravanan Sekar <saravanan@linumiz.com>
+
+properties:
+ compatible:
+ enum:
+ - mps,mpq2286
+
+ reg:
+ maxItems: 1
+
+ regulators:
+ type: object
+
+ properties:
+ buck:
+ type: object
+ $ref: regulator.yaml#
+
+ unevaluatedProperties: false
+
+ additionalProperties: false
+
+required:
+ - compatible
+ - reg
+ - regulators
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pmic@3 {
+ compatible = "mps,mpq2286";
+ reg = <0x3>;
+
+ regulators {
+ buck {
+ regulator-name = "buck";
+ regulator-min-microvolt = <1600000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-boot-on;
+ };
+ };
+ };
+ };
+...
--
2.34.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v4 3/4] hwmon: (pmbus/core) Add helper macro to define single pmbus regulator
2023-10-11 16:47 [PATCH v4 0/4] Add support for mpq2286 PMIC IC Saravanan Sekar
2023-10-11 16:47 ` [PATCH v4 1/4] hwmon: (pmbus/mpq7932) Get page count based on chip info Saravanan Sekar
2023-10-11 16:47 ` [PATCH v4 2/4] regulator: dt-bindings: Add mps,mpq2286 power-management IC Saravanan Sekar
@ 2023-10-11 16:47 ` Saravanan Sekar
2023-10-26 0:51 ` Guenter Roeck
2023-10-11 16:47 ` [PATCH v4 4/4] hwmon: (pmbus/mpq2286) Add a support for mpq2286 Power Management IC Saravanan Sekar
3 siblings, 1 reply; 11+ messages in thread
From: Saravanan Sekar @ 2023-10-11 16:47 UTC (permalink / raw
To: sravanhome, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt,
conor+dt, linux, jdelvare
Cc: linux-kernel, devicetree, linux-hwmon, Saravanan Sekar
The bindings for single instance regulator should be named with no instance
(e.g., buck not buck0). Introduce a new helper macro to define the single pmbus
regulator.
Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
---
drivers/hwmon/pmbus/pmbus.h | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/drivers/hwmon/pmbus/pmbus.h b/drivers/hwmon/pmbus/pmbus.h
index b0832a4c690d..f4df3d6a41df 100644
--- a/drivers/hwmon/pmbus/pmbus.h
+++ b/drivers/hwmon/pmbus/pmbus.h
@@ -480,6 +480,21 @@ extern const struct regulator_ops pmbus_regulator_ops;
#define PMBUS_REGULATOR(_name, _id) PMBUS_REGULATOR_STEP(_name, _id, 0, 0, 0)
+#define PMBUS_REGULATOR_STEP_ONE(_name, _voltages, _step, _min_uV) \
+ { \
+ .name = (_name), \
+ .of_match = of_match_ptr(_name), \
+ .regulators_node = of_match_ptr("regulators"), \
+ .ops = &pmbus_regulator_ops, \
+ .type = REGULATOR_VOLTAGE, \
+ .owner = THIS_MODULE, \
+ .n_voltages = _voltages, \
+ .uV_step = _step, \
+ .min_uV = _min_uV, \
+ }
+
+#define PMBUS_REGULATOR_ONE(_name) PMBUS_REGULATOR_STEP_ONE(_name, 0, 0, 0)
+
/* Function declarations */
void pmbus_clear_cache(struct i2c_client *client);
--
2.34.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v4 4/4] hwmon: (pmbus/mpq2286) Add a support for mpq2286 Power Management IC
2023-10-11 16:47 [PATCH v4 0/4] Add support for mpq2286 PMIC IC Saravanan Sekar
` (2 preceding siblings ...)
2023-10-11 16:47 ` [PATCH v4 3/4] hwmon: (pmbus/core) Add helper macro to define single pmbus regulator Saravanan Sekar
@ 2023-10-11 16:47 ` Saravanan Sekar
2023-10-26 0:52 ` Guenter Roeck
3 siblings, 1 reply; 11+ messages in thread
From: Saravanan Sekar @ 2023-10-11 16:47 UTC (permalink / raw
To: sravanhome, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt,
conor+dt, linux, jdelvare
Cc: linux-kernel, devicetree, linux-hwmon, Saravanan Sekar
The MPQ2286 is a programmable, high frequency synchronous buck regulator
designed to power a variety of Automotive system peripherals. Single buck
converters with hardware monitoring capability is configurable over PMBus
interface.
Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
---
drivers/hwmon/pmbus/mpq7932.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/hwmon/pmbus/mpq7932.c b/drivers/hwmon/pmbus/mpq7932.c
index 723c314a57a2..67487867c70f 100644
--- a/drivers/hwmon/pmbus/mpq7932.c
+++ b/drivers/hwmon/pmbus/mpq7932.c
@@ -21,6 +21,7 @@
#define MPQ7932_N_VOLTAGES 256
#define MPQ7932_VOUT_MAX 0xFF
#define MPQ7932_NUM_PAGES 6
+#define MPQ2286_NUM_PAGES 1
#define MPQ7932_TON_DELAY 0x60
#define MPQ7932_VOUT_STARTUP_SLEW 0xA3
@@ -48,6 +49,11 @@ static struct regulator_desc mpq7932_regulators_desc[] = {
PMBUS_REGULATOR_STEP("buck", 5, MPQ7932_N_VOLTAGES,
MPQ7932_UV_STEP, MPQ7932_BUCK_UV_MIN),
};
+
+static const struct regulator_desc mpq7932_regulators_desc_one[] = {
+ PMBUS_REGULATOR_STEP_ONE("buck", MPQ7932_N_VOLTAGES,
+ MPQ7932_UV_STEP, MPQ7932_BUCK_UV_MIN),
+};
#endif
static int mpq7932_write_word_data(struct i2c_client *client, int page, int reg,
@@ -116,7 +122,10 @@ static int mpq7932_probe(struct i2c_client *client)
#if IS_ENABLED(CONFIG_SENSORS_MPQ7932_REGULATOR)
info->num_regulators = info->pages;
- info->reg_desc = mpq7932_regulators_desc;
+ if (info->num_regulators == 1)
+ info->reg_desc = mpq7932_regulators_desc_one;
+ else
+ info->reg_desc = mpq7932_regulators_desc;
#endif
info->read_word_data = mpq7932_read_word_data;
@@ -129,12 +138,14 @@ static int mpq7932_probe(struct i2c_client *client)
}
static const struct of_device_id mpq7932_of_match[] = {
+ { .compatible = "mps,mpq2286", .data = (void *)MPQ2286_NUM_PAGES },
{ .compatible = "mps,mpq7932", .data = (void *)MPQ7932_NUM_PAGES },
{},
};
MODULE_DEVICE_TABLE(of, mpq7932_of_match);
static const struct i2c_device_id mpq7932_id[] = {
+ { "mpq2286", },
{ "mpq7932", },
{ },
};
--
2.34.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v4 2/4] regulator: dt-bindings: Add mps,mpq2286 power-management IC
2023-10-11 16:47 ` [PATCH v4 2/4] regulator: dt-bindings: Add mps,mpq2286 power-management IC Saravanan Sekar
@ 2023-10-11 18:22 ` Mark Brown
2023-10-11 18:23 ` Krzysztof Kozlowski
2023-10-26 0:50 ` Guenter Roeck
2 siblings, 0 replies; 11+ messages in thread
From: Mark Brown @ 2023-10-11 18:22 UTC (permalink / raw
To: Saravanan Sekar
Cc: sravanhome, lgirdwood, robh+dt, krzysztof.kozlowski+dt, conor+dt,
linux, jdelvare, linux-kernel, devicetree, linux-hwmon
[-- Attachment #1: Type: text/plain, Size: 148 bytes --]
On Wed, Oct 11, 2023 at 10:17:52PM +0530, Saravanan Sekar wrote:
> Document mpq2286 power-management IC.
Acked-by: Mark Brown <broonie@kernel.org>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v4 2/4] regulator: dt-bindings: Add mps,mpq2286 power-management IC
2023-10-11 16:47 ` [PATCH v4 2/4] regulator: dt-bindings: Add mps,mpq2286 power-management IC Saravanan Sekar
2023-10-11 18:22 ` Mark Brown
@ 2023-10-11 18:23 ` Krzysztof Kozlowski
2023-10-26 0:50 ` Guenter Roeck
2 siblings, 0 replies; 11+ messages in thread
From: Krzysztof Kozlowski @ 2023-10-11 18:23 UTC (permalink / raw
To: Saravanan Sekar, sravanhome, lgirdwood, broonie, robh+dt,
krzysztof.kozlowski+dt, conor+dt, linux, jdelvare
Cc: linux-kernel, devicetree, linux-hwmon
On 11/10/2023 18:47, Saravanan Sekar wrote:
> Document mpq2286 power-management IC.
>
> Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
> ---
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v4 1/4] hwmon: (pmbus/mpq7932) Get page count based on chip info
2023-10-11 16:47 ` [PATCH v4 1/4] hwmon: (pmbus/mpq7932) Get page count based on chip info Saravanan Sekar
@ 2023-10-26 0:49 ` Guenter Roeck
0 siblings, 0 replies; 11+ messages in thread
From: Guenter Roeck @ 2023-10-26 0:49 UTC (permalink / raw
To: Saravanan Sekar
Cc: sravanhome, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt,
conor+dt, jdelvare, linux-kernel, devicetree, linux-hwmon
On Wed, Oct 11, 2023 at 10:17:51PM +0530, Saravanan Sekar wrote:
> Get page count using compatible match to support the series of chipsets
> which differs in number of regualator/page.
>
> Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
Applied.
Thanks,
Guenter
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v4 2/4] regulator: dt-bindings: Add mps,mpq2286 power-management IC
2023-10-11 16:47 ` [PATCH v4 2/4] regulator: dt-bindings: Add mps,mpq2286 power-management IC Saravanan Sekar
2023-10-11 18:22 ` Mark Brown
2023-10-11 18:23 ` Krzysztof Kozlowski
@ 2023-10-26 0:50 ` Guenter Roeck
2 siblings, 0 replies; 11+ messages in thread
From: Guenter Roeck @ 2023-10-26 0:50 UTC (permalink / raw
To: Saravanan Sekar
Cc: sravanhome, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt,
conor+dt, jdelvare, linux-kernel, devicetree, linux-hwmon
On Wed, Oct 11, 2023 at 10:17:52PM +0530, Saravanan Sekar wrote:
> Document mpq2286 power-management IC.
>
> Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
> Acked-by: Mark Brown <broonie@kernel.org>
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Applied.
Thanks,
Guenter
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v4 3/4] hwmon: (pmbus/core) Add helper macro to define single pmbus regulator
2023-10-11 16:47 ` [PATCH v4 3/4] hwmon: (pmbus/core) Add helper macro to define single pmbus regulator Saravanan Sekar
@ 2023-10-26 0:51 ` Guenter Roeck
0 siblings, 0 replies; 11+ messages in thread
From: Guenter Roeck @ 2023-10-26 0:51 UTC (permalink / raw
To: Saravanan Sekar
Cc: sravanhome, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt,
conor+dt, jdelvare, linux-kernel, devicetree, linux-hwmon
On Wed, Oct 11, 2023 at 10:17:53PM +0530, Saravanan Sekar wrote:
> The bindings for single instance regulator should be named with no instance
> (e.g., buck not buck0). Introduce a new helper macro to define the single pmbus
> regulator.
>
> Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
Applied.
Thanks,
Guenter
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v4 4/4] hwmon: (pmbus/mpq2286) Add a support for mpq2286 Power Management IC
2023-10-11 16:47 ` [PATCH v4 4/4] hwmon: (pmbus/mpq2286) Add a support for mpq2286 Power Management IC Saravanan Sekar
@ 2023-10-26 0:52 ` Guenter Roeck
0 siblings, 0 replies; 11+ messages in thread
From: Guenter Roeck @ 2023-10-26 0:52 UTC (permalink / raw
To: Saravanan Sekar
Cc: sravanhome, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt,
conor+dt, jdelvare, linux-kernel, devicetree, linux-hwmon
On Wed, Oct 11, 2023 at 10:17:54PM +0530, Saravanan Sekar wrote:
> The MPQ2286 is a programmable, high frequency synchronous buck regulator
> designed to power a variety of Automotive system peripherals. Single buck
> converters with hardware monitoring capability is configurable over PMBus
> interface.
>
> Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
Applied, after fixing the subject. Its tag needs to reference
the driver, not the added chip.
Guenter
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2023-10-26 0:53 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-11 16:47 [PATCH v4 0/4] Add support for mpq2286 PMIC IC Saravanan Sekar
2023-10-11 16:47 ` [PATCH v4 1/4] hwmon: (pmbus/mpq7932) Get page count based on chip info Saravanan Sekar
2023-10-26 0:49 ` Guenter Roeck
2023-10-11 16:47 ` [PATCH v4 2/4] regulator: dt-bindings: Add mps,mpq2286 power-management IC Saravanan Sekar
2023-10-11 18:22 ` Mark Brown
2023-10-11 18:23 ` Krzysztof Kozlowski
2023-10-26 0:50 ` Guenter Roeck
2023-10-11 16:47 ` [PATCH v4 3/4] hwmon: (pmbus/core) Add helper macro to define single pmbus regulator Saravanan Sekar
2023-10-26 0:51 ` Guenter Roeck
2023-10-11 16:47 ` [PATCH v4 4/4] hwmon: (pmbus/mpq2286) Add a support for mpq2286 Power Management IC Saravanan Sekar
2023-10-26 0:52 ` Guenter Roeck
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.