* [PATCH] dt-bindings: power: Convert mediatek,mt2701-scpsys to DT schema
@ 2026-09-25 15:59 Rob Herring (Arm)
2026-09-25 16:10 ` sashiko-bot
0 siblings, 1 reply; 2+ messages in thread
From: Rob Herring (Arm) @ 2026-09-25 15:59 UTC (permalink / raw)
To: Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mediatek
Convert the mediatek,mt2701-scpsys binding to DT schema. The mt6735 and
mt6765 don't exist anywhere. The mt8183 is covered by
mediatek,mt8195-scpsys.yaml schema. With those dropped, the clock-names
are trimmed to drop mm-*, isp-*, cam-*, and venc_lt. The venc_lt and
mfg_2d supplies are dropped as well.
Assisted-by: LLM
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
.../power/mediatek,mt2701-scpsys.yaml | 111 ++++++++++++++++++
.../bindings/soc/mediatek/scpsys.txt | 79 -------------
2 files changed, 111 insertions(+), 79 deletions(-)
create mode 100644 Documentation/devicetree/bindings/power/mediatek,mt2701-scpsys.yaml
delete mode 100644 Documentation/devicetree/bindings/soc/mediatek/scpsys.txt
diff --git a/Documentation/devicetree/bindings/power/mediatek,mt2701-scpsys.yaml b/Documentation/devicetree/bindings/power/mediatek,mt2701-scpsys.yaml
new file mode 100644
index 000000000000..d991b8a008eb
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/mediatek,mt2701-scpsys.yaml
@@ -0,0 +1,111 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/mediatek,mt2701-scpsys.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek SCPSYS
+
+maintainers:
+ - Matthias Brugger <matthias.bgg@gmail.com>
+ - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+
+description: >
+ The System Control Processor System (SCPSYS) has several power management
+ related tasks in the system. The tasks include thermal measurement, dynamic
+ voltage frequency scaling (DVFS), interrupt filter and lowlevel sleep control.
+ The System Power Manager (SPM) inside the SCPSYS is for the MTCMOS power
+ domain control.
+
+ It provides the power domains defined in:
+ - include/dt-bindings/power/mt2701-power.h
+ - include/dt-bindings/power/mt2712-power.h
+ - include/dt-bindings/power/mt6797-power.h
+ - include/dt-bindings/power/mt7622-power.h
+ - include/dt-bindings/power/mt7623a-power.h
+
+properties:
+ compatible:
+ oneOf:
+ - enum:
+ - mediatek,mt7623a-scpsys
+ - mediatek,mt6797-scpsys
+ - items:
+ - enum:
+ - mediatek,mt2701-scpsys
+ - mediatek,mt2712-scpsys
+ - mediatek,mt7622-scpsys
+ - const: syscon
+ - items:
+ - const: mediatek,mt7623-scpsys
+ - const: mediatek,mt2701-scpsys
+ - const: syscon
+ - items:
+ - const: mediatek,mt7629-scpsys
+ - const: mediatek,mt7622-scpsys
+
+ '#power-domain-cells':
+ description: Always 1
+ const: 1
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 4
+
+ clocks:
+ minItems: 1
+ maxItems: 20
+
+ clock-names:
+ minItems: 1
+ maxItems: 6
+ items:
+ enum:
+ - mm
+ - mfg
+ - ethif
+ - venc
+ - jpgdec
+ - audio
+ - vdec
+ - hif_sel
+
+ vdec-supply: true
+ venc-supply: true
+ isp-supply: true
+ mm-supply: true
+ audio-supply: true
+ usb-supply: true
+ mfg_async-supply: true
+ mfg-supply: true
+
+ infracfg:
+ description: Infrastructure configuration controller phandle
+ $ref: /schemas/types.yaml#/definitions/phandle
+
+required:
+ - compatible
+ - '#power-domain-cells'
+ - reg
+ - infracfg
+ - clocks
+ - clock-names
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/mt2701-clk.h>
+
+ power-controller@10006000 {
+ #power-domain-cells = <1>;
+ compatible = "mediatek,mt2701-scpsys", "syscon";
+ reg = <0x10006000 0x1000>;
+ infracfg = <&infracfg>;
+ clocks = <&topckgen CLK_TOP_MM_SEL>,
+ <&topckgen CLK_TOP_MFG_SEL>,
+ <&topckgen CLK_TOP_ETHIF_SEL>;
+ clock-names = "mm", "mfg", "ethif";
+ };
diff --git a/Documentation/devicetree/bindings/soc/mediatek/scpsys.txt b/Documentation/devicetree/bindings/soc/mediatek/scpsys.txt
deleted file mode 100644
index 3530a6668b48..000000000000
--- a/Documentation/devicetree/bindings/soc/mediatek/scpsys.txt
+++ /dev/null
@@ -1,79 +0,0 @@
-MediaTek SCPSYS
-===============
-
-The System Control Processor System (SCPSYS) has several power management
-related tasks in the system. The tasks include thermal measurement, dynamic
-voltage frequency scaling (DVFS), interrupt filter and lowlevel sleep control.
-The System Power Manager (SPM) inside the SCPSYS is for the MTCMOS power
-domain control.
-
-The driver implements the Generic PM domain bindings described in
-power/power-domain.yaml. It provides the power domains defined in
-- include/dt-bindings/power/mt8173-power.h
-- include/dt-bindings/power/mt6797-power.h
-- include/dt-bindings/power/mt6765-power.h
-- include/dt-bindings/power/mt2701-power.h
-- include/dt-bindings/power/mt2712-power.h
-- include/dt-bindings/power/mt7622-power.h
-
-Required properties:
-- compatible: Should be one of:
- - "mediatek,mt2701-scpsys"
- - "mediatek,mt2712-scpsys"
- - "mediatek,mt6735-scpsys"
- - "mediatek,mt6765-scpsys"
- - "mediatek,mt6797-scpsys"
- - "mediatek,mt7622-scpsys"
- - "mediatek,mt7623-scpsys", "mediatek,mt2701-scpsys": For MT7623 SoC
- - "mediatek,mt7623a-scpsys": For MT7623A SoC
- - "mediatek,mt7629-scpsys", "mediatek,mt7622-scpsys": For MT7629 SoC
- - "mediatek,mt8173-scpsys"
-- #power-domain-cells: Must be 1
-- reg: Address range of the SCPSYS unit
-- infracfg: must contain a phandle to the infracfg controller
-- clock, clock-names: clocks according to the common clock binding.
- These are clocks which hardware needs to be
- enabled before enabling certain power domains.
- Required clocks for MT2701 or MT7623: "mm", "mfg", "ethif"
- Required clocks for MT2712: "mm", "mfg", "venc", "jpgdec", "audio", "vdec"
- Required clocks for MT6765: MUX: "mm", "mfg"
- CG: "mm-0", "mm-1", "mm-2", "mm-3", "isp-0",
- "isp-1", "cam-0", "cam-1", "cam-2",
- "cam-3","cam-4"
- Required clocks for MT6797: "mm", "mfg", "vdec"
- Required clocks for MT7622 or MT7629: "hif_sel"
- Required clocks for MT7623A: "ethif"
- Required clocks for MT8173: "mm", "mfg", "venc", "venc_lt"
-
-Optional properties:
-- vdec-supply: Power supply for the vdec power domain
-- venc-supply: Power supply for the venc power domain
-- isp-supply: Power supply for the isp power domain
-- mm-supply: Power supply for the mm power domain
-- venc_lt-supply: Power supply for the venc_lt power domain
-- audio-supply: Power supply for the audio power domain
-- usb-supply: Power supply for the usb power domain
-- mfg_async-supply: Power supply for the mfg_async power domain
-- mfg_2d-supply: Power supply for the mfg_2d power domain
-- mfg-supply: Power supply for the mfg power domain
-
-Example:
-
- scpsys: scpsys@10006000 {
- #power-domain-cells = <1>;
- compatible = "mediatek,mt8173-scpsys";
- reg = <0 0x10006000 0 0x1000>;
- infracfg = <&infracfg>;
- clocks = <&clk26m>,
- <&topckgen CLK_TOP_MM_SEL>;
- <&topckgen CLK_TOP_VENC_SEL>,
- <&topckgen CLK_TOP_VENC_LT_SEL>;
- clock-names = "mfg", "mm", "venc", "venc_lt";
- };
-
-Example consumer:
-
- afe: mt8173-afe-pcm@11220000 {
- compatible = "mediatek,mt8173-afe-pcm";
- power-domains = <&scpsys MT8173_POWER_DOMAIN_AUDIO>;
- };
--
2.53.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] dt-bindings: power: Convert mediatek,mt2701-scpsys to DT schema
2026-09-25 15:59 [PATCH] dt-bindings: power: Convert mediatek,mt2701-scpsys to DT schema Rob Herring (Arm)
@ 2026-09-25 16:10 ` sashiko-bot
0 siblings, 0 replies; 2+ messages in thread
From: sashiko-bot @ 2026-09-25 16:10 UTC (permalink / raw)
To: Rob Herring (Arm); +Cc: robh, devicetree, conor+dt
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] dt-bindings: missing if-then conditionals for clock constraints per compatible
--
commit 58363c1987ec9c749cc55c9a540860ff57ed2f23
Author: Rob Herring (Arm) <robh@kernel.org>
dt-bindings: power: Convert mediatek,mt2701-scpsys to DT schema
Convert the mediatek,mt2701-scpsys binding to DT schema. The mt6735 and
mt6765 don't exist anywhere. The mt8183 is covered by
mediatek,mt8195-scpsys.yaml schema. With those dropped, the clock-names
are trimmed to drop mm-*, isp-*, cam-*, and venc_lt. The venc_lt and
mfg_2d supplies are dropped as well.
> diff --git a/Documentation/devicetree/bindings/power/mediatek,mt2701-scpsys.yaml b/Documentation/devicetree/bindings/power/mediatek,mt2701-scpsys.yaml
> new file mode 100644
> index 0000000000000..d991b8a008eba
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/power/mediatek,mt2701-scpsys.yaml
[ ... ]
> + clocks:
> + minItems: 1
> + maxItems: 20
> +
> + clock-names:
> + minItems: 1
> + maxItems: 6
> + items:
> + enum:
> + - mm
> + - mfg
> + - ethif
> + - venc
> + - jpgdec
> + - audio
> + - vdec
> + - hif_sel
[Severity: Medium]
Does this generic definition omit the hardware-specific constraints from the
original text binding?
The original text binding required specific clock combinations based on the SoC
(for example, MT2712 explicitly required "mm", "mfg", "venc", "jpgdec",
"audio", and "vdec").
This new schema generically allows any device tree to provide 1 to 6 clocks
from the enum in any order, which would allow invalid configurations missing
required clocks to silently pass `dt_binding_check` validation.
Should there be `allOf` and `if-then` conditional blocks to enforce the correct
clocks and clock-names constraints per compatible string?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260925155927.1707560-1-robh@kernel.org?part=1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-09-25 16:10 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-25 15:59 [PATCH] dt-bindings: power: Convert mediatek,mt2701-scpsys to DT schema Rob Herring (Arm)
2026-09-25 16:10 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox