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/regulator/qcom,rpm-regulator.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Qualcomm RPM regulator 862306a36Sopenharmony_ci 962306a36Sopenharmony_cidescription: 1062306a36Sopenharmony_ci The Qualcomm RPM regulator is modelled as a subdevice of the RPM. 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,rpm.yaml 1362306a36Sopenharmony_ci for information regarding the RPM node. 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci The regulator node houses sub-nodes for each regulator within the device. 1662306a36Sopenharmony_ci Each sub-node is identified using the node's name, with valid values listed 1762306a36Sopenharmony_ci for each of the pmics below. 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci For pm8058 l0, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, 2062306a36Sopenharmony_ci l16, l17, l18, l19, l20, l21, l22, l23, l24, l25, s0, s1, s2, s3, s4, 2162306a36Sopenharmony_ci lvs0, lvs1, ncp 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci For pm8901 l0, l1, l2, l3, l4, l5, l6, s0, s1, s2, s3, s4, lvs0, lvs1, lvs2, lvs3, 2462306a36Sopenharmony_ci mvs 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci For pm8921 s1, s2, s3, s4, s7, s8, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, 2762306a36Sopenharmony_ci l12, l14, l15, l16, l17, l18, l21, l22, l23, l24, l25, l26, l27, l28, 2862306a36Sopenharmony_ci l29, lvs1, lvs2, lvs3, lvs4, lvs5, lvs6, lvs7, usb-switch, hdmi-switch, 2962306a36Sopenharmony_ci ncp 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci For pm8018 s1, s2, s3, s4, s5, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, 3262306a36Sopenharmony_ci l12, l14, lvs1 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci For smb208 s1a, s1b, s2a, s2b 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_cimaintainers: 3762306a36Sopenharmony_ci - Bjorn Andersson <andersson@kernel.org> 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ciproperties: 4062306a36Sopenharmony_ci compatible: 4162306a36Sopenharmony_ci enum: 4262306a36Sopenharmony_ci - qcom,rpm-pm8058-regulators 4362306a36Sopenharmony_ci - qcom,rpm-pm8901-regulators 4462306a36Sopenharmony_ci - qcom,rpm-pm8921-regulators 4562306a36Sopenharmony_ci - qcom,rpm-pm8018-regulators 4662306a36Sopenharmony_ci - qcom,rpm-smb208-regulators 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_cipatternProperties: 4962306a36Sopenharmony_ci ".*-supply$": 5062306a36Sopenharmony_ci description: Input supply phandle(s) for this node 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci "^((s|l|lvs)[0-9]*|s[1-2][a-b]|ncp|mvs|usb-switch|hdmi-switch)$": 5362306a36Sopenharmony_ci description: List of regulators and its properties 5462306a36Sopenharmony_ci $ref: regulator.yaml# 5562306a36Sopenharmony_ci unevaluatedProperties: false 5662306a36Sopenharmony_ci properties: 5762306a36Sopenharmony_ci bias-pull-down: 5862306a36Sopenharmony_ci description: enable pull down of the regulator when inactive 5962306a36Sopenharmony_ci type: boolean 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci qcom,switch-mode-frequency: 6262306a36Sopenharmony_ci description: Frequency (Hz) of the switch-mode power supply 6362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 6462306a36Sopenharmony_ci enum: 6562306a36Sopenharmony_ci - 19200000 6662306a36Sopenharmony_ci - 9600000 6762306a36Sopenharmony_ci - 6400000 6862306a36Sopenharmony_ci - 4800000 6962306a36Sopenharmony_ci - 3840000 7062306a36Sopenharmony_ci - 3200000 7162306a36Sopenharmony_ci - 2740000 7262306a36Sopenharmony_ci - 2400000 7362306a36Sopenharmony_ci - 2130000 7462306a36Sopenharmony_ci - 1920000 7562306a36Sopenharmony_ci - 1750000 7662306a36Sopenharmony_ci - 1600000 7762306a36Sopenharmony_ci - 1480000 7862306a36Sopenharmony_ci - 1370000 7962306a36Sopenharmony_ci - 1280000 8062306a36Sopenharmony_ci - 1200000 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci qcom,force-mode: 8362306a36Sopenharmony_ci description: Indicates that the regulator should be forced to a particular mode 8462306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 8562306a36Sopenharmony_ci enum: 8662306a36Sopenharmony_ci - 0 # QCOM_RPM_FORCE_MODE_NONE do not force any mode 8762306a36Sopenharmony_ci - 1 # QCOM_RPM_FORCE_MODE_LPM force into low power mode 8862306a36Sopenharmony_ci - 2 # QCOM_RPM_FORCE_MODE_HPM force into high power mode 8962306a36Sopenharmony_ci - 3 # QCOM_RPM_FORCE_MODE_AUTO allow regulator to automatically select its own mode 9062306a36Sopenharmony_ci # based on realtime current draw, only for pm8921 smps and ftsmps 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci qcom,power-mode-hysteretic: 9362306a36Sopenharmony_ci description: select that the power supply should operate in hysteretic mode, 9462306a36Sopenharmony_ci instead of the default pwm mode 9562306a36Sopenharmony_ci type: boolean 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ciadditionalProperties: false 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_cirequired: 10062306a36Sopenharmony_ci - compatible 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ciexamples: 10362306a36Sopenharmony_ci - | 10462306a36Sopenharmony_ci #include <dt-bindings/mfd/qcom-rpm.h> 10562306a36Sopenharmony_ci regulators { 10662306a36Sopenharmony_ci compatible = "qcom,rpm-pm8921-regulators"; 10762306a36Sopenharmony_ci vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci s1 { 11062306a36Sopenharmony_ci regulator-min-microvolt = <1225000>; 11162306a36Sopenharmony_ci regulator-max-microvolt = <1225000>; 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ci bias-pull-down; 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci qcom,switch-mode-frequency = <3200000>; 11662306a36Sopenharmony_ci }; 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ci pm8921_s4: s4 { 11962306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 12062306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci qcom,switch-mode-frequency = <1600000>; 12362306a36Sopenharmony_ci bias-pull-down; 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ci qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>; 12662306a36Sopenharmony_ci }; 12762306a36Sopenharmony_ci }; 12862306a36Sopenharmony_ci... 129