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