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 16 enum gpio_select { 17 NO_GPIO = 0, 18 GPIO_1, 19 GPIO_2 20 }; 21 22 struct da9055_pdata { 23 int (*init) (struct da9055 *da9055); 24 int irq_base; 25 int gpio_base; 26 27 struct regulator_init_data *regulators[DA9055_MAX_REGULATORS]; 28 /* Enable RTC in RESET Mode */ 29 bool reset_enable; 30 /* 31 * GPI muxed pin to control 32 * regulator state A/B, 0 if not available. 33 */ 34 int *gpio_ren; 35 /* 36 * GPI muxed pin to control 37 * regulator set, 0 if not available. 38 */ 39 int *gpio_rsel; 40 /* 41 * Regulator mode control bits value (GPI offset) that 42 * that controls the regulator state, 0 if not available. 43 */ 44 enum gpio_select *reg_ren; 45 /* 46 * Regulator mode control bits value (GPI offset) that 47 * controls the regulator set A/B, 0 if not available. 48 */ 49 enum gpio_select *reg_rsel; 50 /* GPIOs to enable regulator, 0 if not available */ 51 int *ena_gpio; 52 }; 53 #endif /* __DA9055_PDATA_H */ 54