From 4d2acfbfdf68257e846aaa355edd10fc35ba0feb Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Fri, 23 May 2008 13:58:12 +0100 Subject: firmware: Add CONFIG_EXTRA_FIRMWARE option This allows arbitrary firmware files to be included in the static kernel where the firmware loader can find them without requiring userspace to be alive. (Updated and CONFIG_EXTRA_FIRMWARE_DIR added with lots of help from Johannes Berg). Signed-off-by: David Woodhouse Signed-off-by: Johannes Berg --- firmware/Makefile | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 firmware/Makefile (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile new file mode 100644 index 00000000000..e69461f9362 --- /dev/null +++ b/firmware/Makefile @@ -0,0 +1,88 @@ +# +# kbuild file for firmware/ +# + +# Create $(fwabs) from $(CONFIG_EXTRA_FIRMWARE_DIR) -- if it doesn't have a +# leading /, it's relative to $(srctree). +fwdir := $(subst ",,$(CONFIG_EXTRA_FIRMWARE_DIR)) +fwabs := $(addprefix $(srctree)/,$(filter-out /%,$(fwdir)))$(filter /%,$(fwdir)) + +fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE)) + +firmware-y := $(fw-external-y) $(fw-shipped-y) +firmware-dirs := $(sort $(patsubst %,$(objtree)/$(obj)/%/,$(dir $(firmware-y) $(fw-shipped-)))) + +quiet_cmd_mkdir = MKDIR $(patsubst $(objtree)/%,%,$@) + cmd_mkdir = mkdir -p $@ + +quiet_cmd_ihex = IHEX $@ + cmd_ihex = $(OBJCOPY) -Iihex -Obinary $< $@ + +quiet_cmd_fwbin = MK_FW $@ + cmd_fwbin = FWNAME="$(patsubst firmware/%.gen.S,%,$@)"; \ + FWSTR="$(subst /,_,$(subst .,_,$(subst -,_,$(patsubst \ + firmware/%.gen.S,%,$@))))"; \ + ASM_WORD=$(if $(CONFIG_64BIT),.quad,.long); \ + ASM_ALIGN=$(if $(CONFIG_64BIT),3,2); \ + PROGBITS=$(if $(CONFIG_ARM),%,@)progbits; \ + echo "/* Generated by firmware/Makefile */" > $@;\ + echo " .section .rodata" >>$@;\ + echo " .p2align $${ASM_ALIGN}" >>$@;\ + echo "_fw_$${FWSTR}_bin:" >>$@;\ + echo " .incbin \"$(2)\"" >>$@;\ + echo "_fw_end:" >>$@;\ + echo " .section .rodata.str,\"aMS\",$${PROGBITS},1" >>$@;\ + echo " .p2align $${ASM_ALIGN}" >>$@;\ + echo "_fw_$${FWSTR}_name:" >>$@;\ + echo " .string \"$$FWNAME\"" >>$@;\ + echo " .section .builtin_fw,\"a\",$${PROGBITS}" >>$@;\ + echo " .p2align $${ASM_ALIGN}" >>$@;\ + echo " $${ASM_WORD} _fw_$${FWSTR}_name" >>$@;\ + echo " $${ASM_WORD} _fw_$${FWSTR}_bin" >>$@;\ + echo " $${ASM_WORD} _fw_end - _fw_$${FWSTR}_bin" >>$@; + +# One of these files will change, or come into existence, whenever +# the configuration changes between 32-bit and 64-bit. The .S files +# need to change when that happens. +wordsize_deps := $(wildcard include/config/64bit.h include/config/32bit.h \ + include/config/ppc32.h include/config/ppc64.h \ + include/config/superh32.h include/config/superh64.h \ + include/config/x86_32.h include/config/x86_64.h) + +# Workaround for make < 3.81, where .SECONDEXPANSION doesn't work. +# It'll end up depending on these targets, so make them a PHONY rule which +# depends on _all_ the directories in $(firmware-dirs), and it'll work out OK. +PHONY += $(objtree)/$$(%) $(objtree)/$(obj)/$$(%) +$(objtree)/$$(%) $(objtree)/$(obj)/$$(%): $(firmware-dirs) + @true + +# For the $$(dir %) trick, where we need % to be expanded first. +.SECONDEXPANSION: + +$(patsubst %,$(obj)/%.gen.S, $(fw-shipped-y)): %: $(wordsize_deps) \ + | $(objtree)/$$(dir %) + $(call cmd,fwbin,$(patsubst %.gen.S,%,$@)) +$(patsubst %,$(obj)/%.gen.S, $(fw-external-y)): %: $(wordsize_deps) \ + include/config/builtin/firmware/dir.h | $(objtree)/$$(dir %) + $(call cmd,fwbin,$(fwabs)/$(patsubst $(obj)/%.gen.S,%,$@)) + +# The .o files depend on the binaries directly; the .S files don't. +$(patsubst %,$(obj)/%.gen.o, $(fw-shipped-y)): %.gen.o: % +$(patsubst %,$(obj)/%.gen.o, $(fw-external-y)): $(obj)/%.gen.o: $(fwdir)/% + +$(obj)/%: $(obj)/%.ihex | $(objtree)/$(obj)/$$(dir %) + $(call cmd,ihex) + +$(firmware-dirs): + $(call cmd,mkdir) + +obj-y := $(patsubst %,%.gen.o, $(firmware-y)) + +# Remove .S files and binaries created from ihex +# (during 'make clean' .config isn't included so they're all in $(fw-shipped-)) +targets := $(fw-shipped-) $(patsubst $(obj)/%,%, \ + $(shell find $(obj) -name \*.gen.S 2>/dev/null)) + +# Without this, built-in.o won't be created when it's empty, and the +# final vmlinux link will fail. +obj-n := dummy -- cgit v1.2.3 From d172e7f5c67f2d41f453c7aa83d3bdb405ef8ba5 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Wed, 25 Jun 2008 13:56:07 +0100 Subject: firmware: Add CONFIG_FIRMWARE_IN_KERNEL option. This will control whether we build firmware into the kernel image for _every_ driver which we convert to request_firmware(), to avoid a proliferation of 'CONFIG_XXX_FIRMWARE' options for each one. Default to 'y' for now, which is the wrong thing to do but people seem to be insisting on it and refusing to even review patches until it's done. And it does preserve the existing behaviour for built-in drivers. Signed-off-by: David Woodhouse --- firmware/Makefile | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index e69461f9362..cc25f5600d5 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -9,6 +9,11 @@ fwabs := $(addprefix $(srctree)/,$(filter-out /%,$(fwdir)))$(filter /%,$(fwdir)) fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE)) +# If CONFIG_FIRMWARE_IN_KERNEL is not set, then don't include any firmware +ifneq ($(CONFIG_FIRMWARE_IN_KERNEL),y) +fw-shipped-y := +endif + firmware-y := $(fw-external-y) $(fw-shipped-y) firmware-dirs := $(sort $(patsubst %,$(objtree)/$(obj)/%/,$(dir $(firmware-y) $(fw-shipped-)))) -- cgit v1.2.3 From 88ecf814c47f577248751ddbe9626d98aeef5783 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Thu, 29 May 2008 11:01:51 +0300 Subject: firmware: Add firmware installation to modules_install, add firmware_install For 'make modules_install', install any firmware required by the modules which are being installed. Also add a 'make firmware_install' target which doesn't depend on the configuration, but installs _all_ available in-kernel-tree firmware into $(INSTALL_FW_PATH), which defaults to /lib/firmware. This is intended for distributors to make arch-independent (and config-independent) packages containing firmware. Signed-off-by: David Woodhouse --- firmware/Makefile | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index cc25f5600d5..3742feeb066 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -9,13 +9,22 @@ fwabs := $(addprefix $(srctree)/,$(filter-out /%,$(fwdir)))$(filter /%,$(fwdir)) fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE)) -# If CONFIG_FIRMWARE_IN_KERNEL is not set, then don't include any firmware -ifneq ($(CONFIG_FIRMWARE_IN_KERNEL),y) -fw-shipped-y := -endif +# There are three cases to care about: +# 1. Building kernel with CONFIG_FIRMWARE_IN_KERNEL=y -- $(fw-shipped-y) should +# include the firmware files to include, according to .config +# 2. 'make modules_install', which will install firmware for modules, and +# _also_ for the in-kernel drivers when CONFIG_FIRMWARE_IN_KERNEL=n +# 3. 'make firmware_install', which installs all firmware, unconditionally. -firmware-y := $(fw-external-y) $(fw-shipped-y) -firmware-dirs := $(sort $(patsubst %,$(objtree)/$(obj)/%/,$(dir $(firmware-y) $(fw-shipped-)))) +# For the former two cases we want $(fw-shipped-y) and $(fw-shipped-m) to be +# accurate. In the latter case it doesn't matter -- it'll use $(fw-shipped-all). +# But be aware that the config file might not be included at all. + + +fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-) + +# Directories which we _might_ need to create, so we have a rule for them. +firmware-dirs := $(sort $(patsubst %,$(objtree)/$(obj)/%/,$(dir $(fw-external-y) $(fw-shipped-all)))) quiet_cmd_mkdir = MKDIR $(patsubst $(objtree)/%,%,$@) cmd_mkdir = mkdir -p $@ @@ -81,7 +90,8 @@ $(obj)/%: $(obj)/%.ihex | $(objtree)/$(obj)/$$(dir %) $(firmware-dirs): $(call cmd,mkdir) -obj-y := $(patsubst %,%.gen.o, $(firmware-y)) +obj-y += $(patsubst %,%.gen.o, $(fw-external-y)) +obj-$(CONFIG_FIRMWARE_IN_KERNEL) += $(patsubst %,%.gen.o, $(fw-shipped-y)) # Remove .S files and binaries created from ihex # (during 'make clean' .config isn't included so they're all in $(fw-shipped-)) -- cgit v1.2.3 From 8bd6b2229bf98761465020467ec33547d05bff46 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Sat, 31 May 2008 15:07:18 +0300 Subject: ihex: add ihex2fw tool for converting HEX files into firmware images Not the straight conversion to binary which objcopy can do for us, but actually representing each record with its original {addr, length}, because some drivers need that information preserved. Fix up 'firmware_install' to be able to build $(hostprogs-y) too. Signed-off-by: David Woodhouse --- firmware/Makefile | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index 3742feeb066..9e780a331e1 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -32,6 +32,9 @@ quiet_cmd_mkdir = MKDIR $(patsubst $(objtree)/%,%,$@) quiet_cmd_ihex = IHEX $@ cmd_ihex = $(OBJCOPY) -Iihex -Obinary $< $@ +quiet_cmd_ihex2fw = IHEX2FW $@ + cmd_ihex2fw = $(objtree)/$(obj)/ihex2fw $< $@ + quiet_cmd_fwbin = MK_FW $@ cmd_fwbin = FWNAME="$(patsubst firmware/%.gen.S,%,$@)"; \ FWSTR="$(subst /,_,$(subst .,_,$(subst -,_,$(patsubst \ @@ -84,9 +87,18 @@ $(patsubst %,$(obj)/%.gen.S, $(fw-external-y)): %: $(wordsize_deps) \ $(patsubst %,$(obj)/%.gen.o, $(fw-shipped-y)): %.gen.o: % $(patsubst %,$(obj)/%.gen.o, $(fw-external-y)): $(obj)/%.gen.o: $(fwdir)/% +# .ihex is used just as a simple way to hold binary files in a source tree +# where binaries are frowned upon. They are directly converted with objcopy. $(obj)/%: $(obj)/%.ihex | $(objtree)/$(obj)/$$(dir %) $(call cmd,ihex) +# .HEX is also Intel HEX, but where the offset and length in each record +# is actually meaningful, because the firmware has to be loaded in a certain +# order rather than as a single binary blob. Thus, we convert them into our +# more compact binary representation of ihex records () +$(obj)/%.fw: $(obj)/%.HEX $(obj)/ihex2fw | $(objtree)/$(obj)/$$(dir %) + $(call cmd,ihex2fw) + $(firmware-dirs): $(call cmd,mkdir) @@ -101,3 +113,5 @@ targets := $(fw-shipped-) $(patsubst $(obj)/%,%, \ # Without this, built-in.o won't be created when it's empty, and the # final vmlinux link will fail. obj-n := dummy + +hostprogs-y := ihex2fw -- cgit v1.2.3 From 59890f74e51abffd0dd017785d89f8a8475d489d Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Thu, 26 Jun 2008 13:55:30 +0100 Subject: ihex: Add support for long records to ihex2fw.c Some drivers could do with using records like Intel HEX, but with each record being larger than 256 bytes. This has been possible in the binary representation (struct ihex_binrec) in the kernel since the beginning -- at least of the the current version of history. But we haven't been able to represent that in the .HEX files which get converted to .fw files. This adds a '-w' option to ihex2fw to make it interpret the first _two_ bytes of each line as the record length, instead of only one byte. And adds makefile rules for %.H16->%.fw which use that. Signed-off-by: David Woodhouse --- firmware/Makefile | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index 9e780a331e1..40881a96be0 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -35,6 +35,9 @@ quiet_cmd_ihex = IHEX $@ quiet_cmd_ihex2fw = IHEX2FW $@ cmd_ihex2fw = $(objtree)/$(obj)/ihex2fw $< $@ +quiet_cmd_h16tofw = H16TOFW $@ + cmd_h16tofw = $(objtree)/$(obj)/ihex2fw -w $< $@ + quiet_cmd_fwbin = MK_FW $@ cmd_fwbin = FWNAME="$(patsubst firmware/%.gen.S,%,$@)"; \ FWSTR="$(subst /,_,$(subst .,_,$(subst -,_,$(patsubst \ @@ -99,6 +102,10 @@ $(obj)/%: $(obj)/%.ihex | $(objtree)/$(obj)/$$(dir %) $(obj)/%.fw: $(obj)/%.HEX $(obj)/ihex2fw | $(objtree)/$(obj)/$$(dir %) $(call cmd,ihex2fw) +# .H16 is our own modified form of Intel HEX, with 16-bit length for records. +$(obj)/%.fw: $(obj)/%.H16 $(obj)/ihex2fw | $(objtree)/$(obj)/$$(dir %) + $(call cmd,h16tofw) + $(firmware-dirs): $(call cmd,mkdir) -- cgit v1.2.3 From 76770664dcbc008300c2ac8747671efcc4f78c2d Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Mon, 26 May 2008 23:01:27 +0100 Subject: firmware: convert korg1212 driver to use firmware loader exclusively Signed-off-by: David Woodhouse --- firmware/Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index 40881a96be0..ea4a883f5c6 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -20,6 +20,7 @@ fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE)) # accurate. In the latter case it doesn't matter -- it'll use $(fw-shipped-all). # But be aware that the config file might not be included at all. +fw-shipped-$(CONFIG_SND_KORG1212) += korg/k1212.dsp fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-) -- cgit v1.2.3 From a292f404fabb342716a9d96e8155b7fb7b651dc1 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Thu, 29 May 2008 14:48:34 +0300 Subject: firmware: convert maestro3 driver to use firmware loader exclusively Signed-off-by: David Woodhouse --- firmware/Makefile | 2 ++ 1 file changed, 2 insertions(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index ea4a883f5c6..f312ac0e897 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -21,6 +21,8 @@ fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE)) # But be aware that the config file might not be included at all. fw-shipped-$(CONFIG_SND_KORG1212) += korg/k1212.dsp +fw-shipped-$(CONFIG_SND_MAESTRO3) += ess/maestro3_assp_kernel.fw \ + ess/maestro3_assp_minisrc.fw fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-) -- cgit v1.2.3 From 18ee6dfae89d9c131e3c9952939633ba8fa86247 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Thu, 29 May 2008 15:07:34 +0300 Subject: firmware: convert ymfpci driver to use firmware loader exclusively Signed-off-by: David Woodhouse --- firmware/Makefile | 2 ++ 1 file changed, 2 insertions(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index f312ac0e897..a962fe91e90 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -23,6 +23,8 @@ fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE)) fw-shipped-$(CONFIG_SND_KORG1212) += korg/k1212.dsp fw-shipped-$(CONFIG_SND_MAESTRO3) += ess/maestro3_assp_kernel.fw \ ess/maestro3_assp_minisrc.fw +fw-shipped-$(CONFIG_SND_YMFPCI) += yamaha/ds1_ctrl.fw yamaha/ds1_dsp.fw \ + yamaha/ds1e_ctrl.fw fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-) -- cgit v1.2.3 From 0f805b86c9492c294c710de8539a8be68b521a86 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Thu, 29 May 2008 16:39:16 +0300 Subject: smctr: use request_firmware() Signed-off-by: David Woodhouse --- firmware/Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index a962fe91e90..7a8fa9e1f46 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -20,6 +20,7 @@ fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE)) # accurate. In the latter case it doesn't matter -- it'll use $(fw-shipped-all). # But be aware that the config file might not be included at all. +fw-shipped-$(CONFIG_SMCTR) += tr_smctr.bin fw-shipped-$(CONFIG_SND_KORG1212) += korg/k1212.dsp fw-shipped-$(CONFIG_SND_MAESTRO3) += ess/maestro3_assp_kernel.fw \ ess/maestro3_assp_minisrc.fw -- cgit v1.2.3 From 79682499d9f3eaea4e6a970d8aa0b9bc1ac2a97f Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Thu, 29 May 2008 17:17:17 +0300 Subject: kaweth: use request_firmware() Signed-off-by: David Woodhouse --- firmware/Makefile | 3 +++ 1 file changed, 3 insertions(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index 7a8fa9e1f46..40939e91c83 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -26,6 +26,9 @@ fw-shipped-$(CONFIG_SND_MAESTRO3) += ess/maestro3_assp_kernel.fw \ ess/maestro3_assp_minisrc.fw fw-shipped-$(CONFIG_SND_YMFPCI) += yamaha/ds1_ctrl.fw yamaha/ds1_dsp.fw \ yamaha/ds1e_ctrl.fw +fw-shipped-$(CONFIG_USB_KAWETH) += kaweth/new_code.bin kaweth/trigger_code.bin \ + kaweth/new_code_fix.bin \ + kaweth/trigger_code_fix.bin fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-) -- cgit v1.2.3 From 0a2a736afa91e8a0402c9dbdaf2ee28481a50bd3 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Thu, 29 May 2008 19:50:06 +0300 Subject: ttusb-budget: use request_firmware() Signed-off-by: David Woodhouse Acked-by: Mauro Carvalho Chehab --- firmware/Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index 40939e91c83..be7e015719d 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -20,6 +20,7 @@ fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE)) # accurate. In the latter case it doesn't matter -- it'll use $(fw-shipped-all). # But be aware that the config file might not be included at all. +fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin fw-shipped-$(CONFIG_SMCTR) += tr_smctr.bin fw-shipped-$(CONFIG_SND_KORG1212) += korg/k1212.dsp fw-shipped-$(CONFIG_SND_MAESTRO3) += ess/maestro3_assp_kernel.fw \ -- cgit v1.2.3 From 2971c579f93bcff26744672ea98c13bef71ded97 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Fri, 30 May 2008 14:04:03 +0300 Subject: keyspan: use request_firmware() Signed-off-by: David Woodhouse --- firmware/Makefile | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index be7e015719d..db1b01a7a66 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -30,6 +30,25 @@ fw-shipped-$(CONFIG_SND_YMFPCI) += yamaha/ds1_ctrl.fw yamaha/ds1_dsp.fw \ fw-shipped-$(CONFIG_USB_KAWETH) += kaweth/new_code.bin kaweth/trigger_code.bin \ kaweth/new_code_fix.bin \ kaweth/trigger_code_fix.bin +ifdef CONFIG_FIRMWARE_IN_KERNEL +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_MPR) += keyspan/mpr.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA18X) += keyspan/usa18x.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA19) += keyspan/usa19.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA19QI) += keyspan/usa19qi.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA19QW) += keyspan/usa19qw.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA19W) += keyspan/usa19w.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA28) += keyspan/usa28.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA28XA) += keyspan/usa28xa.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA28XB) += keyspan/usa28xb.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA28X) += keyspan/usa28x.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA49W) += keyspan/usa49w.fw +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA49WLC) += keyspan/usa49wlc.fw +else +fw-shipped- := keyspan/mpr.fw keyspan/usa18x.fw keyspan/usa19.fw \ + keyspan/usa19qi.fw keyspan/usa19qw.fw keyspan/usa19w.fw \ + keyspan/usa28.fw keyspan/usa28xa.fw keyspan/usa28xb.fw \ + keyspan/usa28x.fw keyspan/usa49w.fw keyspan/usa49wlc.fw +endif fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-) -- cgit v1.2.3 From 3edbf98b863391bdd7ad2bf47b7db1689afac886 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Fri, 30 May 2008 15:15:13 +0300 Subject: keyspan_pda: use request_firmware() Signed-off-by: David Woodhouse --- firmware/Makefile | 2 ++ 1 file changed, 2 insertions(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index db1b01a7a66..dd76fa5ab3f 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -49,6 +49,8 @@ fw-shipped- := keyspan/mpr.fw keyspan/usa18x.fw keyspan/usa19.fw \ keyspan/usa28.fw keyspan/usa28xa.fw keyspan/usa28xb.fw \ keyspan/usa28x.fw keyspan/usa49w.fw keyspan/usa49wlc.fw endif +fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_PDA) += keyspan_pda/keyspan_pda.fw +fw-shipped-$(CONFIG_USB_SERIAL_XIRCOM) += keyspan_pda/xircom_pgs.fw fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-) -- cgit v1.2.3 From ae93a55bf948753de0bb8e43fa9c027f786abb05 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Fri, 30 May 2008 16:19:39 +0300 Subject: emi26: use request_firmware() Signed-off-by: David Woodhouse --- firmware/Makefile | 2 ++ 1 file changed, 2 insertions(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index dd76fa5ab3f..51ff1f35345 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -27,6 +27,8 @@ fw-shipped-$(CONFIG_SND_MAESTRO3) += ess/maestro3_assp_kernel.fw \ ess/maestro3_assp_minisrc.fw fw-shipped-$(CONFIG_SND_YMFPCI) += yamaha/ds1_ctrl.fw yamaha/ds1_dsp.fw \ yamaha/ds1e_ctrl.fw +fw-shipped-$(CONFIG_USB_EMI26) += emi26/loader.fw emi26/firmware.fw \ + emi26/bitstream.fw fw-shipped-$(CONFIG_USB_KAWETH) += kaweth/new_code.bin kaweth/trigger_code.bin \ kaweth/new_code_fix.bin \ kaweth/trigger_code_fix.bin -- cgit v1.2.3 From b8e24bfabb03527d1c876fcaf24cccb05e1cbc65 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Fri, 30 May 2008 17:35:47 +0300 Subject: emi62: use request_firmware() Signed-off-by: David Woodhouse --- firmware/Makefile | 2 ++ 1 file changed, 2 insertions(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index 51ff1f35345..2b340746fa1 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -29,6 +29,8 @@ fw-shipped-$(CONFIG_SND_YMFPCI) += yamaha/ds1_ctrl.fw yamaha/ds1_dsp.fw \ yamaha/ds1e_ctrl.fw fw-shipped-$(CONFIG_USB_EMI26) += emi26/loader.fw emi26/firmware.fw \ emi26/bitstream.fw +fw-shipped-$(CONFIG_USB_EMI62) += emi62/loader.fw emi62/bitstream.fw \ + emi62/spdif.fw emi62/midi.fw fw-shipped-$(CONFIG_USB_KAWETH) += kaweth/new_code.bin kaweth/trigger_code.bin \ kaweth/new_code_fix.bin \ kaweth/trigger_code_fix.bin -- cgit v1.2.3 From 5f24e2d6b40f0c74ce5bfaddfdb89f9bfae4b594 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Fri, 30 May 2008 18:49:51 +0300 Subject: ti_usb_3410_5052: use request_firmware() Signed-off-by: David Woodhouse --- firmware/Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index 2b340746fa1..28f975f2c9d 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -53,6 +53,7 @@ fw-shipped- := keyspan/mpr.fw keyspan/usa18x.fw keyspan/usa19.fw \ keyspan/usa28.fw keyspan/usa28xa.fw keyspan/usa28xb.fw \ keyspan/usa28x.fw keyspan/usa49w.fw keyspan/usa49wlc.fw endif +fw-shipped-$(CONFIG_USB_SERIAL_TI) += ti_3410.fw ti_5052.fw fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_PDA) += keyspan_pda/keyspan_pda.fw fw-shipped-$(CONFIG_USB_SERIAL_XIRCOM) += keyspan_pda/xircom_pgs.fw -- cgit v1.2.3 From ec6752f5afce659025962e25fb2f42b3911254a1 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Sat, 31 May 2008 01:35:29 +0300 Subject: whiteheat: use request_firmware() Signed-off-by: David Woodhouse --- firmware/Makefile | 2 ++ 1 file changed, 2 insertions(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index 28f975f2c9d..f937648aebc 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -54,6 +54,8 @@ fw-shipped- := keyspan/mpr.fw keyspan/usa18x.fw keyspan/usa19.fw \ keyspan/usa28x.fw keyspan/usa49w.fw keyspan/usa49wlc.fw endif fw-shipped-$(CONFIG_USB_SERIAL_TI) += ti_3410.fw ti_5052.fw +fw-shipped-$(CONFIG_USB_SERIAL_WHITEHEAT) += whiteheat_loader.fw whiteheat.fw \ + # whiteheat_loader_debug.fw fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_PDA) += keyspan_pda/keyspan_pda.fw fw-shipped-$(CONFIG_USB_SERIAL_XIRCOM) += keyspan_pda/xircom_pgs.fw -- cgit v1.2.3 From 27d202fff1555f5b0eb16a5aedc452566f9ab8bb Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Thu, 5 Jun 2008 12:59:51 +0100 Subject: firmware: convert Ambassador ATM driver to request_firmware() Since it had various regions to be loaded to separate addresses, and it wanted to do them in fairly small chunks anyway, switch it to use the new ihex code. Encode the start address in the first record. Signed-off-by: David Woodhouse Acked-by: Chas Williams --- firmware/Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index f937648aebc..a561bdfb2ec 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -20,6 +20,7 @@ fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE)) # accurate. In the latter case it doesn't matter -- it'll use $(fw-shipped-all). # But be aware that the config file might not be included at all. +fw-shipped-$(CONFIG_ATM_AMBASSADOR) += atmsar11.fw fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin fw-shipped-$(CONFIG_SMCTR) += tr_smctr.bin fw-shipped-$(CONFIG_SND_KORG1212) += korg/k1212.dsp -- cgit v1.2.3 From 547d8bb7ddf7f5d9f53741086a394c8318e15f16 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Wed, 11 Jun 2008 16:57:21 +0100 Subject: ip2: use request_firmware() Converted with help from Jaswinder Singh Signed-off-by: David Woodhouse Acked-by: Alan Cox --- firmware/Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index a561bdfb2ec..2f81089dfd2 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -21,6 +21,7 @@ fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE)) # But be aware that the config file might not be included at all. fw-shipped-$(CONFIG_ATM_AMBASSADOR) += atmsar11.fw +fw-shipped-$(CONFIG_COMPUTONE) += intelliport2.bin fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin fw-shipped-$(CONFIG_SMCTR) += tr_smctr.bin fw-shipped-$(CONFIG_SND_KORG1212) += korg/k1212.dsp -- cgit v1.2.3 From 04a33e406a062cd1bb55014ee17a3558109a2d74 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Mon, 23 Jun 2008 11:36:23 +0100 Subject: cpia2: use request_firmware() Thanks for Jaswinder Singh for converting the firmware blob itself to ihex. Signed-off-by: David Woodhouse --- firmware/Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index 2f81089dfd2..8d5465fefd0 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -60,6 +60,7 @@ fw-shipped-$(CONFIG_USB_SERIAL_WHITEHEAT) += whiteheat_loader.fw whiteheat.fw \ # whiteheat_loader_debug.fw fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_PDA) += keyspan_pda/keyspan_pda.fw fw-shipped-$(CONFIG_USB_SERIAL_XIRCOM) += keyspan_pda/xircom_pgs.fw +fw-shipped-$(CONFIG_VIDEO_CPIA2) += cpia2/stv0672_vp4.bin fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-) -- cgit v1.2.3 From c466774636b3cc43c2c304b44e52974d9d53f3e0 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Mon, 23 Jun 2008 11:41:04 +0100 Subject: dabusb: use request_firmware() Signed-off-by: David Woodhouse --- firmware/Makefile | 3 +++ 1 file changed, 3 insertions(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index 8d5465fefd0..331d10cf651 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -29,6 +29,9 @@ fw-shipped-$(CONFIG_SND_MAESTRO3) += ess/maestro3_assp_kernel.fw \ ess/maestro3_assp_minisrc.fw fw-shipped-$(CONFIG_SND_YMFPCI) += yamaha/ds1_ctrl.fw yamaha/ds1_dsp.fw \ yamaha/ds1e_ctrl.fw +fw-shipped-$(CONFIG_TIGON3) += tigon/tg3.bin tigon/tg3_tso.bin \ + tigon/tg3_tso5.bin +fw-shipped-$(CONFIG_USB_DABUSB) += dabusb/firmware.fw dabusb/bitstream.bin fw-shipped-$(CONFIG_USB_EMI26) += emi26/loader.fw emi26/firmware.fw \ emi26/bitstream.fw fw-shipped-$(CONFIG_USB_EMI62) += emi62/loader.fw emi62/bitstream.fw \ -- cgit v1.2.3 From fb54be8755d386008bfadb7fc8ff89451fa3a9c9 Mon Sep 17 00:00:00 2001 From: Jaswinder Singh Date: Fri, 27 Jun 2008 19:50:40 +0530 Subject: vicam: use request_firmware() Although it wasn't actually using ihex records before, we use the Intel HEX record format for this firmware -- because that gives us a simple way to split it into separate chunks internally as we need, without loading each part as a separate file. Signed-off-by: Jaswinder Singh Signed-off-by: David Woodhouse --- firmware/Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index 331d10cf651..5ed36ae1a41 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -63,6 +63,7 @@ fw-shipped-$(CONFIG_USB_SERIAL_WHITEHEAT) += whiteheat_loader.fw whiteheat.fw \ # whiteheat_loader_debug.fw fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_PDA) += keyspan_pda/keyspan_pda.fw fw-shipped-$(CONFIG_USB_SERIAL_XIRCOM) += keyspan_pda/xircom_pgs.fw +fw-shipped-$(CONFIG_USB_VICAM) += vicam/firmware.fw fw-shipped-$(CONFIG_VIDEO_CPIA2) += cpia2/stv0672_vp4.bin fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-) -- cgit v1.2.3 From 5b9ea9322605da09d6f7119f03f71cc52b044911 Mon Sep 17 00:00:00 2001 From: Jaswinder Singh Date: Thu, 3 Jul 2008 17:00:23 +0530 Subject: edgeport: use request_firmware() Version number provided in first HEX record. Signed-off-by: Jaswinder Singh Signed-off-by: David Woodhouse --- firmware/Makefile | 2 ++ 1 file changed, 2 insertions(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index 5ed36ae1a41..be3a9e97d56 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -59,6 +59,8 @@ fw-shipped- := keyspan/mpr.fw keyspan/usa18x.fw keyspan/usa19.fw \ keyspan/usa28x.fw keyspan/usa49w.fw keyspan/usa49wlc.fw endif fw-shipped-$(CONFIG_USB_SERIAL_TI) += ti_3410.fw ti_5052.fw +fw-shipped-$(CONFIG_USB_SERIAL_EDGEPORT) += edgeport/boot.fw edgeport/boot2.fw \ + edgeport/down.fw edgeport/down2.fw fw-shipped-$(CONFIG_USB_SERIAL_WHITEHEAT) += whiteheat_loader.fw whiteheat.fw \ # whiteheat_loader_debug.fw fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_PDA) += keyspan_pda/keyspan_pda.fw -- cgit v1.2.3 From d12b219a228efe92f0778ed3af21305e65fbb052 Mon Sep 17 00:00:00 2001 From: Jaswinder Singh Date: Fri, 4 Jul 2008 23:06:09 +0530 Subject: edgeport-ti: use request_firmware() Firmware blob looks like this... uint8_t MajorVersion uint8_t MinorVersion __le16 BuildNumber uint8_t data[] Signed-off-by: Jaswinder Singh Signed-off-by: David Woodhouse --- firmware/Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index be3a9e97d56..a162b2928fb 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -61,6 +61,7 @@ endif fw-shipped-$(CONFIG_USB_SERIAL_TI) += ti_3410.fw ti_5052.fw fw-shipped-$(CONFIG_USB_SERIAL_EDGEPORT) += edgeport/boot.fw edgeport/boot2.fw \ edgeport/down.fw edgeport/down2.fw +fw-shipped-$(CONFIG_USB_SERIAL_EDGEPORT_TI) += edgeport/down3.bin fw-shipped-$(CONFIG_USB_SERIAL_WHITEHEAT) += whiteheat_loader.fw whiteheat.fw \ # whiteheat_loader_debug.fw fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_PDA) += keyspan_pda/keyspan_pda.fw -- cgit v1.2.3 From 7f127d5ed0da66053482a3e18014c439da3c41d1 Mon Sep 17 00:00:00 2001 From: Jaswinder Singh Date: Sat, 5 Jul 2008 15:28:30 +0530 Subject: dsp56k: use request_firmware Signed-off-by: Jaswinder Singh Signed-off-by: David Woodhouse --- firmware/Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index a162b2928fb..782c499a373 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -20,6 +20,7 @@ fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE)) # accurate. In the latter case it doesn't matter -- it'll use $(fw-shipped-all). # But be aware that the config file might not be included at all. +fw-shipped-$(CONFIG_ATARI_DSP56K) += dsp56k/bootstrap.bin fw-shipped-$(CONFIG_ATM_AMBASSADOR) += atmsar11.fw fw-shipped-$(CONFIG_COMPUTONE) += intelliport2.bin fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin -- cgit v1.2.3 From d71792ac3d48df6693f7b339e02494efc27036c3 Mon Sep 17 00:00:00 2001 From: Jaswinder Singh Date: Sat, 5 Jul 2008 18:05:22 +0530 Subject: firmware: convert sb16_csp driver to use firmware loader exclusively Signed-off-by: Jaswinder Singh Signed-off-by: David Woodhouse --- firmware/Makefile | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile index 782c499a373..10028ace2de 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -28,6 +28,10 @@ fw-shipped-$(CONFIG_SMCTR) += tr_smctr.bin fw-shipped-$(CONFIG_SND_KORG1212) += korg/k1212.dsp fw-shipped-$(CONFIG_SND_MAESTRO3) += ess/maestro3_assp_kernel.fw \ ess/maestro3_assp_minisrc.fw +fw-shipped-$(CONFIG_SND_SB16_CSP) += sb16/mulaw_main.csp sb16/alaw_main.csp \ + sb16/ima_adpcm_init.csp \ + sb16/ima_adpcm_playback.csp \ + sb16/ima_adpcm_capture.csp fw-shipped-$(CONFIG_SND_YMFPCI) += yamaha/ds1_ctrl.fw yamaha/ds1_dsp.fw \ yamaha/ds1e_ctrl.fw fw-shipped-$(CONFIG_TIGON3) += tigon/tg3.bin tigon/tg3_tso.bin \ -- cgit v1.2.3