| 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-input-current-limit-microamp: maximum input current regulator allows | |
| - 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 | |
| - regulator-allow-set-load: allow the regulator performance level to be configured | |
| - <name>-supply: phandle to the parent supply/regulator node | |
| - regulator-ramp-delay: ramp delay for regulator(in uV/us) | |
| For hardware which supports disabling ramp rate, it should be explicitly | |
| initialised to zero (regulator-ramp-delay = <0>) for disabling ramp delay. | |
| - regulator-enable-ramp-delay: The time taken, in microseconds, for the supply | |
| rail to reach the target voltage, plus/minus whatever tolerance the board | |
| design requires. This property describes the total system ramp time | |
| required due to the combination of internal ramping of the regulator itself, | |
| and board design issues such as trace capacitance and load on the supply. | |
| - regulator-settling-time-us: Settling time, in microseconds, for voltage | |
| change if regulator have the constant time for any level voltage change. | |
| This is useful when regulator have exponential voltage change. | |
| - regulator-settling-time-up-us: Settling time, in microseconds, for voltage | |
| increase if the regulator needs a constant time to settle after voltage | |
| increases of any level. This is useful for regulators with exponential | |
| voltage changes. | |
| - regulator-settling-time-down-us: Settling time, in microseconds, for voltage | |
| decrease if the regulator needs a constant time to settle after voltage | |
| decreases of any level. This is useful for regulators with exponential | |
| voltage changes. | |
| - regulator-soft-start: Enable soft start so that voltage ramps slowly | |
| - regulator-state-mem sub-root node for Suspend-to-RAM mode | |
| : suspend to memory, the device goes to sleep, but all data stored in memory, | |
| only some external interrupt can wake the device. | |
| - regulator-state-disk sub-root node for Suspend-to-DISK mode | |
| : suspend to disk, this state operates similarly to Suspend-to-RAM, | |
| but includes a final step of writing memory contents to disk. | |
| - regulator-state-[mem/disk] node has following common properties: | |
| - regulator-on-in-suspend: regulator should be on in suspend state. | |
| - regulator-off-in-suspend: regulator should be off in suspend state. | |
| - regulator-suspend-microvolt: regulator should be set to this voltage | |
| in suspend. | |
| - regulator-mode: operating mode in the given suspend state. | |
| The set of possible operating modes depends on the capabilities of | |
| every hardware so the valid modes are documented on each regulator | |
| device tree binding document. | |
| - regulator-initial-mode: initial operating mode. The set of possible operating | |
| modes depends on the capabilities of every hardware so each device binding | |
| documentation explains which values the regulator supports. | |
| - regulator-system-load: Load in uA present on regulator that is not captured by | |
| any consumer request. | |
| - regulator-pull-down: Enable pull down resistor when the regulator is disabled. | |
| - regulator-over-current-protection: Enable over current protection. | |
| - regulator-active-discharge: tristate, enable/disable active discharge of | |
| regulators. The values are: | |
| 0: Disable active discharge. | |
| 1: Enable active discharge. | |
| Absence of this property will leave configuration to default. | |
| 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-state-mem { | |
| regulator-on-in-suspend; | |
| }; | |
| }; | |
| 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>; | |
| }; |