public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/2] dt-bindings: regulator: add pca9450: Add regulator-allowed-modes
@ 2025-05-23 13:12 Martijn de Gouw
  2025-05-23 14:01 ` Mark Brown
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Martijn de Gouw @ 2025-05-23 13:12 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Robin Gong
  Cc: Martijn de Gouw, linux-kernel, devicetree

Make the PWM mode on the buck controllers configurable from devicetree.
Some boards require forced PWM mode to keep the supply ripple within
acceptable limits under light load conditions.

Signed-off-by: Martijn de Gouw <martijn.de.gouw@prodrive-technologies.com>
---
Changes in v2:
  - Add the header to the binding patch
  - Improve commit message

 .../regulator/nxp,pca9450-regulator.yaml       | 14 ++++++++++++++
 .../regulator/nxp,pca9450-regulator.h          | 18 ++++++++++++++++++
 2 files changed, 32 insertions(+)
 create mode 100644 include/dt-bindings/regulator/nxp,pca9450-regulator.h

diff --git a/Documentation/devicetree/bindings/regulator/nxp,pca9450-regulator.yaml b/Documentation/devicetree/bindings/regulator/nxp,pca9450-regulator.yaml
index 4ffe5c3faea07..c7327474c64ba 100644
--- a/Documentation/devicetree/bindings/regulator/nxp,pca9450-regulator.yaml
+++ b/Documentation/devicetree/bindings/regulator/nxp,pca9450-regulator.yaml
@@ -100,6 +100,15 @@ properties:
               PMIC default "STANDBY" state voltage in uV. Only Buck1~3 have such
               dvs(dynamic voltage scaling) property.
 
+          regulator-allowed-modes:
+            description: |
+              Buck regulator operating modes allowed. Valid values below.
+              Users should use the macros from dt-bindings/regulator/nxp,pca9450-regulator.h
+                0 (PCA9450_BUCK_MODE_AUTO): Auto PFM/PWM mode
+                1 (PCA9450_BUCK_MODE_FORCE_PWM): Forced PWM mode
+            items:
+              enum: [ 0, 1 ]
+
         unevaluatedProperties: false
 
     additionalProperties: false
@@ -143,6 +152,7 @@ allOf:
 examples:
   - |
     #include <dt-bindings/interrupt-controller/irq.h>
+    #include <dt-bindings/regulator/nxp,pca9450-regulator.h>
 
     i2c {
         #address-cells = <1>;
@@ -179,6 +189,8 @@ examples:
                     regulator-max-microvolt = <3400000>;
                     regulator-boot-on;
                     regulator-always-on;
+                    regulator-inital-mode = <PCA9450_BUCK_MODE_FORCE_PWM>;
+                    regulator-allowed-modes = <PCA9450_BUCK_MODE_FORCE_PWM>;
                 };
                 buck5: BUCK5 {
                     regulator-name = "BUCK5";
@@ -186,6 +198,8 @@ examples:
                     regulator-max-microvolt = <3400000>;
                     regulator-boot-on;
                     regulator-always-on;
+                    regulator-allowed-modes = <PCA9450_BUCK_MODE_AUTO
+                                               PCA9450_BUCK_MODE_FORCE_PWM>;
                 };
                 buck6: BUCK6 {
                     regulator-name = "BUCK6";
diff --git a/include/dt-bindings/regulator/nxp,pca9450-regulator.h b/include/dt-bindings/regulator/nxp,pca9450-regulator.h
new file mode 100644
index 0000000000000..08434caef429f
--- /dev/null
+++ b/include/dt-bindings/regulator/nxp,pca9450-regulator.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+/*
+ * Device Tree binding constants for the NXP PCA9450A/B/C PMIC regulators
+ */
+
+#ifndef _DT_BINDINGS_REGULATORS_NXP_PCA9450_H
+#define _DT_BINDINGS_REGULATORS_NXP_PCA9450_H
+
+/*
+ * Buck mode constants which may be used in devicetree properties (eg.
+ * regulator-initial-mode, regulator-allowed-modes).
+ * See the manufacturer's datasheet for more information on these modes.
+ */
+
+#define PCA9450_BUCK_MODE_AUTO		0
+#define PCA9450_BUCK_MODE_FORCE_PWM	1
+
+#endif
-- 
2.39.2

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/2] dt-bindings: regulator: add pca9450: Add regulator-allowed-modes
  2025-05-23 13:12 [PATCH v2 1/2] dt-bindings: regulator: add pca9450: Add regulator-allowed-modes Martijn de Gouw
@ 2025-05-23 14:01 ` Mark Brown
  2025-05-23 14:23 ` Rob Herring (Arm)
  2025-05-23 16:21 ` Mark Brown
  2 siblings, 0 replies; 8+ messages in thread
From: Mark Brown @ 2025-05-23 14:01 UTC (permalink / raw)
  To: Martijn de Gouw
  Cc: Liam Girdwood, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Robin Gong, linux-kernel, devicetree

