1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * max8660.h  --  Voltage regulation for the Maxim 8660/8661
4  *
5  * Copyright (C) 2009 Wolfram Sang, Pengutronix e.K.
6  */
7 
8 #ifndef __LINUX_REGULATOR_MAX8660_H
9 #define __LINUX_REGULATOR_MAX8660_H
10 
11 #include <linux/regulator/machine.h>
12 
13 enum {
14 	MAX8660_V3,
15 	MAX8660_V4,
16 	MAX8660_V5,
17 	MAX8660_V6,
18 	MAX8660_V7,
19 	MAX8660_V_END,
20 };
21 
22 /**
23  * max8660_subdev_data - regulator subdev data
24  * @id: regulator id
25  * @name: regulator name
26  * @platform_data: regulator init data
27  */
28 struct max8660_subdev_data {
29 	int				id;
30 	const char			*name;
31 	struct regulator_init_data	*platform_data;
32 };
33 
34 /**
35  * max8660_platform_data - platform data for max8660
36  * @num_subdevs: number of regulators used
37  * @subdevs: pointer to regulators used
38  * @en34_is_high: if EN34 is driven high, regulators cannot be en-/disabled.
39  */
40 struct max8660_platform_data {
41 	int num_subdevs;
42 	struct max8660_subdev_data *subdevs;
43 	unsigned en34_is_high:1;
44 };
45 #endif
46