1*55f4fa4eSRobert Jarzmik /*
2*55f4fa4eSRobert Jarzmik  * max1586.h  --  Voltage regulation for the Maxim 1586
3*55f4fa4eSRobert Jarzmik  *
4*55f4fa4eSRobert Jarzmik  * Copyright (C) 2008 Robert Jarzmik
5*55f4fa4eSRobert Jarzmik  *
6*55f4fa4eSRobert Jarzmik  * This program is free software; you can redistribute it and/or modify
7*55f4fa4eSRobert Jarzmik  * it under the terms of the GNU General Public License as published by
8*55f4fa4eSRobert Jarzmik  * the Free Software Foundation; either version 2 of the License, or
9*55f4fa4eSRobert Jarzmik  * (at your option) any later version.
10*55f4fa4eSRobert Jarzmik  *
11*55f4fa4eSRobert Jarzmik  * This program is distributed in the hope that it will be useful,
12*55f4fa4eSRobert Jarzmik  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13*55f4fa4eSRobert Jarzmik  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14*55f4fa4eSRobert Jarzmik  * GNU General Public License for more details.
15*55f4fa4eSRobert Jarzmik  *
16*55f4fa4eSRobert Jarzmik  * You should have received a copy of the GNU General Public License
17*55f4fa4eSRobert Jarzmik  * along with this program; if not, write to the Free Software
18*55f4fa4eSRobert Jarzmik  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19*55f4fa4eSRobert Jarzmik  */
20*55f4fa4eSRobert Jarzmik 
21*55f4fa4eSRobert Jarzmik #ifndef REGULATOR_MAX1586
22*55f4fa4eSRobert Jarzmik #define REGULATOR_MAX1586
23*55f4fa4eSRobert Jarzmik 
24*55f4fa4eSRobert Jarzmik #include <linux/regulator/machine.h>
25*55f4fa4eSRobert Jarzmik 
26*55f4fa4eSRobert Jarzmik #define MAX1586_V3 0
27*55f4fa4eSRobert Jarzmik #define MAX1586_V6 1
28*55f4fa4eSRobert Jarzmik 
29*55f4fa4eSRobert Jarzmik /**
30*55f4fa4eSRobert Jarzmik  * max1586_subdev_data - regulator data
31*55f4fa4eSRobert Jarzmik  * @id: regulator Id (either MAX1586_V3 or MAX1586_V6)
32*55f4fa4eSRobert Jarzmik  * @name: regulator cute name (example for V3: "vcc_core")
33*55f4fa4eSRobert Jarzmik  * @platform_data: regulator init data (contraints, supplies, ...)
34*55f4fa4eSRobert Jarzmik  */
35*55f4fa4eSRobert Jarzmik struct max1586_subdev_data {
36*55f4fa4eSRobert Jarzmik 	int				id;
37*55f4fa4eSRobert Jarzmik 	char				*name;
38*55f4fa4eSRobert Jarzmik 	struct regulator_init_data	*platform_data;
39*55f4fa4eSRobert Jarzmik };
40*55f4fa4eSRobert Jarzmik 
41*55f4fa4eSRobert Jarzmik /**
42*55f4fa4eSRobert Jarzmik  * max1586_platform_data - platform data for max1586
43*55f4fa4eSRobert Jarzmik  * @num_subdevs: number of regultors used (may be 1 or 2)
44*55f4fa4eSRobert Jarzmik  * @subdevs: regulator used
45*55f4fa4eSRobert Jarzmik  *           At most, there will be a regulator for V3 and one for V6 voltages.
46*55f4fa4eSRobert Jarzmik  */
47*55f4fa4eSRobert Jarzmik struct max1586_platform_data {
48*55f4fa4eSRobert Jarzmik 	int num_subdevs;
49*55f4fa4eSRobert Jarzmik 	struct max1586_subdev_data *subdevs;
50*55f4fa4eSRobert Jarzmik };
51*55f4fa4eSRobert Jarzmik 
52*55f4fa4eSRobert Jarzmik #endif
53