[PATCH v2 2/6] dt-bindings: power: Document Renesas R-Car X5H Module Controller
From: Geert Uytterhoeven
Date: Wed Jul 08 2026 - 06:17:34 EST
Document support for Renesas R-Car X5H Module Controllers, and add
binding definitions for power domains not backed by registers.
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
---
v2:
- Clarify the meaning of the two power domain cells and the reset
cell,
- Drop R8A78000_MDLC_PD_CMN, as CMN is backed by MDPG bits,
- Expand MDLC acronym,
- Add a comment stating that all R8A78000_MDLC_PD_* definitions are
for always-on power domains,
- Drop firmware property.
---
.../bindings/power/renesas,r8a78000-mdlc.yaml | 61 +++++++++++++++++++
.../dt-bindings/power/renesas,r8a78000-mdlc.h | 15 +++++
2 files changed, 76 insertions(+)
create mode 100644 Documentation/devicetree/bindings/power/renesas,r8a78000-mdlc.yaml
create mode 100644 include/dt-bindings/power/renesas,r8a78000-mdlc.h
diff --git a/Documentation/devicetree/bindings/power/renesas,r8a78000-mdlc.yaml b/Documentation/devicetree/bindings/power/renesas,r8a78000-mdlc.yaml
new file mode 100644
index 0000000000000000..1dba1e1b1c5b52d0
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/renesas,r8a78000-mdlc.yaml
@@ -0,0 +1,61 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/renesas,r8a78000-mdlc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Renesas R-Car X5H Module Controller
+
+maintainers:
+ - Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
+
+description:
+ Each instance of the R-Car X5H Module Controller (MODULE CONTROL) provides
+ Power Gating for up to 64 Power Domains, and Module Standby and Reset for up
+ to 256 modules in the Power Domain of each Module hierarchy.
+
+properties:
+ compatible:
+ const: renesas,r8a78000-mdlc
+
+ reg:
+ maxItems: 1
+
+ '#power-domain-cells':
+ description: |
+ - The first power domain specifier cell is the power domain part, and
+ must be either the Module Power Domain Gating (MPDG) register index
+ (0x00-0x3f) from the datasheet, for power domains which are backed by
+ MPDG bits and which can be controlled in that manner, or a Power
+ Domain number, as defined in
+ <dt-bindings/power/renesas,r8a78000-mdlc.h>, for power domains which
+ are always on, and for which there are no MPDG bits to control them.
+
+ - The second power domain specifier cell is the module standby part, and
+ must be the module number (0x00-0xff), composed of the Module System
+ Reset (MSRES) register index in the high nibble, and the Module Reset
+ Destination bitfield index in the low nibble.
+ const: 2
+
+ '#reset-cells':
+ description:
+ The single reset specifier cell must be the module number (0x00-0xff),
+ and thus identical to the second power domain specifier cell.
+ const: 1
+
+required:
+ - compatible
+ - reg
+ - '#power-domain-cells'
+ - '#reset-cells'
+
+additionalProperties: false
+
+examples:
+ - |
+ system-controller@c3060000 {
+ compatible = "renesas,r8a78000-mdlc";
+ reg = <0xc3060000 0x1000>;
+ #power-domain-cells = <2>;
+ #reset-cells = <1>;
+ };
diff --git a/include/dt-bindings/power/renesas,r8a78000-mdlc.h b/include/dt-bindings/power/renesas,r8a78000-mdlc.h
new file mode 100644
index 0000000000000000..6f3d1ae23648e55b
--- /dev/null
+++ b/include/dt-bindings/power/renesas,r8a78000-mdlc.h
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+/*
+ * Copyright (C) 2026 Glider bv
+ */
+#ifndef __DT_BINDINGS_POWER_RENESAS_R8A78000_MDLC_H__
+#define __DT_BINDINGS_POWER_RENESAS_R8A78000_MDLC_H__
+
+/* R-Car X5H Module Controller Always-On Power Domains */
+
+#define R8A78000_MDLC_PD_AON 0x40
+#define R8A78000_MDLC_PD_SCP 0x41
+#define R8A78000_MDLC_PD_APL 0x42
+#define R8A78000_MDLC_PD_ACL 0x43
+
+#endif /* __DT_BINDINGS_POWER_RENESAS_R8A78000_MDLC_H__ */
--
2.43.0