mac80211: brcmsmac: add some patches starting to add support for some more chips
[openwrt/svn-archive/archive.git] / package / mac80211 / patches / 851-brcmsmac-start-adding-support-for-core-rev-28.patch
1 --- a/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
2 +++ b/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
3 @@ -95,6 +95,7 @@ static struct bcma_device_id brcms_corei
4 // BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 17, BCMA_ANY_CLASS),
5 BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 23, BCMA_ANY_CLASS),
6 BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 24, BCMA_ANY_CLASS),
7 +// BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 28, BCMA_ANY_CLASS),
8 BCMA_CORETABLE_END
9 };
10 MODULE_DEVICE_TABLE(bcma, brcms_coreid_table);
11 --- a/drivers/net/wireless/brcm80211/brcmsmac/main.c
12 +++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c
13 @@ -751,7 +751,7 @@ static void brcms_c_ucode_bsinit(struct
14 brcms_c_write_mhf(wlc_hw, wlc_hw->band->mhfs);
15
16 /* do band-specific ucode IHR, SHM, and SCR inits */
17 - if (D11REV_IS(wlc_hw->corerev, 17) || D11REV_IS(wlc_hw->corerev, 23)) {
18 + if (D11REV_IS(wlc_hw->corerev, 17) || D11REV_IS(wlc_hw->corerev, 23) || D11REV_IS(wlc_hw->corerev, 28)) {
19 if (BRCMS_ISNPHY(wlc_hw->band))
20 brcms_c_write_inits(wlc_hw, ucode->d11n0bsinitvals16);
21 else
22 @@ -2276,7 +2276,7 @@ static void brcms_ucode_download(struct
23 if (wlc_hw->ucode_loaded)
24 return;
25
26 - if (D11REV_IS(wlc_hw->corerev, 17) || D11REV_IS(wlc_hw->corerev, 23)) {
27 + if (D11REV_IS(wlc_hw->corerev, 17) || D11REV_IS(wlc_hw->corerev, 23) || D11REV_IS(wlc_hw->corerev, 28)) {
28 if (BRCMS_ISNPHY(wlc_hw->band)) {
29 brcms_ucode_write(wlc_hw, ucode->bcm43xx_16_mimo,
30 ucode->bcm43xx_16_mimosz);
31 @@ -3252,7 +3252,7 @@ static void brcms_b_coreinit(struct brcm
32
33 sflags = bcma_aread32(core, BCMA_IOST);
34
35 - if (D11REV_IS(wlc_hw->corerev, 17) || D11REV_IS(wlc_hw->corerev, 23)) {
36 + if (D11REV_IS(wlc_hw->corerev, 17) || D11REV_IS(wlc_hw->corerev, 23) || D11REV_IS(wlc_hw->corerev, 28)) {
37 if (BRCMS_ISNPHY(wlc_hw->band))
38 brcms_c_write_inits(wlc_hw, ucode->d11n0initvals16);
39 else
40 --- a/drivers/net/wireless/brcm80211/brcmsmac/main.h
41 +++ b/drivers/net/wireless/brcm80211/brcmsmac/main.h
42 @@ -65,7 +65,7 @@
43 #define SW_TIMER_MAC_STAT_UPD 30 /* periodic MAC stats update */
44
45 /* max # supported core revisions (0 .. MAXCOREREV - 1) */
46 -#define MAXCOREREV 28
47 +#define MAXCOREREV 29
48
49 /* Double check that unsupported cores are not enabled */
50 #if CONF_MSK(D11CONF, 0x4f) || CONF_GE(D11CONF, MAXCOREREV)
51 --- a/drivers/net/wireless/brcm80211/brcmsmac/types.h
52 +++ b/drivers/net/wireless/brcm80211/brcmsmac/types.h
53 @@ -93,11 +93,11 @@
54 #define BOARD_GPIO_13 0x2000
55
56 /* **** Core type/rev defaults **** */
57 -#define D11CONF 0x0fffffb0 /* Supported D11 revs: 4, 5, 7-27
58 +#define D11CONF 0x1fffffb0 /* Supported D11 revs: 4, 5, 7-27
59 * also need to update wlc.h MAXCOREREV
60 */
61
62 -#define NCONF 0x000001ff /* Supported nphy revs:
63 +#define NCONF 0x000002ff /* Supported nphy revs:
64 * 0 4321a0
65 * 1 4321a1
66 * 2 4321b0/b1/c0/c1