1 /*
2  * act8865.h  --  Voltage regulation for active-semi act88xx PMUs
3  *
4  * Copyright (C) 2013 Atmel Corporation.
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; version 2 of the License.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  */
15 
16 #ifndef __LINUX_REGULATOR_ACT8865_H
17 #define __LINUX_REGULATOR_ACT8865_H
18 
19 #include <linux/regulator/machine.h>
20 
21 enum {
22 	ACT8865_ID_DCDC1,
23 	ACT8865_ID_DCDC2,
24 	ACT8865_ID_DCDC3,
25 	ACT8865_ID_LDO1,
26 	ACT8865_ID_LDO2,
27 	ACT8865_ID_LDO3,
28 	ACT8865_ID_LDO4,
29 	ACT8865_REG_NUM,
30 };
31 
32 enum {
33 	ACT8846_ID_REG1,
34 	ACT8846_ID_REG2,
35 	ACT8846_ID_REG3,
36 	ACT8846_ID_REG4,
37 	ACT8846_ID_REG5,
38 	ACT8846_ID_REG6,
39 	ACT8846_ID_REG7,
40 	ACT8846_ID_REG8,
41 	ACT8846_ID_REG9,
42 	ACT8846_ID_REG10,
43 	ACT8846_ID_REG11,
44 	ACT8846_ID_REG12,
45 	ACT8846_REG_NUM,
46 };
47 
48 enum {
49 	ACT8865,
50 	ACT8846,
51 };
52 
53 /**
54  * act8865_regulator_data - regulator data
55  * @id: regulator id
56  * @name: regulator name
57  * @platform_data: regulator init data
58  */
59 struct act8865_regulator_data {
60 	int id;
61 	const char *name;
62 	struct regulator_init_data *platform_data;
63 };
64 
65 /**
66  * act8865_platform_data - platform data for act8865
67  * @num_regulators: number of regulators used
68  * @regulators: pointer to regulators used
69  */
70 struct act8865_platform_data {
71 	int num_regulators;
72 	struct act8865_regulator_data *regulators;
73 };
74 #endif
75