xref: /linux/include/linux/regulator/fan53555.h (revision 4413e16d9d21673bb5048a2e542f1aaa00015c2e)
1 /*
2  * fan53555.h - Fairchild Regulator FAN53555 Driver
3  *
4  * Copyright (C) 2012 Marvell Technology Ltd.
5  * Yunfan Zhang <yfzhang@marvell.com>
6  *
7  * This package is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10  *
11  */
12 
13 #ifndef __FAN53555_H__
14 
15 /* VSEL ID */
16 enum {
17 	FAN53555_VSEL_ID_0 = 0,
18 	FAN53555_VSEL_ID_1,
19 };
20 
21 /* Transition slew rate limiting from a low to high voltage.
22  * -----------------------
23  *   Bin |Slew Rate(mV/uS)
24  * ------|----------------
25  *   000 |    64.00
26  * ------|----------------
27  *   001 |    32.00
28  * ------|----------------
29  *   010 |    16.00
30  * ------|----------------
31  *   011 |     8.00
32  * ------|----------------
33  *   100 |     4.00
34  * ------|----------------
35  *   101 |     2.00
36  * ------|----------------
37  *   110 |     1.00
38  * ------|----------------
39  *   111 |     0.50
40  * -----------------------
41  */
42 enum {
43 	FAN53555_SLEW_RATE_64MV = 0,
44 	FAN53555_SLEW_RATE_32MV,
45 	FAN53555_SLEW_RATE_16MV,
46 	FAN53555_SLEW_RATE_8MV,
47 	FAN53555_SLEW_RATE_4MV,
48 	FAN53555_SLEW_RATE_2MV,
49 	FAN53555_SLEW_RATE_1MV,
50 	FAN53555_SLEW_RATE_0_5MV,
51 };
52 
53 struct fan53555_platform_data {
54 	struct regulator_init_data *regulator;
55 	unsigned int slew_rate;
56 	/* Sleep VSEL ID */
57 	unsigned int sleep_vsel_id;
58 };
59 
60 #endif /* __FAN53555_H__ */
61