* [PATCH 0/3] Add support for mpq2286 PMIC IC
@ 2023-09-11 3:41 Saravanan Sekar
2023-09-11 3:41 ` [PATCH 1/3] hwmon: (pmbus/mpq7932) Get page count based on chip info Saravanan Sekar
` (2 more replies)
0 siblings, 3 replies; 14+ messages in thread
From: Saravanan Sekar @ 2023-09-11 3:41 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 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 (3):
hwmon: (pmbus/mpq7932) Get page count based on chip info
dt-bindings: regulator: Add mps,mpq2286 power-management IC
hwmon: (pmbus/mpq2286) Add a support for mpq2286 Power Management IC
.../bindings/regulator/mps,mpq2286.yaml | 59 +++++++++++++++++++
drivers/hwmon/pmbus/mpq7932.c | 9 ++-
2 files changed, 65 insertions(+), 3 deletions(-)
create mode 100644 Documentation/devicetree/bindings/regulator/mps,mpq2286.yaml
--
2.34.1
^ permalink raw reply [flat|nested] 14+ messages in thread* [PATCH 1/3] hwmon: (pmbus/mpq7932) Get page count based on chip info 2023-09-11 3:41 [PATCH 0/3] Add support for mpq2286 PMIC IC Saravanan Sekar @ 2023-09-11 3:41 ` Saravanan Sekar 2023-09-11 4:24 ` Guenter Roeck ` (2 more replies) 2023-09-11 3:41 ` [PATCH 2/3] dt-bindings: regulator: Add mps,mpq2286 power-management IC Saravanan Sekar 2023-09-11 3:41 ` [PATCH 3/3] hwmon: (pmbus/mpq2286) Add a support for mpq2286 Power Management IC Saravanan Sekar 2 siblings, 3 replies; 14+ messages in thread From: Saravanan Sekar @ 2023-09-11 3:41 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 865d42edda1a..af3e5e9590c8 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)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] 14+ messages in thread
* Re: [PATCH 1/3] hwmon: (pmbus/mpq7932) Get page count based on chip info 2023-09-11 3:41 ` [PATCH 1/3] hwmon: (pmbus/mpq7932) Get page count based on chip info Saravanan Sekar @ 2023-09-11 4:24 ` Guenter Roeck 2023-09-11 5:46 ` kernel test robot 2023-09-11 6:40 ` kernel test robot 2 siblings, 0 replies; 14+ messages in thread From: Guenter Roeck @ 2023-09-11 4:24 UTC (permalink / raw) To: Saravanan Sekar, sravanhome, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt, conor+dt, jdelvare Cc: linux-kernel, devicetree, linux-hwmon On 9/10/23 20:41, 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> > --- > 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 865d42edda1a..af3e5e9590c8 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)device_get_match_data(&client->dev); I kind of doubt that this works without generating a compiler warning. Also, does this work with CONFIG_OF=n ? Guenter > 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); ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/3] hwmon: (pmbus/mpq7932) Get page count based on chip info 2023-09-11 3:41 ` [PATCH 1/3] hwmon: (pmbus/mpq7932) Get page count based on chip info Saravanan Sekar 2023-09-11 4:24 ` Guenter Roeck @ 2023-09-11 5:46 ` kernel test robot 2023-09-11 6:40 ` kernel test robot 2 siblings, 0 replies; 14+ messages in thread From: kernel test robot @ 2023-09-11 5:46 UTC (permalink / raw) To: Saravanan Sekar, sravanhome, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt, conor+dt, linux, jdelvare Cc: oe-kbuild-all, linux-kernel, devicetree, linux-hwmon, Saravanan Sekar Hi Saravanan, kernel test robot noticed the following build warnings: [auto build test WARNING on groeck-staging/hwmon-next] [also build test WARNING on broonie-regulator/for-next linus/master v6.6-rc1 next-20230911] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Saravanan-Sekar/hwmon-pmbus-mpq7932-Get-page-count-based-on-chip-info/20230911-114451 base: https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git hwmon-next patch link: https://lore.kernel.org/r/20230911034150.181880-2-saravanan%40linumiz.com patch subject: [PATCH 1/3] hwmon: (pmbus/mpq7932) Get page count based on chip info config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20230911/202309111345.BXkwu3pD-lkp@intel.com/config) compiler: alpha-linux-gcc (GCC) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230911/202309111345.BXkwu3pD-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202309111345.BXkwu3pD-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/hwmon/pmbus/mpq7932.c: In function 'mpq7932_probe': >> drivers/hwmon/pmbus/mpq7932.c:108:23: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 108 | info->pages = (int)device_get_match_data(&client->dev); | ^ vim +108 drivers/hwmon/pmbus/mpq7932.c 95 96 static int mpq7932_probe(struct i2c_client *client) 97 { 98 struct mpq7932_data *data; 99 struct pmbus_driver_info *info; 100 struct device *dev = &client->dev; 101 int i; 102 103 data = devm_kzalloc(dev, sizeof(struct mpq7932_data), GFP_KERNEL); 104 if (!data) 105 return -ENOMEM; 106 107 info = &data->info; > 108 info->pages = (int)device_get_match_data(&client->dev); 109 info->format[PSC_VOLTAGE_OUT] = direct; 110 info->m[PSC_VOLTAGE_OUT] = 160; 111 info->b[PSC_VOLTAGE_OUT] = -33; 112 for (i = 0; i < info->pages; i++) { 113 info->func[i] = PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT 114 | PMBUS_HAVE_STATUS_TEMP; 115 } 116 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/3] hwmon: (pmbus/mpq7932) Get page count based on chip info 2023-09-11 3:41 ` [PATCH 1/3] hwmon: (pmbus/mpq7932) Get page count based on chip info Saravanan Sekar 2023-09-11 4:24 ` Guenter Roeck 2023-09-11 5:46 ` kernel test robot @ 2023-09-11 6:40 ` kernel test robot 2 siblings, 0 replies; 14+ messages in thread From: kernel test robot @ 2023-09-11 6:40 UTC (permalink / raw) To: Saravanan Sekar, sravanhome, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt, conor+dt, linux, jdelvare Cc: llvm, oe-kbuild-all, linux-kernel, devicetree, linux-hwmon, Saravanan Sekar Hi Saravanan, kernel test robot noticed the following build warnings: [auto build test WARNING on groeck-staging/hwmon-next] [also build test WARNING on broonie-regulator/for-next linus/master v6.6-rc1 next-20230911] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Saravanan-Sekar/hwmon-pmbus-mpq7932-Get-page-count-based-on-chip-info/20230911-114451 base: https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git hwmon-next patch link: https://lore.kernel.org/r/20230911034150.181880-2-saravanan%40linumiz.com patch subject: [PATCH 1/3] hwmon: (pmbus/mpq7932) Get page count based on chip info config: x86_64-randconfig-005-20230911 (https://download.01.org/0day-ci/archive/20230911/202309111406.BSKHGe9U-lkp@intel.com/config) compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230911/202309111406.BSKHGe9U-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202309111406.BSKHGe9U-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/hwmon/pmbus/mpq7932.c:108:16: warning: cast to smaller integer type 'int' from 'const void *' [-Wvoid-pointer-to-int-cast] info->pages = (int)device_get_match_data(&client->dev); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. vim +108 drivers/hwmon/pmbus/mpq7932.c 95 96 static int mpq7932_probe(struct i2c_client *client) 97 { 98 struct mpq7932_data *data; 99 struct pmbus_driver_info *info; 100 struct device *dev = &client->dev; 101 int i; 102 103 data = devm_kzalloc(dev, sizeof(struct mpq7932_data), GFP_KERNEL); 104 if (!data) 105 return -ENOMEM; 106 107 info = &data->info; > 108 info->pages = (int)device_get_match_data(&client->dev); 109 info->format[PSC_VOLTAGE_OUT] = direct; 110 info->m[PSC_VOLTAGE_OUT] = 160; 111 info->b[PSC_VOLTAGE_OUT] = -33; 112 for (i = 0; i < info->pages; i++) { 113 info->func[i] = PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT 114 | PMBUS_HAVE_STATUS_TEMP; 115 } 116 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 2/3] dt-bindings: regulator: Add mps,mpq2286 power-management IC 2023-09-11 3:41 [PATCH 0/3] Add support for mpq2286 PMIC IC Saravanan Sekar 2023-09-11 3:41 ` [PATCH 1/3] hwmon: (pmbus/mpq7932) Get page count based on chip info Saravanan Sekar @ 2023-09-11 3:41 ` Saravanan Sekar 2023-09-11 4:10 ` Rob Herring ` (2 more replies) 2023-09-11 3:41 ` [PATCH 3/3] hwmon: (pmbus/mpq2286) Add a support for mpq2286 Power Management IC Saravanan Sekar 2 siblings, 3 replies; 14+ messages in thread From: Saravanan Sekar @ 2023-09-11 3:41 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..d00d887870a9 --- /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: + "buck0": + 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 = "buck0"; + regulator-min-microvolt = <1600000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + }; + }; + }; + }; +... -- 2.34.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 2/3] dt-bindings: regulator: Add mps,mpq2286 power-management IC 2023-09-11 3:41 ` [PATCH 2/3] dt-bindings: regulator: Add mps,mpq2286 power-management IC Saravanan Sekar @ 2023-09-11 4:10 ` Rob Herring 2023-09-11 4:28 ` Guenter Roeck 2023-09-11 6:26 ` Krzysztof Kozlowski 2 siblings, 0 replies; 14+ messages in thread From: Rob Herring @ 2023-09-11 4:10 UTC (permalink / raw) To: Saravanan Sekar Cc: sravanhome, lgirdwood, linux-kernel, broonie, devicetree, linux-hwmon, linux, krzysztof.kozlowski+dt, robh+dt, jdelvare, conor+dt On Mon, 11 Sep 2023 09:11:49 +0530, Saravanan Sekar wrote: > 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 > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/regulator/mps,mpq2286.example.dtb: pmic@3: regulators: 'buck' does not match any of the regexes: 'pinctrl-[0-9]+' from schema $id: http://devicetree.org/schemas/regulator/mps,mpq2286.yaml# doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230911034150.181880-3-saravanan@linumiz.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/3] dt-bindings: regulator: Add mps,mpq2286 power-management IC 2023-09-11 3:41 ` [PATCH 2/3] dt-bindings: regulator: Add mps,mpq2286 power-management IC Saravanan Sekar 2023-09-11 4:10 ` Rob Herring @ 2023-09-11 4:28 ` Guenter Roeck 2023-09-11 6:26 ` Krzysztof Kozlowski 2 siblings, 0 replies; 14+ messages in thread From: Guenter Roeck @ 2023-09-11 4:28 UTC (permalink / raw) To: Saravanan Sekar, sravanhome, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt, conor+dt, jdelvare Cc: linux-kernel, devicetree, linux-hwmon On 9/10/23 20:41, Saravanan Sekar wrote: > Document mpq2286 power-management IC > > Signed-off-by: Saravanan Sekar <saravanan@linumiz.com> I don't know how this kind of thing is typically handled in .yaml files, but given that the chip is supposedly almost the same as MPQ7932 (except for the number of regulators), would it possibly make sense to describe both in a single devicetree file ? Guenter > --- > .../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..d00d887870a9 > --- /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: > + "buck0": > + 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 = "buck0"; > + regulator-min-microvolt = <1600000>; > + regulator-max-microvolt = <1800000>; > + regulator-boot-on; > + }; > + }; > + }; > + }; > +... ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/3] dt-bindings: regulator: Add mps,mpq2286 power-management IC 2023-09-11 3:41 ` [PATCH 2/3] dt-bindings: regulator: Add mps,mpq2286 power-management IC Saravanan Sekar 2023-09-11 4:10 ` Rob Herring 2023-09-11 4:28 ` Guenter Roeck @ 2023-09-11 6:26 ` Krzysztof Kozlowski 2023-09-11 7:12 ` Saravanan Sekar 2 siblings, 1 reply; 14+ messages in thread From: Krzysztof Kozlowski @ 2023-09-11 6:26 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/09/2023 05:41, Saravanan Sekar wrote: > Document mpq2286 power-management IC > > Signed-off-by: Saravanan Sekar <saravanan@linumiz.com> Please use subject prefixes matching the subsystem. You can get them for example with `git log --oneline -- DIRECTORY_OR_FILE` on the directory your patch is touching. It's: regulator: dt-bindings: > --- > .../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..d00d887870a9 > --- /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: > + "buck0": You did not test it... Sigh. Anyway, there is no need for entire regulators node for one regulator. Can the device do anything else than being a regulator? Best regards, Krzysztof ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/3] dt-bindings: regulator: Add mps,mpq2286 power-management IC 2023-09-11 6:26 ` Krzysztof Kozlowski @ 2023-09-11 7:12 ` Saravanan Sekar 2023-09-11 7:41 ` Krzysztof Kozlowski 0 siblings, 1 reply; 14+ messages in thread From: Saravanan Sekar @ 2023-09-11 7:12 UTC (permalink / raw) To: Krzysztof Kozlowski, sravanhome, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt, conor+dt, linux, jdelvare Cc: linux-kernel, devicetree, linux-hwmon On 11/09/23 11:56, Krzysztof Kozlowski wrote: > On 11/09/2023 05:41, Saravanan Sekar wrote: >> Document mpq2286 power-management IC >> >> Signed-off-by: Saravanan Sekar <saravanan@linumiz.com> > > Please use subject prefixes matching the subsystem. You can get them for > example with `git log --oneline -- DIRECTORY_OR_FILE` on the directory > your patch is touching. It's: regulator: dt-bindings: Thanks for your time to review. git log has mix of "regulator: dt-bindings" and "dt-bindings: regualtor". I had referred my own accepted driver regulator/mps,mpq7932.yaml > >> --- >> .../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..d00d887870a9 >> --- /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: >> + "buck0": > > You did not test it... Sigh. Anyway, there is no need for entire > regulators node for one regulator. Can the device do anything else than > being a regulator? > I tested it, but documentation is not updated with test findings (buck0). Other chipset has multiple regulator so dts has regulators node to keep the driver common Primarily device is a regulator with pmbus capability like fault status (OV,OC, VIN, VOUT, Power good status), temperature status. > Best regards, > Krzysztof > Thanks, Saravanan ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/3] dt-bindings: regulator: Add mps,mpq2286 power-management IC 2023-09-11 7:12 ` Saravanan Sekar @ 2023-09-11 7:41 ` Krzysztof Kozlowski 0 siblings, 0 replies; 14+ messages in thread From: Krzysztof Kozlowski @ 2023-09-11 7:41 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/09/2023 09:12, Saravanan Sekar wrote: > On 11/09/23 11:56, Krzysztof Kozlowski wrote: >> On 11/09/2023 05:41, Saravanan Sekar wrote: >>> Document mpq2286 power-management IC >>> >>> Signed-off-by: Saravanan Sekar <saravanan@linumiz.com> >> >> Please use subject prefixes matching the subsystem. You can get them for >> example with `git log --oneline -- DIRECTORY_OR_FILE` on the directory >> your patch is touching. It's: regulator: dt-bindings: > > Thanks for your time to review. git log has mix of "regulator: > dt-bindings" and "dt-bindings: regualtor". Just take a look how many times each appear... they are just few cases of the latter. > I had referred my own > accepted driver regulator/mps,mpq7932.yaml > >> >>> --- >>> .../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..d00d887870a9 >>> --- /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: >>> + "buck0": >> >> You did not test it... Sigh. Anyway, there is no need for entire >> regulators node for one regulator. Can the device do anything else than >> being a regulator? >> > > I tested it, but documentation is not updated with test findings (buck0). I mean, testing bindings. You did not test this patch. Testing this patch produces warnings, so this is considered a failed test. > > Other chipset has multiple regulator so dts has regulators node to keep > the driver common > > Primarily device is a regulator with pmbus capability like fault status > (OV,OC, VIN, VOUT, Power good status), temperature status. OK, then regulators node seems fine. Anyway, drop quotes and test this patch (which means: test the bindings). Best regards, Krzysztof ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 3/3] hwmon: (pmbus/mpq2286) Add a support for mpq2286 Power Management IC 2023-09-11 3:41 [PATCH 0/3] Add support for mpq2286 PMIC IC Saravanan Sekar 2023-09-11 3:41 ` [PATCH 1/3] hwmon: (pmbus/mpq7932) Get page count based on chip info Saravanan Sekar 2023-09-11 3:41 ` [PATCH 2/3] dt-bindings: regulator: Add mps,mpq2286 power-management IC Saravanan Sekar @ 2023-09-11 3:41 ` Saravanan Sekar 2023-09-11 4:23 ` Guenter Roeck 2 siblings, 1 reply; 14+ messages in thread From: Saravanan Sekar @ 2023-09-11 3:41 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 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/hwmon/pmbus/mpq7932.c b/drivers/hwmon/pmbus/mpq7932.c index af3e5e9590c8..3ffeece28e2d 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 @@ -130,12 +131,14 @@ static int mpq7932_probe(struct i2c_client *client) static const struct of_device_id mpq7932_of_match[] = { { .compatible = "mps,mpq7932", .data = (void *)MPQ7932_NUM_PAGES }, + { .compatible = "mps,mpq2286", .data = (void *)MPQ2286_NUM_PAGES }, {}, }; MODULE_DEVICE_TABLE(of, mpq7932_of_match); static const struct i2c_device_id mpq7932_id[] = { { "mpq7932", }, + { "mpq2286", }, { }, }; MODULE_DEVICE_TABLE(i2c, mpq7932_id); -- 2.34.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 3/3] hwmon: (pmbus/mpq2286) Add a support for mpq2286 Power Management IC 2023-09-11 3:41 ` [PATCH 3/3] hwmon: (pmbus/mpq2286) Add a support for mpq2286 Power Management IC Saravanan Sekar @ 2023-09-11 4:23 ` Guenter Roeck 2023-09-26 15:14 ` Saravanan Sekar 0 siblings, 1 reply; 14+ messages in thread From: Guenter Roeck @ 2023-09-11 4:23 UTC (permalink / raw) To: Saravanan Sekar, sravanhome, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt, conor+dt, jdelvare Cc: linux-kernel, devicetree, linux-hwmon On 9/10/23 20:41, 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> > --- > drivers/hwmon/pmbus/mpq7932.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/hwmon/pmbus/mpq7932.c b/drivers/hwmon/pmbus/mpq7932.c > index af3e5e9590c8..3ffeece28e2d 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 > @@ -130,12 +131,14 @@ static int mpq7932_probe(struct i2c_client *client) > > static const struct of_device_id mpq7932_of_match[] = { > { .compatible = "mps,mpq7932", .data = (void *)MPQ7932_NUM_PAGES }, > + { .compatible = "mps,mpq2286", .data = (void *)MPQ2286_NUM_PAGES }, > {}, > }; > MODULE_DEVICE_TABLE(of, mpq7932_of_match); > > static const struct i2c_device_id mpq7932_id[] = { > { "mpq7932", }, > + { "mpq2286", }, Please keep alphabetic order. > { }, > }; > MODULE_DEVICE_TABLE(i2c, mpq7932_id); This is one of those super-secret automotive chips where almost no information is available to the public. I'll need authoritative confirmation that all the various parameters (b. m, output voltage format, minimum and maximum output voltage, step size) match mpq7932 exactly. That is rarely the case, so consider me skeptic. Guenter ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/3] hwmon: (pmbus/mpq2286) Add a support for mpq2286 Power Management IC 2023-09-11 4:23 ` Guenter Roeck @ 2023-09-26 15:14 ` Saravanan Sekar 0 siblings, 0 replies; 14+ messages in thread From: Saravanan Sekar @ 2023-09-26 15:14 UTC (permalink / raw) To: Guenter Roeck, sravanhome, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt, conor+dt, jdelvare Cc: linux-kernel, devicetree, linux-hwmon On 11/09/23 09:53, Guenter Roeck wrote: > On 9/10/23 20:41, 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> >> --- >> drivers/hwmon/pmbus/mpq7932.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/drivers/hwmon/pmbus/mpq7932.c >> b/drivers/hwmon/pmbus/mpq7932.c >> index af3e5e9590c8..3ffeece28e2d 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 >> @@ -130,12 +131,14 @@ static int mpq7932_probe(struct i2c_client *client) >> static const struct of_device_id mpq7932_of_match[] = { >> { .compatible = "mps,mpq7932", .data = (void *)MPQ7932_NUM_PAGES }, >> + { .compatible = "mps,mpq2286", .data = (void *)MPQ2286_NUM_PAGES }, >> {}, >> }; >> MODULE_DEVICE_TABLE(of, mpq7932_of_match); >> static const struct i2c_device_id mpq7932_id[] = { >> { "mpq7932", }, >> + { "mpq2286", }, > > Please keep alphabetic order. agree, will change in v2 > >> { }, >> }; >> MODULE_DEVICE_TABLE(i2c, mpq7932_id); > > This is one of those super-secret automotive chips where almost no > information > is available to the public. I'll need authoritative confirmation that > all the > various parameters (b. m, output voltage format, minimum and maximum output > voltage, step size) match mpq7932 exactly. That is rarely the case, so > consider > me skeptic. Thanks for your time for review. yes, datasheet is not available in public but Monolithic shall share on request. I confirm all the parameters are match with mpq7932 datasheet and I have tested the device. > > Guenter > Thanks, Saravanan ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2023-09-26 15:14 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-09-11 3:41 [PATCH 0/3] Add support for mpq2286 PMIC IC Saravanan Sekar 2023-09-11 3:41 ` [PATCH 1/3] hwmon: (pmbus/mpq7932) Get page count based on chip info Saravanan Sekar 2023-09-11 4:24 ` Guenter Roeck 2023-09-11 5:46 ` kernel test robot 2023-09-11 6:40 ` kernel test robot 2023-09-11 3:41 ` [PATCH 2/3] dt-bindings: regulator: Add mps,mpq2286 power-management IC Saravanan Sekar 2023-09-11 4:10 ` Rob Herring 2023-09-11 4:28 ` Guenter Roeck 2023-09-11 6:26 ` Krzysztof Kozlowski 2023-09-11 7:12 ` Saravanan Sekar 2023-09-11 7:41 ` Krzysztof Kozlowski 2023-09-11 3:41 ` [PATCH 3/3] hwmon: (pmbus/mpq2286) Add a support for mpq2286 Power Management IC Saravanan Sekar 2023-09-11 4:23 ` Guenter Roeck 2023-09-26 15:14 ` Saravanan Sekar
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).