* [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
* 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
* [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
* 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 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
* [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
* 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
* [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 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