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