| # SPDX-License-Identifier: GPL-2.0 |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/regulator/regulator.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Voltage/Current Regulators |
| |
| maintainers: |
| - Liam Girdwood <lgirdwood@gmail.com> |
| - Mark Brown <broonie@kernel.org> |
| |
| properties: |
| regulator-name: |
| description: A string used as a descriptive name for regulator outputs |
| $ref: /schemas/types.yaml#/definitions/string |
| |
| regulator-min-microvolt: |
| description: smallest voltage consumers may set |
| |
| regulator-max-microvolt: |
| description: largest voltage consumers may set |
| |
| regulator-microvolt-offset: |
| description: Offset applied to voltages to compensate for voltage drops |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| |
| regulator-min-microamp: |
| description: smallest current consumers may set |
| |
| regulator-max-microamp: |
| description: largest current consumers may set |
| |
| regulator-input-current-limit-microamp: |
| description: maximum input current regulator allows |
| |
| regulator-always-on: |
| description: boolean, regulator should never be disabled |
| type: boolean |
| |
| regulator-boot-on: |
| description: bootloader/firmware enabled regulator. |
| It's expected that this regulator was left on by the bootloader. |
| If the bootloader didn't leave it on then OS should turn it on |
| at boot but shouldn't prevent it from being turned off later. |
| This property is intended to only be used for regulators where |
| software cannot read the state of the regulator. |
| type: boolean |
| |
| regulator-allow-bypass: |
| description: allow the regulator to go into bypass mode |
| type: boolean |
| |
| regulator-allow-set-load: |
| description: allow the regulator performance level to be configured |
| type: boolean |
| |
| regulator-ramp-delay: |
| description: ramp delay for regulator(in uV/us) For hardware which supports |
| disabling ramp rate, it should be explicitly initialised to zero (regulator-ramp-delay |
| = <0>) for disabling ramp delay. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| |
| regulator-enable-ramp-delay: |
| description: The time taken, in microseconds, for the supply rail to |
| reach the target voltage, plus/minus whatever tolerance the board |
| design requires. This property describes the total system ramp time |
| required due to the combination of internal ramping of the regulator |
| itself, and board design issues such as trace capacitance and load |
| on the supply. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| |
| regulator-settling-time-us: |
| description: Settling time, in microseconds, for voltage change if regulator |
| have the constant time for any level voltage change. This is useful |
| when regulator have exponential voltage change. |
| |
| regulator-settling-time-up-us: |
| description: Settling time, in microseconds, for voltage increase if |
| the regulator needs a constant time to settle after voltage increases |
| of any level. This is useful for regulators with exponential voltage |
| changes. |
| |
| regulator-settling-time-down-us: |
| description: Settling time, in microseconds, for voltage decrease if |
| the regulator needs a constant time to settle after voltage decreases |
| of any level. This is useful for regulators with exponential voltage |
| changes. |
| |
| regulator-soft-start: |
| description: Enable soft start so that voltage ramps slowly |
| type: boolean |
| |
| regulator-initial-mode: |
| description: initial operating mode. The set of possible operating modes |
| depends on the capabilities of every hardware so each device binding |
| documentation explains which values the regulator supports. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| |
| regulator-allowed-modes: |
| description: list of operating modes that software is allowed to configure |
| for the regulator at run-time. Elements may be specified in any order. |
| The set of possible operating modes depends on the capabilities of |
| every hardware so each device binding document explains which values |
| the regulator supports. |
| $ref: /schemas/types.yaml#/definitions/uint32-array |
| |
| regulator-system-load: |
| description: Load in uA present on regulator that is not captured by |
| any consumer request. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| |
| regulator-pull-down: |
| description: Enable pull down resistor when the regulator is disabled. |
| type: boolean |
| |
| system-critical-regulator: |
| description: Set if the regulator is critical to system stability or |
| functionality. |
| type: boolean |
| |
| regulator-over-current-protection: |
| description: Enable over current protection. |
| type: boolean |
| |
| regulator-oc-protection-microamp: |
| description: Set over current protection limit. This is a limit where |
| hardware performs emergency shutdown. Zero can be passed to disable |
| protection and value '1' indicates that protection should be enabled but |
| limit setting can be omitted. |
| |
| regulator-oc-error-microamp: |
| description: Set over current error limit. This is a limit where part of |
| the hardware probably is malfunctional and damage prevention is requested. |
| Zero can be passed to disable error detection and value '1' indicates |
| that detection should be enabled but limit setting can be omitted. |
| |
| regulator-oc-warn-microamp: |
| description: Set over current warning limit. This is a limit where hardware |
| is assumed still to be functional but approaching limit where it gets |
| damaged. Recovery actions should be initiated. Zero can be passed to |
| disable detection and value '1' indicates that detection should |
| be enabled but limit setting can be omitted. |
| |
| regulator-ov-protection-microvolt: |
| description: Set over voltage protection limit. This is a limit where |
| hardware performs emergency shutdown. Zero can be passed to disable |
| protection and value '1' indicates that protection should be enabled but |
| limit setting can be omitted. Limit is given as microvolt offset from |
| voltage set to regulator. |
| |
| regulator-ov-error-microvolt: |
| description: Set over voltage error limit. This is a limit where part of |
| the hardware probably is malfunctional and damage prevention is requested |
| Zero can be passed to disable error detection and value '1' indicates |
| that detection should be enabled but limit setting can be omitted. Limit |
| is given as microvolt offset from voltage set to regulator. |
| |
| regulator-ov-warn-microvolt: |
| description: Set over voltage warning limit. This is a limit where hardware |
| is assumed still to be functional but approaching limit where it gets |
| damaged. Recovery actions should be initiated. Zero can be passed to |
| disable detection and value '1' indicates that detection should |
| be enabled but limit setting can be omitted. Limit is given as microvolt |
| offset from voltage set to regulator. |
| |
| regulator-uv-protection-microvolt: |
| description: Set over under voltage protection limit. This is a limit where |
| hardware performs emergency shutdown. Zero can be passed to disable |
| protection and value '1' indicates that protection should be enabled but |
| limit setting can be omitted. Limit is given as microvolt offset from |
| voltage set to regulator. |
| |
| regulator-uv-error-microvolt: |
| description: Set under voltage error limit. This is a limit where part of |
| the hardware probably is malfunctional and damage prevention is requested |
| Zero can be passed to disable error detection and value '1' indicates |
| that detection should be enabled but limit setting can be omitted. Limit |
| is given as microvolt offset from voltage set to regulator. |
| |
| regulator-uv-warn-microvolt: |
| description: Set over under voltage warning limit. This is a limit where |
| hardware is assumed still to be functional but approaching limit where |
| it gets damaged. Recovery actions should be initiated. Zero can be passed |
| to disable detection and value '1' indicates that detection should |
| be enabled but limit setting can be omitted. Limit is given as microvolt |
| offset from voltage set to regulator. |
| |
| regulator-uv-less-critical-window-ms: |
| description: Specifies the time window (in milliseconds) following a |
| critical under-voltage event during which the system can continue to |
| operate safely while performing less critical operations. This property |
| provides a defined duration before a more severe reaction to the |
| under-voltage event is needed, allowing for certain non-urgent actions to |
| be carried out in preparation for potential power loss. |
| |
| regulator-temp-protection-kelvin: |
| description: Set over temperature protection limit. This is a limit where |
| hardware performs emergency shutdown. Zero can be passed to disable |
| protection and value '1' indicates that protection should be enabled but |
| limit setting can be omitted. |
| |
| regulator-temp-error-kelvin: |
| description: Set over temperature error limit. This is a limit where part of |
| the hardware probably is malfunctional and damage prevention is requested |
| Zero can be passed to disable error detection and value '1' indicates |
| that detection should be enabled but limit setting can be omitted. |
| |
| regulator-temp-warn-kelvin: |
| description: Set over temperature warning limit. This is a limit where |
| hardware is assumed still to be functional but approaching limit where it |
| gets damaged. Recovery actions should be initiated. Zero can be passed to |
| disable detection and value '1' indicates that detection should |
| be enabled but limit setting can be omitted. |
| |
| regulator-active-discharge: |
| description: | |
| tristate, enable/disable active discharge of regulators. The values are: |
| 0: Disable active discharge. |
| 1: Enable active discharge. |
| Absence of this property will leave configuration to default. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| enum: [0, 1] |
| |
| regulator-coupled-with: |
| description: Regulators with which the regulator is coupled. The linkage |
| is 2-way - all coupled regulators should be linked with each other. |
| A regulator should not be coupled with its supplier. |
| $ref: /schemas/types.yaml#/definitions/phandle-array |
| items: |
| maxItems: 1 |
| |
| regulator-coupled-max-spread: |
| description: Array of maximum spread between voltages of coupled regulators |
| in microvolts, each value in the array relates to the corresponding |
| couple specified by the regulator-coupled-with property. |
| $ref: /schemas/types.yaml#/definitions/uint32-array |
| |
| regulator-max-step-microvolt: |
| description: Maximum difference between current and target voltages |
| that can be changed safely in a single step. |
| |
| patternProperties: |
| ".*-supply$": |
| description: Input supply phandle(s) for this node |
| |
| "^regulator-state-(standby|mem|disk)$": |
| type: object |
| description: |
| sub-nodes for regulator state in Standby, Suspend-to-RAM, and |
| Suspend-to-DISK modes. Equivalent with standby, mem, and disk Linux |
| sleep states. |
| |
| properties: |
| regulator-on-in-suspend: |
| description: regulator should be on in suspend state. |
| type: boolean |
| |
| regulator-off-in-suspend: |
| description: regulator should be off in suspend state. |
| type: boolean |
| |
| regulator-suspend-min-microvolt: |
| description: minimum voltage may be set in suspend state. |
| |
| regulator-suspend-max-microvolt: |
| description: maximum voltage may be set in suspend state. |
| |
| regulator-suspend-microvolt: |
| description: the default voltage which regulator would be set in |
| suspend. This property is now deprecated, instead setting voltage |
| for suspend mode via the API which regulator driver provides is |
| recommended. |
| |
| regulator-changeable-in-suspend: |
| description: whether the default voltage and the regulator on/off |
| in suspend can be changed in runtime. |
| type: boolean |
| |
| regulator-mode: |
| description: operating mode in the given suspend state. The set |
| of possible operating modes depends on the capabilities of every |
| hardware so the valid modes are documented on each regulator device |
| tree binding document. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| |
| additionalProperties: false |
| |
| additionalProperties: true |
| |
| examples: |
| - | |
| xyzreg: regulator { |
| regulator-min-microvolt = <1000000>; |
| regulator-max-microvolt = <2500000>; |
| regulator-always-on; |
| vin-supply = <&vin>; |
| |
| regulator-state-mem { |
| regulator-on-in-suspend; |
| }; |
| }; |
| |
| ... |