1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/regulator/regulator.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Voltage/Current Regulators 8 9maintainers: 10 - Liam Girdwood <lgirdwood@gmail.com> 11 - Mark Brown <broonie@kernel.org> 12 13properties: 14 regulator-name: 15 description: A string used as a descriptive name for regulator outputs 16 $ref: "/schemas/types.yaml#/definitions/string" 17 18 regulator-min-microvolt: 19 description: smallest voltage consumers may set 20 21 regulator-max-microvolt: 22 description: largest voltage consumers may set 23 24 regulator-microvolt-offset: 25 description: Offset applied to voltages to compensate for voltage drops 26 27 regulator-min-microamp: 28 description: smallest current consumers may set 29 30 regulator-max-microamp: 31 description: largest current consumers may set 32 33 regulator-input-current-limit-microamp: 34 description: maximum input current regulator allows 35 36 regulator-always-on: 37 description: boolean, regulator should never be disabled 38 type: boolean 39 40 regulator-boot-on: 41 description: bootloader/firmware enabled regulator 42 type: boolean 43 44 regulator-allow-bypass: 45 description: allow the regulator to go into bypass mode 46 type: boolean 47 48 regulator-allow-set-load: 49 description: allow the regulator performance level to be configured 50 type: boolean 51 52 regulator-ramp-delay: 53 description: ramp delay for regulator(in uV/us) For hardware which supports 54 disabling ramp rate, it should be explicitly initialised to zero (regulator-ramp-delay 55 = <0>) for disabling ramp delay. 56 $ref: "/schemas/types.yaml#/definitions/uint32" 57 58 regulator-enable-ramp-delay: 59 description: The time taken, in microseconds, for the supply rail to 60 reach the target voltage, plus/minus whatever tolerance the board 61 design requires. This property describes the total system ramp time 62 required due to the combination of internal ramping of the regulator 63 itself, and board design issues such as trace capacitance and load 64 on the supply. 65 $ref: "/schemas/types.yaml#/definitions/uint32" 66 67 regulator-settling-time-us: 68 description: Settling time, in microseconds, for voltage change if regulator 69 have the constant time for any level voltage change. This is useful 70 when regulator have exponential voltage change. 71 72 regulator-settling-time-up-us: 73 description: Settling time, in microseconds, for voltage increase if 74 the regulator needs a constant time to settle after voltage increases 75 of any level. This is useful for regulators with exponential voltage 76 changes. 77 78 regulator-settling-time-down-us: 79 description: Settling time, in microseconds, for voltage decrease if 80 the regulator needs a constant time to settle after voltage decreases 81 of any level. This is useful for regulators with exponential voltage 82 changes. 83 84 regulator-soft-start: 85 description: Enable soft start so that voltage ramps slowly 86 type: boolean 87 88 regulator-initial-mode: 89 description: initial operating mode. The set of possible operating modes 90 depends on the capabilities of every hardware so each device binding 91 documentation explains which values the regulator supports. 92 $ref: "/schemas/types.yaml#/definitions/uint32" 93 94 regulator-allowed-modes: 95 description: list of operating modes that software is allowed to configure 96 for the regulator at run-time. Elements may be specified in any order. 97 The set of possible operating modes depends on the capabilities of 98 every hardware so each device binding document explains which values 99 the regulator supports. 100 $ref: "/schemas/types.yaml#/definitions/uint32-array" 101 102 regulator-system-load: 103 description: Load in uA present on regulator that is not captured by 104 any consumer request. 105 $ref: "/schemas/types.yaml#/definitions/uint32" 106 107 regulator-pull-down: 108 description: Enable pull down resistor when the regulator is disabled. 109 type: boolean 110 111 regulator-over-current-protection: 112 description: Enable over current protection. 113 type: boolean 114 115 regulator-active-discharge: 116 description: | 117 tristate, enable/disable active discharge of regulators. The values are: 118 0: Disable active discharge. 119 1: Enable active discharge. 120 Absence of this property will leave configuration to default. 121 allOf: 122 - $ref: "/schemas/types.yaml#/definitions/uint32" 123 - enum: [ 0, 1 ] 124 125 regulator-coupled-with: 126 description: Regulators with which the regulator is coupled. The linkage 127 is 2-way - all coupled regulators should be linked with each other. 128 A regulator should not be coupled with its supplier. 129 $ref: "/schemas/types.yaml#/definitions/phandle-array" 130 131 regulator-coupled-max-spread: 132 description: Array of maximum spread between voltages of coupled regulators 133 in microvolts, each value in the array relates to the corresponding 134 couple specified by the regulator-coupled-with property. 135 $ref: "/schemas/types.yaml#/definitions/uint32" 136 137 regulator-max-step-microvolt: 138 description: Maximum difference between current and target voltages 139 that can be changed safely in a single step. 140 141patternProperties: 142 ".*-supply$": 143 description: Input supply phandle(s) for this node 144 145 regulator-state-(standby|mem|disk): 146 type: object 147 description: 148 sub-nodes for regulator state in Standby, Suspend-to-RAM, and 149 Suspend-to-DISK modes. Equivalent with standby, mem, and disk Linux 150 sleep states. 151 152 properties: 153 regulator-on-in-suspend: 154 description: regulator should be on in suspend state. 155 type: boolean 156 157 regulator-off-in-suspend: 158 description: regulator should be off in suspend state. 159 type: boolean 160 161 regulator-suspend-min-microvolt: 162 description: minimum voltage may be set in suspend state. 163 164 regulator-suspend-max-microvolt: 165 description: maximum voltage may be set in suspend state. 166 167 regulator-suspend-microvolt: 168 description: the default voltage which regulator would be set in 169 suspend. This property is now deprecated, instead setting voltage 170 for suspend mode via the API which regulator driver provides is 171 recommended. 172 173 regulator-changeable-in-suspend: 174 description: whether the default voltage and the regulator on/off 175 in suspend can be changed in runtime. 176 type: boolean 177 178 regulator-mode: 179 description: operating mode in the given suspend state. The set 180 of possible operating modes depends on the capabilities of every 181 hardware so the valid modes are documented on each regulator device 182 tree binding document. 183 $ref: "/schemas/types.yaml#/definitions/uint32" 184 185 additionalProperties: false 186 187examples: 188 - | 189 xyzreg: regulator@0 { 190 regulator-min-microvolt = <1000000>; 191 regulator-max-microvolt = <2500000>; 192 regulator-always-on; 193 vin-supply = <&vin>; 194 195 regulator-state-mem { 196 regulator-on-in-suspend; 197 }; 198 }; 199 200... 201