1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * dst-bt878.h: part of the DST driver for the TwinHan DST Frontend
4  *
5  * Copyright (C) 2003 Jamie Honan
6  */
7 
8 struct dst_gpio_enable {
9 	u32	mask;
10 	u32	enable;
11 };
12 
13 struct dst_gpio_output {
14 	u32	mask;
15 	u32	highvals;
16 };
17 
18 struct dst_gpio_read {
19 	unsigned long value;
20 };
21 
22 union dst_gpio_packet {
23 	struct dst_gpio_enable enb;
24 	struct dst_gpio_output outp;
25 	struct dst_gpio_read rd;
26 	int    psize;
27 };
28 
29 #define DST_IG_ENABLE	0
30 #define DST_IG_WRITE	1
31 #define DST_IG_READ	2
32 #define DST_IG_TS       3
33 
34 struct bt878;
35 
36 int bt878_device_control(struct bt878 *bt, unsigned int cmd, union dst_gpio_packet *mp);
37