[PATCH v8 3/9] regulator: dt-bindings: Add MediaTek MT6392 PMIC
From: Luca Leonardo Scorcia <hidden>
Date: 2026-06-20 20:01:40
Also in:
linux-devicetree, linux-gpio, linux-input, linux-mediatek, linux-pm, lkml
Subsystem:
open firmware and flattened device tree bindings, the rest, voltage and current regulator framework · Maintainers:
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Linus Torvalds, Liam Girdwood, Mark Brown
Add bindings for the regulators found in the MediaTek MT6392 PMIC, usually found in board designs using the MediaTek MT8516/MT8167 SoCs. Signed-off-by: Luca Leonardo Scorcia <redacted> --- .../regulator/mediatek,mt6392-regulator.yaml | 118 ++++++++++++++++++ .../regulator/mediatek,mt6392-regulator.h | 23 ++++ 2 files changed, 141 insertions(+) create mode 100644 Documentation/devicetree/bindings/regulator/mediatek,mt6392-regulator.yaml create mode 100644 include/dt-bindings/regulator/mediatek,mt6392-regulator.h
diff --git a/Documentation/devicetree/bindings/regulator/mediatek,mt6392-regulator.yaml b/Documentation/devicetree/bindings/regulator/mediatek,mt6392-regulator.yaml
new file mode 100644
index 000000000000..f3d5a3498d18
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6392-regulator.yaml@@ -0,0 +1,118 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/regulator/mediatek,mt6392-regulator.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: MediaTek MT6392 regulator + +maintainers: + - Luca Leonardo Scorcia <l.scorcia@gmail.com> + +description: + MT6392 is a power management system chip containing three buck converters and + 23 LDOs. All voltage regulators provided by the PMIC are described as + sub-nodes of this node. + +properties: + compatible: + items: + - const: mediatek,mt6392-regulator + + vproc-supply: + description: Supply for buck regulator vproc + vcore-supply: + description: Supply for buck regulator vcore + vsys-supply: + description: Supply for buck regulator vsys + avddldo-supply: + description: + Supply for AVDD LDOs (vm, vio18, vcn18, vcamd, vcamio). According to the data sheet + this is an internal supply derived from vsys. + ldo1-supply: + description: Supply for LDOs group 1 (vaud28, vxo22, vaud22, vadc18, vcama, vrtc) + ldo2-supply: + description: Supply for LDOs group 2 (vcn35, vio28, vmc, vmch, vefuse, vdig18) + ldo3-supply: + description: Supply for LDOs group 3 (vusb, vemc3v3, vcamaf, vgp1, vgp2, vm25) + +patternProperties: + "^v(core|proc|sys)$": + description: Buck regulators + type: object + $ref: regulator.yaml# + unevaluatedProperties: false + properties: + regulator-allowed-modes: + description: + BUCK regulators can set regulator-allowed-modes to values specified in + dt-bindings/regulator/mediatek,mt6392-regulator.h + items: + enum: [0, 1] + minItems: 1 + maxItems: 2 + regulator-initial-mode: + description: + BUCK regulators can set regulator-initial-mode to values specified in + dt-bindings/regulator/mediatek,mt6392-regulator.h + items: + enum: [0, 1] + maxItems: 1 + + "^v(adc18|camio|cn18|io18|xo22|m25|aud28|io28|rtc|usb)$": + description: LDOs with fixed output and mode setting + type: object + $ref: regulator.yaml# + unevaluatedProperties: false + properties: + regulator-allowed-modes: + description: + LDO regulators can set regulator-allowed-modes to values specified in + dt-bindings/regulator/mediatek,mt6392-regulator.h + items: + enum: [0, 2] + minItems: 1 + maxItems: 2 + regulator-initial-mode: + description: + LDO regulators can set regulator-initial-mode to values specified in + dt-bindings/regulator/mediatek,mt6392-regulator.h + items: + enum: [0, 2] + maxItems: 1 + + "^v(cama|dig18)$": + description: LDOs with fixed output without mode setting + type: object + $ref: regulator.yaml# + unevaluatedProperties: false + properties: + regulator-allowed-modes: false + regulator-initial-mode: false + + "^v(aud22|camaf|camd|cn35|efuse|emc3v3|gp1|gp2|m|mc|mch)$": + description: LDOs with adjustable output and mode setting + type: object + $ref: regulator.yaml# + unevaluatedProperties: false + properties: + regulator-allowed-modes: + description: + LDO regulators can set regulator-allowed-modes to values specified in + dt-bindings/regulator/mediatek,mt6392-regulator.h + items: + enum: [0, 2] + minItems: 1 + maxItems: 2 + regulator-initial-mode: + description: + LDO regulators can set regulator-initial-mode to values specified in + dt-bindings/regulator/mediatek,mt6392-regulator.h + items: + enum: [0, 2] + maxItems: 1 + +required: + - compatible + +additionalProperties: false
diff --git a/include/dt-bindings/regulator/mediatek,mt6392-regulator.h b/include/dt-bindings/regulator/mediatek,mt6392-regulator.h
new file mode 100644
index 000000000000..2e1f41e0ebfe
--- /dev/null
+++ b/include/dt-bindings/regulator/mediatek,mt6392-regulator.h@@ -0,0 +1,23 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ + +#ifndef _DT_BINDINGS_REGULATOR_MEDIATEK_MT6392_H_ +#define _DT_BINDINGS_REGULATOR_MEDIATEK_MT6392_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 MT6392_REGULATOR_MODE_NORMAL 0 +#define MT6392_BUCK_MODE_FORCE_PWM 1 + +/* + * LDO 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 MT6392_LDO_MODE_LP 2 + +#endif
--
2.43.0