1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* Copyright (C) 2012 Dialog Semiconductor Ltd. 3 */ 4 #ifndef __DA9055_PDATA_H 5 #define __DA9055_PDATA_H 6 7 #define DA9055_MAX_REGULATORS 8 8 9 struct da9055; 10 struct gpio_desc; 11 12 enum gpio_select { 13 NO_GPIO = 0, 14 GPIO_1, 15 GPIO_2 16 }; 17 18 struct da9055_pdata { 19 int (*init) (struct da9055 *da9055); 20 int irq_base; 21 int gpio_base; 22 23 struct regulator_init_data *regulators[DA9055_MAX_REGULATORS]; 24 /* Enable RTC in RESET Mode */ 25 bool reset_enable; 26 /* 27 * GPI muxed pin to control 28 * regulator state A/B, 0 if not available. 29 */ 30 int *gpio_ren; 31 /* 32 * GPI muxed pin to control 33 * regulator set, 0 if not available. 34 */ 35 int *gpio_rsel; 36 /* 37 * Regulator mode control bits value (GPI offset) that 38 * controls the regulator state, 0 if not available. 39 */ 40 enum gpio_select *reg_ren; 41 /* 42 * Regulator mode control bits value (GPI offset) that 43 * controls the regulator set A/B, 0 if not available. 44 */ 45 enum gpio_select *reg_rsel; 46 /* GPIO descriptors to enable regulator, NULL if not available */ 47 struct gpio_desc **ena_gpiods; 48 }; 49 #endif /* __DA9055_PDATA_H */ 50