---
name: "struct_regulation_constraints"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/struct_regulation_constraints"
---

# struct\_regulation\_constraints(9)

regulator operating constraints.

## NAME

struct\_regulation\_constraints - regulator operating constraints.

## SYNOPSIS

```
struct regulation_constraints {
  const char * name;
  int min_uV;
  int max_uV;
  int uV_offset;
  int min_uA;
  int max_uA;
  int ilim_uA;
  int system_load;
  unsigned int valid_modes_mask;
  unsigned int valid_ops_mask;
  int input_uV;
  struct regulator_state state_disk;
  struct regulator_state state_mem;
  struct regulator_state state_standby;
  suspend_state_t initial_state;
  unsigned int initial_mode;
  unsigned int ramp_delay;
  unsigned int enable_time;
  unsigned int active_discharge;
  unsigned always_on:1;
  unsigned boot_on:1;
  unsigned apply_uV:1;
  unsigned ramp_disable:1;
  unsigned soft_start:1;
  unsigned pull_down:1;
  unsigned over_current_protection:1;
};
```

## MEMBERS

name

Descriptive name for the constraints, used for display purposes.

min\_uV

Smallest voltage consumers may set.

max\_uV

Largest voltage consumers may set.

uV\_offset

Offset applied to voltages from consumer to compensate for voltage drops.

min\_uA

Smallest current consumers may set.

max\_uA

Largest current consumers may set.

ilim\_uA

Maximum input current.

system\_load

Load that isn't captured by any consumer requests.

valid\_modes\_mask

Mask of modes which may be configured by consumers.

valid\_ops\_mask

Operations which may be performed by consumers.

input\_uV

Input voltage for regulator when supplied by another regulator.

state\_disk

State for regulator when system is suspended in disk mode.

state\_mem

State for regulator when system is suspended in mem mode.

state\_standby

State for regulator when system is suspended in standby mode.

initial\_state

Suspend state to set by default.

initial\_mode

Mode to set at startup.

ramp\_delay

Time to settle down after voltage change (unit: uV/us)

enable\_time

Turn-on time of the rails (unit: microseconds)

active\_discharge

Enable/disable active discharge. The enum regulator\_active\_discharge values are used for initialisation.

always\_on

Set if the regulator should never be disabled.

boot\_on

Set if the regulator is enabled when the system is initially started. If the regulator is not enabled by the hardware or bootloader then it will be enabled when the constraints are applied.

apply\_uV

Apply the voltage constraint when initialising.

ramp\_disable

Disable ramp delay when initialising or when setting voltage.

soft\_start

Enable soft start so that voltage ramps slowly.

pull\_down

Enable pull down when regulator is disabled.

over\_current\_protection

Auto disable on over current event.

## DESCRIPTION

This struct describes regulator and board/machine specific constraints.

## AUTHORS

**Liam Girdwood** \<lrg@slimlogic.co.uk\>

Author.

**Mark Brown** \<broonie@opensource.wolfsonmicro.com\>\
 Wolfson Microelectronics,

Author.

## COPYRIGHT