[-- Attachment #1: Type: text/plain, Size: 590 bytes --]

On Fri, May 23, 2025 at 03:12:11PM +0200, Martijn de Gouw wrote:
> Make the PWM mode on the buck controllers configurable from devicetree.
> Some boards require forced PWM mode to keep the supply ripple within
> acceptable limits under light load conditions.

Please submit patches using subject lines reflecting the style for the
subsystem, this makes it easier for people to identify relevant patches.
Look at what existing commits in the area you're changing are doing and
make sure your subject lines visually resemble what they're doing.
There's no need to resubmit to fix this alone.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/2] dt-bindings: regulator: add pca9450: Add regulator-allowed-modes
  2025-05-23 13:12 [PATCH v2 1/2] dt-bindings: regulator: add pca9450: Add regulator-allowed-modes Martijn de Gouw
  2025-05-23 14:01 ` Mark Brown
@ 2025-05-23 14:23 ` Rob Herring (Arm)
  2025-05-23 16:21 ` Mark Brown
  2 siblings, 0 replies; 8+ messages in thread
From: Rob Herring (Arm) @ 2025-05-23 14:23 UTC (permalink / raw)
  To: Martijn de Gouw
  Cc: Krzysztof Kozlowski, Liam Girdwood, Mark Brown, Conor Dooley,
	Robin Gong, devicetree, linux-kernel


On Fri, 23 May 2025 15:12:11 +0200, Martijn de Gouw wrote:
> Make the PWM mode on the buck controllers configurable from devicetree.
> Some boards require forced PWM mode to keep the supply ripple within
> acceptable limits under light load conditions.
> 
> Signed-off-by: Martijn de Gouw <martijn.de.gouw@prodrive-technologies.com>
> ---
> Changes in v2:
>   - Add the header to the binding patch
>   - Improve commit message
> 
>  .../regulator/nxp,pca9450-regulator.yaml       | 14 ++++++++++++++
>  .../regulator/nxp,pca9450-regulator.h          | 18 ++++++++++++++++++
>  2 files changed, 32 insertions(+)
>  create mode 100644 include/dt-bindings/regulator/nxp,pca9450-regulator.h
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/regulator/nxp,pca9450-regulator.example.dtb: pmic@25 (nxp,pca9450b): regulators:BUCK4: Unevaluated properties are not allowed ('regulator-inital-mode' was unexpected)
	from schema $id: http://devicetree.org/schemas/regulator/nxp,pca9450-regulator.yaml#

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250523131214.955970-1-martijn.de.gouw@prodrive-technologies.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] 8+ messages in thread

* Re: [PATCH v2 1/2] dt-bindings: regulator: add pca9450: Add regulator-allowed-modes
  2025-05-23 13:12 [PATCH v2 1/2] dt-bindings: regulator: add pca9450: Add regulator-allowed-modes Martijn de Gouw
  2025-05-23 14:01 ` Mark Brown
  2025-05-23 14:23 ` Rob Herring (Arm)
@ 2025-05-23 16:21 ` Mark Brown
  2025-05-24  6:34   ` Krzysztof Kozlowski
  2 siblings, 1 reply; 8+ messages in thread
From: Mark Brown @ 2025-05-23 16:21 UTC (permalink / raw)
  To: Liam Girdwood, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Robin Gong, Martijn de Gouw
  Cc: linux-kernel, devicetree

On Fri, 23 May 2025 15:12:11 +0200, Martijn de Gouw wrote:
> Make the PWM mode on the buck controllers configurable from devicetree.
> Some boards require forced PWM mode to keep the supply ripple within
> acceptable limits under light load conditions.
> 
> 

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next

Thanks!

[1/2] dt-bindings: regulator: add pca9450: Add regulator-allowed-modes
      commit: 0a4056a444c8d55beea470948c73befd6673aa6c
[2/2] regulator: pca9450: Add support for mode operations
      commit: 2616e5f4fe04eb25eb5cbabc0a3a2a374e14008e

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/2] dt-bindings: regulator: add pca9450: Add regulator-allowed-modes
  2025-05-23 16:21 ` Mark Brown
@ 2025-05-24  6:34   ` Krzysztof Kozlowski
  2025-05-24 22:38     ` Mark Brown
  0 siblings, 1 reply; 8+ messages in thread
From: Krzysztof Kozlowski @ 2025-05-24  6:34 UTC (permalink / raw)
  To: Mark Brown, Liam Girdwood, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Robin Gong, Martijn de Gouw
  Cc: linux-kernel, devicetree

On 23/05/2025 18:21, Mark Brown wrote:
> On Fri, 23 May 2025 15:12:11 +0200, Martijn de Gouw wrote:
>> Make the PWM mode on the buck controllers configurable from devicetree.
>> Some boards require forced PWM mode to keep the supply ripple within
>> acceptable limits under light load conditions.
>>
>>
> 
> Applied to
> 
>    https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next
> 
> Thanks!
> 
> [1/2] dt-bindings: regulator: add pca9450: Add regulator-allowed-modes
>       commit: 0a4056a444c8d55beea470948c73befd6673aa6c
> [2/2] regulator: pca9450: Add support for mode operations
>       commit: 2616e5f4fe04eb25eb5cbabc0a3a2a374e14008e

Rob reported binding has failure (which also means binding was not
tested). Can you drop the patch?

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/2] dt-bindings: regulator: add pca9450: Add regulator-allowed-modes
  2025-05-24  6:34   ` Krzysztof Kozlowski
@ 2025-05-24 22:38     ` Mark Brown
  2025-05-25  4:43       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 8+ messages in thread
