1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
/*
* include/linux/regulator/tps6591x-regulator.h
*
* Interface for regulator driver for TI TPS6591x PMIC family
*
* Copyright (C) 2011 NVIDIA Corporation
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
#ifndef __REGULATOR_TPS6591X_H
#define __REGULATOR_TPS6591X_H
#include <linux/regulator/machine.h>
#define tps6591x_rails(_name) "tps6591x_"#_name
enum {
TPS6591X_ID_VIO,
TPS6591X_ID_VDD_1,
TPS6591X_ID_VDD_2,
TPS6591X_ID_VDDCTRL,
TPS6591X_ID_LDO_1,
TPS6591X_ID_LDO_2,
TPS6591X_ID_LDO_3,
TPS6591X_ID_LDO_4,
TPS6591X_ID_LDO_5,
TPS6591X_ID_LDO_6,
TPS6591X_ID_LDO_7,
TPS6591X_ID_LDO_8,
};
enum tps6591x_ext_control {
EXT_CTRL_NONE = 0x0,
EXT_CTRL_EN1,
EXT_CTRL_EN2,
EXT_CTRL_SLEEP_OFF,
};
enum tps6591x_config_flags {
LDO_LOW_POWER_ON_SUSPEND = 0x1,
};
/*
* struct tps6591x_regulator_platform_data - tps6591x regulator platform data.
*
* @regulator: The regulator init data.
* @init_uV: initial micro volts which need to be set.
* @init_enable: Enable or do not enable the rails during initialization.
* @init_apply: Init parameter applied or not.
* @slew_rate_uV_per_us: Slew rate microvolt per microsec.
*/
struct tps6591x_regulator_platform_data {
struct regulator_init_data regulator;
int init_uV;
unsigned init_enable:1;
unsigned init_apply:1;
enum tps6591x_ext_control ectrl;
int slew_rate_uV_per_us;
unsigned int flags;
};
#endif /* __REGULATOR_TPS6591X_H */
|