File Index
Files and directories
Sign in
FILE

qcom,rpm.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/soc/qcom/qcom,rpm.yaml YAML
  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,rpm.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Qualcomm Resource Power Manager (RPM)
  8
  9description:
 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
 15maintainers:
 16  - Bjorn Andersson <andersson@kernel.org>
 17
 18properties:
 19  compatible:
 20    enum:
 21      - qcom,rpm-apq8064
 22      - qcom,rpm-msm8660
 23      - qcom,rpm-msm8960
 24      - qcom,rpm-ipq8064
 25      - qcom,rpm-mdm9615
 26
 27  reg:
 28    maxItems: 1
 29
 30  interrupts:
 31    maxItems: 3
 32
 33  interrupt-names:
 34    items:
 35      - const: ack
 36      - const: err
 37      - const: wakeup
 38
 39  clocks:
 40    maxItems: 1
 41
 42  clock-names:
 43    items:
 44      - const: ram
 45
 46  qcom,ipc:
 47    $ref: /schemas/types.yaml#/definitions/phandle-array
 48    items:
 49      - items:
 50          - description: phandle to a syscon node representing the APCS registers
 51          - description: u32 representing offset to the register within the syscon
 52          - description: u32 representing the ipc bit within the register
 53    description:
 54      Three entries specifying the outgoing ipc bit used for signaling the RPM.
 55
 56  clock-controller:
 57    type: object
 58    additionalProperties: true
 59    properties:
 60      compatible:
 61        contains:
 62          const: qcom,rpmcc
 63
 64patternProperties:
 65  "^regulators(-[01])?$":
 66    type: object
 67    $ref: /schemas/regulator/qcom,rpm-regulator.yaml#
 68    unevaluatedProperties: false
 69
 70required:
 71  - compatible
 72  - reg
 73  - interrupts
 74  - interrupt-names
 75  - qcom,ipc
 76
 77additionalProperties: false
 78
 79examples:
 80  - |
 81    #include <dt-bindings/interrupt-controller/arm-gic.h>
 82    #include <dt-bindings/interrupt-controller/irq.h>
 83    #include <dt-bindings/mfd/qcom-rpm.h>
 84
 85    rpm@108000 {
 86      compatible = "qcom,rpm-msm8960";
 87      reg = <0x108000 0x1000>;
 88      qcom,ipc = <&apcs 0x8 2>;
 89
 90      interrupts = <GIC_SPI 19 IRQ_TYPE_NONE>, <GIC_SPI 21 IRQ_TYPE_NONE>, <GIC_SPI 22 IRQ_TYPE_NONE>;
 91      interrupt-names = "ack", "err", "wakeup";
 92
 93      regulators {
 94        compatible = "qcom,rpm-pm8921-regulators";
 95        vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
 96
 97        s1 {
 98          regulator-min-microvolt = <1225000>;
 99          regulator-max-microvolt = <1225000>;
100
101          bias-pull-down;
102
103          qcom,switch-mode-frequency = <3200000>;
104        };
105
106        pm8921_s4: s4 {
107          regulator-min-microvolt = <1800000>;
108          regulator-max-microvolt = <1800000>;
109
110          qcom,switch-mode-frequency = <1600000>;
111          bias-pull-down;
112
113          qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
114        };
115      };
116    };
~/ Read-only file preview.