xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/broadcom/brcm80211/include/defs.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun // SPDX-License-Identifier: ISC
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * Copyright (c) 2010 Broadcom Corporation
4*4882a593Smuzhiyun  */
5*4882a593Smuzhiyun 
6*4882a593Smuzhiyun #ifndef	_BRCM_DEFS_H_
7*4882a593Smuzhiyun #define	_BRCM_DEFS_H_
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun #include <linux/types.h>
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun #define	SI_BUS			0
12*4882a593Smuzhiyun #define	PCI_BUS			1
13*4882a593Smuzhiyun #define	PCMCIA_BUS		2
14*4882a593Smuzhiyun #define SDIO_BUS		3
15*4882a593Smuzhiyun #define JTAG_BUS		4
16*4882a593Smuzhiyun #define USB_BUS			5
17*4882a593Smuzhiyun #define SPI_BUS			6
18*4882a593Smuzhiyun 
19*4882a593Smuzhiyun #define	OFF	0
20*4882a593Smuzhiyun #define	ON	1		/* ON = 1 */
21*4882a593Smuzhiyun #define	AUTO	(-1)		/* Auto = -1 */
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun /*
24*4882a593Smuzhiyun  * Priority definitions according 802.1D
25*4882a593Smuzhiyun  */
26*4882a593Smuzhiyun #define	PRIO_8021D_NONE		2
27*4882a593Smuzhiyun #define	PRIO_8021D_BK		1
28*4882a593Smuzhiyun #define	PRIO_8021D_BE		0
29*4882a593Smuzhiyun #define	PRIO_8021D_EE		3
30*4882a593Smuzhiyun #define	PRIO_8021D_CL		4
31*4882a593Smuzhiyun #define	PRIO_8021D_VI		5
32*4882a593Smuzhiyun #define	PRIO_8021D_VO		6
33*4882a593Smuzhiyun #define	PRIO_8021D_NC		7
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun #define	MAXPRIO			7
36*4882a593Smuzhiyun #define NUMPRIO			(MAXPRIO + 1)
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun #define WL_NUMRATES		16	/* max # of rates in a rateset */
39*4882a593Smuzhiyun 
40*4882a593Smuzhiyun #define BRCM_CNTRY_BUF_SZ	4	/* Country string is 3 bytes + NUL */
41*4882a593Smuzhiyun 
42*4882a593Smuzhiyun #define BRCM_SET_CHANNEL	30
43*4882a593Smuzhiyun #define BRCM_SET_SRL		32
44*4882a593Smuzhiyun #define BRCM_SET_LRL		34
45*4882a593Smuzhiyun #define BRCM_SET_BCNPRD		76
46*4882a593Smuzhiyun 
47*4882a593Smuzhiyun #define BRCM_GET_CURR_RATESET	114	/* current rateset */
48*4882a593Smuzhiyun #define BRCM_GET_PHYLIST	180
49*4882a593Smuzhiyun 
50*4882a593Smuzhiyun /* Bit masks for radio disabled status - returned by WL_GET_RADIO */
51*4882a593Smuzhiyun 
52*4882a593Smuzhiyun #define WL_RADIO_SW_DISABLE		(1<<0)
53*4882a593Smuzhiyun #define WL_RADIO_HW_DISABLE		(1<<1)
54*4882a593Smuzhiyun /* some countries don't support any channel */
55*4882a593Smuzhiyun #define WL_RADIO_COUNTRY_DISABLE	(1<<3)
56*4882a593Smuzhiyun 
57*4882a593Smuzhiyun /* Override bit for SET_TXPWR.  if set, ignore other level limits */
58*4882a593Smuzhiyun #define WL_TXPWR_OVERRIDE	(1U<<31)
59*4882a593Smuzhiyun 
60*4882a593Smuzhiyun /* band types */
61*4882a593Smuzhiyun #define	BRCM_BAND_AUTO		0	/* auto-select */
62*4882a593Smuzhiyun #define	BRCM_BAND_5G		1	/* 5 Ghz */
63*4882a593Smuzhiyun #define	BRCM_BAND_2G		2	/* 2.4 Ghz */
64*4882a593Smuzhiyun #define	BRCM_BAND_ALL		3	/* all bands */
65*4882a593Smuzhiyun 
66*4882a593Smuzhiyun /* Debug levels */
67*4882a593Smuzhiyun #define BRCM_DL_INFO		0x00000001
68*4882a593Smuzhiyun #define BRCM_DL_MAC80211	0x00000002
69*4882a593Smuzhiyun #define BRCM_DL_RX		0x00000004
70*4882a593Smuzhiyun #define BRCM_DL_TX		0x00000008
71*4882a593Smuzhiyun #define BRCM_DL_INT		0x00000010
72*4882a593Smuzhiyun #define BRCM_DL_DMA		0x00000020
73*4882a593Smuzhiyun #define BRCM_DL_HT		0x00000040
74*4882a593Smuzhiyun 
75*4882a593Smuzhiyun /* Values for PM */
76*4882a593Smuzhiyun #define PM_OFF	0
77*4882a593Smuzhiyun #define PM_MAX	1
78*4882a593Smuzhiyun #define PM_FAST 2
79*4882a593Smuzhiyun 
80*4882a593Smuzhiyun /*
81*4882a593Smuzhiyun  * Sonics Configuration Space Registers.
82*4882a593Smuzhiyun  */
83*4882a593Smuzhiyun 
84*4882a593Smuzhiyun /* core sbconfig regs are top 256bytes of regs */
85*4882a593Smuzhiyun #define	SBCONFIGOFF		0xf00
86*4882a593Smuzhiyun 
87*4882a593Smuzhiyun /* cpp contortions to concatenate w/arg prescan */
88*4882a593Smuzhiyun #ifndef	PAD
89*4882a593Smuzhiyun #define	_PADLINE(line)	pad ## line
90*4882a593Smuzhiyun #define	_XSTR(line)	_PADLINE(line)
91*4882a593Smuzhiyun #define	PAD		_XSTR(__LINE__)
92*4882a593Smuzhiyun #endif
93*4882a593Smuzhiyun 
94*4882a593Smuzhiyun #endif				/* _BRCM_DEFS_H_ */
95