18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: "http://devicetree.org/schemas/soc/qcom/qcom,smd-rpm.yaml#"
58c2ecf20Sopenharmony_ci$schema: "http://devicetree.org/meta-schemas/core.yaml#"
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Qualcomm Resource Power Manager (RPM) over SMD
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cidescription: |
108c2ecf20Sopenharmony_ci  This driver is used to interface with the Resource Power Manager (RPM) found
118c2ecf20Sopenharmony_ci  in various Qualcomm platforms. The RPM allows each component in the system
128c2ecf20Sopenharmony_ci  to vote for state of the system resources, such as clocks, regulators and bus
138c2ecf20Sopenharmony_ci  frequencies.
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci  The SMD information for the RPM edge should be filled out.  See qcom,smd.txt
168c2ecf20Sopenharmony_ci  for the required edge properties.  All SMD related properties will reside
178c2ecf20Sopenharmony_ci  within the RPM node itself.
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci  The RPM exposes resources to its subnodes.  The rpm_requests node must be
208c2ecf20Sopenharmony_ci  present and this subnode may contain children that designate regulator
218c2ecf20Sopenharmony_ci  resources.
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci  Refer to Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml
248c2ecf20Sopenharmony_ci  for information on the regulator subnodes that can exist under the
258c2ecf20Sopenharmony_ci  rpm_requests.
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_cimaintainers:
288c2ecf20Sopenharmony_ci  - Kathiravan T <kathirav@codeaurora.org>
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ciproperties:
318c2ecf20Sopenharmony_ci  compatible:
328c2ecf20Sopenharmony_ci    enum:
338c2ecf20Sopenharmony_ci      - qcom,rpm-apq8084
348c2ecf20Sopenharmony_ci      - qcom,rpm-ipq6018
358c2ecf20Sopenharmony_ci      - qcom,rpm-msm8916
368c2ecf20Sopenharmony_ci      - qcom,rpm-msm8974
378c2ecf20Sopenharmony_ci      - qcom,rpm-msm8976
388c2ecf20Sopenharmony_ci      - qcom,rpm-msm8996
398c2ecf20Sopenharmony_ci      - qcom,rpm-msm8998
408c2ecf20Sopenharmony_ci      - qcom,rpm-sdm660
418c2ecf20Sopenharmony_ci      - qcom,rpm-qcs404
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci  qcom,smd-channels:
448c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/string-array
458c2ecf20Sopenharmony_ci    description: Channel name used for the RPM communication
468c2ecf20Sopenharmony_ci    items:
478c2ecf20Sopenharmony_ci      - const: rpm_requests
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ciif:
508c2ecf20Sopenharmony_ci  properties:
518c2ecf20Sopenharmony_ci    compatible:
528c2ecf20Sopenharmony_ci      contains:
538c2ecf20Sopenharmony_ci        enum:
548c2ecf20Sopenharmony_ci          - qcom,rpm-apq8084
558c2ecf20Sopenharmony_ci          - qcom,rpm-msm8916
568c2ecf20Sopenharmony_ci          - qcom,rpm-msm8974
578c2ecf20Sopenharmony_cithen:
588c2ecf20Sopenharmony_ci  required:
598c2ecf20Sopenharmony_ci    - qcom,smd-channels
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_cirequired:
628c2ecf20Sopenharmony_ci  - compatible
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ciadditionalProperties: false
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ciexamples:
678c2ecf20Sopenharmony_ci  - |
688c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
698c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ci    smd {
728c2ecf20Sopenharmony_ci        compatible = "qcom,smd";
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci        rpm {
758c2ecf20Sopenharmony_ci            interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
768c2ecf20Sopenharmony_ci            qcom,ipc = <&apcs 8 0>;
778c2ecf20Sopenharmony_ci            qcom,smd-edge = <15>;
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci                rpm_requests {
808c2ecf20Sopenharmony_ci                        compatible = "qcom,rpm-msm8974";
818c2ecf20Sopenharmony_ci                        qcom,smd-channels = "rpm_requests";
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ci                        /* Regulator nodes to follow */
848c2ecf20Sopenharmony_ci                };
858c2ecf20Sopenharmony_ci            };
868c2ecf20Sopenharmony_ci     };
878c2ecf20Sopenharmony_ci...
88