xref: /linux/Documentation/devicetree/bindings/soc/qcom/qcom,rpm-master-stats.yaml (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/soc/qcom/qcom,rpm-master-stats.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm Technologies, Inc. (QTI) RPM Master Stats
8
9maintainers:
10  - Konrad Dybcio <konradybcio@kernel.org>
11
12description: |
13  The Qualcomm RPM (Resource Power Manager) architecture includes a concept
14  of "RPM Masters". They can be thought of as "the local gang leaders", usually
15  spanning a single subsystem (e.g. APSS, ADSP, CDSP). All of the RPM decisions
16  (particularly around entering hardware-driven low power modes: XO shutdown
17  and total system-wide power collapse) are first made at Master-level, and
18  only then aggregated for the entire system.
19
20  The Master Stats provide a few useful bits that can be used to assess whether
21  our device has entered the desired low-power mode, how long it took to do so,
22  the duration of that residence, how long it took to come back online,
23  how many times a given sleep state was entered and which cores are actively
24  voting for staying awake.
25
26  This scheme has been used on various SoCs in the 2013-2023 era, with some
27  newer or higher-end designs providing this information through an SMEM query.
28
29properties:
30  compatible:
31    const: qcom,rpm-master-stats
32
33  qcom,rpm-msg-ram:
34    $ref: /schemas/types.yaml#/definitions/phandle-array
35    description: Phandle to an RPM MSG RAM slice containing the master stats
36    minItems: 1
37    maxItems: 5
38    items:
39      maxItems: 1
40
41  qcom,master-names:
42    $ref: /schemas/types.yaml#/definitions/string-array
43    description:
44      The name of the RPM Master which owns the MSG RAM slice where this
45      instance of Master Stats resides
46    minItems: 1
47    maxItems: 5
48
49required:
50  - compatible
51  - qcom,rpm-msg-ram
52  - qcom,master-names
53
54additionalProperties: false
55
56examples:
57  - |
58    stats {
59      compatible = "qcom,rpm-master-stats";
60      qcom,rpm-msg-ram = <&apss_master_stats>,
61                         <&mpss_master_stats>,
62                         <&adsp_master_stats>,
63                         <&cdsp_master_stats>,
64                         <&tz_master_stats>;
65      qcom,master-names = "APSS",
66                          "MPSS",
67                          "ADSP",
68                          "CDSP",
69                          "TZ";
70    };
71...
72