summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/regulator/regulator.txt
blob: 2bd8f09787659269bb03847b3517cff2b52cfca9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Voltage/Current Regulators

Optional properties:
- regulator-name: A string used as a descriptive name for regulator outputs
- regulator-min-microvolt: smallest voltage consumers may set
- regulator-max-microvolt: largest voltage consumers may set
- regulator-microvolt-offset: Offset applied to voltages to compensate for voltage drops
- regulator-min-microamp: smallest current consumers may set
- regulator-max-microamp: largest current consumers may set
- regulator-always-on: boolean, regulator should never be disabled
- regulator-boot-on: bootloader/firmware enabled regulator
- regulator-allow-bypass: allow the regulator to go into bypass mode
- <name>-supply: phandle to the parent supply/regulator node
- regulator-ramp-delay: ramp delay for regulator(in uV/uS)
  For hardwares which support disabling ramp rate, it should be explicitly
  intialised to zero (regulator-ramp-delay = <0>) for disabling ramp delay.

Deprecated properties:
- regulator-compatible: If a regulator chip contains multiple
  regulators, and if the chip's binding contains a child node that
  describes each regulator, then this property indicates which regulator
  this child node is intended to configure. If this property is missing,
  the node's name will be used instead.

Example:

	xyzreg: regulator@0 {
		regulator-min-microvolt = <1000000>;
		regulator-max-microvolt = <2500000>;
		regulator-always-on;
		vin-supply = <&vin>;
	};

Regulator Consumers:
Consumer nodes can reference one or more of its supplies/
regulators using the below bindings.

- <name>-supply: phandle to the regulator node

These are the same bindings that a regulator in the above
example used to reference its own supply, in which case
its just seen as a special case of a regulator being a
consumer itself.

Example of a consumer device node (mmc) referencing two
regulators (twl_reg1 and twl_reg2),

	twl_reg1: regulator@0 {
		...
		...
		...
	};

	twl_reg2: regulator@1 {
		...
		...
		...
	};

	mmc: mmc@0x0 {
		...
		...
		vmmc-supply = <&twl_reg1>;
		vmmcaux-supply = <&twl_reg2>;
	};