]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - Documentation/devicetree/bindings/regulator/regulator.txt
Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[mirror_ubuntu-jammy-kernel.git] / Documentation / devicetree / bindings / regulator / regulator.txt
CommitLineData
8f446e6f
RN
1Voltage/Current Regulators
2
3Optional properties:
4- regulator-name: A string used as a descriptive name for regulator outputs
5- regulator-min-microvolt: smallest voltage consumers may set
6- regulator-max-microvolt: largest voltage consumers may set
7- regulator-microvolt-offset: Offset applied to voltages to compensate for voltage drops
8- regulator-min-microamp: smallest current consumers may set
9- regulator-max-microamp: largest current consumers may set
36e4f839 10- regulator-input-current-limit-microamp: maximum input current regulator allows
8f446e6f
RN
11- regulator-always-on: boolean, regulator should never be disabled
12- regulator-boot-on: bootloader/firmware enabled regulator
93134c7b 13- regulator-allow-bypass: allow the regulator to go into bypass mode
b263d203 14- regulator-allow-set-load: allow the regulator performance level to be configured
8f446e6f 15- <name>-supply: phandle to the parent supply/regulator node
1283b912 16- regulator-ramp-delay: ramp delay for regulator(in uV/us)
c98be0c9 17 For hardware which supports disabling ramp rate, it should be explicitly
126187da 18 initialised to zero (regulator-ramp-delay = <0>) for disabling ramp delay.
00c877c6
LD
19- regulator-enable-ramp-delay: The time taken, in microseconds, for the supply
20 rail to reach the target voltage, plus/minus whatever tolerance the board
21 design requires. This property describes the total system ramp time
22 required due to the combination of internal ramping of the regulator itself,
23 and board design issues such as trace capacitance and load on the supply.
cfd2cedb
LD
24- regulator-settling-time-us: Settling time, in microseconds, for voltage
25 change if regulator have the constant time for any level voltage change.
26 This is useful when regulator have exponential voltage change.
543853de
MK
27- regulator-settling-time-up-us: Settling time, in microseconds, for voltage
28 increase if the regulator needs a constant time to settle after voltage
29 increases of any level. This is useful for regulators with exponential
30 voltage changes.
31- regulator-settling-time-down-us: Settling time, in microseconds, for voltage
32 decrease if the regulator needs a constant time to settle after voltage
33 decreases of any level. This is useful for regulators with exponential
34 voltage changes.
57f66b78 35- regulator-soft-start: Enable soft start so that voltage ramps slowly
291d761c
CC
36- regulator-state-mem sub-root node for Suspend-to-RAM mode
37 : suspend to memory, the device goes to sleep, but all data stored in memory,
38 only some external interrupt can wake the device.
39- regulator-state-disk sub-root node for Suspend-to-DISK mode
40 : suspend to disk, this state operates similarly to Suspend-to-RAM,
41 but includes a final step of writing memory contents to disk.
42- regulator-state-[mem/disk] node has following common properties:
43 - regulator-on-in-suspend: regulator should be on in suspend state.
44 - regulator-off-in-suspend: regulator should be off in suspend state.
057c7644
CZ
45 - regulator-suspend-min-microvolt: minimum voltage may be set in
46 suspend state.
47 - regulator-suspend-max-microvolt: maximum voltage may be set in
48 suspend state.
49 - regulator-suspend-microvolt: the default voltage which regulator
50 would be set in suspend. This property is now deprecated, instead
51 setting voltage for suspend mode via the API which regulator
52 driver provides is recommended.
53 - regulator-changeable-in-suspend: whether the default voltage and
54 the regulator on/off in suspend can be changed in runtime.
218094c9
JMC
55 - regulator-mode: operating mode in the given suspend state.
56 The set of possible operating modes depends on the capabilities of
57 every hardware so the valid modes are documented on each regulator
58 device tree binding document.
59- regulator-initial-mode: initial operating mode. The set of possible operating
60 modes depends on the capabilities of every hardware so each device binding
61 documentation explains which values the regulator supports.
22a10bca
SB
62- regulator-system-load: Load in uA present on regulator that is not captured by
63 any consumer request.
23c779b9 64- regulator-pull-down: Enable pull down resistor when the regulator is disabled.
3a003bae 65- regulator-over-current-protection: Enable over current protection.
bd667d40
LD
66- regulator-active-discharge: tristate, enable/disable active discharge of
67 regulators. The values are:
68 0: Disable active discharge.
69 1: Enable active discharge.
70 Absence of this property will leave configuration to default.
13511def
SW
71
72Deprecated properties:
8c5e461d
LD
73- regulator-compatible: If a regulator chip contains multiple
74 regulators, and if the chip's binding contains a child node that
75 describes each regulator, then this property indicates which regulator
13511def
SW
76 this child node is intended to configure. If this property is missing,
77 the node's name will be used instead.
8f446e6f
RN
78
79Example:
80
81 xyzreg: regulator@0 {
82 regulator-min-microvolt = <1000000>;
83 regulator-max-microvolt = <2500000>;
84 regulator-always-on;
85 vin-supply = <&vin>;
291d761c
CC
86
87 regulator-state-mem {
88 regulator-on-in-suspend;
89 };
8f446e6f
RN
90 };
91
92Regulator Consumers:
93Consumer nodes can reference one or more of its supplies/
94regulators using the below bindings.
95
96- <name>-supply: phandle to the regulator node
97
98These are the same bindings that a regulator in the above
99example used to reference its own supply, in which case
100its just seen as a special case of a regulator being a
101consumer itself.
102
103Example of a consumer device node (mmc) referencing two
7728c14a 104regulators (twl_reg1 and twl_reg2),
8f446e6f 105
7728c14a 106 twl_reg1: regulator@0 {
8f446e6f
RN
107 ...
108 ...
109 ...
110 };
111
7728c14a 112 twl_reg2: regulator@1 {
8f446e6f
RN
113 ...
114 ...
115 ...
116 };
117
4c9847b7 118 mmc: mmc@0 {
8f446e6f
RN
119 ...
120 ...
7728c14a
SG
121 vmmc-supply = <&twl_reg1>;
122 vmmcaux-supply = <&twl_reg2>;
8f446e6f 123 };