aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.h
diff options
context:
space:
mode:
authorFranky Lin <frankyl@broadcom.com>2011-11-04 22:23:42 +0100
committerJohn W. Linville <linville@tuxdriver.com>2011-11-09 16:14:06 -0500
commit99ba15cd75ed22e4ae86804ca2982a724e8102c2 (patch)
tree28139988c9aa4bfc98083a3f55cb6896f2f5c605 /drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.h
parentbrcm80211: fmac: replace private SB macros with ssb_regs version (diff)
downloadlinux-dev-99ba15cd75ed22e4ae86804ca2982a724e8102c2.tar.xz
linux-dev-99ba15cd75ed22e4ae86804ca2982a724e8102c2.zip
brcm80211: fmac: optimize chip core info management
Prepare for adding backplane interconnect type support Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.h')
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.h23
1 files changed, 15 insertions, 8 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.h b/drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.h
index 638374645198..0ee37ae4c958 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.h
+++ b/drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.h
@@ -52,17 +52,22 @@
#define SBSDIO_CLKAV(regval, alponly) \
(SBSDIO_ALPAV(regval) && (alponly ? 1 : SBSDIO_HTAV(regval)))
+#define BRCMF_MAX_CORENUM 6
+
+struct chip_core_info {
+ u16 id;
+ u16 rev;
+ u32 base;
+ u32 wrapbase;
+ u32 caps;
+};
+
struct chip_info {
u32 chip;
u32 chiprev;
- u32 cccorebase;
- u32 ccrev;
- u32 cccaps;
- u32 buscorebase; /* 32 bits backplane bus address */
- u32 buscorerev;
- u32 buscoretype;
- u32 ramcorebase;
- u32 armcorebase;
+ /* core info */
+ /* always put chipcommon core at 0, bus core at 1 */
+ struct chip_core_info c_inf[BRCMF_MAX_CORENUM];
u32 pmurev;
u32 pmucaps;
u32 ramsize;
@@ -120,5 +125,7 @@ extern void brcmf_sdio_chip_detach(struct chip_info **ci_ptr);
extern void brcmf_sdio_chip_drivestrengthinit(struct brcmf_sdio_dev *sdiodev,
struct chip_info *ci,
u32 drivestrength);
+extern u8 brcmf_sdio_chip_getinfidx(struct chip_info *ci, u16 coreid);
+
#endif /* _BRCMFMAC_SDIO_CHIP_H_ */