[PATCH 01/13] dt-bindings: soc: Introduce device bindings for CESTA Resource Manager

Jagadeesh Kona
2026-04-20T16:29:51Z

From: Maulik Shah <maulik.shah@oss.qualcomm.com>

Add device binding documentation for Qualcomm Technologies, Inc. (QTI)
CESTA (Client State Aggregation) Resource Manager which is responsible
for client side management and aggregation of local resources.

Signed-off-by: Maulik Shah <maulik.shah@oss.qualcomm.com>
Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
---
.../devicetree/bindings/soc/qcom/qcom,crm.yaml | 83 ++++++++++++++++++++++
1 file changed, 83 insertions(+)

diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,crm.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,crm.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a1485db8b7476b0cb0b4e8a41adc8fb4092b731f
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/qcom/qcom,crm.yaml
@@ -0,0 +1,83 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/qcom/qcom,crm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Technologies, Inc. (QTI) CESTA Resource Manager (CRM)
+
+maintainers:
+ - Maulik Shah <maulik.shah@oss.qualcomm.com>
+
+description:
+ Support for communication with the hardened-CRM blocks. A set of SW
+ client Direct Resource Voters (DRVs) in CRM provides interface to vote
+ desired power state of resources local to a subsystem.
+
+properties:
+ compatible:
+ enum:
+ - qcom,sm8750-disp-crm
+
+ label:
+ $ref: /schemas/types.yaml#/definitions/string-array
+ oneOf:
+ - description: Specifies the name of the CRM.
+ items:
+ - enum:
+ - disp_crm
+
+ reg:
+ minItems: 2
+
+ power-domains:
+ maxItems: 1
+
+ interrupts:
+ minItems: 1
+ maxItems: 6
+ description:
+ One interrupt for each DRV. The interrupt trips when a message complete/response is
+ received from the accelerators for the desired power state. Number of interrupts must
+ match number of DRV blocks.
+
+ qcom,sw-drv-ids:
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ minItems: 1
+ maxItems: 6
+ items:
+ minimum: 0
+ maximum: 5
+ description:
+ List of SW DRV IDs used within kernel. May contain holes as some DRVs can
+ be allocated to DSPs / can be spare.
+
+required:
+ - compatible
+ - label
+ - reg
+ - interrupts
+ - qcom,sw-drv-ids
+
+additionalProperties: false
+
+examples:
+ # Example of Display CRM device with SW DRVs
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/power/qcom,rpmhpd.h>
+ disp_crm: crm@af21000 {
+ compatible = "qcom,sm8750-disp-crm";
+ label = "disp_crm";
+ reg = <0x0af21000 0x6000>,
+ <0x0af29f00 0x100>;
+ power-domains = <&rpmhpd RPMHPD_MMCX>;
+ interrupts = <GIC_SPI 703 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 708 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 714 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 68 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 96 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 249 IRQ_TYPE_EDGE_RISING>;
+ qcom,sw-drv-ids = <0 1 2 3 4 5>;
+ };
+...

--
2.34.1