1 /* Copyright (C) 2012 Dialog Semiconductor Ltd. 2 * 3 * This program is free software; you can redistribute it and/or modify 4 * it under the terms of the GNU General Public License as published by 5 * the Free Software Foundation; either version 2 of the License, or 6 * (at your option) any later version. 7 * 8 */ 9 #ifndef __DA9055_PDATA_H 10 #define __DA9055_PDATA_H 11 12 #define DA9055_MAX_REGULATORS 8 13 14 struct da9055; 15 struct gpio_desc; 16 17 enum gpio_select { 18 NO_GPIO = 0, 19 GPIO_1, 20 GPIO_2 21 }; 22 23 struct da9055_pdata { 24 int (*init) (struct da9055 *da9055); 25 int irq_base; 26 int gpio_base; 27 28 struct regulator_init_data *regulators[DA9055_MAX_REGULATORS]; 29 /* Enable RTC in RESET Mode */ 30 bool reset_enable; 31 /* 32 * GPI muxed pin to control 33 * regulator state A/B, 0 if not available. 34 */ 35 int *gpio_ren; 36 /* 37 * GPI muxed pin to control 38 * regulator set, 0 if not available. 39 */ 40 int *gpio_rsel; 41 /* 42 * Regulator mode control bits value (GPI offset) that 43 * that controls the regulator state, 0 if not available. 44 */ 45 enum gpio_select *reg_ren; 46 /* 47 * Regulator mode control bits value (GPI offset) that 48 * controls the regulator set A/B, 0 if not available. 49 */ 50 enum gpio_select *reg_rsel; 51 /* GPIO descriptors to enable regulator, NULL if not available */ 52 struct gpio_desc **ena_gpiods; 53 }; 54 #endif /* __DA9055_PDATA_H */ 55