|
| 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.txt |
| 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.txt |
| 24 | + for information on the regulator subnodes that can exist under the |
| 25 | + rpm_requests. |
| 26 | +
|
| 27 | +maintainers: |
| 28 | + - Kathiravan T <[email protected]> |
| 29 | + |
| 30 | +properties: |
| 31 | + compatible: |
| 32 | + enum: |
| 33 | + - qcom,rpm-apq8084 |
| 34 | + - qcom,rpm-ipq6018 |
| 35 | + - qcom,rpm-msm8916 |
| 36 | + - qcom,rpm-msm8974 |
| 37 | + - qcom,rpm-msm8976 |
| 38 | + - qcom,rpm-msm8996 |
| 39 | + - qcom,rpm-msm8998 |
| 40 | + - qcom,rpm-sdm660 |
| 41 | + - qcom,rpm-qcs404 |
| 42 | + |
| 43 | + qcom,smd-channels: |
| 44 | + $ref: /schemas/types.yaml#/definitions/string-array |
| 45 | + description: Channel name used for the RPM communication |
| 46 | + items: |
| 47 | + - const: rpm_requests |
| 48 | + |
| 49 | +if: |
| 50 | + properties: |
| 51 | + compatible: |
| 52 | + contains: |
| 53 | + enum: |
| 54 | + - qcom,rpm-apq8084 |
| 55 | + - qcom,rpm-msm8916 |
| 56 | + - qcom,rpm-msm8974 |
| 57 | +then: |
| 58 | + required: |
| 59 | + - qcom,smd-channels |
| 60 | + |
| 61 | +required: |
| 62 | + - compatible |
| 63 | + |
| 64 | +additionalProperties: false |
| 65 | + |
| 66 | +examples: |
| 67 | + - | |
| 68 | + #include <dt-bindings/interrupt-controller/arm-gic.h> |
| 69 | + #include <dt-bindings/interrupt-controller/irq.h> |
| 70 | +
|
| 71 | + smd { |
| 72 | + compatible = "qcom,smd"; |
| 73 | +
|
| 74 | + rpm { |
| 75 | + interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; |
| 76 | + qcom,ipc = <&apcs 8 0>; |
| 77 | + qcom,smd-edge = <15>; |
| 78 | +
|
| 79 | + rpm_requests { |
| 80 | + compatible = "qcom,rpm-msm8974"; |
| 81 | + qcom,smd-channels = "rpm_requests"; |
| 82 | +
|
| 83 | + /* Regulator nodes to follow */ |
| 84 | + }; |
| 85 | + }; |
| 86 | + }; |
| 87 | +... |
0 commit comments