1 /* 2 * Copyright (c) 2010 Broadcom Corporation 3 * 4 * Permission to use, copy, modify, and/or distribute this software for any 5 * purpose with or without fee is hereby granted, provided that the above 6 * copyright notice and this permission notice appear in all copies. 7 * 8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 11 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 13 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 14 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 */ 16 17 #ifndef _BRCM_DEFS_H_ 18 #define _BRCM_DEFS_H_ 19 20 #include <linux/types.h> 21 22 #define SI_BUS 0 23 #define PCI_BUS 1 24 #define PCMCIA_BUS 2 25 #define SDIO_BUS 3 26 #define JTAG_BUS 4 27 #define USB_BUS 5 28 #define SPI_BUS 6 29 30 #define OFF 0 31 #define ON 1 /* ON = 1 */ 32 #define AUTO (-1) /* Auto = -1 */ 33 34 /* 35 * Priority definitions according 802.1D 36 */ 37 #define PRIO_8021D_NONE 2 38 #define PRIO_8021D_BK 1 39 #define PRIO_8021D_BE 0 40 #define PRIO_8021D_EE 3 41 #define PRIO_8021D_CL 4 42 #define PRIO_8021D_VI 5 43 #define PRIO_8021D_VO 6 44 #define PRIO_8021D_NC 7 45 46 #define MAXPRIO 7 47 #define NUMPRIO (MAXPRIO + 1) 48 49 #define WL_NUMRATES 16 /* max # of rates in a rateset */ 50 51 #define BRCM_CNTRY_BUF_SZ 4 /* Country string is 3 bytes + NUL */ 52 53 #define BRCM_SET_CHANNEL 30 54 #define BRCM_SET_SRL 32 55 #define BRCM_SET_LRL 34 56 #define BRCM_SET_BCNPRD 76 57 58 #define BRCM_GET_CURR_RATESET 114 /* current rateset */ 59 #define BRCM_GET_PHYLIST 180 60 61 /* Bit masks for radio disabled status - returned by WL_GET_RADIO */ 62 63 #define WL_RADIO_SW_DISABLE (1<<0) 64 #define WL_RADIO_HW_DISABLE (1<<1) 65 /* some countries don't support any channel */ 66 #define WL_RADIO_COUNTRY_DISABLE (1<<3) 67 68 /* Override bit for SET_TXPWR. if set, ignore other level limits */ 69 #define WL_TXPWR_OVERRIDE (1U<<31) 70 71 /* band types */ 72 #define BRCM_BAND_AUTO 0 /* auto-select */ 73 #define BRCM_BAND_5G 1 /* 5 Ghz */ 74 #define BRCM_BAND_2G 2 /* 2.4 Ghz */ 75 #define BRCM_BAND_ALL 3 /* all bands */ 76 77 /* Debug levels */ 78 #define BRCM_DL_INFO 0x00000001 79 #define BRCM_DL_MAC80211 0x00000002 80 #define BRCM_DL_RX 0x00000004 81 #define BRCM_DL_TX 0x00000008 82 #define BRCM_DL_INT 0x00000010 83 #define BRCM_DL_DMA 0x00000020 84 #define BRCM_DL_HT 0x00000040 85 86 /* Values for PM */ 87 #define PM_OFF 0 88 #define PM_MAX 1 89 #define PM_FAST 2 90 91 /* 92 * Sonics Configuration Space Registers. 93 */ 94 95 /* core sbconfig regs are top 256bytes of regs */ 96 #define SBCONFIGOFF 0xf00 97 98 /* cpp contortions to concatenate w/arg prescan */ 99 #ifndef PAD 100 #define _PADLINE(line) pad ## line 101 #define _XSTR(line) _PADLINE(line) 102 #define PAD _XSTR(__LINE__) 103 #endif 104 105 #endif /* _BRCM_DEFS_H_ */ 106