mac80211: update to wireless-testing 2012-12-06
[openwrt.git] / package / mac80211 / patches / 852-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 @@ -98,6 +98,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 @@ -719,7 +719,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 @@ -2266,7 +2266,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 @@ -3218,7 +3218,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 @@ -5676,6 +5676,8 @@ static bool brcms_c_chipmatch_soc(struct
41  
42         if (chipinfo->id == BCMA_CHIP_ID_BCM4716)
43                 return true;
44 +       if (chipinfo->id == BCMA_CHIP_ID_BCM5357)
45 +               return true;
46  
47         pr_err("unknown chip id %04x\n", chipinfo->id);
48         return false;
49 --- a/drivers/net/wireless/brcm80211/brcmsmac/main.h
50 +++ b/drivers/net/wireless/brcm80211/brcmsmac/main.h
51 @@ -65,7 +65,7 @@
52  #define        SW_TIMER_MAC_STAT_UPD           30      /* periodic MAC stats update */
53  
54  /* max # supported core revisions (0 .. MAXCOREREV - 1) */
55 -#define        MAXCOREREV              28
56 +#define        MAXCOREREV              29
57  
58  /* Double check that unsupported cores are not enabled */
59  #if CONF_MSK(D11CONF, 0x4f) || CONF_GE(D11CONF, MAXCOREREV)
60 --- a/drivers/net/wireless/brcm80211/brcmsmac/types.h
61 +++ b/drivers/net/wireless/brcm80211/brcmsmac/types.h
62 @@ -93,11 +93,11 @@
63  #define BOARD_GPIO_13          0x2000
64  
65  /* **** Core type/rev defaults **** */
66 -#define D11CONF                0x0fffffb0      /* Supported  D11 revs: 4, 5, 7-27
67 +#define D11CONF                0x1fffffb0      /* Supported  D11 revs: 4, 5, 7-27
68                                          * also need to update wlc.h MAXCOREREV
69                                          */
70  
71 -#define NCONF          0x000001ff      /* Supported nphy revs:
72 +#define NCONF          0x000002ff      /* Supported nphy revs:
73                                          *      0       4321a0
74                                          *      1       4321a1
75                                          *      2       4321b0/b1/c0/c1