[PATCH v10 1/9] dt-bindings: mfd: mt6397: Add MT6392 PMIC
From: Luca Leonardo Scorcia <hidden>
Date: 2026-09-02 19:34:34
Also in:
linux-arm-kernel, linux-devicetree, linux-gpio, linux-mediatek, linux-pm, lkml
Subsystem:
mediatek board level shutdown drivers, mediatek pmic led driver, multifunction devices (mfd), open firmware and flattened device tree bindings, the rest · Maintainers:
Sen Chu, Sean Wang, Macpaul Lin, Lee Jones, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Linus Torvalds
Describe the MT6392 PMIC and its RTC and regulator devices. This device is mostly based on MT6323 with some similarities to MT6397 and is usually found on boards using the MT8516/MT8167 SoC. Signed-off-by: Luca Leonardo Scorcia <redacted> --- Previous version of this patch had the PMIC device declared with a fallback compatible to "mediatek,mt6323". Sashiko pointed out in [1] that it would have been wrong as the fallback device is not really compatible with the new PMIC. Since the change is significant I have not included the Reviewed-by tag that Krzysztof Kozlowski kindly provided in v9 of this patch, I hope this is the right thing. I really want to get the bindings right as they are harder to fix in later commits if the need arises. [1] https://sashiko.dev/#/message/20260820125850.3B34D1F000E9%40smtp.kernel.org .../bindings/mfd/mediatek,mt6397.yaml | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+)
diff --git a/Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml b/Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml
index 3cbc0dc12c31..06e93c545e3b 100644
--- a/Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml
+++ b/Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml@@ -39,6 +39,7 @@ properties: - mediatek,mt6328 - mediatek,mt6358 - mediatek,mt6359 + - mediatek,mt6392 - mediatek,mt6397 - items: - enum:
@@ -72,6 +73,10 @@ properties: - mediatek,mt6331-rtc - mediatek,mt6358-rtc - mediatek,mt6397-rtc + - items: + - enum: + - mediatek,mt6392-rtc + - const: mediatek,mt6323-rtc - items: - enum: - mediatek,mt6359-rtc
@@ -99,6 +104,7 @@ properties: - mediatek,mt6331-regulator - mediatek,mt6358-regulator - mediatek,mt6359-regulator + - mediatek,mt6392-regulator - mediatek,mt6397-regulator - items: - enum:
@@ -663,3 +669,69 @@ examples: compatible = "mediatek,mt6397-rtc"; }; }; + + - | + #include <dt-bindings/input/input.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + + pmic { + compatible = "mediatek,mt6392"; + + interrupts-extended = <&pio 28 IRQ_TYPE_LEVEL_HIGH>; + interrupt-controller; + #interrupt-cells = <2>; + + keys { + compatible = "mediatek,mt6392-keys"; + + key-power { + linux,keycodes = <KEY_POWER>; + wakeup-source; + }; + + key-home { + linux,keycodes = <KEY_HOME>; + wakeup-source; + }; + }; + + pinctrl { + compatible = "mediatek,mt6392-pinctrl"; + + gpio-controller; + #gpio-cells = <2>; + }; + + regulators { + compatible = "mediatek,mt6392-regulator"; + + vproc { + regulator-allowed-modes = <0 1>; + regulator-initial-mode = <0>; + regulator-min-microvolt = < 700000>; + regulator-max-microvolt = <1350000>; + regulator-always-on; + regulator-boot-on; + }; + + // ... + + vadc18 { + regulator-allowed-modes = <0 2>; + regulator-initial-mode = <0>; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + vefuse { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2000000>; + }; + }; + + rtc { + compatible = "mediatek,mt6392-rtc", "mediatek,mt6323-rtc"; + }; + };
--
2.43.0