diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.txt b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.txt
deleted file mode 100644
index 9712a6831fab..000000000000
--- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-Mediatek mmsys controller
-============================
-
-The Mediatek mmsys system controller provides clock control, routing control,
-and miscellaneous control in mmsys partition.
-
-Required Properties:
-
-- compatible: Should be one of:
-	- "mediatek,mt2701-mmsys", "syscon"
-	- "mediatek,mt2712-mmsys", "syscon"
-	- "mediatek,mt6765-mmsys", "syscon"
-	- "mediatek,mt6779-mmsys", "syscon"
-	- "mediatek,mt6797-mmsys", "syscon"
-	- "mediatek,mt7623-mmsys", "mediatek,mt2701-mmsys", "syscon"
-	- "mediatek,mt8167-mmsys", "syscon"
-	- "mediatek,mt8173-mmsys", "syscon"
-	- "mediatek,mt8183-mmsys", "syscon"
-	- "mediatek,mt8192-mmsys", "syscon"
-- #clock-cells: Must be 1
-
-For the clock control, the mmsys controller uses the common clk binding from
-Documentation/devicetree/bindings/clock/clock-bindings.txt
-The available clocks are defined in dt-bindings/clock/mt*-clk.h.
-
-Example:
-
-mmsys: syscon@14000000 {
-	compatible = "mediatek,mt8173-mmsys", "syscon";
-	reg = <0 0x14000000 0 0x1000>;
-	#clock-cells = <1>;
-};
diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml
new file mode 100644
index 000000000000..ea31c7c2792c
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml
@@ -0,0 +1,102 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/mediatek/mediatek,mmsys.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: mediatek mmsys Controller Device Tree Bindings
+
+maintainers:
+  - CK Hu <ck.hu@mediatek.com>
+  - Jason-JH Lin <jason-jh.lin@mediatek.com>
+
+description: |
+  The Mediatek mmsys system controller provides clock control, routing control,
+  and miscellaneous control in mmsys partition.
+
+properties:
+  compatible:
+    description: |
+      If the mmsys controller of different soc have the same function,
+      you can use the same compatible name after it.
+      For example, if the function of mt2701 mmsys controller is the same as syscon,
+      then the compatible property could be set as:
+      compatible = "mediatek,mt2701-mmsys", "syscon";
+    oneOf:
+      - items:
+          - const: syscon
+      - items:
+          - enum:
+              - mediatek,mt2701-mmsys
+              - mediatek,mt7623-mmsys
+          - enum:
+              - syscon
+      - items:
+          - enum:
+              - mediatek,mt2712-mmsys
+          - enum:
+              - syscon
+      - items:
+          - enum:
+              - mediatek,mt6779-mmsys
+          - enum:
+              - syscon
+      - items:
+          - enum:
+              - mediatek,mt6797-mmsys
+          - enum:
+              - syscon
+      - items:
+          - enum:
+              - mediatek,mt8167-mmsys
+          - enum:
+              - syscon
+      - items:
+          - enum:
+              - mediatek,mt8173-mmsys
+          - enum:
+              - syscon
+      - items:
+          - enum:
+              - mediatek,mt8183-mmsys
+          - enum:
+              - syscon
+      - items:
+          - enum:
+              - mediatek,mt8192-mmsys
+          - enum:
+              - syscon
+
+  reg:
+    maxItems: 1
+
+  '#clock-cells':
+    description: |
+      For the clock control, the mmsys controller uses the common clk binding from
+      Documentation/devicetree/bindings/clock/clock-bindings.txt
+      The available clocks are defined in dt-bindings/clock/mt*-clk.h
+    const: 1
+
+  mboxes:
+    description: |
+      Client use mailbox to communicate with GCE, it should have this
+      property and list of phandle with mailbox specifiers as defined in
+      Documentation/devicetree/bindings/mailbox/mtk-gce.txt
+
+required:
+  - compatible
+  - reg
+  - '#clocks-cells'
+
+additionalProperties: false
+
+examples:
+  - |
+
+    mmsys: syscon@14000000 {
+        compatible = "mediatek,mt8173-mmsys", "syscon";
+        reg = <0 0x14000000 0 0x1000>;
+        #clock-cells = <1>;
+    };
+
+...
