[Buildroot] [PATCH v3] New package: linux-firmware
yegorslists at googlemail.com
yegorslists at googlemail.com
Thu Jan 26 11:30:14 UTC 2012
From: Yegor Yefremov <yegorslists at googlemail.com>
add infrastructure for closed binary blobs
Signed-off-by: Yegor Yefremov <yegorslists at googlemail.com>
---
Changes:
v3:
typo fix (Michael S. Zick)
v2:
change package name from firmware to linux-firmware (Gustavo Zacarias)
create more granular options (Gustavo Zacarias)
package/Config.in | 1 +
package/linux-firmware/Config.in | 46 +++++++++++++++++
package/linux-firmware/linux-firmware.mk | 79 ++++++++++++++++++++++++++++++
3 files changed, 126 insertions(+), 0 deletions(-)
create mode 100644 package/linux-firmware/Config.in
create mode 100644 package/linux-firmware/linux-firmware.mk
diff --git a/package/Config.in b/package/Config.in
index f219e37..10f9f79 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -185,6 +185,7 @@ source "package/input-tools/Config.in"
source "package/iostat/Config.in"
source "package/irda-utils/Config.in"
source "package/kbd/Config.in"
+source "package/linux-firmware/Config.in"
source "package/lm-sensors/Config.in"
source "package/lsuio/Config.in"
source "package/lvm2/Config.in"
diff --git a/package/linux-firmware/Config.in b/package/linux-firmware/Config.in
new file mode 100644
index 0000000..3ea002f
--- /dev/null
+++ b/package/linux-firmware/Config.in
@@ -0,0 +1,46 @@
+config BR2_PACKAGE_LINUX_FIRMWARE
+ bool "linux-firmware"
+ help
+ This package provides various binary firmware files
+ (closed binary blobs) for such devices like LAN, WLAN cards etc.
+
+if BR2_PACKAGE_LINUX_FIRMWARE
+
+menu "Devices"
+
+menu "Texas Instruments"
+
+config BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X
+ bool "wl127X"
+ help
+ Firmware files for WLAN and Bluetooth modules wl1271 and wl1273
+
+config BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X
+ bool "wl128X"
+ help
+ Firmware files for WLAN and Bluetooth modules wl128x
+
+endmenu
+
+menu "Ralink"
+
+config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61
+ bool "Ralink rt2501/rt61"
+ help
+ Ralink rt2501/rt61
+
+config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73
+ bool "Ralink rt73"
+ help
+ Ralink rt73
+
+config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX
+ bool "Ralink rt27xx/rt28xx/rt30xx"
+ help
+ Ralink rt27xx/rt28xx/rt30xx
+
+endmenu
+
+endmenu
+
+endif
diff --git a/package/linux-firmware/linux-firmware.mk b/package/linux-firmware/linux-firmware.mk
new file mode 100644
index 0000000..dda3f2b
--- /dev/null
+++ b/package/linux-firmware/linux-firmware.mk
@@ -0,0 +1,79 @@
+#############################################################
+#
+# linux-firmware
+#
+#############################################################
+LINUX_FIRMWARE_VERSION = a2995d38c234e3d767df7223d84a0f33a1a24997
+LINUX_FIRMWARE_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
+LINUX_FIRMWARE_SITE_METHOD = git
+
+# wl127x
+ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X),y)
+define FIRMWARE_TI_WL127X_INSTALL_TO_TARGET
+ cp -rf $(@D)/ti-connectivity/wl127* $(TARGET_DIR)/lib/firmware
+ $(INSTALL) -m 0644 -D $(@D)/ti-connectivity/TIInit_7.2.31.bts \
+ $(TARGET_DIR)/lib/firmware
+ $(INSTALL) -m 0644 -D $(@D)/LICENCE.ti-connectivity \
+ $(TARGET_DIR)/lib/firmware
+endef
+endif
+
+# wl128x
+ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X),y)
+define FIRMWARE_TI_WL128X_INSTALL_TO_TARGET
+ cp -rf $(@D)/ti-connectivity/wl128* $(TARGET_DIR)/lib/firmware
+ $(INSTALL) -m 0644 -D $(@D)/ti-connectivity/TIInit_7.2.31.bts \
+ $(TARGET_DIR)/lib/firmware
+ $(INSTALL) -m 0644 -D $(@D)/LICENCE.ti-connectivity \
+ $(TARGET_DIR)/lib/firmware
+endef
+endif
+
+# rt2501/rt61
+ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61),y)
+define FIRMWARE_RALINK_RT61_INSTALL_TO_TARGET
+ $(INSTALL) -m 0644 -D $(@D)/rt2561.bin \
+ $(TARGET_DIR)/lib/firmware
+ $(INSTALL) -m 0644 -D $(@D)/rt2561s.bin \
+ $(TARGET_DIR)/lib/firmware
+ $(INSTALL) -m 0644 -D $(@D)/rt2661.bin \
+ $(TARGET_DIR)/lib/firmware
+ $(INSTALL) -m 0644 -D $(@D)/LICENCE.ralink-firmware.txt \
+ $(TARGET_DIR)/lib/firmware
+endef
+endif
+
+# rt73
+ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73),y)
+define FIRMWARE_RALINK_RT73_INSTALL_TO_TARGET
+ $(INSTALL) -m 0644 -D $(@D)/rt73.bin \
+ $(TARGET_DIR)/lib/firmware
+ $(INSTALL) -m 0644 -D $(@D)/LICENCE.ralink-firmware.txt \
+ $(TARGET_DIR)/lib/firmware
+endef
+endif
+
+# rt73
+ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX),y)
+define FIRMWARE_RALINK_RT2XX_INSTALL_TO_TARGET
+ $(INSTALL) -m 0644 -D $(@D)/rt2860.bin \
+ $(TARGET_DIR)/lib/firmware
+ $(INSTALL) -m 0644 -D $(@D)/rt2870.bin \
+ $(TARGET_DIR)/lib/firmware
+ $(INSTALL) -m 0644 -D $(@D)/rt3071.bin \
+ $(TARGET_DIR)/lib/firmware
+ cp -rf $(@D)/rt30* $(TARGET_DIR)/lib/firmware
+ $(INSTALL) -m 0644 -D $(@D)/LICENCE.ralink-firmware.txt \
+ $(TARGET_DIR)/lib/firmware
+endef
+endif
+
+define LINUX_FIRMWARE_INSTALL_TARGET_CMDS
+ $(FIRMWARE_TI_WL127X_INSTALL_TO_TARGET)
+ $(FIRMWARE_TI_WL128X_INSTALL_TO_TARGET)
+ $(FIRMWARE_RALINK_RT61_INSTALL_TO_TARGET)
+ $(FIRMWARE_RALINK_RT73_INSTALL_TO_TARGET)
+ $(FIRMWARE_RALINK_RT2XX_INSTALL_TO_TARGET)
+endef
+
+$(eval $(call GENTARGETS))
--
1.7.1.1
More information about the buildroot
mailing list