162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/soc/qcom/qcom,rpm.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Qualcomm Resource Power Manager (RPM) 862306a36Sopenharmony_ci 962306a36Sopenharmony_cidescription: 1062306a36Sopenharmony_ci This driver is used to interface with the Resource Power Manager (RPM) found 1162306a36Sopenharmony_ci in various Qualcomm platforms. The RPM allows each component in the system 1262306a36Sopenharmony_ci to vote for state of the system resources, such as clocks, regulators and bus 1362306a36Sopenharmony_ci frequencies. 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_cimaintainers: 1662306a36Sopenharmony_ci - Bjorn Andersson <andersson@kernel.org> 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciproperties: 1962306a36Sopenharmony_ci compatible: 2062306a36Sopenharmony_ci enum: 2162306a36Sopenharmony_ci - qcom,rpm-apq8064 2262306a36Sopenharmony_ci - qcom,rpm-msm8660 2362306a36Sopenharmony_ci - qcom,rpm-msm8960 2462306a36Sopenharmony_ci - qcom,rpm-ipq8064 2562306a36Sopenharmony_ci - qcom,rpm-mdm9615 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci reg: 2862306a36Sopenharmony_ci maxItems: 1 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci interrupts: 3162306a36Sopenharmony_ci maxItems: 3 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci interrupt-names: 3462306a36Sopenharmony_ci items: 3562306a36Sopenharmony_ci - const: ack 3662306a36Sopenharmony_ci - const: err 3762306a36Sopenharmony_ci - const: wakeup 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci qcom,ipc: 4062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle-array 4162306a36Sopenharmony_ci items: 4262306a36Sopenharmony_ci - items: 4362306a36Sopenharmony_ci - description: phandle to a syscon node representing the APCS registers 4462306a36Sopenharmony_ci - description: u32 representing offset to the register within the syscon 4562306a36Sopenharmony_ci - description: u32 representing the ipc bit within the register 4662306a36Sopenharmony_ci description: 4762306a36Sopenharmony_ci Three entries specifying the outgoing ipc bit used for signaling the RPM. 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_cipatternProperties: 5062306a36Sopenharmony_ci "^regulators(-[01])?$": 5162306a36Sopenharmony_ci type: object 5262306a36Sopenharmony_ci $ref: /schemas/regulator/qcom,rpm-regulator.yaml# 5362306a36Sopenharmony_ci unevaluatedProperties: false 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_cirequired: 5662306a36Sopenharmony_ci - compatible 5762306a36Sopenharmony_ci - reg 5862306a36Sopenharmony_ci - interrupts 5962306a36Sopenharmony_ci - interrupt-names 6062306a36Sopenharmony_ci - qcom,ipc 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ciadditionalProperties: false 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ciexamples: 6562306a36Sopenharmony_ci - | 6662306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 6762306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 6862306a36Sopenharmony_ci #include <dt-bindings/mfd/qcom-rpm.h> 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci rpm@108000 { 7162306a36Sopenharmony_ci compatible = "qcom,rpm-msm8960"; 7262306a36Sopenharmony_ci reg = <0x108000 0x1000>; 7362306a36Sopenharmony_ci qcom,ipc = <&apcs 0x8 2>; 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci interrupts = <GIC_SPI 19 IRQ_TYPE_NONE>, <GIC_SPI 21 IRQ_TYPE_NONE>, <GIC_SPI 22 IRQ_TYPE_NONE>; 7662306a36Sopenharmony_ci interrupt-names = "ack", "err", "wakeup"; 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci regulators { 7962306a36Sopenharmony_ci compatible = "qcom,rpm-pm8921-regulators"; 8062306a36Sopenharmony_ci vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci s1 { 8362306a36Sopenharmony_ci regulator-min-microvolt = <1225000>; 8462306a36Sopenharmony_ci regulator-max-microvolt = <1225000>; 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci bias-pull-down; 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ci qcom,switch-mode-frequency = <3200000>; 8962306a36Sopenharmony_ci }; 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci pm8921_s4: s4 { 9262306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 9362306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci qcom,switch-mode-frequency = <1600000>; 9662306a36Sopenharmony_ci bias-pull-down; 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>; 9962306a36Sopenharmony_ci }; 10062306a36Sopenharmony_ci }; 10162306a36Sopenharmony_ci }; 102