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