b43-tools: b43-fwsquash.py: add new firmware files
authorHauke Mehrtens <hauke@hauke-m.de>
Sat, 12 Jul 2014 14:56:21 +0000 (14:56 +0000)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 12 Jul 2014 14:56:21 +0000 (14:56 +0000)
This adds support for new firmware files from b43 and selects the ucode
based on the PHY type now.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 41592

tools/b43-tools/files/b43-fwsquash.py

index cd8818167e94fb85ece6e07bb88148979e8b7b44..cd1ff91c9b4358fbbcb77c0df29da475b414ece8 100755 (executable)
@@ -22,6 +22,8 @@ def usage():
        print("N         => N-PHY")
        print("HT        => HT-PHY")
        print("LCN       => LCN-PHY")
+       print("LCN40     => LCN40-PHY")
+       print("AC        => AC-PHY")
        print("")
        print("COREREVS is a comma separated list of core revision numbers.")
 
@@ -64,18 +66,26 @@ def phytypes_match(types_a, types_b):
        return False
 
 revmapping = {
-       "ucode2.fw"             : (2,3,),
-       "ucode4.fw"             : (4,),
-       "ucode5.fw"             : (5,6,7,8,9,10,),
-       "ucode11.fw"            : (11,12,),
-       "ucode13.fw"            : (13,),
-       "ucode14.fw"            : (14,),
-       "ucode15.fw"            : (15,),
-       "ucode16_mimo.fw"       : (16,),
-       "ucode24_mimo.fw"       : (24,),
-       "ucode29_mimo.fw"       : (29,),
-       "pcm4.fw"               : (1,2,3,4,),
-       "pcm5.fw"               : (5,6,7,8,9,10,),
+       "ucode2.fw"             : ( (2,3,),             ("G",), ),
+       "ucode4.fw"             : ( (4,),               ("G",), ),
+       "ucode5.fw"             : ( (5,6,7,8,9,10,),    ("G","A","AG",), ),
+       "ucode11.fw"            : ( (11,12,),           ("N",), ),
+       "ucode13.fw"            : ( (13,),              ("LP","G",), ),
+       "ucode14.fw"            : ( (14,),              ("LP",), ),
+       "ucode15.fw"            : ( (15,),              ("LP",), ),
+       "ucode16_mimo.fw"       : ( (16,17,18,19,23,),  ("N",), ),
+       "ucode16_lp.fw"         : ( (16,17,18,19,),     ("LP",), ),
+       "ucode24_lcn.fw"        : ( (24,),              ("LCN",), ),
+       "ucode25_mimo.fw"       : ( (25,28,),           ("N",), ),
+       "ucode25_lcn.fw"        : ( (25,28,),           ("LCN",), ),
+       "ucode26_mimo.fw"       : ( (26,),              ("HT",), ),
+       "ucode29_mimo.fw"       : ( (29,),              ("HT",), ),
+       "ucode30_mimo.fw"       : ( (30,),              ("N",), ),
+       "ucode33_lcn40.fw"      : ( (33,),              ("LCN40",), ),
+       "ucode40.fw"            : ( (40,),              ("AC",), ),
+       "ucode42.fw"            : ( (42,),              ("AC",), ),
+       "pcm4.fw"               : ( (1,2,3,4,),         ("G",), ),
+       "pcm5.fw"               : ( (5,6,7,8,9,10,),    ("G","A","AG",), ),
 }
 
 initvalmapping = {
@@ -85,27 +95,44 @@ initvalmapping = {
        "b0g0initvals5.fw"      : ( (5,6,7,8,9,10,),    ("G",), ),
        "b0g0initvals13.fw"     : ( (13,),              ("G",), ),
        "n0initvals11.fw"       : ( (11,12,),           ("N",), ),
-       "n0initvals16.fw"       : ( (16,),              ("N",), ),
+       "n0initvals16.fw"       : ( (16,17,18,23,),     ("N",), ),
+       "n0initvals24.fw"       : ( (24,),              ("N",), ),
+       "n0initvals25.fw"       : ( (25,28,),           ("N",), ),
+       "n16initvals30.fw"      : ( (30,),              ("N",), ),
        "lp0initvals13.fw"      : ( (13,),              ("LP",), ),
        "lp0initvals14.fw"      : ( (14,),              ("LP",), ),
        "lp0initvals15.fw"      : ( (15,),              ("LP",), ),
+       "lp0initvals16.fw"      : ( (16,17,18,),        ("LP",), ),
        "lcn0initvals24.fw"     : ( (24,),              ("LCN",), ),
+       "ht0initvals26.fw"      : ( (26,),              ("HT",), ),
        "ht0initvals29.fw"      : ( (29,),              ("HT",), ),
+       "lcn400initvals33.fw"   : ( (33,),              ("LCN40",), ),
+       "ac0initvals40.fw"      : ( (40,),              ("AC",), ),
+       "ac1initvals42.fw"      : ( (42,),              ("AC",), ),
        "a0g1bsinitvals5.fw"    : ( (5,6,7,8,9,10,),    ("AG",), ),
        "a0g0bsinitvals5.fw"    : ( (5,6,7,8,9,10,),    ("A", "AG"), ),
        "b0g0bsinitvals5.fw"    : ( (5,6,7,8,9,10,),    ("G",), ),
        "n0bsinitvals11.fw"     : ( (11,12,),           ("N",), ),
-       "n0bsinitvals16.fw"     : ( (16,),              ("N",), ),
+       "n0bsinitvals16.fw"     : ( (16,17,18,23,),     ("N",), ),
+       "n0bsinitvals24.fw"     : ( (24,),              ("N",), ),
+       "n0bsinitvals25.fw"     : ( (25,28,),           ("N",), ),
+       "n16bsinitvals30.fw"    : ( (30,),              ("N",), ),
        "lp0bsinitvals13.fw"    : ( (13,),              ("LP",), ),
        "lp0bsinitvals14.fw"    : ( (14,),              ("LP",), ),
        "lp0bsinitvals15.fw"    : ( (15,),              ("LP",), ),
+       "lp0bsinitvals16.fw"    : ( (16,17,18,),        ("LP",), ),
        "lcn0bsinitvals24.fw"   : ( (24,),              ("LCN",), ),
+       "ht0bsinitvals26.fw"    : ( (26,),              ("HT",), ),
        "ht0bsinitvals29.fw"    : ( (29,),              ("HT",), ),
+       "lcn400bsinitvals33.fw" : ( (33,),              ("LCN40",), ),
+       "ac0bsinitvals40.fw"    : ( (40,),              ("AC",), ),
+       "ac1bsinitvals42.fw"    : ( (42,),              ("AC",), ),
 }
 
 for f in fwfiles:
        if f in revmapping:
-               if revs_match(corerevs, revmapping[f]):
+               if revs_match(corerevs, revmapping[f][0]) and\
+                  phytypes_match(phytypes, revmapping[f][1]):
                        required_fwfiles += [f]
                continue
        if f in initvalmapping: