Static regulator descriptor
struct regulator_desc { const char * name; const char * supply_name; int id; bool continuous_voltage_range; unsigned n_voltages; struct regulator_ops * ops; int irq; enum regulator_type type; struct module * owner; unsigned int min_uV; unsigned int uV_step; unsigned int linear_min_sel; int fixed_uV; unsigned int ramp_delay; const unsigned int * volt_table; unsigned int vsel_reg; unsigned int vsel_mask; unsigned int apply_reg; unsigned int apply_bit; unsigned int enable_reg; unsigned int enable_mask; unsigned int enable_val; unsigned int disable_val; bool enable_is_inverted; unsigned int bypass_reg; unsigned int bypass_mask; unsigned int bypass_val_on; unsigned int bypass_val_off; unsigned int enable_time; };
name
Identifying name for the regulator.
supply_name
Identifying the regulator supply
id
Numerical identifier for the regulator.
continuous_voltage_range
Indicates if the regulator can set any voltage within constrains range.
n_voltages
Number of selectors available for ops.list_voltage.
ops
Regulator operations table.
irq
Interrupt number for the regulator.
type
Indicates if the regulator is a voltage or current regulator.
owner
Module providing the regulator, used for refcounting.
min_uV
Voltage given by the lowest selector (if linear mapping)
uV_step
Voltage increase with each selector (if linear mapping)
linear_min_sel
Minimal selector for starting linear mapping
fixed_uV
Fixed voltage of rails.
ramp_delay
Time to settle down after voltage change (unit: uV/us)
volt_table
Voltage mapping table (if table based mapping)
vsel_reg
Register for selector when using regulator_regmap_X_voltage_
vsel_mask
Mask for register bitfield used for selector
apply_reg
Register for initiate voltage change on the output when using regulator_set_voltage_sel_regmap
apply_bit
Register bitfield used for initiate voltage change on the output when using regulator_set_voltage_sel_regmap
enable_reg
Register for control when using regmap enable/disable ops
enable_mask
Mask for control when using regmap enable/disable ops
enable_val
Enabling value for control when using regmap enable/disable ops
disable_val
Disabling value for control when using regmap enable/disable ops
enable_is_inverted
A flag to indicate set enable_mask bits to disable when using regulator_enable_regmap and friends APIs.
bypass_reg
Register for control when using regmap set_bypass
bypass_mask
Mask for control when using regmap set_bypass
bypass_val_on
Enabling value for control when using regmap set_bypass
bypass_val_off
Disabling value for control when using regmap set_bypass
enable_time
Time taken for initial enable of regulator (in uS).
Each regulator registered with the core is described with a structure of this type and a struct regulator_config. This structure contains the non-varying parts of the regulator description.
Liam Girdwood <[email protected]>
Author.
Mark Brown <[email protected]>
Wolfson Microelectronics,
Author.