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