diff options
Diffstat (limited to 'include/linux/regulator')
-rw-r--r-- | include/linux/regulator/lp3971.h | 51 | ||||
-rw-r--r-- | include/linux/regulator/max1586.h | 63 | ||||
-rw-r--r-- | include/linux/regulator/userspace-consumer.h | 25 |
3 files changed, 139 insertions, 0 deletions
diff --git a/include/linux/regulator/lp3971.h b/include/linux/regulator/lp3971.h new file mode 100644 index 000000000000..61401649fe7d --- /dev/null +++ b/include/linux/regulator/lp3971.h | |||
@@ -0,0 +1,51 @@ | |||
1 | /* | ||
2 | * National Semiconductors LP3971 PMIC chip client interface | ||
3 | * | ||
4 | * Copyright (C) 2009 Samsung Electronics | ||
5 | * Author: Marek Szyprowski <m.szyprowski@samsung.com> | ||
6 | * | ||
7 | * Based on wm8400.h | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License as published by | ||
11 | * the Free Software Foundation; either version 2 of the License, or | ||
12 | * (at your option) any later version. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public License | ||
20 | * along with this program; if not, write to the Free Software | ||
21 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
22 | */ | ||
23 | |||
24 | #ifndef __LINUX_REGULATOR_LP3971_H | ||
25 | #define __LINUX_REGULATOR_LP3971_H | ||
26 | |||
27 | #include <linux/regulator/machine.h> | ||
28 | |||
29 | #define LP3971_LDO1 0 | ||
30 | #define LP3971_LDO2 1 | ||
31 | #define LP3971_LDO3 2 | ||
32 | #define LP3971_LDO4 3 | ||
33 | #define LP3971_LDO5 4 | ||
34 | |||
35 | #define LP3971_DCDC1 5 | ||
36 | #define LP3971_DCDC2 6 | ||
37 | #define LP3971_DCDC3 7 | ||
38 | |||
39 | #define LP3971_NUM_REGULATORS 8 | ||
40 | |||
41 | struct lp3971_regulator_subdev { | ||
42 | int id; | ||
43 | struct regulator_init_data *initdata; | ||
44 | }; | ||
45 | |||
46 | struct lp3971_platform_data { | ||
47 | int num_regulators; | ||
48 | struct lp3971_regulator_subdev *regulators; | ||
49 | }; | ||
50 | |||
51 | #endif | ||
diff --git a/include/linux/regulator/max1586.h b/include/linux/regulator/max1586.h new file mode 100644 index 000000000000..44563192bf16 --- /dev/null +++ b/include/linux/regulator/max1586.h | |||
@@ -0,0 +1,63 @@ | |||
1 | /* | ||
2 | * max1586.h -- Voltage regulation for the Maxim 1586 | ||
3 | * | ||
4 | * Copyright (C) 2008 Robert Jarzmik | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
19 | */ | ||
20 | |||
21 | #ifndef REGULATOR_MAX1586 | ||
22 | #define REGULATOR_MAX1586 | ||
23 | |||
24 | #include <linux/regulator/machine.h> | ||
25 | |||
26 | #define MAX1586_V3 0 | ||
27 | #define MAX1586_V6 1 | ||
28 | |||
29 | /* precalculated values for v3_gain */ | ||
30 | #define MAX1586_GAIN_NO_R24 1000000 /* 700000 .. 1475000 mV */ | ||
31 | #define MAX1586_GAIN_R24_3k32 1051098 /* 735768 .. 1550369 mV */ | ||
32 | #define MAX1586_GAIN_R24_5k11 1078648 /* 755053 .. 1591005 mV */ | ||
33 | #define MAX1586_GAIN_R24_7k5 1115432 /* 780802 .. 1645262 mV */ | ||
34 | |||
35 | /** | ||
36 | * max1586_subdev_data - regulator data | ||
37 | * @id: regulator Id (either MAX1586_V3 or MAX1586_V6) | ||
38 | * @name: regulator cute name (example for V3: "vcc_core") | ||
39 | * @platform_data: regulator init data (contraints, supplies, ...) | ||
40 | */ | ||
41 | struct max1586_subdev_data { | ||
42 | int id; | ||
43 | char *name; | ||
44 | struct regulator_init_data *platform_data; | ||
45 | }; | ||
46 | |||
47 | /** | ||
48 | * max1586_platform_data - platform data for max1586 | ||
49 | * @num_subdevs: number of regultors used (may be 1 or 2) | ||
50 | * @subdevs: regulator used | ||
51 | * At most, there will be a regulator for V3 and one for V6 voltages. | ||
52 | * @v3_gain: gain on the V3 voltage output multiplied by 1e6. | ||
53 | * This can be calculated as ((1 + R24/R25 + R24/185.5kOhm) * 1e6) | ||
54 | * for an external resistor configuration as described in the | ||
55 | * data sheet (R25=100kOhm). | ||
56 | */ | ||
57 | struct max1586_platform_data { | ||
58 | int num_subdevs; | ||
59 | struct max1586_subdev_data *subdevs; | ||
60 | int v3_gain; | ||
61 | }; | ||
62 | |||
63 | #endif | ||
diff --git a/include/linux/regulator/userspace-consumer.h b/include/linux/regulator/userspace-consumer.h new file mode 100644 index 000000000000..b4554ce9d4bb --- /dev/null +++ b/include/linux/regulator/userspace-consumer.h | |||
@@ -0,0 +1,25 @@ | |||
1 | #ifndef __REGULATOR_PLATFORM_CONSUMER_H_ | ||
2 | #define __REGULATOR_PLATFORM_CONSUMER_H_ | ||
3 | |||
4 | struct regulator_consumer_supply; | ||
5 | |||
6 | /** | ||
7 | * struct regulator_userspace_consumer_data - line consumer | ||
8 | * initialisation data. | ||
9 | * | ||
10 | * @name: Name for the consumer line | ||
11 | * @num_supplies: Number of supplies feeding the line | ||
12 | * @supplies: Supplies configuration. | ||
13 | * @init_on: Set if the regulators supplying the line should be | ||
14 | * enabled during initialisation | ||
15 | */ | ||
16 | struct regulator_userspace_consumer_data { | ||
17 | const char *name; | ||
18 | |||
19 | int num_supplies; | ||
20 | struct regulator_bulk_data *supplies; | ||
21 | |||
22 | bool init_on; | ||
23 | }; | ||
24 | |||
25 | #endif /* __REGULATOR_PLATFORM_CONSUMER_H_ */ | ||