xref: /linux/Documentation/devicetree/bindings/soc/qcom/qcom,rpm-master-stats.yaml (revision 2731835f3f2e5b0642ad82a3a0265c98a552283e)
10be43924SKonrad Dybcio# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
20be43924SKonrad Dybcio%YAML 1.2
30be43924SKonrad Dybcio---
40be43924SKonrad Dybcio$id: http://devicetree.org/schemas/soc/qcom/qcom,rpm-master-stats.yaml#
50be43924SKonrad Dybcio$schema: http://devicetree.org/meta-schemas/core.yaml#
60be43924SKonrad Dybcio
70be43924SKonrad Dybciotitle: Qualcomm Technologies, Inc. (QTI) RPM Master Stats
80be43924SKonrad Dybcio
90be43924SKonrad Dybciomaintainers:
10*0710c3d3SKonrad Dybcio  - Konrad Dybcio <konradybcio@kernel.org>
110be43924SKonrad Dybcio
120be43924SKonrad Dybciodescription: |
130be43924SKonrad Dybcio  The Qualcomm RPM (Resource Power Manager) architecture includes a concept
140be43924SKonrad Dybcio  of "RPM Masters". They can be thought of as "the local gang leaders", usually
150be43924SKonrad Dybcio  spanning a single subsystem (e.g. APSS, ADSP, CDSP). All of the RPM decisions
160be43924SKonrad Dybcio  (particularly around entering hardware-driven low power modes: XO shutdown
170be43924SKonrad Dybcio  and total system-wide power collapse) are first made at Master-level, and
180be43924SKonrad Dybcio  only then aggregated for the entire system.
190be43924SKonrad Dybcio
200be43924SKonrad Dybcio  The Master Stats provide a few useful bits that can be used to assess whether
210be43924SKonrad Dybcio  our device has entered the desired low-power mode, how long it took to do so,
220be43924SKonrad Dybcio  the duration of that residence, how long it took to come back online,
230be43924SKonrad Dybcio  how many times a given sleep state was entered and which cores are actively
240be43924SKonrad Dybcio  voting for staying awake.
250be43924SKonrad Dybcio
260be43924SKonrad Dybcio  This scheme has been used on various SoCs in the 2013-2023 era, with some
270be43924SKonrad Dybcio  newer or higher-end designs providing this information through an SMEM query.
280be43924SKonrad Dybcio
290be43924SKonrad Dybcioproperties:
300be43924SKonrad Dybcio  compatible:
310be43924SKonrad Dybcio    const: qcom,rpm-master-stats
320be43924SKonrad Dybcio
330be43924SKonrad Dybcio  qcom,rpm-msg-ram:
340be43924SKonrad Dybcio    $ref: /schemas/types.yaml#/definitions/phandle-array
350be43924SKonrad Dybcio    description: Phandle to an RPM MSG RAM slice containing the master stats
360be43924SKonrad Dybcio    minItems: 1
370be43924SKonrad Dybcio    maxItems: 5
388796fa0fSRob Herring    items:
398796fa0fSRob Herring      maxItems: 1
400be43924SKonrad Dybcio
410be43924SKonrad Dybcio  qcom,master-names:
420be43924SKonrad Dybcio    $ref: /schemas/types.yaml#/definitions/string-array
430be43924SKonrad Dybcio    description:
440be43924SKonrad Dybcio      The name of the RPM Master which owns the MSG RAM slice where this
450be43924SKonrad Dybcio      instance of Master Stats resides
460be43924SKonrad Dybcio    minItems: 1
470be43924SKonrad Dybcio    maxItems: 5
480be43924SKonrad Dybcio
490be43924SKonrad Dybciorequired:
500be43924SKonrad Dybcio  - compatible
510be43924SKonrad Dybcio  - qcom,rpm-msg-ram
520be43924SKonrad Dybcio  - qcom,master-names
530be43924SKonrad Dybcio
540be43924SKonrad DybcioadditionalProperties: false
550be43924SKonrad Dybcio
560be43924SKonrad Dybcioexamples:
570be43924SKonrad Dybcio  - |
580be43924SKonrad Dybcio    stats {
590be43924SKonrad Dybcio      compatible = "qcom,rpm-master-stats";
600be43924SKonrad Dybcio      qcom,rpm-msg-ram = <&apss_master_stats>,
610be43924SKonrad Dybcio                         <&mpss_master_stats>,
620be43924SKonrad Dybcio                         <&adsp_master_stats>,
630be43924SKonrad Dybcio                         <&cdsp_master_stats>,
640be43924SKonrad Dybcio                         <&tz_master_stats>;
650be43924SKonrad Dybcio      qcom,master-names = "APSS",
660be43924SKonrad Dybcio                          "MPSS",
670be43924SKonrad Dybcio                          "ADSP",
680be43924SKonrad Dybcio                          "CDSP",
690be43924SKonrad Dybcio                          "TZ";
700be43924SKonrad Dybcio    };
710be43924SKonrad Dybcio...
72