blob: b4eb4001eb3d22d2f26a038373b35767bb3693aa [file] [log] [blame]
# 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>;
};
};
...