# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/regulator/qcom,rpm-regulator.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Qualcomm RPM regulator description: The Qualcomm RPM regulator is modelled as a subdevice of the RPM. Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,rpm.yaml for information regarding the RPM node. The regulator node houses sub-nodes for each regulator within the device. Each sub-node is identified using the node's name, with valid values listed for each of the pmics below. For pm8058 l0, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, l25, s0, s1, s2, s3, s4, lvs0, lvs1, ncp For pm8901 l0, l1, l2, l3, l4, l5, l6, s0, s1, s2, s3, s4, lvs0, lvs1, lvs2, lvs3, mvs For pm8921 s1, s2, s3, s4, s7, s8, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l14, l15, l16, l17, l18, l21, l22, l23, l24, l25, l26, l27, l28, l29, lvs1, lvs2, lvs3, lvs4, lvs5, lvs6, lvs7, usb-switch, hdmi-switch, ncp For pm8018 s1, s2, s3, s4, s5, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l14, lvs1 For smb208 s1a, s1b, s2a, s2b maintainers: - Bjorn Andersson <andersson@kernel.org> properties: compatible: enum: - qcom,rpm-pm8058-regulators - qcom,rpm-pm8901-regulators - qcom,rpm-pm8921-regulators - qcom,rpm-pm8018-regulators - qcom,rpm-smb208-regulators patternProperties: ".*-supply$": description: Input supply phandle(s) for this node "^((s|l|lvs)[0-9]*|s[1-2][a-b]|ncp|mvs|usb-switch|hdmi-switch)$": description: List of regulators and its properties $ref: regulator.yaml# unevaluatedProperties: false properties: bias-pull-down: description: enable pull down of the regulator when inactive type: boolean qcom,switch-mode-frequency: description: Frequency (Hz) of the switch-mode power supply $ref: /schemas/types.yaml#/definitions/uint32 enum: - 19200000 - 9600000 - 6400000 - 4800000 - 3840000 - 3200000 - 2740000 - 2400000 - 2130000 - 1920000 - 1750000 - 1600000 - 1480000 - 1370000 - 1280000 - 1200000 qcom,force-mode: description: Indicates that the regulator should be forced to a particular mode $ref: /schemas/types.yaml#/definitions/uint32 enum: - 0 # QCOM_RPM_FORCE_MODE_NONE do not force any mode - 1 # QCOM_RPM_FORCE_MODE_LPM force into low power mode - 2 # QCOM_RPM_FORCE_MODE_HPM force into high power mode - 3 # QCOM_RPM_FORCE_MODE_AUTO allow regulator to automatically select its own mode # based on realtime current draw, only for pm8921 smps and ftsmps qcom,power-mode-hysteretic: description: select that the power supply should operate in hysteretic mode, instead of the default pwm mode type: boolean additionalProperties: false required: - compatible examples: - | #include <dt-bindings/mfd/qcom-rpm.h> regulators { compatible = "qcom,rpm-pm8921-regulators"; vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; s1 { regulator-min-microvolt = <1225000>; regulator-max-microvolt = <1225000>; bias-pull-down; qcom,switch-mode-frequency = <3200000>; }; pm8921_s4: s4 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; qcom,switch-mode-frequency = <1600000>; bias-pull-down; qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>; }; }; ...