| 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-min-microvolt: minimum voltage may be set in |
| suspend state. |
| - regulator-suspend-max-microvolt: maximum voltage may be set in |
| suspend state. |
| - regulator-suspend-microvolt: the default voltage which regulator |
| would be set in suspend. This property is now deprecated, instead |
| setting voltage for suspend mode via the API which regulator |
| driver provides is recommended. |
| - regulator-changeable-in-suspend: whether the default voltage and |
| the regulator on/off in suspend can be changed in runtime. |
| - 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-allowed-modes: list of operating modes that software is allowed to |
| configure for the regulator at run-time. Elements may be specified in any |
| order. The set of possible operating modes depends on the capabilities of |
| every hardware so each device binding document 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. |
| - regulator-coupled-with: Regulators with which the regulator |
| is coupled. The linkage is 2-way - all coupled regulators should be linked |
| with each other. A regulator should not be coupled with its supplier. |
| - regulator-coupled-max-spread: Max spread between voltages of coupled regulators |
| in microvolts. |
| |
| 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@0 { |
| ... |
| ... |
| vmmc-supply = <&twl_reg1>; |
| vmmcaux-supply = <&twl_reg2>; |
| }; |