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 10- regulator-input-current-limit-microamp: maximum input current regulator allows 11- regulator-always-on: boolean, regulator should never be disabled 12- regulator-boot-on: bootloader/firmware enabled regulator 13- regulator-allow-bypass: allow the regulator to go into bypass mode 14- regulator-allow-set-load: allow the regulator performance level to be configured 15- <name>-supply: phandle to the parent supply/regulator node 16- regulator-ramp-delay: ramp delay for regulator(in uV/us) 17 For hardware which supports disabling ramp rate, it should be explicitly 18 initialised to zero (regulator-ramp-delay = <0>) for disabling ramp delay. 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. 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. 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. 35- regulator-soft-start: Enable soft start so that voltage ramps slowly 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. 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. 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. 62- regulator-allowed-modes: list of operating modes that software is allowed to 63 configure for the regulator at run-time. Elements may be specified in any 64 order. The set of possible operating modes depends on the capabilities of 65 every hardware so each device binding document explains which values the 66 regulator supports. 67- regulator-system-load: Load in uA present on regulator that is not captured by 68 any consumer request. 69- regulator-pull-down: Enable pull down resistor when the regulator is disabled. 70- regulator-over-current-protection: Enable over current protection. 71- regulator-active-discharge: tristate, enable/disable active discharge of 72 regulators. The values are: 73 0: Disable active discharge. 74 1: Enable active discharge. 75 Absence of this property will leave configuration to default. 76- regulator-coupled-with: Regulators with which the regulator 77 is coupled. The linkage is 2-way - all coupled regulators should be linked 78 with each other. A regulator should not be coupled with its supplier. 79- regulator-coupled-max-spread: Max spread between voltages of coupled regulators 80 in microvolts. 81 82Deprecated properties: 83- regulator-compatible: If a regulator chip contains multiple 84 regulators, and if the chip's binding contains a child node that 85 describes each regulator, then this property indicates which regulator 86 this child node is intended to configure. If this property is missing, 87 the node's name will be used instead. 88 89Example: 90 91 xyzreg: regulator@0 { 92 regulator-min-microvolt = <1000000>; 93 regulator-max-microvolt = <2500000>; 94 regulator-always-on; 95 vin-supply = <&vin>; 96 97 regulator-state-mem { 98 regulator-on-in-suspend; 99 }; 100 }; 101 102Regulator Consumers: 103Consumer nodes can reference one or more of its supplies/ 104regulators using the below bindings. 105 106- <name>-supply: phandle to the regulator node 107 108These are the same bindings that a regulator in the above 109example used to reference its own supply, in which case 110its just seen as a special case of a regulator being a 111consumer itself. 112 113Example of a consumer device node (mmc) referencing two 114regulators (twl_reg1 and twl_reg2), 115 116 twl_reg1: regulator@0 { 117 ... 118 ... 119 ... 120 }; 121 122 twl_reg2: regulator@1 { 123 ... 124 ... 125 ... 126 }; 127 128 mmc: mmc@0 { 129 ... 130 ... 131 vmmc-supply = <&twl_reg1>; 132 vmmcaux-supply = <&twl_reg2>; 133 }; 134