The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/soc/qcom/qcom,smd-rpm.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
    2 %YAML 1.2
    3 ---
    4 $id: "http://devicetree.org/schemas/soc/qcom/qcom,smd-rpm.yaml#"
    5 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
    6 
    7 title: Qualcomm Resource Power Manager (RPM) over SMD
    8 
    9 description: |
   10   This driver is used to interface with the Resource Power Manager (RPM) found
   11   in various Qualcomm platforms. The RPM allows each component in the system
   12   to vote for state of the system resources, such as clocks, regulators and bus
   13   frequencies.
   14 
   15   The SMD information for the RPM edge should be filled out.  See qcom,smd.yaml
   16   for the required edge properties.  All SMD related properties will reside
   17   within the RPM node itself.
   18 
   19   The RPM exposes resources to its subnodes.  The rpm_requests node must be
   20   present and this subnode may contain children that designate regulator
   21   resources.
   22 
   23   Refer to Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml
   24   for information on the regulator subnodes that can exist under the
   25   rpm_requests.
   26 
   27 maintainers:
   28   - Andy Gross <agross@kernel.org>
   29   - Bjorn Andersson <bjorn.andersson@linaro.org>
   30 
   31 properties:
   32   compatible:
   33     enum:
   34       - qcom,rpm-apq8084
   35       - qcom,rpm-ipq6018
   36       - qcom,rpm-msm8226
   37       - qcom,rpm-msm8909
   38       - qcom,rpm-msm8916
   39       - qcom,rpm-msm8936
   40       - qcom,rpm-msm8953
   41       - qcom,rpm-msm8974
   42       - qcom,rpm-msm8976
   43       - qcom,rpm-msm8996
   44       - qcom,rpm-msm8998
   45       - qcom,rpm-sdm660
   46       - qcom,rpm-sm6115
   47       - qcom,rpm-sm6125
   48       - qcom,rpm-qcm2290
   49       - qcom,rpm-qcs404
   50 
   51   clock-controller:
   52     $ref: /schemas/clock/qcom,rpmcc.yaml#
   53     unevaluatedProperties: false
   54 
   55   power-controller:
   56     $ref: /schemas/power/qcom,rpmpd.yaml#
   57 
   58   qcom,smd-channels:
   59     $ref: /schemas/types.yaml#/definitions/string-array
   60     description: Channel name used for the RPM communication
   61     items:
   62       - const: rpm_requests
   63 
   64 if:
   65   properties:
   66     compatible:
   67       contains:
   68         enum:
   69           - qcom,rpm-apq8084
   70           - qcom,rpm-msm8916
   71           - qcom,rpm-msm8974
   72           - qcom,rpm-msm8953
   73 then:
   74   required:
   75     - qcom,smd-channels
   76 
   77 required:
   78   - compatible
   79 
   80 additionalProperties: false
   81 
   82 examples:
   83   - |
   84     #include <dt-bindings/interrupt-controller/arm-gic.h>
   85     #include <dt-bindings/interrupt-controller/irq.h>
   86 
   87     smd {
   88         compatible = "qcom,smd";
   89 
   90         rpm {
   91             interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
   92             qcom,ipc = <&apcs 8 0>;
   93             qcom,smd-edge = <15>;
   94 
   95             rpm-requests {
   96                 compatible = "qcom,rpm-msm8916";
   97                 qcom,smd-channels = "rpm_requests";
   98 
   99                 clock-controller {
  100                     compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";
  101                     #clock-cells = <1>;
  102                     clocks = <&xo_board>;
  103                     clock-names = "xo";
  104                 };
  105 
  106                 power-controller {
  107                     compatible = "qcom,msm8916-rpmpd";
  108                     #power-domain-cells = <1>;
  109                     operating-points-v2 = <&rpmpd_opp_table>;
  110 
  111                     rpmpd_opp_table: opp-table {
  112                         compatible = "operating-points-v2";
  113 
  114                         opp-1 {
  115                             opp-level = <1>;
  116                         };
  117                         opp-2 {
  118                             opp-level = <2>;
  119                         };
  120                     };
  121                 };
  122             };
  123         };
  124     };

Cache object: bd5f204fe1914cb1aafa7ce67ce6b02b


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.