From: Mark Brown @ 2025-05-24 22:38 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Liam Girdwood, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Robin Gong, Martijn de Gouw, linux-kernel, devicetree

[-- Attachment #1: Type: text/plain, Size: 667 bytes --]

On Sat, May 24, 2025 at 08:34:41AM +0200, Krzysztof Kozlowski wrote:
> On 23/05/2025 18:21, Mark Brown wrote:

> > [1/2] dt-bindings: regulator: add pca9450: Add regulator-allowed-modes
> >       commit: 0a4056a444c8d55beea470948c73befd6673aa6c
> > [2/2] regulator: pca9450: Add support for mode operations
> >       commit: 2616e5f4fe04eb25eb5cbabc0a3a2a374e14008e

> Rob reported binding has failure (which also means binding was not
> tested). Can you drop the patch?

That seemed to just be due to v1 splitting the header with the constants
from the binding change (the issue was that the header wasn't there)
which should be fixed by this version?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/2] dt-bindings: regulator: add pca9450: Add regulator-allowed-modes
  2025-05-24 22:38     ` Mark Brown
@ 2025-05-25  4:43       ` Krzysztof Kozlowski
  2025-05-25 11:50         ` Mark Brown
  0 siblings, 1 reply; 8+ messages in thread
From: Krzysztof Kozlowski @ 2025-05-25  4:43 UTC (permalink / raw)
  To: Mark Brown
  Cc: Liam Girdwood, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Robin Gong, Martijn de Gouw, linux-kernel, devicetree

On 25/05/2025 00:38, Mark Brown wrote:
> On Sat, May 24, 2025 at 08:34:41AM +0200, Krzysztof Kozlowski wrote:
>> On 23/05/2025 18:21, Mark Brown wrote:
> 
>>> [1/2] dt-bindings: regulator: add pca9450: Add regulator-allowed-modes
>>>       commit: 0a4056a444c8d55beea470948c73befd6673aa6c
>>> [2/2] regulator: pca9450: Add support for mode operations
>>>       commit: 2616e5f4fe04eb25eb5cbabc0a3a2a374e14008e
> 
>> Rob reported binding has failure (which also means binding was not
>> tested). Can you drop the patch?
> 
> That seemed to just be due to v1 splitting the header with the constants
> from the binding change (the issue was that the header wasn't there)
> which should be fixed by this version?

No, this v2:

https://lore.kernel.org/all/174801020316.1711348.10193654747801258488.robh@kernel.org/

I must admit after quick look I don't see the cause error, but
nevertheless this should be address by someone, preferably author.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/2] dt-bindings: regulator: add pca9450: Add regulator-allowed-modes
  2025-05-25  4:43       ` Krzysztof Kozlowski
@ 2025-05-25 11:50         ` Mark Brown
  0 siblings, 0 replies; 8+ messages in thread
From: Mark Brown @ 2025-05-25 11:50 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Liam Girdwood, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Robin Gong, Martijn de Gouw, linux-kernel, devicetree

[-- Attachment #1: Type: text/plain, Size: 569 bytes --]

On Sun, May 25, 2025 at 06:43:17AM +0200, Krzysztof Kozlowski wrote:
> On 25/05/2025 00:38, Mark Brown wrote:

> > That seemed to just be due to v1 splitting the header with the constants
> > from the binding change (the issue was that the header wasn't there)
> > which should be fixed by this version?

> No, this v2:

> https://lore.kernel.org/all/174801020316.1711348.10193654747801258488.robh@kernel.org/

> I must admit after quick look I don't see the cause error, but
> nevertheless this should be address by someone, preferably author.

OK, dropped these two.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-05-25 11:50 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-23 13:12 [PATCH v2 1/2] dt-bindings: regulator: add pca9450: Add regulator-allowed-modes Martijn de Gouw
2025-05-23 14:01 ` Mark Brown
2025-05-23 14:23 ` Rob Herring (Arm)
2025-05-23 16:21 ` Mark Brown
2025-05-24  6:34   ` Krzysztof Kozlowski
2025-05-24 22:38     ` Mark Brown
2025-05-25  4:43       ` Krzysztof Kozlowski
2025-05-25 11:50         ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox