dt-bindings: regulator: add pca9450: Add regulator-allowed-modes

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>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://patch.msgid.link/20250525071823.819342-1-martijn.de.gouw@prodrive-technologies.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Martijn de Gouw
2025-05-25 09:18:20 +02:00
committed by Mark Brown
parent 9bb3c7df54
commit d7181a2d43
2 changed files with 32 additions and 0 deletions

View File

@@ -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-initial-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";

View File

@@ -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