xref: /linux/Documentation/devicetree/bindings/regulator/vctrl-regulator.yaml (revision c34e9ab9a612ee8b18273398ef75c207b01f516d)
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/regulator/vctrl-regulator.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Voltage controlled regulators
8
9maintainers:
10  - Heiko Stuebner <heiko@sntech.de>
11
12allOf:
13  - $ref: regulator.yaml#
14
15properties:
16  compatible:
17    const: vctrl-regulator
18
19  ctrl-supply:
20    description: Regulator supplying the control voltage
21
22  ctrl-voltage-range:
23    description:
24      Array of two integer values describing the range (min/max) of the
25      control voltage. The values specify the control voltage needed to
26      generate the corresponding regulator-min/max-microvolt output
27      voltage.
28    minItems: 2
29    maxItems: 2
30    $ref: /schemas/types.yaml#/definitions/uint32-array
31
32  min-slew-down-rate:
33    description:
34      Describes how slowly the regulator voltage will decay down in the
35      worst case (lightest expected load). Specified in uV / us (like
36      main regulator ramp rate). This value is required when
37      ovp-threshold-percent is specified.
38    $ref: /schemas/types.yaml#/definitions/uint32
39
40  ovp-threshold-percent:
41    description:
42      Overvoltage protection (OVP) threshold of the regulator in percent.
43      Some regulators have an OVP circuitry which shuts down the regulator
44      when the actual output voltage deviates beyond a certain margin from
45      the expected value for a given control voltage. On larger voltage
46      decreases this can occur undesiredly since the output voltage does
47      not adjust immediately to changes in the control voltage. To avoid
48      this situation the vctrl driver breaks down larger voltage decreases
49      into multiple steps, where each step is within the OVP threshold.
50    minimum: 0
51    maximum: 100
52
53unevaluatedProperties: false
54
55dependencies:
56  ovp-threshold-percent: [ min-slew-down-rate ]
57
58required:
59  - compatible
60  - ctrl-supply
61  - ctrl-voltage-range
62  - regulator-min-microvolt
63  - regulator-max-microvolt
64
65examples:
66  - |
67    vctrl-reg {
68            compatible = "vctrl-regulator";
69            regulator-name = "vctrl_reg";
70
71            ctrl-supply = <&ctrl_reg>;
72            ctrl-voltage-range = <200000 500000>;
73
74            min-slew-down-rate = <225>;
75            ovp-threshold-percent = <16>;
76
77            regulator-min-microvolt = <800000>;
78            regulator-max-microvolt = <1500000>;
79    };
80...
81