STRUCT REGULATOR_DES(9) API reference STRUCT REGULATOR_DES(9)NAME
struct_regulator_desc - Static regulator descriptor
SYNOPSIS
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;
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;
bool enable_is_inverted;
unsigned int bypass_reg;
unsigned int bypass_mask;
unsigned int enable_time;
};
MEMBERS
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
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_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
enable_time
Time taken for initial enable of regulator (in uS).
DESCRIPTION
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.
AUTHORS
Liam Girdwood <lrg@slimlogic.co.uk>
Author.
Mark Brown <broonie@opensource.wolfsonmicro.com>
Wolfson Microelectronics,
Author.
COPYRIGHT Kernel Hackers Manual 3.10 June 2014 STRUCT REGULATOR_DES(9)
Check Out this Related Man Page
STRUCT REGULATOR_OPS(9) API reference STRUCT REGULATOR_OPS(9)NAME
struct_regulator_ops - regulator operations.
SYNOPSIS
struct regulator_ops {
int (* list_voltage) (struct regulator_dev *, unsigned selector);
int (* set_voltage) (struct regulator_dev *, int min_uV, int max_uV,unsigned *selector);
int (* map_voltage) (struct regulator_dev *, int min_uV, int max_uV);
int (* set_voltage_sel) (struct regulator_dev *, unsigned selector);
int (* get_voltage) (struct regulator_dev *);
int (* get_voltage_sel) (struct regulator_dev *);
int (* set_current_limit) (struct regulator_dev *,int min_uA, int max_uA);
int (* get_current_limit) (struct regulator_dev *);
int (* enable) (struct regulator_dev *);
int (* disable) (struct regulator_dev *);
int (* is_enabled) (struct regulator_dev *);
int (* set_mode) (struct regulator_dev *, unsigned int mode);
unsigned int (* get_mode) (struct regulator_dev *);
int (* enable_time) (struct regulator_dev *);
int (* set_ramp_delay) (struct regulator_dev *, int ramp_delay);
int (* set_voltage_time_sel) (struct regulator_dev *,unsigned int old_selector,unsigned int new_selector);
int (* get_status) (struct regulator_dev *);
unsigned int (* get_optimum_mode) (struct regulator_dev *, int input_uV,int output_uV, int load_uA);
int (* set_bypass) (struct regulator_dev *dev, bool enable);
int (* get_bypass) (struct regulator_dev *dev, bool *enable);
int (* set_suspend_voltage) (struct regulator_dev *, int uV);
int (* set_suspend_enable) (struct regulator_dev *);
int (* set_suspend_disable) (struct regulator_dev *);
int (* set_suspend_mode) (struct regulator_dev *, unsigned int mode);
};
MEMBERS
list_voltage
Return one of the supported voltages, in microvolts; zero if the selector indicates a voltage that is unusable on this system; or
negative errno. Selectors range from zero to one less than regulator_desc.n_voltages. Voltages may be reported in any order.
set_voltage
Set the voltage for the regulator within the range specified. The driver should select the voltage closest to min_uV.
map_voltage
Convert a voltage into a selector
set_voltage_sel
Set the voltage for the regulator using the specified selector.
get_voltage
Return the currently configured voltage for the regulator.
get_voltage_sel
Return the currently configured voltage selector for the regulator.
set_current_limit
Configure a limit for a current-limited regulator. The driver should select the current closest to max_uA.
get_current_limit
Get the configured limit for a current-limited regulator.
enable
Configure the regulator as enabled.
disable
Configure the regulator as disabled.
is_enabled
Return 1 if the regulator is enabled, 0 if not. May also return negative errno.
set_mode
Set the configured operating mode for the regulator.
get_mode
Get the configured operating mode for the regulator.
enable_time
Time taken for the regulator voltage output voltage to stabilise after being enabled, in microseconds.
set_ramp_delay
Set the ramp delay for the regulator. The driver should select ramp delay equal to or less than(closest) ramp_delay.
set_voltage_time_sel
Time taken for the regulator voltage output voltage to stabilise after being set to a new value, in microseconds. The function provides
the from and to voltage selector, the function should return the worst case.
get_status
Return actual (not as-configured) status of regulator, as a REGULATOR_STATUS value (or negative errno)
get_optimum_mode
Get the most efficient operating mode for the regulator when running with the specified parameters.
set_bypass
Set the regulator in bypass mode.
get_bypass
Get the regulator bypass mode state.
set_suspend_voltage
Set the voltage for the regulator when the system is suspended.
set_suspend_enable
Mark the regulator as enabled when the system is suspended.
set_suspend_disable
Mark the regulator as disabled when the system is suspended.
set_suspend_mode
Set the operating mode for the regulator when the system is suspended.
DESCRIPTION
This struct describes regulator operations which can be implemented by regulator chip drivers.
AUTHORS
Liam Girdwood <lrg@slimlogic.co.uk>
Author.
Mark Brown <broonie@opensource.wolfsonmicro.com>
Wolfson Microelectronics,
Author.
COPYRIGHT Kernel Hackers Manual 3.10 June 2014 STRUCT REGULATOR_OPS(9)