# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/soc/qcom/qcom-stats.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm Technologies, Inc. (QTI) Stats

maintainers:
  - Maulik Shah <quic_mkshah@quicinc.com>

description:
  Always On Processor/Resource Power Manager maintains statistics of the SoC
  sleep modes involving powering down of the rails and oscillator clock.

  Statistics includes SoC sleep mode type, number of times low power mode were
  entered, time of last entry, time of last exit and accumulated sleep duration.

properties:
  compatible:
    enum:
      - qcom,rpmh-stats
      - qcom,sdm845-rpmh-stats
      - qcom,rpm-stats
      # For older RPM firmware versions with fixed offset for the sleep stats
      - qcom,apq8084-rpm-stats
      - qcom,msm8226-rpm-stats
      - qcom,msm8916-rpm-stats
      - qcom,msm8974-rpm-stats

  reg:
    maxItems: 1

  qcom,qmp:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: Reference to the AOSS side-channel message RAM

required:
  - compatible
  - reg

allOf:
  - if:
      not:
        properties:
          compatible:
            const: qcom,rpmh-stats
    then:
      properties:
        qcom,qmp: false

additionalProperties: false

examples:
  # Example of rpmh sleep stats
  - |
    sram@c3f0000 {
      compatible = "qcom,rpmh-stats";
      reg = <0x0c3f0000 0x400>;
    };
  # Example of rpm sleep stats
  - |
    sram@4690000 {
      compatible = "qcom,rpm-stats";
      reg = <0x04690000 0x10000>;
    };
...
