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 37*367a8200SKory Maincent regulator-power-budget-milliwatt: 38*367a8200SKory Maincent description: power budget of the regulator 39*367a8200SKory Maincent 401914a996SRob Herring regulator-always-on: 411914a996SRob Herring description: boolean, regulator should never be disabled 421914a996SRob Herring type: boolean 431914a996SRob Herring 441914a996SRob Herring regulator-boot-on: 4587fd0db6SDouglas Anderson description: bootloader/firmware enabled regulator. 4687fd0db6SDouglas Anderson It's expected that this regulator was left on by the bootloader. 4787fd0db6SDouglas Anderson If the bootloader didn't leave it on then OS should turn it on 4887fd0db6SDouglas Anderson at boot but shouldn't prevent it from being turned off later. 4987fd0db6SDouglas Anderson This property is intended to only be used for regulators where 5087fd0db6SDouglas Anderson software cannot read the state of the regulator. 511914a996SRob Herring type: boolean 521914a996SRob Herring 531914a996SRob Herring regulator-allow-bypass: 541914a996SRob Herring description: allow the regulator to go into bypass mode 551914a996SRob Herring type: boolean 561914a996SRob Herring 571914a996SRob Herring regulator-allow-set-load: 581914a996SRob Herring description: allow the regulator performance level to be configured 591914a996SRob Herring type: boolean 601914a996SRob Herring 611914a996SRob Herring regulator-ramp-delay: 621914a996SRob Herring description: ramp delay for regulator(in uV/us) For hardware which supports 631914a996SRob Herring disabling ramp rate, it should be explicitly initialised to zero (regulator-ramp-delay 641914a996SRob Herring = <0>) for disabling ramp delay. 65cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 661914a996SRob Herring 671914a996SRob Herring regulator-enable-ramp-delay: 681914a996SRob Herring description: The time taken, in microseconds, for the supply rail to 691914a996SRob Herring reach the target voltage, plus/minus whatever tolerance the board 701914a996SRob Herring design requires. This property describes the total system ramp time 711914a996SRob Herring required due to the combination of internal ramping of the regulator 721914a996SRob Herring itself, and board design issues such as trace capacitance and load 731914a996SRob Herring on the supply. 74cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 751914a996SRob Herring 761914a996SRob Herring regulator-settling-time-us: 771914a996SRob Herring description: Settling time, in microseconds, for voltage change if regulator 781914a996SRob Herring have the constant time for any level voltage change. This is useful 791914a996SRob Herring when regulator have exponential voltage change. 801914a996SRob Herring 811914a996SRob Herring regulator-settling-time-up-us: 821914a996SRob Herring description: Settling time, in microseconds, for voltage increase if 831914a996SRob Herring the regulator needs a constant time to settle after voltage increases 841914a996SRob Herring of any level. This is useful for regulators with exponential voltage 851914a996SRob Herring changes. 861914a996SRob Herring 871914a996SRob Herring regulator-settling-time-down-us: 881914a996SRob Herring description: Settling time, in microseconds, for voltage decrease if 891914a996SRob Herring the regulator needs a constant time to settle after voltage decreases 901914a996SRob Herring of any level. This is useful for regulators with exponential voltage 911914a996SRob Herring changes. 921914a996SRob Herring 931914a996SRob Herring regulator-soft-start: 941914a996SRob Herring description: Enable soft start so that voltage ramps slowly 951914a996SRob Herring type: boolean 961914a996SRob Herring 971914a996SRob Herring regulator-initial-mode: 981914a996SRob Herring description: initial operating mode. The set of possible operating modes 991914a996SRob Herring depends on the capabilities of every hardware so each device binding 1001914a996SRob Herring documentation explains which values the regulator supports. 101cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 1021914a996SRob Herring 1031914a996SRob Herring regulator-allowed-modes: 1041914a996SRob Herring description: list of operating modes that software is allowed to configure 1051914a996SRob Herring for the regulator at run-time. Elements may be specified in any order. 1061914a996SRob Herring The set of possible operating modes depends on the capabilities of 1071914a996SRob Herring every hardware so each device binding document explains which values 1081914a996SRob Herring the regulator supports. 109cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/uint32-array 1101914a996SRob Herring 1111914a996SRob Herring regulator-system-load: 1121914a996SRob Herring description: Load in uA present on regulator that is not captured by 1131914a996SRob Herring any consumer request. 114cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 1151914a996SRob Herring 1161914a996SRob Herring regulator-pull-down: 1171914a996SRob Herring description: Enable pull down resistor when the regulator is disabled. 1181914a996SRob Herring type: boolean 1191914a996SRob Herring 1200e1c8dcbSOleksij Rempel system-critical-regulator: 1210e1c8dcbSOleksij Rempel description: Set if the regulator is critical to system stability or 1220e1c8dcbSOleksij Rempel functionality. 1230e1c8dcbSOleksij Rempel type: boolean 1240e1c8dcbSOleksij Rempel 1251914a996SRob Herring regulator-over-current-protection: 1261914a996SRob Herring description: Enable over current protection. 1271914a996SRob Herring type: boolean 1281914a996SRob Herring 129673e851bSMatti Vaittinen regulator-oc-protection-microamp: 130673e851bSMatti Vaittinen description: Set over current protection limit. This is a limit where 131673e851bSMatti Vaittinen hardware performs emergency shutdown. Zero can be passed to disable 132673e851bSMatti Vaittinen protection and value '1' indicates that protection should be enabled but 133673e851bSMatti Vaittinen limit setting can be omitted. 134673e851bSMatti Vaittinen 135673e851bSMatti Vaittinen regulator-oc-error-microamp: 136673e851bSMatti Vaittinen description: Set over current error limit. This is a limit where part of 13747aab533SBjorn Helgaas the hardware probably is malfunctional and damage prevention is requested. 138673e851bSMatti Vaittinen Zero can be passed to disable error detection and value '1' indicates 139673e851bSMatti Vaittinen that detection should be enabled but limit setting can be omitted. 140673e851bSMatti Vaittinen 141673e851bSMatti Vaittinen regulator-oc-warn-microamp: 142673e851bSMatti Vaittinen description: Set over current warning limit. This is a limit where hardware 143673e851bSMatti Vaittinen is assumed still to be functional but approaching limit where it gets 144673e851bSMatti Vaittinen damaged. Recovery actions should be initiated. Zero can be passed to 145673e851bSMatti Vaittinen disable detection and value '1' indicates that detection should 146673e851bSMatti Vaittinen be enabled but limit setting can be omitted. 147673e851bSMatti Vaittinen 148673e851bSMatti Vaittinen regulator-ov-protection-microvolt: 149673e851bSMatti Vaittinen description: Set over voltage protection limit. This is a limit where 150673e851bSMatti Vaittinen hardware performs emergency shutdown. Zero can be passed to disable 151673e851bSMatti Vaittinen protection and value '1' indicates that protection should be enabled but 152673e851bSMatti Vaittinen limit setting can be omitted. Limit is given as microvolt offset from 153673e851bSMatti Vaittinen voltage set to regulator. 154673e851bSMatti Vaittinen 155673e851bSMatti Vaittinen regulator-ov-error-microvolt: 156673e851bSMatti Vaittinen description: Set over voltage error limit. This is a limit where part of 15747aab533SBjorn Helgaas the hardware probably is malfunctional and damage prevention is requested 158673e851bSMatti Vaittinen Zero can be passed to disable error detection and value '1' indicates 159673e851bSMatti Vaittinen that detection should be enabled but limit setting can be omitted. Limit 160673e851bSMatti Vaittinen is given as microvolt offset from voltage set to regulator. 161673e851bSMatti Vaittinen 162673e851bSMatti Vaittinen regulator-ov-warn-microvolt: 163673e851bSMatti Vaittinen description: Set over voltage warning limit. This is a limit where hardware 164673e851bSMatti Vaittinen is assumed still to be functional but approaching limit where it gets 165673e851bSMatti Vaittinen damaged. Recovery actions should be initiated. Zero can be passed to 166673e851bSMatti Vaittinen disable detection and value '1' indicates that detection should 167673e851bSMatti Vaittinen be enabled but limit setting can be omitted. Limit is given as microvolt 168673e851bSMatti Vaittinen offset from voltage set to regulator. 169673e851bSMatti Vaittinen 170673e851bSMatti Vaittinen regulator-uv-protection-microvolt: 171673e851bSMatti Vaittinen description: Set over under voltage protection limit. This is a limit where 172673e851bSMatti Vaittinen hardware performs emergency shutdown. Zero can be passed to disable 173673e851bSMatti Vaittinen protection and value '1' indicates that protection should be enabled but 174673e851bSMatti Vaittinen limit setting can be omitted. Limit is given as microvolt offset from 175673e851bSMatti Vaittinen voltage set to regulator. 176673e851bSMatti Vaittinen 177673e851bSMatti Vaittinen regulator-uv-error-microvolt: 178673e851bSMatti Vaittinen description: Set under voltage error limit. This is a limit where part of 17947aab533SBjorn Helgaas the hardware probably is malfunctional and damage prevention is requested 180673e851bSMatti Vaittinen Zero can be passed to disable error detection and value '1' indicates 181673e851bSMatti Vaittinen that detection should be enabled but limit setting can be omitted. Limit 182673e851bSMatti Vaittinen is given as microvolt offset from voltage set to regulator. 183673e851bSMatti Vaittinen 184673e851bSMatti Vaittinen regulator-uv-warn-microvolt: 185673e851bSMatti Vaittinen description: Set over under voltage warning limit. This is a limit where 186673e851bSMatti Vaittinen hardware is assumed still to be functional but approaching limit where 187673e851bSMatti Vaittinen it gets damaged. Recovery actions should be initiated. Zero can be passed 188673e851bSMatti Vaittinen to disable detection and value '1' indicates that detection should 189673e851bSMatti Vaittinen be enabled but limit setting can be omitted. Limit is given as microvolt 190673e851bSMatti Vaittinen offset from voltage set to regulator. 191673e851bSMatti Vaittinen 192759e2bd9SOleksij Rempel regulator-uv-less-critical-window-ms: 193759e2bd9SOleksij Rempel description: Specifies the time window (in milliseconds) following a 194759e2bd9SOleksij Rempel critical under-voltage event during which the system can continue to 195759e2bd9SOleksij Rempel operate safely while performing less critical operations. This property 196759e2bd9SOleksij Rempel provides a defined duration before a more severe reaction to the 197759e2bd9SOleksij Rempel under-voltage event is needed, allowing for certain non-urgent actions to 198759e2bd9SOleksij Rempel be carried out in preparation for potential power loss. 199759e2bd9SOleksij Rempel 200673e851bSMatti Vaittinen regulator-temp-protection-kelvin: 201673e851bSMatti Vaittinen description: Set over temperature protection limit. This is a limit where 202673e851bSMatti Vaittinen hardware performs emergency shutdown. Zero can be passed to disable 203673e851bSMatti Vaittinen protection and value '1' indicates that protection should be enabled but 204673e851bSMatti Vaittinen limit setting can be omitted. 205673e851bSMatti Vaittinen 206673e851bSMatti Vaittinen regulator-temp-error-kelvin: 207673e851bSMatti Vaittinen description: Set over temperature error limit. This is a limit where part of 20847aab533SBjorn Helgaas the hardware probably is malfunctional and damage prevention is requested 209673e851bSMatti Vaittinen Zero can be passed to disable error detection and value '1' indicates 210673e851bSMatti Vaittinen that detection should be enabled but limit setting can be omitted. 211673e851bSMatti Vaittinen 212673e851bSMatti Vaittinen regulator-temp-warn-kelvin: 213673e851bSMatti Vaittinen description: Set over temperature warning limit. This is a limit where 214673e851bSMatti Vaittinen hardware is assumed still to be functional but approaching limit where it 215673e851bSMatti Vaittinen gets damaged. Recovery actions should be initiated. Zero can be passed to 216673e851bSMatti Vaittinen disable detection and value '1' indicates that detection should 217673e851bSMatti Vaittinen be enabled but limit setting can be omitted. 218673e851bSMatti Vaittinen 2191914a996SRob Herring regulator-active-discharge: 2201914a996SRob Herring description: | 2211914a996SRob Herring tristate, enable/disable active discharge of regulators. The values are: 2221914a996SRob Herring 0: Disable active discharge. 2231914a996SRob Herring 1: Enable active discharge. 2241914a996SRob Herring Absence of this property will leave configuration to default. 225cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 2263d21a460SRob Herring enum: [0, 1] 2271914a996SRob Herring 2281914a996SRob Herring regulator-coupled-with: 2291914a996SRob Herring description: Regulators with which the regulator is coupled. The linkage 2301914a996SRob Herring is 2-way - all coupled regulators should be linked with each other. 2311914a996SRob Herring A regulator should not be coupled with its supplier. 232cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/phandle-array 23339bd2b6aSRob Herring items: 23439bd2b6aSRob Herring maxItems: 1 2351914a996SRob Herring 2361914a996SRob Herring regulator-coupled-max-spread: 2371914a996SRob Herring description: Array of maximum spread between voltages of coupled regulators 2381914a996SRob Herring in microvolts, each value in the array relates to the corresponding 2391914a996SRob Herring couple specified by the regulator-coupled-with property. 240cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/uint32-array 2411914a996SRob Herring 2421914a996SRob Herring regulator-max-step-microvolt: 2431914a996SRob Herring description: Maximum difference between current and target voltages 2441914a996SRob Herring that can be changed safely in a single step. 2451914a996SRob Herring 2461914a996SRob HerringpatternProperties: 2471914a996SRob Herring ".*-supply$": 2481914a996SRob Herring description: Input supply phandle(s) for this node 2491914a996SRob Herring 2507621aabdSRob Herring "^regulator-state-(standby|mem|disk)$": 2511914a996SRob Herring type: object 2521914a996SRob Herring description: 2531914a996SRob Herring sub-nodes for regulator state in Standby, Suspend-to-RAM, and 2541914a996SRob Herring Suspend-to-DISK modes. Equivalent with standby, mem, and disk Linux 2551914a996SRob Herring sleep states. 2561914a996SRob Herring 2571914a996SRob Herring properties: 2581914a996SRob Herring regulator-on-in-suspend: 2591914a996SRob Herring description: regulator should be on in suspend state. 2601914a996SRob Herring type: boolean 2611914a996SRob Herring 2621914a996SRob Herring regulator-off-in-suspend: 2631914a996SRob Herring description: regulator should be off in suspend state. 2641914a996SRob Herring type: boolean 2651914a996SRob Herring 2661914a996SRob Herring regulator-suspend-min-microvolt: 2671914a996SRob Herring description: minimum voltage may be set in suspend state. 2681914a996SRob Herring 2691914a996SRob Herring regulator-suspend-max-microvolt: 2701914a996SRob Herring description: maximum voltage may be set in suspend state. 2711914a996SRob Herring 2721914a996SRob Herring regulator-suspend-microvolt: 2731914a996SRob Herring description: the default voltage which regulator would be set in 2741914a996SRob Herring suspend. This property is now deprecated, instead setting voltage 2751914a996SRob Herring for suspend mode via the API which regulator driver provides is 2761914a996SRob Herring recommended. 2771914a996SRob Herring 2781914a996SRob Herring regulator-changeable-in-suspend: 2791914a996SRob Herring description: whether the default voltage and the regulator on/off 2801914a996SRob Herring in suspend can be changed in runtime. 2811914a996SRob Herring type: boolean 2821914a996SRob Herring 2831914a996SRob Herring regulator-mode: 2841914a996SRob Herring description: operating mode in the given suspend state. The set 2851914a996SRob Herring of possible operating modes depends on the capabilities of every 2861914a996SRob Herring hardware so the valid modes are documented on each regulator device 2871914a996SRob Herring tree binding document. 288cff5c895SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 2891914a996SRob Herring 2901914a996SRob Herring additionalProperties: false 2911914a996SRob Herring 2926a0e321eSRob HerringadditionalProperties: true 2936a0e321eSRob Herring 2941914a996SRob Herringexamples: 2951914a996SRob Herring - | 29651a21e0eSRob Herring xyzreg: regulator { 2971914a996SRob Herring regulator-min-microvolt = <1000000>; 2981914a996SRob Herring regulator-max-microvolt = <2500000>; 2991914a996SRob Herring regulator-always-on; 3001914a996SRob Herring vin-supply = <&vin>; 3011914a996SRob Herring 3021914a996SRob Herring regulator-state-mem { 3031914a996SRob Herring regulator-on-in-suspend; 3041914a996SRob Herring }; 3051914a996SRob Herring }; 3061914a996SRob Herring 3071914a996SRob Herring... 308