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