regulator: tps65090: add wait_timeout support for FETx
[linux-2.6.git] / include / linux / regulator / tps65090-regulator.h
1
2 /*
3  * Regulator driver interface for TI TPS65090 PMIC family
4  *
5  * Copyright (c) 2012, NVIDIA CORPORATION.  All rights reserved.
6
7  * This program is free software; you can redistribute it and/or modify it
8  * under the terms and conditions of the GNU General Public License,
9  * version 2, as published by the Free Software Foundation.
10
11  * This program is distributed in the hope it will be useful, but WITHOUT
12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
14  * more details.
15
16  * You should have received a copy of the GNU General Public License
17  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18  */
19
20 #ifndef __REGULATOR_TPS65090_H
21 #define __REGULATOR_TPS65090_H
22
23 #include <linux/regulator/machine.h>
24
25 #define tps65090_rails(_name) "tps65090_"#_name
26
27 enum {
28         TPS65090_REGULATOR_DCDC1,
29         TPS65090_REGULATOR_DCDC2,
30         TPS65090_REGULATOR_DCDC3,
31         TPS65090_REGULATOR_LDO1,
32         TPS65090_REGULATOR_LDO2,
33         TPS65090_REGULATOR_FET1,
34         TPS65090_REGULATOR_FET2,
35         TPS65090_REGULATOR_FET3,
36         TPS65090_REGULATOR_FET4,
37         TPS65090_REGULATOR_FET5,
38         TPS65090_REGULATOR_FET6,
39         TPS65090_REGULATOR_FET7,
40 };
41
42 /*
43  * struct tps65090_regulator_platform_data
44  *
45  * @reg_init_data: The regulator init data.
46  * @id: Regulator ID.
47  * @enable_ext_control: Enable extrenal control or not. Only available for
48  *      DCDC1, DCDC2 and DCDC3.
49  * @gpio: Gpio number if external control is enabled and controlled through
50  *      gpio.
51  * @wait_timeout_us: wait timeout in microseconds;
52  *      >0 : specify minimum wait timeout in us for FETx, will update WTFET[1:0]
53  *           in FETx_CTRL reg;
54  *       0 : not to update WTFET[1:0] in FETx_CTRL reg for FETx;
55  *      -1 : for non-FETx.
56  */
57
58 struct tps65090_regulator_platform_data {
59         int id;
60         bool enable_ext_control;
61         int gpio;
62         struct regulator_init_data *reg_init_data;
63         int wait_timeout_us;
64 };
65
66 #endif  /* __REGULATOR_TPS65090_H */