Lines Matching +full:regulator +full:- +full:coupled +full:- +full:with

1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * driver.h -- SoC Regulator driver support.
9 * Regulator Driver Interface.
18 #include <linux/regulator/consumer.h>
37 /* The regulator is enabled but not regulating */
53 * struct regulator_ops - regulator operations.
55 * @enable: Configure the regulator as enabled.
56 * @disable: Configure the regulator as disabled.
57 * @is_enabled: Return 1 if the regulator is enabled, 0 if not.
60 * @set_voltage: Set the voltage for the regulator within the range specified.
62 * @set_voltage_sel: Set the voltage for the regulator using the specified
65 * @get_voltage: Return the currently configured voltage for the regulator;
66 * return -ENOTRECOVERABLE if regulator can't be read at
69 * regulator; return -ENOTRECOVERABLE if regulator can't
76 * @set_current_limit: Configure a limit for a current-limited regulator.
78 * @get_current_limit: Get the configured limit for a current-limited regulator.
86 * @set_mode: Set the configured operating mode for the regulator.
87 * @get_mode: Get the configured operating mode for the regulator.
88 * @get_error_flags: Get the current error(s) for the regulator.
89 * @get_status: Return actual (not as-configured) status of regulator, as a
91 * @get_optimum_mode: Get the most efficient operating mode for the regulator
92 * when running with the specified parameters.
93 * @set_load: Set the load for the regulator.
95 * @set_bypass: Set the regulator in bypass mode.
96 * @get_bypass: Get the regulator bypass mode state.
98 * @enable_time: Time taken for the regulator voltage output voltage to
100 * @set_ramp_delay: Set the ramp delay for the regulator. The driver should
102 * @set_voltage_time: Time taken for the regulator voltage output voltage
106 * @set_voltage_time_sel: Time taken for the regulator voltage output voltage
110 * @set_soft_start: Enable soft start for the regulator.
112 * @set_suspend_voltage: Set the voltage for the regulator when the system
114 * @set_suspend_enable: Mark the regulator as enabled when the system is
116 * @set_suspend_disable: Mark the regulator as disabled when the system is
118 * @set_suspend_mode: Set the operating mode for the regulator when the
120 * @resume: Resume operation of suspended regulator.
121 * @set_pull_down: Configure the regulator to pull down when the regulator
124 * This struct describes regulator operations which can be implemented by
125 * regulator chip drivers.
132 /* get/set regulator voltage */
140 /* get/set regulator current */
149 /* enable/disable regulator */
154 /* get/set regulator operating mode (defined in consumer.h) */
158 /* retrieve current error flags on the regulator */
161 /* Time taken to enable or set voltage on the regulator */
172 /* report regulator status ... most other accessors report
174 * from Linux (and other sources) with the actual load.
179 /* get most efficient regulator operating mode for load */
182 /* set the load on the regulator */
189 /* the operations below are for configuration of regulator state when
192 /* set regulator suspend voltage */
195 /* enable/disable regulator in suspend state */
199 /* set regulator suspend operating mode (defined in consumer.h) */
216 * struct regulator_desc - Static regulator descriptor
218 * Each regulator registered with the core is described with a
220 * structure contains the non-varying parts of the regulator
223 * @name: Identifying name for the regulator.
224 * @supply_name: Identifying the regulator supply
225 * @of_match: Name used to identify regulator in DT.
226 * @regulators_node: Name of node containing regulator definitions in DT.
228 * Will be called for each regulator parsed from DT, during
236 * @id: Numerical identifier for the regulator.
237 * @ops: Regulator operations table.
238 * @irq: Interrupt number for the regulator.
239 * @type: Indicates if the regulator is a voltage or current regulator.
240 * @owner: Module providing the regulator, used for refcounting.
242 * @continuous_voltage_range: Indicates if the regulator can set any
248 * @uV_step: Voltage increase with each selector (if linear mapping)
252 * @min_dropout_uV: The minimum dropout voltage this regulator can handle
269 * set directly), if >0 then the regulator API will ramp the
305 * @enable_time: Time taken for initial enable of regulator (in uS).
306 * @off_on_delay: guard time (in uS), before re-enabling a regulator
309 * the regulator was actually enabled. Max upto enable_time.
384 * struct regulator_config - Dynamic regulator descriptor
386 * Each regulator registered with the core is described with a
388 * contains the runtime variable parts of the regulator description.
390 * @dev: struct device for the regulator
392 * @driver_data: private regulator data
397 * @ena_gpiod: GPIO controlling regulator enable.
412 * Describes coupling of regulators. Each regulator should have
414 * When a new coupled regulator is resolved, n_resolved is
427 * Voltage / Current regulator class device. One for each
428 * regulator.
430 * This should *not* be used directly by anything except the regulator
456 struct regulator *supply; /* for tree */
471 /* time when this regulator was disabled last time */
537 * Helper functions intended to be used by regulator drivers prior registering