|
@@ -42,6 +42,13 @@ struct regulator;
|
|
|
#define REGULATOR_CHANGE_DRMS 0x10
|
|
|
#define REGULATOR_CHANGE_BYPASS 0x20
|
|
|
|
|
|
+/* Regulator active discharge flags */
|
|
|
+enum regulator_active_discharge {
|
|
|
+ REGULATOR_ACTIVE_DISCHARGE_DEFAULT,
|
|
|
+ REGULATOR_ACTIVE_DISCHARGE_DISABLE,
|
|
|
+ REGULATOR_ACTIVE_DISCHARGE_ENABLE,
|
|
|
+};
|
|
|
+
|
|
|
/**
|
|
|
* struct regulator_state - regulator state during low power system states
|
|
|
*
|
|
@@ -100,6 +107,9 @@ struct regulator_state {
|
|
|
* @initial_state: Suspend state to set by default.
|
|
|
* @initial_mode: Mode to set at startup.
|
|
|
* @ramp_delay: Time to settle down after voltage change (unit: uV/us)
|
|
|
+ * @active_discharge: Enable/disable active discharge. The enum
|
|
|
+ * regulator_active_discharge values are used for
|
|
|
+ * initialisation.
|
|
|
* @enable_time: Turn-on time of the rails (unit: microseconds)
|
|
|
*/
|
|
|
struct regulation_constraints {
|
|
@@ -140,6 +150,8 @@ struct regulation_constraints {
|
|
|
unsigned int ramp_delay;
|
|
|
unsigned int enable_time;
|
|
|
|
|
|
+ unsigned int active_discharge;
|
|
|
+
|
|
|
/* constraint flags */
|
|
|
unsigned always_on:1; /* regulator never off when system is on */
|
|
|
unsigned boot_on:1; /* bootloader/firmware enabled regulator */
|