xref: /OK3568_Linux_fs/kernel/drivers/pcmcia/max1600.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun #ifndef MAX1600_H
3*4882a593Smuzhiyun #define MAX1600_H
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun struct gpio_desc;
6*4882a593Smuzhiyun 
7*4882a593Smuzhiyun enum {
8*4882a593Smuzhiyun 	MAX1600_GPIO_0VCC = 0,
9*4882a593Smuzhiyun 	MAX1600_GPIO_1VCC,
10*4882a593Smuzhiyun 	MAX1600_GPIO_0VPP,
11*4882a593Smuzhiyun 	MAX1600_GPIO_1VPP,
12*4882a593Smuzhiyun 	MAX1600_GPIO_MAX,
13*4882a593Smuzhiyun 
14*4882a593Smuzhiyun 	MAX1600_CHAN_A,
15*4882a593Smuzhiyun 	MAX1600_CHAN_B,
16*4882a593Smuzhiyun 
17*4882a593Smuzhiyun 	MAX1600_CODE_LOW,
18*4882a593Smuzhiyun 	MAX1600_CODE_HIGH,
19*4882a593Smuzhiyun };
20*4882a593Smuzhiyun 
21*4882a593Smuzhiyun struct max1600 {
22*4882a593Smuzhiyun 	struct gpio_desc *gpio[MAX1600_GPIO_MAX];
23*4882a593Smuzhiyun 	struct device *dev;
24*4882a593Smuzhiyun 	unsigned int code;
25*4882a593Smuzhiyun };
26*4882a593Smuzhiyun 
27*4882a593Smuzhiyun int max1600_init(struct device *dev, struct max1600 **ptr,
28*4882a593Smuzhiyun 	unsigned int channel, unsigned int code);
29*4882a593Smuzhiyun 
30*4882a593Smuzhiyun int max1600_configure(struct max1600 *, unsigned int vcc, unsigned int vpp);
31*4882a593Smuzhiyun 
32*4882a593Smuzhiyun #endif
33