Lines Matching +full:disable +full:- +full:over +full:- +full:current
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * driver.h -- SoC Regulator driver support.
57 * struct regulator_ops - regulator operations.
60 * @disable: Configure the regulator as disabled.
70 * return -ENOTRECOVERABLE if regulator can't be read at
73 * regulator; return -ENOTRECOVERABLE if regulator can't
80 * @set_current_limit: Configure a limit for a current-limited regulator.
81 * The driver should select the current closest to max_uA.
82 * @get_current_limit: Get the configured limit for a current-limited regulator.
85 * @set_over_current_protection: Support enabling of and setting limits for over
86 * current situation detection. Detection can be configured for three
89 * - REGULATOR_SEVERITY_PROT should automatically shut down the regulator(s).
91 * - REGULATOR_SEVERITY_ERR should indicate that over-current situation is
95 * - REGULATOR_SEVERITY_WARN should indicate situation where hardware is
101 * @set_over_voltage_protection: Support enabling of and setting limits for over
103 * severities as over current protection. Units of uV.
106 * severities as over current protection. Units of uV.
107 * @set_thermal_protection: Support enabling of and setting limits for over
109 * severities as over current protection. Units of degree Kelvin.
111 * @set_active_discharge: Set active discharge enable/disable of regulators.
115 * @get_error_flags: Get the current error(s) for the regulator.
116 * @get_status: Return actual (not as-configured) status of regulator, as a
167 /* get/set regulator current */
183 /* enable/disable regulator */
185 int (*disable) (struct regulator_dev *); member
192 /* retrieve current error flags on the regulator */
229 /* enable/disable regulator in suspend state */
242 * Regulators can either control voltage or current.
250 * struct regulator_desc - Static regulator descriptor
254 * structure contains the non-varying parts of the regulator
275 * @type: Indicates if the regulator is a voltage or current regulator.
281 * @n_current_limits: Number of selectors available for current limits
297 * @curr_table: Current limit mapping table (if table based mapping)
311 * @csel_reg: Register for current limit selector using regmap set_current_limit
312 * @csel_mask: Mask for register bitfield used for current limit selector
317 * @enable_reg: Register for control when using regmap enable/disable ops
318 * @enable_mask: Mask for control when using regmap enable/disable ops
319 * @enable_val: Enabling value for control when using regmap enable/disable ops
320 * @disable_val: Disabling value for control when using regmap enable/disable ops
321 * @enable_is_inverted: A flag to indicate set enable_mask bits to disable
344 * @ramp_reg: Register for controlling the regulator ramp-rate.
345 * @ramp_mask: Bitmask for the ramp-rate control register.
346 * @ramp_delay_table: Table for mapping the regulator ramp-rate values. Values
352 * @off_on_delay: guard time (in uS), before re-enabling a regulator
436 * struct regulator_config - Dynamic regulator descriptor
462 * struct regulator_err_state - regulator error/notification status
477 * struct regulator_irq_data - regulator error/notification status data
501 * struct regulator_irq_desc - notification sender for IRQ based events.
505 * best to shut-down regulator(s) or reboot the SOC if error
511 * @reread_ms: The time which is waited before attempting to re-read status
512 * at the worker if IC reading fails. Immediate re-read is done
514 * @irq_off_ms: The time which IRQ is kept disabled before re-evaluating the
538 * fatal_cnt times the core will call die() callback or power-off
541 * re-enabling IRQ. If implemented this should clear the error
544 * assumed to be cleared and IRQ is re-enabled.
548 * callback or if die() is not populated then attempt to power-off
551 * and IRQ will be re-enabled. Returning REGULATOR_ERROR_ON
557 * re-evaluated and re-sent.
603 * Voltage / Current regulator class device. One for each