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
 	  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
 	string "Core revisions to include"
@@ -66,7 +63,7 @@ config B43_FW_SQUASH_COREREVS
 config B43_FW_SQUASH_PHYTYPES
 	string "PHY types to include"
 	depends on PACKAGE_kmod-b43 && B43_FW_SQUASH
-	default "A,AG,G,LP"
+	default "G,LP"
 	help
 	  This is a comma seperated list of PHY types:
 	  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)
 endef
 
+define KernelPackage/b43legacy/config
+	source "$(SOURCE)/Config.in.b43legacy"
+endef
+
 define KernelPackage/b43legacy/description
 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
 endef
@@ -712,6 +716,9 @@ define KernelPackage/b43legacy/install
 	$(INSTALL_DIR) $(1)/lib/firmware/
 
 	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
 
 $(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
 
 revmapping = {
+	"ucode2.fw"		: (2,),
+	"ucode4.fw"		: (4,),
 	"ucode5.fw"		: (5,6,7,8,9,10,),
 	"ucode11.fw"		: (11,12,),
 	"ucode13.fw"		: (13,),
 	"ucode14.fw"		: (14,),
 	"ucode15.fw"		: (15,),
+	"pcm4.fw"		: (1,2,3,4,),
 	"pcm5.fw"		: (5,6,7,8,9,10,),
 }
 
 initvalmapping = {
 	"a0g1initvals5.fw"	: ( (5,6,7,8,9,10,),	("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",), ),
 	"b0g0initvals13.fw"	: ( (13,),		("G",), ),
 	"n0initvals11.fw"	: ( (11,12,),		("N",), ),