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

title: Qualcomm Resource Power Manager (RPM) over SMD/GLINK

description: |
  This driver is used to interface with the Resource Power Manager (RPM) found
  in various Qualcomm platforms. The RPM allows each component in the system
  to vote for state of the system resources, such as clocks, regulators and bus
  frequencies.

  The SMD or GLINK information for the RPM edge should be filled out.  See
  qcom,smd.yaml for the required edge properties.  All SMD/GLINK related
  properties will reside within the RPM node itself.

  The RPM exposes resources to its subnodes.  The rpm_requests node must be
  present and this subnode may contain children that designate regulator
  resources.

  Refer to Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml
  for information on the regulator subnodes that can exist under the
  rpm_requests.

maintainers:
  - Andy Gross <agross@kernel.org>
  - Bjorn Andersson <bjorn.andersson@linaro.org>

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - qcom,rpm-apq8084
              - qcom,rpm-mdm9607
              - qcom,rpm-msm8226
              - qcom,rpm-msm8610
              - qcom,rpm-msm8909
              - qcom,rpm-msm8916
              - qcom,rpm-msm8917
              - qcom,rpm-msm8936
              - qcom,rpm-msm8937
              - qcom,rpm-msm8952
              - qcom,rpm-msm8953
              - qcom,rpm-msm8974
              - qcom,rpm-msm8976
              - qcom,rpm-msm8994
          - const: qcom,smd-rpm
      - items:
          - enum:
              - qcom,rpm-ipq6018
              - qcom,rpm-ipq9574
              - qcom,rpm-msm8996
              - qcom,rpm-msm8998
              - qcom,rpm-qcm2290
              - qcom,rpm-qcs404
              - qcom,rpm-sdm660
              - qcom,rpm-sm6115
              - qcom,rpm-sm6125
              - qcom,rpm-sm6375
          - const: qcom,glink-smd-rpm

  clock-controller:
    $ref: /schemas/clock/qcom,rpmcc.yaml#
    unevaluatedProperties: false

  power-controller:
    $ref: /schemas/power/qcom,rpmpd.yaml#

  qcom,glink-channels:
    $ref: /schemas/types.yaml#/definitions/string-array
    description: Channel name used for the RPM communication
    items:
      - const: rpm_requests

  qcom,smd-channels:
    $ref: /schemas/types.yaml#/definitions/string-array
    description: Channel name used for the RPM communication
    items:
      - const: rpm_requests

patternProperties:
  "^regulators(-[01])?$":
    $ref: /schemas/regulator/qcom,smd-rpm-regulator.yaml#
    unevaluatedProperties: false

if:
  properties:
    compatible:
      contains:
        const: qcom,smd-rpm
then:
  properties:
    qcom,glink-channels: false
  required:
    - qcom,smd-channels
else:
  properties:
    qcom,smd-channels: false
  required:
    - qcom,glink-channels

required:
  - compatible

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/interrupt-controller/irq.h>

    remoteproc {
        compatible = "qcom,msm8916-rpm-proc", "qcom,rpm-proc";

        smd-edge {
            interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
            qcom,ipc = <&apcs 8 0>;
            qcom,smd-edge = <15>;

            rpm-requests {
                compatible = "qcom,rpm-msm8916", "qcom,smd-rpm";
                qcom,smd-channels = "rpm_requests";

                clock-controller {
                    compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";
                    #clock-cells = <1>;
                    clocks = <&xo_board>;
                    clock-names = "xo";
                };

                power-controller {
                    compatible = "qcom,msm8916-rpmpd";
                    #power-domain-cells = <1>;
                    operating-points-v2 = <&rpmpd_opp_table>;

                    rpmpd_opp_table: opp-table {
                        compatible = "operating-points-v2";

                        opp-1 {
                            opp-level = <1>;
                        };
                        opp-2 {
                            opp-level = <2>;
                        };
                    };
                };
            };
        };
    };
