GNU Linux-libre 6.8.9-gnu
[releases.git] / Documentation / devicetree / bindings / soc / qcom / qcom,rpm-master-stats.yaml
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
7 title: Qualcomm Technologies, Inc. (QTI) RPM Master Stats
8
9 maintainers:
10   - Konrad Dybcio <konrad.dybcio@linaro.org>
11
12 description: |
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
29 properties:
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
39   qcom,master-names:
40     $ref: /schemas/types.yaml#/definitions/string-array
41     description:
42       The name of the RPM Master which owns the MSG RAM slice where this
43       instance of Master Stats resides
44     minItems: 1
45     maxItems: 5
46
47 required:
48   - compatible
49   - qcom,rpm-msg-ram
50   - qcom,master-names
51
52 additionalProperties: false
53
54 examples:
55   - |
56     stats {
57       compatible = "qcom,rpm-master-stats";
58       qcom,rpm-msg-ram = <&apss_master_stats>,
59                          <&mpss_master_stats>,
60                          <&adsp_master_stats>,
61                          <&cdsp_master_stats>,
62                          <&tz_master_stats>;
63       qcom,master-names = "APSS",
64                           "MPSS",
65                           "ADSP",
66                           "CDSP",
67                           "TZ";
68     };
69 ...