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