1STRUCT REGULATOR_DES(9) API reference STRUCT REGULATOR_DES(9)
2
3
4
6 struct_regulator_desc - Static regulator descriptor
7
9 struct regulator_desc {
10 const char * name;
11 const char * supply_name;
12 int id;
13 bool continuous_voltage_range;
14 unsigned n_voltages;
15 struct regulator_ops * ops;
16 int irq;
17 enum regulator_type type;
18 struct module * owner;
19 unsigned int min_uV;
20 unsigned int uV_step;
21 unsigned int linear_min_sel;
22 unsigned int ramp_delay;
23 const unsigned int * volt_table;
24 unsigned int vsel_reg;
25 unsigned int vsel_mask;
26 unsigned int apply_reg;
27 unsigned int apply_bit;
28 unsigned int enable_reg;
29 unsigned int enable_mask;
30 bool enable_is_inverted;
31 unsigned int bypass_reg;
32 unsigned int bypass_mask;
33 unsigned int enable_time;
34 };
35
37 name
38 Identifying name for the regulator.
39
40 supply_name
41 Identifying the regulator supply
42
43 id
44 Numerical identifier for the regulator.
45
46 continuous_voltage_range
47 Indicates if the regulator can set any voltage within constrains
48 range.
49
50 n_voltages
51 Number of selectors available for ops.list_voltage.
52
53 ops
54 Regulator operations table.
55
56 irq
57 Interrupt number for the regulator.
58
59 type
60 Indicates if the regulator is a voltage or current regulator.
61
62 owner
63 Module providing the regulator, used for refcounting.
64
65 min_uV
66 Voltage given by the lowest selector (if linear mapping)
67
68 uV_step
69 Voltage increase with each selector (if linear mapping)
70
71 linear_min_sel
72 Minimal selector for starting linear mapping
73
74 ramp_delay
75 Time to settle down after voltage change (unit: uV/us)
76
77 volt_table
78 Voltage mapping table (if table based mapping)
79
80 vsel_reg
81 Register for selector when using regulator_regmap_X_voltage_
82
83 vsel_mask
84 Mask for register bitfield used for selector
85
86 apply_reg
87 Register for initiate voltage change on the output when using
88 regulator_set_voltage_sel_regmap
89
90 apply_bit
91 Register bitfield used for initiate voltage change on the output
92 when using regulator_set_voltage_sel_regmap
93
94 enable_reg
95 Register for control when using regmap enable/disable ops
96
97 enable_mask
98 Mask for control when using regmap enable/disable ops
99
100 enable_is_inverted
101 A flag to indicate set enable_mask bits to disable when using
102 regulator_enable_regmap and friends APIs.
103
104 bypass_reg
105 Register for control when using regmap set_bypass
106
107 bypass_mask
108 Mask for control when using regmap set_bypass
109
110 enable_time
111 Time taken for initial enable of regulator (in uS).
112
114 Each regulator registered with the core is described with a structure
115 of this type and a struct regulator_config. This structure contains the
116 non-varying parts of the regulator description.
117
119 Liam Girdwood <lrg@slimlogic.co.uk>
120 Author.
121
122 Mark Brown <broonie@opensource.wolfsonmicro.com>
123 Wolfson Microelectronics,
124
125
126 Author.
127
129Kernel Hackers Manual 3.10 June 2019 STRUCT REGULATOR_DES(9)