xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/ssv6xxx/bridge/sdiobridge.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /*
2  * Copyright (c) 2015 South Silicon Valley Microelectronics Inc.
3  * Copyright (c) 2015 iComm Corporation
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  * This program is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12  * See the GNU General Public License for more details.
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 #ifndef SSVSDIOBRIDGE_H
18 #define SSVSDIOBRIDGE_H
19 #include <linux/etherdevice.h>
20 #include <linux/device.h>
21 #include <linux/interrupt.h>
22 #include <linux/leds.h>
23 #include <linux/completion.h>
24 #include <linux/ioctl.h>
25 #include <linux/types.h>
26 #include "sdiobridge_pub.h"
27 struct ssv_sdiobridge_glue
28 {
29     struct device *dev;
30  u8 blockMode;
31  u16 blockSize;
32  u8 autoAckInt;
33     unsigned int dataIOPort;
34     unsigned int regIOPort;
35     u8 funcFocus;
36     atomic_t irq_handling;
37     wait_queue_head_t irq_wq;
38     wait_queue_head_t read_wq;
39     spinlock_t rxbuflock;
40     void *bufaddr;
41  struct list_head rxbuf;
42     struct list_head rxreadybuf;
43     struct dentry *debugfs;
44     struct dentry *dump_entry;
45     u32 dump;
46 };
47 #define MANUFACTURER_SSV_CODE 0x3030
48 #define MANUFACTURER_ID_CABRIO_BASE 0x3030
49 #endif
50