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