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/power/qcom,rpmpd.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-only OR BSD-2-Clause)
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/power/qcom,rpmpd.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Qualcomm RPM/RPMh Power domains
    8 
    9 maintainers:
   10   - Bjorn Andersson <andersson@kernel.org>
   11 
   12 description:
   13   For RPM/RPMh Power domains, we communicate a performance state to RPM/RPMh
   14   which then translates it into a corresponding voltage on a rail.
   15 
   16 properties:
   17   compatible:
   18     enum:
   19       - qcom,mdm9607-rpmpd
   20       - qcom,msm8226-rpmpd
   21       - qcom,msm8909-rpmpd
   22       - qcom,msm8916-rpmpd
   23       - qcom,msm8939-rpmpd
   24       - qcom,msm8953-rpmpd
   25       - qcom,msm8976-rpmpd
   26       - qcom,msm8994-rpmpd
   27       - qcom,msm8996-rpmpd
   28       - qcom,msm8998-rpmpd
   29       - qcom,qcm2290-rpmpd
   30       - qcom,qcs404-rpmpd
   31       - qcom,sa8540p-rpmhpd
   32       - qcom,sdm660-rpmpd
   33       - qcom,sc7180-rpmhpd
   34       - qcom,sc7280-rpmhpd
   35       - qcom,sc8180x-rpmhpd
   36       - qcom,sc8280xp-rpmhpd
   37       - qcom,sdm845-rpmhpd
   38       - qcom,sdx55-rpmhpd
   39       - qcom,sdx65-rpmhpd
   40       - qcom,sm6115-rpmpd
   41       - qcom,sm6125-rpmpd
   42       - qcom,sm6350-rpmhpd
   43       - qcom,sm8150-rpmhpd
   44       - qcom,sm8250-rpmhpd
   45       - qcom,sm8350-rpmhpd
   46       - qcom,sm8450-rpmhpd
   47 
   48   '#power-domain-cells':
   49     const: 1
   50 
   51   operating-points-v2: true
   52 
   53   opp-table:
   54     type: object
   55 
   56 required:
   57   - compatible
   58   - '#power-domain-cells'
   59   - operating-points-v2
   60 
   61 additionalProperties: false
   62 
   63 examples:
   64   - |
   65 
   66     // Example 1 (rpmh power domain controller and OPP table):
   67 
   68     #include <dt-bindings/power/qcom-rpmpd.h>
   69 
   70     rpmhpd: power-controller {
   71       compatible = "qcom,sdm845-rpmhpd";
   72       #power-domain-cells = <1>;
   73       operating-points-v2 = <&rpmhpd_opp_table>;
   74 
   75       rpmhpd_opp_table: opp-table {
   76         compatible = "operating-points-v2";
   77 
   78         rpmhpd_opp_ret: opp1 {
   79           opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
   80         };
   81 
   82         rpmhpd_opp_min_svs: opp2 {
   83           opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
   84         };
   85 
   86         rpmhpd_opp_low_svs: opp3 {
   87           opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
   88         };
   89 
   90         rpmhpd_opp_svs: opp4 {
   91           opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
   92         };
   93 
   94         rpmhpd_opp_svs_l1: opp5 {
   95           opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
   96         };
   97 
   98         rpmhpd_opp_nom: opp6 {
   99           opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
  100         };
  101 
  102         rpmhpd_opp_nom_l1: opp7 {
  103           opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
  104         };
  105 
  106         rpmhpd_opp_nom_l2: opp8 {
  107           opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
  108         };
  109 
  110         rpmhpd_opp_turbo: opp9 {
  111           opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
  112         };
  113 
  114         rpmhpd_opp_turbo_l1: opp10 {
  115           opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
  116         };
  117       };
  118     };
  119 
  120   - |
  121 
  122     // Example 2 (rpm power domain controller and OPP table):
  123 
  124     rpmpd: power-controller {
  125       compatible = "qcom,msm8996-rpmpd";
  126       #power-domain-cells = <1>;
  127       operating-points-v2 = <&rpmpd_opp_table>;
  128 
  129       rpmpd_opp_table: opp-table {
  130         compatible = "operating-points-v2";
  131 
  132         rpmpd_opp_low: opp1 {
  133           opp-level = <1>;
  134         };
  135 
  136         rpmpd_opp_ret: opp2 {
  137           opp-level = <2>;
  138         };
  139 
  140         rpmpd_opp_svs: opp3 {
  141           opp-level = <3>;
  142         };
  143 
  144         rpmpd_opp_normal: opp4 {
  145           opp-level = <4>;
  146         };
  147 
  148         rpmpd_opp_high: opp5 {
  149           opp-level = <5>;
  150         };
  151 
  152         rpmpd_opp_turbo: opp6 {
  153           opp-level = <6>;
  154         };
  155       };
  156     };
  157 
  158   - |
  159 
  160     // Example 3 (Client/Consumer device using OPP table):
  161 
  162     leaky-device0@12350000 {
  163       compatible = "foo,i-leak-current";
  164       reg = <0x12350000 0x1000>;
  165       power-domains = <&rpmhpd 0>;
  166       operating-points-v2 = <&leaky_opp_table>;
  167     };
  168 
  169     leaky_opp_table: opp-table {
  170       compatible = "operating-points-v2";
  171       opp1 {
  172         opp-hz = /bits/ 64 <144000>;
  173         required-opps = <&rpmhpd_opp_low>;
  174       };
  175 
  176       opp2 {
  177         opp-hz = /bits/ 64 <400000>;
  178         required-opps = <&rpmhpd_opp_ret>;
  179       };
  180 
  181       opp3 {
  182         opp-hz = /bits/ 64 <20000000>;
  183         required-opps = <&rpmpd_opp_svs>;
  184       };
  185 
  186       opp4 {
  187         opp-hz = /bits/ 64 <25000000>;
  188         required-opps = <&rpmpd_opp_normal>;
  189       };
  190     };
  191 ...

Cache object: 1affa424a8a999b9df0c809cf520f065


[ 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.