11914a996SRob Herring# SPDX-License-Identifier: GPL-2.0 21914a996SRob Herring%YAML 1.2 31914a996SRob Herring--- 41914a996SRob Herring$id: http://devicetree.org/schemas/regulator/regulator.yaml# 51914a996SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 61914a996SRob Herring 71914a996SRob Herringtitle: Voltage/Current Regulators 81914a996SRob Herring 91914a996SRob Herringmaintainers: 101914a996SRob Herring - Liam Girdwood <lgirdwood@gmail.com> 111914a996SRob Herring - Mark Brown <broonie@kernel.org> 121914a996SRob Herring 131914a996SRob Herringproperties: 141914a996SRob Herring regulator-name: 151914a996SRob Herring description: A string used as a descriptive name for regulator outputs 16cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/string 171914a996SRob Herring 181914a996SRob Herring regulator-min-microvolt: 191914a996SRob Herring description: smallest voltage consumers may set 201914a996SRob Herring 211914a996SRob Herring regulator-max-microvolt: 221914a996SRob Herring description: largest voltage consumers may set 231914a996SRob Herring 241914a996SRob Herring regulator-microvolt-offset: 251914a996SRob Herring description: Offset applied to voltages to compensate for voltage drops 26cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 271914a996SRob Herring 281914a996SRob Herring regulator-min-microamp: 291914a996SRob Herring description: smallest current consumers may set 301914a996SRob Herring 311914a996SRob Herring regulator-max-microamp: 321914a996SRob Herring description: largest current consumers may set 331914a996SRob Herring 341914a996SRob Herring regulator-input-current-limit-microamp: 351914a996SRob Herring description: maximum input current regulator allows 361914a996SRob Herring 371914a996SRob Herring regulator-always-on: 381914a996SRob Herring description: boolean, regulator should never be disabled 391914a996SRob Herring type: boolean 401914a996SRob Herring 411914a996SRob Herring regulator-boot-on: 4287fd0db6SDouglas Anderson description: bootloader/firmware enabled regulator. 4387fd0db6SDouglas Anderson It's expected that this regulator was left on by the bootloader. 4487fd0db6SDouglas Anderson If the bootloader didn't leave it on then OS should turn it on 4587fd0db6SDouglas Anderson at boot but shouldn't prevent it from being turned off later. 4687fd0db6SDouglas Anderson This property is intended to only be used for regulators where 4787fd0db6SDouglas Anderson software cannot read the state of the regulator. 481914a996SRob Herring type: boolean 491914a996SRob Herring 501914a996SRob Herring regulator-allow-bypass: 511914a996SRob Herring description: allow the regulator to go into bypass mode 521914a996SRob Herring type: boolean 531914a996SRob Herring 541914a996SRob Herring regulator-allow-set-load: 551914a996SRob Herring description: allow the regulator performance level to be configured 561914a996SRob Herring type: boolean 571914a996SRob Herring 581914a996SRob Herring regulator-ramp-delay: 591914a996SRob Herring description: ramp delay for regulator(in uV/us) For hardware which supports 601914a996SRob Herring disabling ramp rate, it should be explicitly initialised to zero (regulator-ramp-delay 611914a996SRob Herring = <0>) for disabling ramp delay. 62cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 631914a996SRob Herring 641914a996SRob Herring regulator-enable-ramp-delay: 651914a996SRob Herring description: The time taken, in microseconds, for the supply rail to 661914a996SRob Herring reach the target voltage, plus/minus whatever tolerance the board 671914a996SRob Herring design requires. This property describes the total system ramp time 681914a996SRob Herring required due to the combination of internal ramping of the regulator 691914a996SRob Herring itself, and board design issues such as trace capacitance and load 701914a996SRob Herring on the supply. 71cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 721914a996SRob Herring 731914a996SRob Herring regulator-settling-time-us: 741914a996SRob Herring description: Settling time, in microseconds, for voltage change if regulator 751914a996SRob Herring have the constant time for any level voltage change. This is useful 761914a996SRob Herring when regulator have exponential voltage change. 771914a996SRob Herring 781914a996SRob Herring regulator-settling-time-up-us: 791914a996SRob Herring description: Settling time, in microseconds, for voltage increase if 801914a996SRob Herring the regulator needs a constant time to settle after voltage increases 811914a996SRob Herring of any level. This is useful for regulators with exponential voltage 821914a996SRob Herring changes. 831914a996SRob Herring 841914a996SRob Herring regulator-settling-time-down-us: 851914a996SRob Herring description: Settling time, in microseconds, for voltage decrease if 861914a996SRob Herring the regulator needs a constant time to settle after voltage decreases 871914a996SRob Herring of any level. This is useful for regulators with exponential voltage 881914a996SRob Herring changes. 891914a996SRob Herring 901914a996SRob Herring regulator-soft-start: 911914a996SRob Herring description: Enable soft start so that voltage ramps slowly 921914a996SRob Herring type: boolean 931914a996SRob Herring 941914a996SRob Herring regulator-initial-mode: 951914a996SRob Herring description: initial operating mode. The set of possible operating modes 961914a996SRob Herring depends on the capabilities of every hardware so each device binding 971914a996SRob Herring documentation explains which values the regulator supports. 98cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 991914a996SRob Herring 1001914a996SRob Herring regulator-allowed-modes: 1011914a996SRob Herring description: list of operating modes that software is allowed to configure 1021914a996SRob Herring for the regulator at run-time. Elements may be specified in any order. 1031914a996SRob Herring The set of possible operating modes depends on the capabilities of 1041914a996SRob Herring every hardware so each device binding document explains which values 1051914a996SRob Herring the regulator supports. 106cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/uint32-array 1071914a996SRob Herring 1081914a996SRob Herring regulator-system-load: 1091914a996SRob Herring description: Load in uA present on regulator that is not captured by 1101914a996SRob Herring any consumer request. 111cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 1121914a996SRob Herring 1131914a996SRob Herring regulator-pull-down: 1141914a996SRob Herring description: Enable pull down resistor when the regulator is disabled. 1151914a996SRob Herring type: boolean 1161914a996SRob Herring 1171914a996SRob Herring regulator-over-current-protection: 1181914a996SRob Herring description: Enable over current protection. 1191914a996SRob Herring type: boolean 1201914a996SRob Herring 121673e851bSMatti Vaittinen regulator-oc-protection-microamp: 122673e851bSMatti Vaittinen description: Set over current protection limit. This is a limit where 123673e851bSMatti Vaittinen hardware performs emergency shutdown. Zero can be passed to disable 124673e851bSMatti Vaittinen protection and value '1' indicates that protection should be enabled but 125673e851bSMatti Vaittinen limit setting can be omitted. 126673e851bSMatti Vaittinen 127673e851bSMatti Vaittinen regulator-oc-error-microamp: 128673e851bSMatti Vaittinen description: Set over current error limit. This is a limit where part of 129*47aab533SBjorn Helgaas the hardware probably is malfunctional and damage prevention is requested. 130673e851bSMatti Vaittinen Zero can be passed to disable error detection and value '1' indicates 131673e851bSMatti Vaittinen that detection should be enabled but limit setting can be omitted. 132673e851bSMatti Vaittinen 133673e851bSMatti Vaittinen regulator-oc-warn-microamp: 134673e851bSMatti Vaittinen description: Set over current warning limit. This is a limit where hardware 135673e851bSMatti Vaittinen is assumed still to be functional but approaching limit where it gets 136673e851bSMatti Vaittinen damaged. Recovery actions should be initiated. Zero can be passed to 137673e851bSMatti Vaittinen disable detection and value '1' indicates that detection should 138673e851bSMatti Vaittinen be enabled but limit setting can be omitted. 139673e851bSMatti Vaittinen 140673e851bSMatti Vaittinen regulator-ov-protection-microvolt: 141673e851bSMatti Vaittinen description: Set over voltage protection limit. This is a limit where 142673e851bSMatti Vaittinen hardware performs emergency shutdown. Zero can be passed to disable 143673e851bSMatti Vaittinen protection and value '1' indicates that protection should be enabled but 144673e851bSMatti Vaittinen limit setting can be omitted. Limit is given as microvolt offset from 145673e851bSMatti Vaittinen voltage set to regulator. 146673e851bSMatti Vaittinen 147673e851bSMatti Vaittinen regulator-ov-error-microvolt: 148673e851bSMatti Vaittinen description: Set over voltage error limit. This is a limit where part of 149*47aab533SBjorn Helgaas the hardware probably is malfunctional and damage prevention is requested 150673e851bSMatti Vaittinen Zero can be passed to disable error detection and value '1' indicates 151673e851bSMatti Vaittinen that detection should be enabled but limit setting can be omitted. Limit 152673e851bSMatti Vaittinen is given as microvolt offset from voltage set to regulator. 153673e851bSMatti Vaittinen 154673e851bSMatti Vaittinen regulator-ov-warn-microvolt: 155673e851bSMatti Vaittinen description: Set over voltage warning limit. This is a limit where hardware 156673e851bSMatti Vaittinen is assumed still to be functional but approaching limit where it gets 157673e851bSMatti Vaittinen damaged. Recovery actions should be initiated. Zero can be passed to 158673e851bSMatti Vaittinen disable detection and value '1' indicates that detection should 159673e851bSMatti Vaittinen be enabled but limit setting can be omitted. Limit is given as microvolt 160673e851bSMatti Vaittinen offset from voltage set to regulator. 161673e851bSMatti Vaittinen 162673e851bSMatti Vaittinen regulator-uv-protection-microvolt: 163673e851bSMatti Vaittinen description: Set over under voltage protection limit. This is a limit where 164673e851bSMatti Vaittinen hardware performs emergency shutdown. Zero can be passed to disable 165673e851bSMatti Vaittinen protection and value '1' indicates that protection should be enabled but 166673e851bSMatti Vaittinen limit setting can be omitted. Limit is given as microvolt offset from 167673e851bSMatti Vaittinen voltage set to regulator. 168673e851bSMatti Vaittinen 169673e851bSMatti Vaittinen regulator-uv-error-microvolt: 170673e851bSMatti Vaittinen description: Set under voltage error limit. This is a limit where part of 171*47aab533SBjorn Helgaas the hardware probably is malfunctional and damage prevention is requested 172673e851bSMatti Vaittinen Zero can be passed to disable error detection and value '1' indicates 173673e851bSMatti Vaittinen that detection should be enabled but limit setting can be omitted. Limit 174673e851bSMatti Vaittinen is given as microvolt offset from voltage set to regulator. 175673e851bSMatti Vaittinen 176673e851bSMatti Vaittinen regulator-uv-warn-microvolt: 177673e851bSMatti Vaittinen description: Set over under voltage warning limit. This is a limit where 178673e851bSMatti Vaittinen hardware is assumed still to be functional but approaching limit where 179673e851bSMatti Vaittinen it gets damaged. Recovery actions should be initiated. Zero can be passed 180673e851bSMatti Vaittinen to disable detection and value '1' indicates that detection should 181673e851bSMatti Vaittinen be enabled but limit setting can be omitted. Limit is given as microvolt 182673e851bSMatti Vaittinen offset from voltage set to regulator. 183673e851bSMatti Vaittinen 184673e851bSMatti Vaittinen regulator-temp-protection-kelvin: 185673e851bSMatti Vaittinen description: Set over temperature protection limit. This is a limit where 186673e851bSMatti Vaittinen hardware performs emergency shutdown. Zero can be passed to disable 187673e851bSMatti Vaittinen protection and value '1' indicates that protection should be enabled but 188673e851bSMatti Vaittinen limit setting can be omitted. 189673e851bSMatti Vaittinen 190673e851bSMatti Vaittinen regulator-temp-error-kelvin: 191673e851bSMatti Vaittinen description: Set over temperature error limit. This is a limit where part of 192*47aab533SBjorn Helgaas the hardware probably is malfunctional and damage prevention is requested 193673e851bSMatti Vaittinen Zero can be passed to disable error detection and value '1' indicates 194673e851bSMatti Vaittinen that detection should be enabled but limit setting can be omitted. 195673e851bSMatti Vaittinen 196673e851bSMatti Vaittinen regulator-temp-warn-kelvin: 197673e851bSMatti Vaittinen description: Set over temperature warning limit. This is a limit where 198673e851bSMatti Vaittinen hardware is assumed still to be functional but approaching limit where it 199673e851bSMatti Vaittinen gets damaged. Recovery actions should be initiated. Zero can be passed to 200673e851bSMatti Vaittinen disable detection and value '1' indicates that detection should 201673e851bSMatti Vaittinen be enabled but limit setting can be omitted. 202673e851bSMatti Vaittinen 2031914a996SRob Herring regulator-active-discharge: 2041914a996SRob Herring description: | 2051914a996SRob Herring tristate, enable/disable active discharge of regulators. The values are: 2061914a996SRob Herring 0: Disable active discharge. 2071914a996SRob Herring 1: Enable active discharge. 2081914a996SRob Herring Absence of this property will leave configuration to default. 209cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 2103d21a460SRob Herring enum: [0, 1] 2111914a996SRob Herring 2121914a996SRob Herring regulator-coupled-with: 2131914a996SRob Herring description: Regulators with which the regulator is coupled. The linkage 2141914a996SRob Herring is 2-way - all coupled regulators should be linked with each other. 2151914a996SRob Herring A regulator should not be coupled with its supplier. 216cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/phandle-array 21739bd2b6aSRob Herring items: 21839bd2b6aSRob Herring maxItems: 1 2191914a996SRob Herring 2201914a996SRob Herring regulator-coupled-max-spread: 2211914a996SRob Herring description: Array of maximum spread between voltages of coupled regulators 2221914a996SRob Herring in microvolts, each value in the array relates to the corresponding 2231914a996SRob Herring couple specified by the regulator-coupled-with property. 224cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/uint32-array 2251914a996SRob Herring 2261914a996SRob Herring regulator-max-step-microvolt: 2271914a996SRob Herring description: Maximum difference between current and target voltages 2281914a996SRob Herring that can be changed safely in a single step. 2291914a996SRob Herring 2301914a996SRob HerringpatternProperties: 2311914a996SRob Herring ".*-supply$": 2321914a996SRob Herring description: Input supply phandle(s) for this node 2331914a996SRob Herring 2347621aabdSRob Herring "^regulator-state-(standby|mem|disk)$": 2351914a996SRob Herring type: object 2361914a996SRob Herring description: 2371914a996SRob Herring sub-nodes for regulator state in Standby, Suspend-to-RAM, and 2381914a996SRob Herring Suspend-to-DISK modes. Equivalent with standby, mem, and disk Linux 2391914a996SRob Herring sleep states. 2401914a996SRob Herring 2411914a996SRob Herring properties: 2421914a996SRob Herring regulator-on-in-suspend: 2431914a996SRob Herring description: regulator should be on in suspend state. 2441914a996SRob Herring type: boolean 2451914a996SRob Herring 2461914a996SRob Herring regulator-off-in-suspend: 2471914a996SRob Herring description: regulator should be off in suspend state. 2481914a996SRob Herring type: boolean 2491914a996SRob Herring 2501914a996SRob Herring regulator-suspend-min-microvolt: 2511914a996SRob Herring description: minimum voltage may be set in suspend state. 2521914a996SRob Herring 2531914a996SRob Herring regulator-suspend-max-microvolt: 2541914a996SRob Herring description: maximum voltage may be set in suspend state. 2551914a996SRob Herring 2561914a996SRob Herring regulator-suspend-microvolt: 2571914a996SRob Herring description: the default voltage which regulator would be set in 2581914a996SRob Herring suspend. This property is now deprecated, instead setting voltage 2591914a996SRob Herring for suspend mode via the API which regulator driver provides is 2601914a996SRob Herring recommended. 2611914a996SRob Herring 2621914a996SRob Herring regulator-changeable-in-suspend: 2631914a996SRob Herring description: whether the default voltage and the regulator on/off 2641914a996SRob Herring in suspend can be changed in runtime. 2651914a996SRob Herring type: boolean 2661914a996SRob Herring 2671914a996SRob Herring regulator-mode: 2681914a996SRob Herring description: operating mode in the given suspend state. The set 2691914a996SRob Herring of possible operating modes depends on the capabilities of every 2701914a996SRob Herring hardware so the valid modes are documented on each regulator device 2711914a996SRob Herring tree binding document. 272cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 2731914a996SRob Herring 2741914a996SRob Herring additionalProperties: false 2751914a996SRob Herring 2766a0e321eSRob HerringadditionalProperties: true 2776a0e321eSRob Herring 2781914a996SRob Herringexamples: 2791914a996SRob Herring - | 28051a21e0eSRob Herring xyzreg: regulator { 2811914a996SRob Herring regulator-min-microvolt = <1000000>; 2821914a996SRob Herring regulator-max-microvolt = <2500000>; 2831914a996SRob Herring regulator-always-on; 2841914a996SRob Herring vin-supply = <&vin>; 2851914a996SRob Herring 2861914a996SRob Herring regulator-state-mem { 2871914a996SRob Herring regulator-on-in-suspend; 2881914a996SRob Herring }; 2891914a996SRob Herring }; 2901914a996SRob Herring 2911914a996SRob Herring... 292