xref: /linux/include/dt-bindings/regulator/qcom,rpmh-regulator.h (revision e9f0878c4b2004ac19581274c1ae4c61ae3ca70e)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (c) 2018, The Linux Foundation. All rights reserved. */
3 
4 #ifndef __QCOM_RPMH_REGULATOR_H
5 #define __QCOM_RPMH_REGULATOR_H
6 
7 /*
8  * These mode constants may be used to specify modes for various RPMh regulator
9  * device tree properties (e.g. regulator-initial-mode).  Each type of regulator
10  * supports a subset of the possible modes.
11  *
12  * %RPMH_REGULATOR_MODE_RET:	Retention mode in which only an extremely small
13  *				load current is allowed.  This mode is supported
14  *				by LDO and SMPS type regulators.
15  * %RPMH_REGULATOR_MODE_LPM:	Low power mode in which a small load current is
16  *				allowed.  This mode corresponds to PFM for SMPS
17  *				and BOB type regulators.  This mode is supported
18  *				by LDO, HFSMPS, BOB, and PMIC4 FTSMPS type
19  *				regulators.
20  * %RPMH_REGULATOR_MODE_AUTO:	Auto mode in which the regulator hardware
21  *				automatically switches between LPM and HPM based
22  *				upon the real-time load current.  This mode is
23  *				supported by HFSMPS, BOB, and PMIC4 FTSMPS type
24  *				regulators.
25  * %RPMH_REGULATOR_MODE_HPM:	High power mode in which the full rated current
26  *				of the regulator is allowed.  This mode
27  *				corresponds to PWM for SMPS and BOB type
28  *				regulators.  This mode is supported by all types
29  *				of regulators.
30  */
31 #define RPMH_REGULATOR_MODE_RET		0
32 #define RPMH_REGULATOR_MODE_LPM		1
33 #define RPMH_REGULATOR_MODE_AUTO	2
34 #define RPMH_REGULATOR_MODE_HPM		3
35 
36 #endif
37