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