Unverified Commit d7181a2d authored by Martijn de Gouw's avatar Martijn de Gouw Committed by Mark Brown
Browse files

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: default avatarMartijn de Gouw <martijn.de.gouw@prodrive-technologies.com>
Acked-by: default avatarConor Dooley <conor.dooley@microchip.com>
Link: https://patch.msgid.link/20250525071823.819342-1-martijn.de.gouw@prodrive-technologies.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 9bb3c7df
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -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";
+18 −0
Original line number Diff line number Diff line
/* 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