[RFC PATCH v1 08/14] dt-bindings: power: thead,th1520: Add support for power domains
From: Michal Wilczynski
Date: Tue Dec 03 2024 - 08:44:04 EST
Add power domain support to the Thead TH1520 clock controller bindings.
This enables devices to specify their power domain dependencies,
improving power management for components like the GPU.
Signed-off-by: Michal Wilczynski <m.wilczynski@xxxxxxxxxxx>
---
.../bindings/power/thead,th1520-power.yaml | 52 +++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 53 insertions(+)
create mode 100644 Documentation/devicetree/bindings/power/thead,th1520-power.yaml
diff --git a/Documentation/devicetree/bindings/power/thead,th1520-power.yaml b/Documentation/devicetree/bindings/power/thead,th1520-power.yaml
new file mode 100644
index 000000000000..528af54f4ca6
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/thead,th1520-power.yaml
@@ -0,0 +1,52 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/thead,th1520-power.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: T-HEAD TH1520 Power Domain Controller
+
+maintainers:
+ - Michal Wilczynski <m.wilczynski@xxxxxxxxxxx>
+
+description: |
+ The T-HEAD TH1520 SoC includes a power domain controller responsible for
+ managing the power states of various hardware domains such as the GPU.
+
+ This binding describes the power domain controller node, which can be used by
+ devices to manage their power domains.
+
+properties:
+ compatible:
+ const: "thead,th1520-pd"
+
+ thead,vosys-regmap:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: |
+ Phandle to a syscon node representing the shared register space of the VO (Video Output) subsystem.
+ This register space includes both clock control registers and other control registers used for
+ operations like resetting the GPU. Since these registers reside in the same address space,
+ access to them is coordinated through a shared syscon regmap provided by the specified syscon node.
+
+ '#power-domain-cells':
+ const: 1
+
+required:
+ - compatible
+ - thead,vosys-regmap
+ - '#power-domain-cells'
+
+additionalProperties: false
+
+examples:
+ - |
+ vosys_regmap: vosys@ffef528000 {
+ compatible = "syscon";
+ reg = <0xff 0xef528000 0x0 0x1000>;
+ };
+
+ power-controller {
+ compatible = "thead,th1520-pd";
+ thead,vosys-regmap = <&vosys_regmap>;
+ #power-domain-cells = <1>;
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 16fb58aa74b1..acbe311087ad 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -20187,6 +20187,7 @@ F: Documentation/devicetree/bindings/clock/thead,th1520-clk.yaml
F: Documentation/devicetree/bindings/mailbox/thead,th1520-mbox.yaml
F: Documentation/devicetree/bindings/net/thead,th1520-gmac.yaml
F: Documentation/devicetree/bindings/pinctrl/thead,th1520-pinctrl.yaml
+F: Documentation/devicetree/bindings/power/thead,th1520-power.yaml
F: arch/riscv/boot/dts/thead/
F: drivers/clk/thead/
F: drivers/mailbox/mailbox-th1520.c
--
2.34.1