# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/regulator/vctrl-regulator.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Voltage controlled regulators maintainers: - Heiko Stuebner allOf: - $ref: regulator.yaml# properties: compatible: const: vctrl-regulator ctrl-supply: description: Regulator supplying the control voltage ctrl-voltage-range: description: Array of two integer values describing the range (min/max) of the control voltage. The values specify the control voltage needed to generate the corresponding regulator-min/max-microvolt output voltage. minItems: 2 maxItems: 2 $ref: /schemas/types.yaml#/definitions/uint32-array min-slew-down-rate: description: Describes how slowly the regulator voltage will decay down in the worst case (lightest expected load). Specified in uV / us (like main regulator ramp rate). This value is required when ovp-threshold-percent is specified. $ref: /schemas/types.yaml#/definitions/uint32 ovp-threshold-percent: description: Overvoltage protection (OVP) threshold of the regulator in percent. Some regulators have an OVP circuitry which shuts down the regulator when the actual output voltage deviates beyond a certain margin from the expected value for a given control voltage. On larger voltage decreases this can occur undesiredly since the output voltage does not adjust immediately to changes in the control voltage. To avoid this situation the vctrl driver breaks down larger voltage decreases into multiple steps, where each step is within the OVP threshold. minimum: 0 maximum: 100 unevaluatedProperties: false dependencies: ovp-threshold-percent: [ min-slew-down-rate ] required: - compatible - ctrl-supply - ctrl-voltage-range - regulator-min-microvolt - regulator-max-microvolt examples: - | vctrl-reg { compatible = "vctrl-regulator"; regulator-name = "vctrl_reg"; ctrl-supply = <&ctrl_reg>; ctrl-voltage-range = <200000 500000>; min-slew-down-rate = <225>; ovp-threshold-percent = <16>; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1500000>; }; ...