aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/regulator
diff options
context:
space:
mode:
authorYunfan Zhang <yfzhang@marvell.com>2012-09-08 06:52:18 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-09-09 21:55:22 -0400
commit49d8c59927e7887ea168a040e41c22937e10c30b (patch)
tree75ab6cb1fc1b03f252a3e1235cc2dde9e0954bc2 /include/linux/regulator
parent029dd3cefa46ecdd879f9b4e2df3bdf4371cc22c (diff)
regulator: Fairchild fan53555 support
This driver supports Fairchild FAN53555 Digitally Programmable TinyBuck Regulator. The FAN53555 is a step-down switching voltage regulator that delivers a digitally programmable output from an input voltage supply of 2.5V to 5.5V. The output voltage is programmed through an I2C interface. Signed-off-by: Yunfan Zhang <yfzhang@marvell.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'include/linux/regulator')
-rw-r--r--include/linux/regulator/fan53555.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/include/linux/regulator/fan53555.h b/include/linux/regulator/fan53555.h
new file mode 100644
index 000000000000..5c45c85d52ca
--- /dev/null
+++ b/include/linux/regulator/fan53555.h
@@ -0,0 +1,60 @@
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 */
16enum {
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 */
42enum {
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
53struct 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__ */