[PATCH v2 1/4] regulator: dt-bindings: Add fan53555 allowed modes

From: Victor Krawiec

Date: Mon Jul 20 2026 - 06:06:17 EST


Fairchild FAN53555 and its clone from Rockchip, Silergy and TCS support
two modes of operation:
- Auto-PFM: Allow automatic PFM during light load (default mode)
- Forced PWM

Some boards require forced PWM mode to keep the supply ripple within
acceptable limits under light load conditions.

Regulator mode indexes are starting from 1 to keep backward compatibility
with existing device trees

Signed-off-by: Victor Krawiec <victor.krawiec@xxxxxxxxxxx>

Documentation/devicetree/bindings/regulator/fcs,fan53555.yaml # new file:
include/dt-bindings/regulator/fcs,fan53555-regulator.h #
arch/arm64/boot/dts/rockchip/rk3399-drumfreak.dts #
arch/arm64/boot/simple-boot.img # arch/arm64/boot/simple-kernel.img #
arch/arm64/configs/drumfreak_defconfig #
scripts/arturia_simple_boot_image.sh #

Signed-off-by: Victor Krawiec <victor.krawiec@xxxxxxxxxxx>
---
.../bindings/regulator/fcs,fan53555.yaml | 8 ++++++++
.../regulator/fcs,fan53555-regulator.h | 20 +++++++++++++++++++
2 files changed, 28 insertions(+)
create mode 100644 include/dt-bindings/regulator/fcs,fan53555-regulator.h

diff --git a/Documentation/devicetree/bindings/regulator/fcs,fan53555.yaml b/Documentation/devicetree/bindings/regulator/fcs,fan53555.yaml
index 69bae90fc4b2..9a18891f721e 100644
--- a/Documentation/devicetree/bindings/regulator/fcs,fan53555.yaml
+++ b/Documentation/devicetree/bindings/regulator/fcs,fan53555.yaml
@@ -48,6 +48,12 @@ properties:
VSEL0 register. When this pin is HIGH, VOUT is set by the VSEL1 register.
maxItems: 1

+ regulator-initial-mode:
+ enum:
+ [ 1, 2 ]
+ description:
+ Defined in include/dt-bindings/regulator/fcs,fan53555-regulator.h
+
required:
- compatible
- reg
@@ -56,6 +62,7 @@ unevaluatedProperties: false

examples:
- |
+ #include <dt-bindings/regulator/fcs,fan53555-regulator.h>
i2c {
#address-cells = <1>;
#size-cells = <0>;
@@ -68,6 +75,7 @@ examples:
regulator-max-microvolt = <1800000>;
vin-supply = <&parent_reg>;
fcs,suspend-voltage-selector = <1>;
+ regulator-initial-mode = <FAN53555_REGULATOR_MODE_FORCE_PWM>;
};
};
...
diff --git a/include/dt-bindings/regulator/fcs,fan53555-regulator.h b/include/dt-bindings/regulator/fcs,fan53555-regulator.h
new file mode 100644
index 000000000000..ce3d6c63a0f1
--- /dev/null
+++ b/include/dt-bindings/regulator/fcs,fan53555-regulator.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+/*
+ * Copyright (c) 2026 Arturia - All rights reserved.
+ *
+ * Device Tree binding constants for the FAN53555 PMIC regulator
+ */
+
+#ifndef _DT_BINDINGS_REGULATOR_FAN53555_H
+#define _DT_BINDINGS_REGULATOR_FAN53555_H
+
+/*
+ * Constants to specify regulator modes in device tree for SYR82X regulators
+ * FAN53555_REGULATOR_MODE_FORCE_PWM: Force fixed PWM mode
+ * FAN53555_REGULATOR_MODE_AUTO: Allow auto-PFM mode during light load
+ */
+
+#define FAN53555_REGULATOR_MODE_FORCE_PWM 1
+#define FAN53555_REGULATOR_MODE_AUTO 2
+
+#endif
--
2.43.0