Browse Source

b43 and b43legacy: squash firmware

Only G and L-PHY are supportted by b43 driver
Add squash firmware for b43legacy

SVN-Revision: 18947
Hauke Mehrtens 16 years ago
parent
commit
abade416d1

+ 2 - 5
package/mac80211/Config.in.b43

@@ -47,10 +47,7 @@ config B43_FW_SQUASH
 	  from the final rootfs image. This can reduce the rootfs size by
 	  from the final rootfs image. This can reduce the rootfs size by
 	  up to 200k.
 	  up to 200k.
 
 
-	  Do _NOT_ use this option, if you don't know the core revision
-	  and/or PHY type of your wireless chip.
-
-	  If unsure, say N.
+	  If unsure, say Y.
 
 
 config B43_FW_SQUASH_COREREVS
 config B43_FW_SQUASH_COREREVS
 	string "Core revisions to include"
 	string "Core revisions to include"
@@ -66,7 +63,7 @@ config B43_FW_SQUASH_COREREVS
 config B43_FW_SQUASH_PHYTYPES
 config B43_FW_SQUASH_PHYTYPES
 	string "PHY types to include"
 	string "PHY types to include"
 	depends on PACKAGE_kmod-b43 && B43_FW_SQUASH
 	depends on PACKAGE_kmod-b43 && B43_FW_SQUASH
-	default "A,AG,G,LP"
+	default "G,LP"
 	help
 	help
 	  This is a comma seperated list of PHY types:
 	  This is a comma seperated list of PHY types:
 	  A         => A-PHY
 	  A         => A-PHY

+ 24 - 0
package/mac80211/Config.in.b43legacy

@@ -0,0 +1,24 @@
+# B43 configuration
+
+config B43LEGACY_FW_SQUASH
+	bool "Remove unnecessary firmware files"
+	depends on PACKAGE_kmod-b43legacy
+	default y
+	help
+	  This options allows you to remove unnecessary b43legacy firmware files
+	  from the final rootfs image. This can reduce the rootfs size by
+	  up to 50k.
+
+	  If unsure, say Y.
+
+config B43LEGACY_FW_SQUASH_COREREVS
+	string "Core revisions to include"
+	depends on PACKAGE_kmod-b43legacy && B43LEGACY_FW_SQUASH
+	default "1,2,3,4"
+	help
+	  This is a comma seperated list of core revision numbers.
+	  Example (keep files for rev4 only):
+	         4
+	  Example (keep files for rev2 and rev4):
+	         2,4
+

+ 7 - 0
package/mac80211/Makefile

@@ -489,6 +489,10 @@ $(call KernelPackage/b43-common)
   AUTOLOAD:=$(call AutoLoad,30,b43legacy)
   AUTOLOAD:=$(call AutoLoad,30,b43legacy)
 endef
 endef
 
 
+define KernelPackage/b43legacy/config
+	source "$(SOURCE)/Config.in.b43legacy"
+endef
+
 define KernelPackage/b43legacy/description
 define KernelPackage/b43legacy/description
 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
 endef
 endef
@@ -712,6 +716,9 @@ define KernelPackage/b43legacy/install
 	$(INSTALL_DIR) $(1)/lib/firmware/
 	$(INSTALL_DIR) $(1)/lib/firmware/
 
 
 	b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
 	b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
+ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
+	b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
+endif
 endef
 endef
 
 
 $(eval $(call KernelPackage,ath5k))
 $(eval $(call KernelPackage,ath5k))

+ 4 - 0
package/mac80211/files/host_bin/b43-fwsquash.py

@@ -62,17 +62,21 @@ def phytypes_match(types_a, types_b):
 	return False
 	return False
 
 
 revmapping = {
 revmapping = {
+	"ucode2.fw"		: (2,),
+	"ucode4.fw"		: (4,),
 	"ucode5.fw"		: (5,6,7,8,9,10,),
 	"ucode5.fw"		: (5,6,7,8,9,10,),
 	"ucode11.fw"		: (11,12,),
 	"ucode11.fw"		: (11,12,),
 	"ucode13.fw"		: (13,),
 	"ucode13.fw"		: (13,),
 	"ucode14.fw"		: (14,),
 	"ucode14.fw"		: (14,),
 	"ucode15.fw"		: (15,),
 	"ucode15.fw"		: (15,),
+	"pcm4.fw"		: (1,2,3,4,),
 	"pcm5.fw"		: (5,6,7,8,9,10,),
 	"pcm5.fw"		: (5,6,7,8,9,10,),
 }
 }
 
 
 initvalmapping = {
 initvalmapping = {
 	"a0g1initvals5.fw"	: ( (5,6,7,8,9,10,),	("AG",), ),
 	"a0g1initvals5.fw"	: ( (5,6,7,8,9,10,),	("AG",), ),
 	"a0g0initvals5.fw"	: ( (5,6,7,8,9,10,),	("A", "AG",), ),
 	"a0g0initvals5.fw"	: ( (5,6,7,8,9,10,),	("A", "AG",), ),
+	"b0g0initvals2.fw"	: ( (2,4,),		("G",), ),
 	"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",), ),