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