On Wed, Jul 16, 2025 at 02:22:20AM +0400, Arseniy Velikanov wrote:
+properties:
+ compatible:
+ items:
+ - enum:
+ - mediatek,mt6789-afe
+ - mediatek,mt6789-camsys
+ - mediatek,mt6789-camsys-rawa
+ - mediatek,mt6789-camsys-rawb
+ - mediatek,mt6789-imgsys
+ - mediatek,mt6789-imp-iic-wrap-c
+ - mediatek,mt6789-imp-iic-wrap-en
+ - mediatek,mt6789-imp-iic-wrap-w
+ - mediatek,mt6789-ipesys
+ - mediatek,mt6789-mdpsys
+ - mediatek,mt6789-mfgcfg
+ - mediatek,mt6789-vdecsys
+ - mediatek,mt6789-vencsys
+
+ reg:
+ maxItems: 1
+
+ '#clock-cells':
+ const: 1
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ afe: clock-controller@11210000 {
+ compatible = "mediatek,mt6789-afe";
+ reg = <0x11210000 0x1000>;
+ #clock-cells = <1>;
+ };
+
Drop the rest of nodes. One example is enough. They are ALL THE SAME.
...
diff --git a/Documentation/devicetree/bindings/clock/mediatek,mt6789-sys-clock.yaml b/Documentation/devicetree/bindings/clock/mediatek,mt6789-sys-clock.yaml
new file mode 100644
index 000000000000..d6f70ee918ad
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/mediatek,mt6789-sys-clock.yaml
@@ -0,0 +1,68 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/clock/mediatek,mt6789-sys-clock.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek System Clock Controller for MT6789
+
+maintainers:
+ - Arseniy Velikanov <me@xxxxxxxxxxx>
+
+description:
+ The Mediatek system clock controller provides various clocks and system configuration
+ like reset and bus protection on MT6789.
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - mediatek,mt6789-apmixedsys
Why this does not fit existing binding file? Or Mediatek maintainers
preference was to switch to one-binding-per-SoC?
+ - mediatek,mt6789-topckgen
+ - mediatek,mt6789-infracfg-ao
+ - mediatek,mt6789-mcusys
+ - const: syscon
+
+ reg:
+ maxItems: 1
+
+ '#clock-cells':
+ const: 1
+
+ '#reset-cells':
+ const: 1
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ mcusys: syscon@c530000 {
Drop unused labels, everywhere.
Also, node name is supposed to be clock or reset controller, not syscon.