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