xref: /linux/include/linux/regulator/tps51632-regulator.h (revision bb9707077b4ee5f77bc9939b057ff8a0d410296f)
1 /*
2  * tps51632-regulator.h -- TPS51632 regulator
3  *
4  * Interface for regulator driver for TPS51632 3-2-1 Phase D-Cap Step Down
5  * Driverless Controller with serial VID control and DVFS.
6  *
7  * Copyright (C) 2012 NVIDIA Corporation
8 
9  * Author: Laxman Dewangan <ldewangan@nvidia.com>
10  *
11  * This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License as published by
13  * the Free Software Foundation; either version 2 of the License, or
14  * (at your option) any later version.
15  *
16  * This program is distributed in the hope that it will be useful, but WITHOUT
17  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
19  * more details.
20  *
21  * You should have received a copy of the GNU General Public License along
22  * with this program; if not, write to the Free Software Foundation, Inc.,
23  * 51 Franklin Street, Fifth Floor, Boston, MA	02110-1301, USA.
24  *
25  */
26 
27 #ifndef __LINUX_REGULATOR_TPS51632_H
28 #define __LINUX_REGULATOR_TPS51632_H
29 
30 /*
31  * struct tps51632_regulator_platform_data - tps51632 regulator platform data.
32  *
33  * @reg_init_data: The regulator init data.
34  * @enable_pwm_dvfs: Enable PWM DVFS or not.
35  * @dvfs_step_20mV: Step for DVFS is 20mV or 10mV.
36  * @max_voltage_uV: Maximum possible voltage in PWM-DVFS mode.
37  * @base_voltage_uV: Base voltage when PWM-DVFS enabled.
38  */
39 struct tps51632_regulator_platform_data {
40 	struct regulator_init_data *reg_init_data;
41 	bool enable_pwm_dvfs;
42 	bool dvfs_step_20mV;
43 	int max_voltage_uV;
44 	int base_voltage_uV;
45 };
46 
47 #endif /* __LINUX_REGULATOR_TPS51632_H */
48