xref: /linux/include/linux/mfd/da9055/pdata.h (revision ca55b2fef3a9373fcfc30f82fd26bc7fccbda732)
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