xref: /openbmc/linux/Documentation/devicetree/bindings/regulator/regulator.yaml (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
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