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