b43-tools: b43-fwsquash.py: add new firmware files

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
owl
Hauke Mehrtens 2014-07-12 14:56:21 +00:00
parent 2b6403722b
commit 5f41e561ca
1 changed files with 42 additions and 15 deletions

View File

@ -22,6 +22,8 @@ def usage():
print("N => N-PHY") print("N => N-PHY")
print("HT => HT-PHY") print("HT => HT-PHY")
print("LCN => LCN-PHY") print("LCN => LCN-PHY")
print("LCN40 => LCN40-PHY")
print("AC => AC-PHY")
print("") print("")
print("COREREVS is a comma separated list of core revision numbers.") print("COREREVS is a comma separated list of core revision numbers.")
@ -64,18 +66,26 @@ def phytypes_match(types_a, types_b):
return False return False
revmapping = { revmapping = {
"ucode2.fw" : (2,3,), "ucode2.fw" : ( (2,3,), ("G",), ),
"ucode4.fw" : (4,), "ucode4.fw" : ( (4,), ("G",), ),
"ucode5.fw" : (5,6,7,8,9,10,), "ucode5.fw" : ( (5,6,7,8,9,10,), ("G","A","AG",), ),
"ucode11.fw" : (11,12,), "ucode11.fw" : ( (11,12,), ("N",), ),
"ucode13.fw" : (13,), "ucode13.fw" : ( (13,), ("LP","G",), ),
"ucode14.fw" : (14,), "ucode14.fw" : ( (14,), ("LP",), ),
"ucode15.fw" : (15,), "ucode15.fw" : ( (15,), ("LP",), ),
"ucode16_mimo.fw" : (16,), "ucode16_mimo.fw" : ( (16,17,18,19,23,), ("N",), ),
"ucode24_mimo.fw" : (24,), "ucode16_lp.fw" : ( (16,17,18,19,), ("LP",), ),
"ucode29_mimo.fw" : (29,), "ucode24_lcn.fw" : ( (24,), ("LCN",), ),
"pcm4.fw" : (1,2,3,4,), "ucode25_mimo.fw" : ( (25,28,), ("N",), ),
"pcm5.fw" : (5,6,7,8,9,10,), "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 = { initvalmapping = {
@ -85,27 +95,44 @@ initvalmapping = {
"b0g0initvals5.fw" : ( (5,6,7,8,9,10,), ("G",), ), "b0g0initvals5.fw" : ( (5,6,7,8,9,10,), ("G",), ),
"b0g0initvals13.fw" : ( (13,), ("G",), ), "b0g0initvals13.fw" : ( (13,), ("G",), ),
"n0initvals11.fw" : ( (11,12,), ("N",), ), "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",), ), "lp0initvals13.fw" : ( (13,), ("LP",), ),
"lp0initvals14.fw" : ( (14,), ("LP",), ), "lp0initvals14.fw" : ( (14,), ("LP",), ),
"lp0initvals15.fw" : ( (15,), ("LP",), ), "lp0initvals15.fw" : ( (15,), ("LP",), ),
"lp0initvals16.fw" : ( (16,17,18,), ("LP",), ),
"lcn0initvals24.fw" : ( (24,), ("LCN",), ), "lcn0initvals24.fw" : ( (24,), ("LCN",), ),
"ht0initvals26.fw" : ( (26,), ("HT",), ),
"ht0initvals29.fw" : ( (29,), ("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",), ), "a0g1bsinitvals5.fw" : ( (5,6,7,8,9,10,), ("AG",), ),
"a0g0bsinitvals5.fw" : ( (5,6,7,8,9,10,), ("A", "AG"), ), "a0g0bsinitvals5.fw" : ( (5,6,7,8,9,10,), ("A", "AG"), ),
"b0g0bsinitvals5.fw" : ( (5,6,7,8,9,10,), ("G",), ), "b0g0bsinitvals5.fw" : ( (5,6,7,8,9,10,), ("G",), ),
"n0bsinitvals11.fw" : ( (11,12,), ("N",), ), "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",), ), "lp0bsinitvals13.fw" : ( (13,), ("LP",), ),
"lp0bsinitvals14.fw" : ( (14,), ("LP",), ), "lp0bsinitvals14.fw" : ( (14,), ("LP",), ),
"lp0bsinitvals15.fw" : ( (15,), ("LP",), ), "lp0bsinitvals15.fw" : ( (15,), ("LP",), ),
"lp0bsinitvals16.fw" : ( (16,17,18,), ("LP",), ),
"lcn0bsinitvals24.fw" : ( (24,), ("LCN",), ), "lcn0bsinitvals24.fw" : ( (24,), ("LCN",), ),
"ht0bsinitvals26.fw" : ( (26,), ("HT",), ),
"ht0bsinitvals29.fw" : ( (29,), ("HT",), ), "ht0bsinitvals29.fw" : ( (29,), ("HT",), ),
"lcn400bsinitvals33.fw" : ( (33,), ("LCN40",), ),
"ac0bsinitvals40.fw" : ( (40,), ("AC",), ),
"ac1bsinitvals42.fw" : ( (42,), ("AC",), ),
} }
for f in fwfiles: for f in fwfiles:
if f in revmapping: 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] required_fwfiles += [f]
continue continue
if f in initvalmapping: if f in initvalmapping: