Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) /* SPDX-License-Identifier: GPL-2.0-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3)  *	Copyright (c) 2004, 2005 Jeroen Vreeken (pe1rxq@amsat.org)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5)  *	Parts of this driver have been derived from a wlan-ng version
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6)  *	modified by ZyDAS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7)  *	Copyright (C) 1999 AbsoluteValue Systems, Inc.  All Rights Reserved.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) #ifndef _INCLUDE_ZD1201_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) #define _INCLUDE_ZD1201_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) #define ZD1201_NUMKEYS		4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) #define ZD1201_MAXKEYLEN	13
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) #define ZD1201_MAXMULTI		16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) #define ZD1201_FRAGMAX		2500
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) #define ZD1201_FRAGMIN		256
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) #define ZD1201_RTSMAX		2500
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) #define ZD1201_RXSIZE		3000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) struct zd1201 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 	struct usb_device	*usb;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) 	int			removed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) 	struct net_device	*dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 	struct iw_statistics	iwstats;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 	int			endp_in;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 	int			endp_out;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 	int			endp_out2;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 	struct urb		*rx_urb;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 	struct urb		*tx_urb;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 	unsigned char 		rxdata[ZD1201_RXSIZE];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) 	int			rxlen;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 	wait_queue_head_t	rxdataq;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 	int			rxdatas;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 	struct hlist_head	fraglist;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 	unsigned char		txdata[ZD1201_RXSIZE];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 	int			ap;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 	char			essid[IW_ESSID_MAX_SIZE+1];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 	int			essidlen;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 	int			mac_enabled;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 	int			was_enabled;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 	int			monitor;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 	int			encode_enabled;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 	int			encode_restricted;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 	unsigned char		encode_keys[ZD1201_NUMKEYS][ZD1201_MAXKEYLEN];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 	int			encode_keylen[ZD1201_NUMKEYS];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) struct zd1201_frag {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 	struct hlist_node	fnode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 	int			seq;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 	struct sk_buff		*skb;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) #define ZD1201SIWHOSTAUTH SIOCIWFIRSTPRIV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) #define ZD1201GIWHOSTAUTH ZD1201SIWHOSTAUTH+1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) #define ZD1201SIWAUTHSTA SIOCIWFIRSTPRIV+2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) #define ZD1201SIWMAXASSOC SIOCIWFIRSTPRIV+4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) #define ZD1201GIWMAXASSOC ZD1201SIWMAXASSOC+1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) #define ZD1201_FW_TIMEOUT	(1000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) #define ZD1201_TX_TIMEOUT	(2000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) #define ZD1201_USB_CMDREQ	0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) #define ZD1201_USB_RESREQ	1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) #define	ZD1201_CMDCODE_INIT	0x00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) #define ZD1201_CMDCODE_ENABLE	0x01
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) #define ZD1201_CMDCODE_DISABLE	0x02
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) #define ZD1201_CMDCODE_ALLOC	0x0a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) #define ZD1201_CMDCODE_INQUIRE	0x11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) #define ZD1201_CMDCODE_SETRXRID	0x17
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) #define ZD1201_CMDCODE_ACCESS	0x21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) #define ZD1201_PACKET_EVENTSTAT	0x0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) #define ZD1201_PACKET_RXDATA	0x1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) #define ZD1201_PACKET_INQUIRE	0x2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) #define ZD1201_PACKET_RESOURCE	0x3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) #define ZD1201_ACCESSBIT	0x0100
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) #define ZD1201_RID_CNFPORTTYPE		0xfc00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) #define ZD1201_RID_CNFOWNMACADDR	0xfc01
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) #define ZD1201_RID_CNFDESIREDSSID	0xfc02
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) #define ZD1201_RID_CNFOWNCHANNEL	0xfc03
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) #define ZD1201_RID_CNFOWNSSID		0xfc04
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) #define ZD1201_RID_CNFMAXDATALEN	0xfc07
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) #define ZD1201_RID_CNFPMENABLED		0xfc09
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) #define ZD1201_RID_CNFPMEPS		0xfc0a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) #define ZD1201_RID_CNFMAXSLEEPDURATION	0xfc0c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) #define ZD1201_RID_CNFDEFAULTKEYID	0xfc23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) #define ZD1201_RID_CNFDEFAULTKEY0	0xfc24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) #define ZD1201_RID_CNFDEFAULTKEY1	0xfc25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) #define ZD1201_RID_CNFDEFAULTKEY2	0xfc26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) #define ZD1201_RID_CNFDEFAULTKEY3	0xfc27
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) #define ZD1201_RID_CNFWEBFLAGS		0xfc28
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) #define ZD1201_RID_CNFAUTHENTICATION	0xfc2a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) #define ZD1201_RID_CNFMAXASSOCSTATIONS	0xfc2b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) #define ZD1201_RID_CNFHOSTAUTH		0xfc2e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) #define ZD1201_RID_CNFGROUPADDRESS	0xfc80
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) #define ZD1201_RID_CNFFRAGTHRESHOLD	0xfc82
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) #define ZD1201_RID_CNFRTSTHRESHOLD	0xfc83
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) #define ZD1201_RID_TXRATECNTL		0xfc84
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) #define ZD1201_RID_PROMISCUOUSMODE	0xfc85
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) #define ZD1201_RID_CNFBASICRATES	0xfcb3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) #define ZD1201_RID_AUTHENTICATESTA	0xfce3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) #define ZD1201_RID_CURRENTBSSID		0xfd42
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) #define ZD1201_RID_COMMSQUALITY		0xfd43
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) #define ZD1201_RID_CURRENTTXRATE	0xfd44
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) #define ZD1201_RID_CNFMAXTXBUFFERNUMBER	0xfda0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) #define ZD1201_RID_CURRENTCHANNEL	0xfdc1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) #define ZD1201_INQ_SCANRESULTS		0xf101
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) #define ZD1201_INF_LINKSTATUS		0xf200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) #define ZD1201_INF_ASSOCSTATUS		0xf201
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) #define ZD1201_INF_AUTHREQ		0xf202
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) #define ZD1201_ASSOCSTATUS_STAASSOC	0x1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) #define ZD1201_ASSOCSTATUS_REASSOC	0x2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) #define ZD1201_ASSOCSTATUS_DISASSOC	0x3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) #define ZD1201_ASSOCSTATUS_ASSOCFAIL	0x4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) #define ZD1201_ASSOCSTATUS_AUTHFAIL	0x5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) #define ZD1201_PORTTYPE_IBSS		0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) #define ZD1201_PORTTYPE_BSS		1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) #define ZD1201_PORTTYPE_WDS		2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) #define ZD1201_PORTTYPE_PSEUDOIBSS	3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) #define ZD1201_PORTTYPE_AP		6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) #define ZD1201_RATEB1	1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) #define ZD1201_RATEB2	2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) #define ZD1201_RATEB5	4	/* 5.5 really, but 5 is shorter :) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) #define ZD1201_RATEB11	8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) #define ZD1201_CNFAUTHENTICATION_OPENSYSTEM	0x0001
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) #define ZD1201_CNFAUTHENTICATION_SHAREDKEY	0x0002
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) #endif /* _INCLUDE_ZD1201_H_ */