]> git.alsa-project.org Git - alsa-tools.git/commitdiff
updated to version 0.3 by Karsten:
authorTakashi Iwai <tiwai@suse.de>
Tue, 23 Sep 2003 14:16:23 +0000 (14:16 +0000)
committerTakashi Iwai <tiwai@suse.de>
Tue, 23 Sep 2003 14:16:23 +0000 (14:16 +0000)
- added INSTALL and README documents.
- fixed compile warnings.
- install hotplug scripts to /etc/hotplug/usb.
- added phase1 firmware files.

usx2yloader/INSTALL [new file with mode: 0644]
usx2yloader/Makefile.am
usx2yloader/README [new file with mode: 0644]
usx2yloader/configure.in
usx2yloader/cvscompile [new file with mode: 0644]
usx2yloader/firmware/Makefile.am
usx2yloader/firmware/tascam_loader.ihx [new file with mode: 0644]
usx2yloader/firmware/us428fw.ihx [new file with mode: 0644]
usx2yloader/tascam_fw [new file with mode: 0644]
usx2yloader/tascam_fw.usermap [new file with mode: 0644]
usx2yloader/usx2yloader.c

diff --git a/usx2yloader/INSTALL b/usx2yloader/INSTALL
new file mode 100644 (file)
index 0000000..9b435a4
--- /dev/null
@@ -0,0 +1,4 @@
+For Installing from CVS do:
+./cvscompile
+make install
+
index a321dbd4a97c0d0567c370e3f81b043ecd0d15ad..31c3d089778d96b3d09745533997ccc5b1256b70 100644 (file)
@@ -11,6 +11,11 @@ usx2yloader_SOURCES = usx2yloader.c
 
 EXTRA_DIST = depcomp
 
+hotplug_files = tascam_fw.usermap tascam_fw tascam_fpga
+hotplugdir = /etc/hotplug/usb
+hotplug_SCRIPTS = $(hotplug_files)
+
+
 alsa-dist: distdir
        @rm -rf ../distdir/usx2yloader
        @mkdir -p ../distdir/usx2yloader
diff --git a/usx2yloader/README b/usx2yloader/README
new file mode 100644 (file)
index 0000000..70ce095
--- /dev/null
@@ -0,0 +1,85 @@
+    USX2YLOADER - Second Phase Firmware loader for Tascam USX2Y USB soundcards
+           2003-09-15 Karsten Wiese <annabellesgarden@yahoo.de>
+
+
+GENERAL
+=======
+
+Usx2yloader is a helper program to load the 2nd Phase firmware binaries
+onto the Tascam USX2Y USB soundcards.
+It has proven to work so far only for the US428.
+US122 & US224 will hopefully follow.
+The snd-usb-us428 module requires this program.
+
+
+US428 initialisation outlined
+=============================
+
+A.  Phase 1
+A.1.  US428 is plugged to the PC and powered on.
+      This makes the kernel see a new USB-device with the Vendor/Product
+      ID 0x1604/0x8000.
+      The kernel reacts by starting the usb-hotplug script.
+A.2.  The usb-hotplug script starts the executable fxload,
+      which transfers the EZUSB firmware to the US428.
+A.3.  The US428 disconnects itself from the USB-Bus and ... (see Phase 2).
+
+B.  Phase 2
+B.1.  The US428 reintroduces itself as USB-device with the Vendor/Product
+      ID 0x1604/0x8001.
+      The kernel reacts by loading the module snd-usb-us428, if it is not
+      already loaded.
+B.2   The module snd-usb-us428 "takes" the US428 as its device and sets up
+      a "hardware dependent interface".
+      (The module doesn't create any pcm nor midi devices now.)
+B.3   Subsequently the kernel starts the usb-hotplug script, which launches
+      usx2yloader.
+B.4   usx2yloader transfers the 2nd Phase firmware binary to the US428 by means
+      of the "hardware dependent interface". When this transfer finishes,
+      the snd-usb-us428 module creates the pcm- and midi-devices.
+      Initialisation is complete.
+
+
+USAGE
+=====
+
+When usx2yloader is invoked without options, it will probe all existing
+soundcards until a valid USX2Y-driver is found.  If a valid USX2Y-driver is
+found, usx2yloader reads the board type from the driver.  The corresponding
+firmware binaries are then read and transferred to the driver.
+Finally, usx2yloader initializes the PCM, MIDI and the mixer devices on the
+driver for making the soundcard full functional.
+
+Instead of auto-probing, you can specify the card number or the hwdep
+device name or the usb device name via -c, -D or -u options, respectively.
+
+       % usx2yloader -c 1
+       % usx2yloader -D hw:0
+       % usx2yloader -u /proc/bus/usb/001/003
+
+For loading everything automatically in response to a hotplug event
+there are the hotplug script files
+ - tascam_fw.usermap
+ - tascam_fw
+ - tascam_fpga
+and the Firmwarefiles.
+You also need hotplug to be installed.
+
+
+FIRMWAREFILES
+=============
+
+The firmware binaries are installed on /usr/share/alsa/firmware
+(or /usr/local/share/alsa/firmware, depending to the prefix option of
+configure).  There will be *.conf files, which define the dsp image
+files for each different card type.
+
+
+COPYRIGHT
+=========
+
+Copyright (c) 2003 Karsten Wiese <annabellesgarden@yahoo.de>
+Distributalbe under GPL.
+
+The firmware files included in firmware sub-directory are copyright
+by Tascam / TEAC Corporation.
index 4107d285d274bc24fb08fb83831d1bba3b7296cd..908371e92c5f34521e681e7e42e71de86003c976 100644 (file)
@@ -1,5 +1,5 @@
 AC_INIT(usx2yloader.c)
-AM_INIT_AUTOMAKE(usx2yloader, 0.2)
+AM_INIT_AUTOMAKE(usx2yloader, 0.3)
 AC_PROG_CC
 AC_PROG_INSTALL
 AC_HEADER_STDC
diff --git a/usx2yloader/cvscompile b/usx2yloader/cvscompile
new file mode 100644 (file)
index 0000000..5daa701
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+aclocal $ACLOCAL_FLAGS
+automake --foreign --add-missing
+autoconf
+export CFLAGS='-O2 -Wall -pipe -g'
+echo "CFLAGS=$CFLAGS"
+echo "./configure $@"
+./configure $@
+unset CFLAGS
+make
index 8e528691ec62cc6d7dd8e96bdc0df2058a65bfec..ffa9c371cf80f82f1b9bf19b0e42189f0d55f24d 100644 (file)
@@ -1,5 +1,4 @@
-cfg_files = us428.conf us428.prepad us428.rbt
-
+cfg_files = us428.conf us428.prepad us428.rbt tascam_loader.ihx us428fw.ihx
 EXTRA_DIST = $(cfg_files)
 
 firmwaredir = $(datadir)/alsa/firmware
diff --git a/usx2yloader/firmware/tascam_loader.ihx b/usx2yloader/firmware/tascam_loader.ihx
new file mode 100644 (file)
index 0000000..faf5d9b
--- /dev/null
@@ -0,0 +1,139 @@
+:10146C00C200907FA5E05418FF131313541F44506F
+:10147C00F51C139201D2E8907FAB74FFF0907FA91A
+:10148C00F0907FAAF05391EF907F95E044C0F090DC
+:10149C007FAFE04401F0907FAEE04405F0D2AF1294
+:0D14AC00175F3000FD121100C20080F62213
+:10110000907FE9E0245D600D147003021244240214
+:10111000600302124A907FEAE0750800F509A3E037
+:10112000FEE42509F509EE3508F508907FEEE07537
+:101130000A00F50BA3E0FEE4250BF50BEE350AF5EE
+:101140000A907FE8E064C060030211D4E50B450A11
+:10115000700302124AC3E50B9440E50A940050085C
+:10116000850A0C850B0D8006750C00750D40907F6F
+:10117000E9E0B4A325AE0CAF0DAA08A9097B01C014
+:1011800003C002C0017A7F790078007C7FAD03D074
+:1011900001D002D003121356800FAF09AE08AD0D77
+:1011A0007A7F79007B001215A4907FB5E50DF0E5FC
+:1011B0000D2509F509E50C3508F508C3E50B950D76
+:1011C000F50BE50A950CF50A907FB4E020E20302E6
+:1011D000114C80F4907FE8E06440706EE50B450AA6
+:1011E0006068E4907FC5F0907FB4E020E3F9907FE1
+:1011F000C5E0750C00F50D907FE9E0B4A315AE0CC9
+:10120000AF0DA809AC087D017B017A7E79C012136D
+:1012100056800FAF09AE08AD0D7A7F79007B0012C2
+:1012200014B9E50D2509F509E50C3508F508C3E500
+:101230000B950DF50BE50A950CF50A907FB4E0448B
+:0A12400002F08098907FEAE0F51CB0
+:01124A002281
+:06155800AB07AA06AC057A
+:10155E00E4FD300111EAFFAE050DEE2400F582E444
+:10156E0034E0F583EFF0EBAE050D74002EF582E45A
+:10157E0034E0F583EBF0AF050D74002FF582E43403
+:10158E00E0F583ECF0AF1C7AE07B001217207F0AA7
+:05159E007E0012173C65
+:0115A3002225
+:0A14B9008E0E8F0F8D108A118B121A
+:1014C300E4F513E513C395105020050FE50FAE0E99
+:1014D3007002050E14FFE5122513F582E43511F5AC
+:0A14E30083E0FD121558051380D9AF
+:0114ED0022DC
+:0A15A4008E0E8F0F8D108A118B122E
+:1015AE00E4FD300112E50EFFAE050DEE2403F582CB
+:1015BE00E434E0F583EFF0E50FAE050D74032EF580
+:1015CE0082E434E0F583E50FF0AF1C7AE07B031282
+:0D15DE001720AF1CAD10AB12AA111217049C
+:0115EB0022DD
+:10166E00C0E0C083C082C085C084C086758600D2AB
+:10167E00005391EF907FAB7401F0D086D084D0856B
+:07168E00D082D083D0E032CE
+:10164400C0E0C083C082C085C084C0867586009017
+:101654007FC4E4F05391EF907FAB7404F0D086D054
+:0A16640084D085D082D083D0E0321C
+:10169500C0E0C083C082C085C084C0867586005303
+:1016A50091EF907FAB7402F0D086D084D085D08244
+:0516B500D083D0E032FB
+:1016BA00C0E0C083C082C085C084C08675860053DE
+:1016CA0091EF907FAB7410F0D086D084D085D08211
+:0516DA00D083D0E032D6
+:0114FF0032BA
+:1016DF00C0E0C083C082C085C084C08675860053B9
+:1016EF0091EF907FAB7408F0D086D084D085D082F4
+:0516FF00D083D0E032B1
+:01176700324F
+:01176800324E
+:01176900324D
+:01176A00324C
+:01176B00324B
+:01176C00324A
+:01176D003249
+:01176E003248
+:01176F003247
+:011770003246
+:011771003245
+:011772003244
+:011773003243
+:011774003242
+:011775003241
+:011776003240
+:03004300021500A3
+:1015000002166E0002169500021644000216DF0055
+:101510000216BA000214FF000217670002176800E3
+:101520000217690002176A0002176B0002176C00AD
+:1015300002176D0002176E0002176F00021770008D
+:10154000021771000217720002177300021774006D
+:08155000021775000217760076
+:10173C008E148F15E5151515AE14700215144E6028
+:07174C00051214EE80EE22ED
+:08175F00E4F51BD2E9D2AF2230
+:10161900A907E51B7023907FA5E04480F0E925E048
+:10162900907FA6F08D16AF03A9077517018A18894F
+:0B16390019E4F51A751B01D322C3222F
+:1015EC00A907E51B7025907FA5E04480F0E925E074
+:1015FC004401907FA6F08D16AF03A9077517018AD9
+:0D160C00188919E4F51A751B03D322C322B7
+:03004B0002137F1E
+:10137F00C0E0C083C082C085C084C086758600C0AF
+:10138F00D075D000C000C001C002C003C006C007A6
+:10139F00907FA5E030E206751B0602144E907FA5E4
+:1013AF00E020E10CE51B64026006751B0702144E7A
+:1013BF00AF1BEF24FE604814602C24FE60772404DA
+:1013CF00600302144EAB17AA18A919AF1A051A8F8A
+:1013DF008275830012124B907FA6F0E51A65167086
+:1013EF005E751B058059907FA6E0AB17AA18A91947
+:1013FF00AE1A8E82758300121278751B028040E53B
+:10140F001624FEB51A07907FA5E04420F0E51614C8
+:10141F00B51A0A907FA5E04440F0751B00907FA697
+:10142F00E0AB17AA18A919AE1A8E82758300121293
+:10143F0078051A800A907FA5E04440F0751B005391
+:10144F0091DFD007D006D003D002D001D000D0D08A
+:0D145F00D086D084D085D082D083D0E032FA
+:101704001215ECE51B24FA600E146006240770F32E
+:0C171400D322E4F51BD322E4F51BD32202
+:10172000121619E51B24FA600E146006240770F3E4
+:0C173000D322E4F51BD322E4F51BD322E6
+:1014EE007400F58690FDA57C05A3E582458370F911
+:0114FE0022CB
+:0300000002175391
+:0C175300787FE4F6D8FD75812002146C4C
+:10124B00BB010CE58229F582E5833AF583E0225058
+:10125B0006E92582F8E622BBFE06E92582F8E222A2
+:0D126B00E58229F582E5833AF583E49322BC
+:10127800F8BB010DE58229F582E5833AF583E8F0AC
+:10128800225006E92582C8F622BBFE05E92582C858
+:02129800F22240
+:10129A00E709F608DFFA8046E709F208DFFA803E36
+:1012AA0088828C83E709F0A3DFFA8032E309F60823
+:1012BA00DFFA806EE309F208DFFA806688828C839F
+:1012CA00E309F0A3DFFA805A89828A83E0A3F60849
+:1012DA00DFFA804E89828A83E0A3F208DFFA80422D
+:1012EA0080D280FA80C680D4805580F2802980100E
+:1012FA0080A680EA809A80A880DA80E280CA802963
+:10130A0088848C8589828A83E493A30586F0A30561
+:10131A0086DFF5DEF3800B89828A83E493A3F608DD
+:10132A00DFF9ECFAA9F0EDFB2288848C8589828AA0
+:10133A0083E0A30586F0A30586DFF6DEF480E38961
+:10134A00828A83E493A3F208DFF980D688F0ED2439
+:10135A0002B4040050CCF582EB2402B4040050C25B
+:10136A0023234582F582EF4E60B8EF60010EE582D5
+:05137A00239012EA734C
+:00000001FF
diff --git a/usx2yloader/firmware/us428fw.ihx b/usx2yloader/firmware/us428fw.ihx
new file mode 100644 (file)
index 0000000..d3e580d
--- /dev/null
@@ -0,0 +1,459 @@
+:10139C00755600755500755400755300C203C20094
+:1013AC00C202C2011210CFD2E843D820907F95E040
+:1013BC0044C0F0907FAFE04401F0907FAEE0441D5C
+:1013CC00F0D2AF20014A200105D2051216DB75566A
+:1013DC00007555007554007553007F2A7E0C7D03F3
+:1013EC007C00AB56AA55A954A853C3120D7450D304
+:1013FC002001D07A0079007800E5562401F556EAF0
+:10140C003555F555E93554F554E83553F55380CA3F
+:10141C00300105120530C20130031A1219C15015E2
+:10142C00C203121954200007907FD6E020E7F31274
+:0B143C001990120F4612008080D6228B
+:10053000907FE9E070030206B714700302072B24D2
+:10054000FE700302079724FB70030206B1147003C8
+:100550000206AB14700302069F1470030206A52462
+:100560000560030207E6907FEBE024FE601914604B
+:1005700043240260030206957412907FD4F074CD78
+:10058000907FD5F00207ED907FEAE0FF1217588BBD
+:10059000578A588959EA496011AE02EE907FD4F02B
+:1005A000AF01EF907FD5F00207ED907FB4E04401FA
+:1005B000F00207ED907FEAE0FF1217F48B578A589C
+:1005C0008959EA49700302068B8B5E8A5F89601243
+:1005D0000C9EF561907FEEE0FFE561D39F4003E064
+:1005E000F561E561700302067D755D00755C00755F
+:1005F0005B00755A00E561C394405004AF6180020E
+:100600007F40E4FCFDFEAB5DAA5CA95BA85AC31267
+:100610000D745038E560255DF582E55C355FF58346
+:10062000E0FF7400255DF582E4347FF583EFF07A16
+:100630000079007800E55D2401F55DEA355CF55C44
+:10064000E9355BF55BE8355AF55A80A9E561C39455
+:10065000405004AF6180027F40907FB5EFF0E561CC
+:10066000C394405004AF6180027F40C3E5619FF5B1
+:1006700061907FB4E020E2030205E280F4E4907F21
+:10068000B5F0907FB47402F00207ED907FB4E044BF
+:1006900001F00207ED907FB4E04401F00207ED1293
+:1006A00019E10207ED1219750207ED1219F8020798
+:1006B000ED1219D30207ED907FE8E0247F60241447
+:1006C00060312402705BA200E433FF25E0FFA20248
+:1006D000E4334F907F00F0E4A3F0907FB57402F014
+:1006E0000207EDE4907F00F0A3F0907FB57402F074
+:1006F0000207ED907FECE0F45480FFC4540FFFE05C
+:1007000054072F25E024B4F582E4347FF583E054C8
+:10071000FD907F00F0E4A3F0907FB57402F0020733
+:10072000ED907FB4E04401F00207ED907FE8E02413
+:10073000FE601D240260030207ED907FEAE0B40131
+:1007400005C2000207ED907FB4E04401F00207ED1E
+:10075000907FEAE07038907FECE0F45480FFC4545E
+:100760000FFFE054072F25E024B4F582E4347FF531
+:1007700083E4F0907FECE05480FF131313541FFFC9
+:10078000E054072F907FD7F0E04420F0805F907F07
+:10079000B4E04401F08056907FE8E024FE60182425
+:1007A00002704A907FEAE0B40104D200803F907F5B
+:1007B000B4E04401F08036907FEAE07020907FEC56
+:1007C000E0F45480FFC4540FFFE054072F25E024C9
+:1007D000B4F582E4347FF5837401F08010907FB427
+:1007E000E04401F08007907FB4E04401F0907FB4D2
+:0507F000E04402F022CC
+:03003300020F3D7C
+:040F3D0053D8EF3264
+:1012CD001201000100000040041601800100000021
+:1012DD0000010902B70001010040000904000005EA
+:1012ED00FF000000070504024000000705840315F8
+:1012FD00000A0705060240000007058602400000AF
+:10130D00070502024000000904000108FF0000006B
+:10131D00070504024000000705840315000A0705B0
+:10132D000602400000070586024000000705020284
+:10133D0040000007058801C8000107058A01C800A3
+:10134D000107050A01C800010904000208FF000099
+:10135D0000070504024000000705840315000A0775
+:10136D000506024000000705860240000007050241
+:10137D0002400000070588012C010107058A012C98
+:0F138D00010107050A012C0101040309040000F6
+:03002300020EBF0B
+:03003B0002157C2F
+:050F41000000000000AB
+:050F510000000000009B
+:0919EF00030001020507040608CB
+:1015FA0001260001220001240001500001270001F8
+:10160A002300012500012100014300013E0001479A
+:10161A0000013B00014200014C00014D00014E0057
+:10162A00014F00501A8A0000020303010203030358
+:10163A000303020203010C2900000000000001005C
+:10164A0000000000014B00014A00013C0001360085
+:10165A0001370002380000491A05000000000000A6
+:0B166A00000000014800C1040149011C
+:1016DB00907FD6E054FBF0E04408F0300504E04482
+:1016EB0002F07FDC7E051219AA907FD6E054F7F04A
+:0516FB00E04404F022B0
+:10183500907F977413F07E80EE602A5F6014907F2E
+:101845009D7413F0907F9714F004F0E4907F9DF061
+:10185500800D907F9D7413F0E4907F97F004F0EE77
+:06186500C313FE80D32234
+:1018E300AD07EDC3940240037F0022ED7008C3E50A
+:1018F300269522FE8006C3E5279523FEEE540FFFAF
+:06190300C3740F9FFF22D8
+:10167600EF7031E52604540FFE65226057746A2523
+:1016860026F582E4341AF583EDF0C2ACE522B526E0
+:10169600028D998E26D2AC754E1943420490201FB6
+:1016A600E542F022E52704540FFE65236026747A8E
+:1016B6002527F582E4341AF583EDF0C2AEE523B5AD
+:1016C60027028DC18E27D2AE754F1943420890204E
+:0516D6001FE542F022B7
+:1011EF00E544700E907FD0E020E107A3E0F544E4E2
+:1011FF00F53DE544D3940050030212CC74C0253D55
+:10120F00F582E4347BF583E0FCC4540FFBE544C363
+:10121F00940450030212BEAF031218E3EFC39403FA
+:10122F005009EBD3940150030212BE053D74C02543
+:10123F003DF582E4347BF583E0FE053D74C0253D2A
+:10124F00F582E4347BF583E0F569053D74C0253DF7
+:10125F00F582E4347BF583E0FAEBD394015034EC60
+:10126F00540F248AF582E4341AF583E0F9D39400FD
+:10127F004007AF03AD06121676E9D394014007AFCE
+:10128F0003AD69121676E9D394024007AF03AD029E
+:10129F00121676053D74C0253DF582E4347BF58347
+:1012AF00E0FCC4540FFB74FC2544F54402121CE50A
+:0E12BF0044C394045007E4F544907FD1F0221C
+:1017A700EFC454F0FFED540F4FFFAE4B054B7400E1
+:1017B7002EF582E4347CF583EFF0AF4B054B7400D4
+:1017C7002FF582E4347CF583EBF0AF4B054B7400C7
+:1017D7002FF582E4347CF583E578F0AF4B054B7445
+:0D17E700002FF582E4347CF583E579F022D3
+:10190900900004120CB7FE7002FF22EEC4540F249B
+:10191900F824FC500860091460061470067F02223E
+:061929007F01227F002275
+:101447008B728A738974AC05900002EC120CE490DD
+:101457000002120CB7FFC4540F24F824FC500C6090
+:101467001C14601924FE6027047079AB72AA73A953
+:1014770074900004EC120CE47D02AF0522AB72AA53
+:1014870073A974900004EC120CE47D01AF0522AB44
+:1014970072AA73A974900004E4120CE4EC64F1607E
+:1014A70003BCF3057D01AF0522BCF2057D02AF0544
+:1014B70022BCF615120C9EFF7D05AB04E4F578F50A
+:1014C700791217A77D00AF0522BCF013AB72AA7380
+:1014D700A9749000057401120CE47D04AF05227D08
+:0914E70000AF05227D00AF0522D3
+:1007F5008F698D6AE56AC394F8400D7D0FAB6AE495
+:10080500F578F5791217A722E56975F006A424296C
+:10081500F9E4FAFBF56FF5708971900001120CB7D8
+:100825001460471470030208D414700302090B14F2
+:10083500700302097B24046003020A4BE56AC39432
+:10084500804019AB6FAA70A971AD6A121447AB6FDE
+:10085500AA70A971900001EF120CE422AB6FAA7087
+:10086500A971900001E4120CE422E56AC39480505A
+:1008750045AB6FAA70A971900002120CB7F56BC356
+:1008850094F05009E56BC4540FF56C8003756C0248
+:10089500AF69AD6CAB6B856A78E4F5791217A7ABD8
+:1008A5006FAA70A971121909AB6FAA70A97190008E
+:1008B50001EF120CE422AB6FAA70A971AD6A121494
+:1008C50047AB6FAA70A971900001EF120CE422E505
+:1008D5006AC394805017AB6FAA70A971900003E5A5
+:1008E5006A120CE49000017403120CE422AB6FAAA7
+:1008F50070A971AD6A121447AB6FAA70A971900007
+:1009050001EF120CE422E56AC394805050AB6FAA44
+:1009150070A971900002120CB7F56BC394F05009E1
+:10092500E56BC4540FF56C8003756C03AF69AD6C52
+:10093500AB6FAA70A971900003120CB7F578856AA0
+:1009450079AB6B1217A7AB6FAA70A971121909AB16
+:0D0955006FAA70A971900001EF120CE4224E
+:10096200AB6FAA70A971AD6A121447AB6FAA70A9D6
+:1009720071900001EF120CE422AB6FAA70A9719082
+:100982000005120CB704FCE56AC394805058BC0100
+:100992000A900002E56A120CE48035BC020A90005B
+:1009A20003E56A120CE48028BC0325AF697D04903C
+:1009B2000002120CB7FBC003AB6FAA70A9719000C2
+:1009C20003120CB7F578856A79D0031217A7E4FCF5
+:1009D200AB6FAA70A971900005EC120CE4900001B3
+:1009E2007404120CE422E4F56EFEBC0108756C0579
+:1009F200856A6D800EAB6FAA70A971900002120C0D
+:100A0200B7F56DBC0207756C06AE6A800DAB6FAAB6
+:100A120070A971900003120CB7FEBC0306756C0737
+:100A2200856A6EAF69AD6CAB6D8E78856E79121783
+:100A3200A7AB6FAA70A971AD6A121447AB6FAA7007
+:0A0A4200A971900001EF120CE422EC
+:1010CF00E4F53AF541F546FFEF25E02436F582E4E5
+:1010DF00341AF583E4F0A3F0EF25E0240EF582E453
+:1010EF00341AF583E4F0A3F0EF25E02422F582E42F
+:1010FF00341AF583E4F0A3F00FBF0ACCE4F528F51A
+:10110F0035F54BF526F522F524F550F527F523F5A2
+:10111F0025F521F544F53DFF7F05901A00E4F0A376
+:10112F00DFFC907FDF7454F0907FDE7450F0907F7F
+:10113F00DD7418F0E4907FC9F0907FCDF0907FD1EF
+:10114F00F0907FE17404F0907FE004F0E4907FF280
+:10115F00F0907FF8744CF0907FFA7498F075CBFF95
+:10116F0075CAE875C834758920758DFA758E10D2D9
+:10117F008E75985075C050D2ACD2AE907FAE741FA2
+:10118F00F0D200907FB27400F0A37480F0907FAF24
+:10119F00E04402F0E054FBF0907FE274D2F0907FD5
+:1011AF00937430F0907F9674FFF0907F9CF0907F57
+:1011BF0094740CF0E4907F97F0907F9DF0907F9562
+:1011CF0074C3F0907F9874FFF0907F9E7430F0900E
+:1011DF007F9674BFF074FFF07F057E001219AA226C
+:100F5600E54125E02436F582E4341AF583E0FEA364
+:100F6600E0FFE54125E02422F582E4341AF583E02A
+:100F7600FCA3E08C69F56AE54125E0240EF582E4E0
+:100F8600341AF583E0FCA3E0FDE546700302101772
+:100F96001546ED6F7002EC6E6077C3ED9FEE6480D0
+:100FA600F8EC6480985031E54125E024AEF582E402
+:100FB600341AF583E0FAA3E02DFDEA3CFCD3ED9F5D
+:100FC600EE6480F8EC6480985008C3EC64809480EA
+:100FD600502DAC06AD078027E54125E024AEF5820D
+:100FE600E4341AF583E0FAA3E02DFDEA3CFCC3EDF8
+:100FF6009FEE6480F8EC6480985004AC06AD07E57B
+:101006004125E0240EF582E4341AF583ECF0A3EDD5
+:10101600F0E56A6D7003E5696C70030210C4E54182
+:1010260025E0249AF582E4341AF583E0FEA3E0FF76
+:10103600C3E56A9DEC6480F8E5696480985028EF02
+:10104600256AF56AEE3569F569D3E56A9DEC648033
+:0D105600F8E5696480985009C3E56964807D
+:10106300948050238C698D6A801DEF256AF56AEEA2
+:101073003569F569C3E56A9DEC6480F8E5696480C8
+:101083009850048C698D6AE54125E02422F582E4B9
+:10109300341AF583E569F0A3E56AF0E54125E0FF3D
+:1010A300902110E020E5F974002FF582E43420F557
+:1010B30083E569F074012FF582E43420F583E56A52
+:0C10C300F00541E541B40A03E4F54122C8
+:10008000785D7C007D007BFF7A1979EF7E007F0927
+:10009000120E41907FC8E020E147A3E0F567E4F548
+:1000A00066E566C3956750340539E539AE387002A8
+:1000B000053814C39448EE9400401074C02566F5CA
+:1000C00082E4347DF583E0FF121835E539B4C308C6
+:1000D000E538B45703753A01056680C5E4907FC9D9
+:1000E000F01211EF120F56120F56907FCCE030E154
+:1000F00003020273A3E0F567E4FDEDC395674003D7
+:1001000002026E74C02DF582E4347CF583E0F5685C
+:10011000C39405400302020EE56825E0F568E4F5A6
+:1001200066E566C39402400302020AE56825E024FE
+:1001300022F582E4341AF583E0FEA3E08E57F558E9
+:100140000D74C02DF582E4347CF583E0FE0D74C09F
+:100150002DF582E4347CF583E0FBEEF559EBF55A9E
+:1001600065587004E55765597003020203E5682578
+:10017000E02436F582E4341AF583E559F0A3E55A14
+:10018000F0C3E55A9558FFE5599557FEEF7803CE31
+:10019000A2E713CE13D8F8F55C8E5B455B7005F5CE
+:1001A0005B755C01E56825E024AEF582E4341AF560
+:0D01B00083E55BF0A3E55CF0E558255CFFFE
+:1001BD00E557355BFEE56825E0240EF582E4341A3B
+:1001CD00F583EEF0A3EFF0E55CAE5B7802CEA2E72F
+:1001DD0013CE13D8F8F55C8E5B455B7005F55B753A
+:1001ED005C01E56825E0249AF582E4341AF583E58F
+:1001FD005BF0A3E55CF0056605680201210D0200C8
+:10020D00FA74C12DF582E4347CF583E0FFE568B422
+:10021D00140C8F47E5474535902014F0803EE56876
+:10022D00B41507902015EFF08032E568B4180790EB
+:10023D002018EFF08026E568C39420501FE568B4C0
+:10024D001D0DEF54F7F543453E90201DF0800D74C4
+:10025D00002568F582E43420F583EFF00D0D0200E2
+:10026D00FAE4907FCDF0E53A70030204CB907F96CF
+:10027D0074FEF0907F9AE0FF131313541F5402FE87
+:10028D00EF33333354F854104EFEEF54E14EFF90DC
+:10029D007F9BE0540C4FF4FF5455FEE53654556EDC
+:1002AD00700302032DE4F566AE66EFA80608800222
+:1002BD00C313D8FCFE30E15BE536F4FDAC66A80453
+:1002CD00088002C313D8FC5401FDEE54015D60108B
+:0F02DD00E566C3132400F582E4341AF583E004C8
+:1002EC00F0EFF4FEAD66A805088002C313D8FC54E9
+:1002FC0001FEAD66E536A805088002C313D8FC5490
+:10030C00015E6010E566C3132400F582E4341AF52F
+:10031C0083E014F005660566E566C39408408A8F91
+:10032C0036907F9674F7F0907F9AE0FF5440FEE58C
+:10033C00375440FD6E6021EF30E71BE537F4544035
+:10034C005E6006901A04E004F0EFF454405D600621
+:10035C00901A04E014F08F37E540453F6017E540F4
+:10036C0015407002153F14453F700AF53EE54345B4
+:10037C003E90201DF0907FBCE030E1030204CB7571
+:10038C003E08753F02754000E543453E90201DF048
+:10039C009020157440F0E4F566745D2566F8E6244B
+:1003AC0000F582E43421F583E0FE74052566F582C0
+:1003BC00E4341AF583E0FDC3EE9DFDD394014008AF
+:1003CC00EDC394FF5002EEF074052566F582E4341B
+:1003DC001AF583E0FE74002566F582E4347DF5831E
+:1003EC00EEF00566E566B409B09020157480F07ED9
+:1003FC00FDE4F566EE4440907F98F0907F96F09087
+:0D040C007F9AE0FF131313541F5402FDEFFD
+:1004190033333354F854104DFDEF54E14DFF907FC1
+:100429009BE0540C4FF4FF74092566F582E4347D92
+:10043900F583EFF0EE25E04401FE0566E566B407B5
+:10044900B6902110E054076006902015740CF090C6
+:100459007D0BE0543FF0902110E054C7907D0EF0E1
+:100469009020157420F0901A00E0907D10F0901AF9
+:1004790001E0907D11F0901A02E0907D12F0901A3F
+:1004890003E0907D13F0901A04E0907D14F0907FC2
+:10049900BD7415F0E54C6006D54C035342FEE54D9D
+:1004A9006006D54D035342FDE54E6006D54E035314
+:1004B90042FBE54F6006D54F035342F790201FE5F5
+:1004C90042F0907FC0E020E15DE5506524601EE5C3
+:1004D9005004540FF566E4FF744A2566F582E43446
+:1004E9001AF583E0FD1207F585665080DCE5216584
+:1004F90025601CE52104540FF5667F01245AF58215
+:10050900E4341AF583E0FD1207F585662180DEE5FE
+:100519004BD394004010E54BC394405009907FC1E0
+:07052900E54BF0E4F54B2265
+:1019C100907FAFE04408F05343F790201DE543F0CA
+:0219D100D3221F
+:0B0F460043430890201DE543F0D32238
+:0819F800907FEAE0F545D322DF
+:0E19D300907F00E545F0907FB57401F0D322BF
+:10197500907FEAE0F528B401057535648003E4F548
+:0B19850035E5474535902014F0D322D3
+:0E19E100907F00E528F0907FB57401F0D322CE
+:100EBF00C0E0C083C082C085C084C086758600C074
+:100ECF00D075D000C007309836C298E52404540F6F
+:100EDF00FF6550600F744A2FF582E4341AF583E5ED
+:100EEF0099F08F24744A2FF582E4341AF583E06465
+:100EFF00FE600C754C1943420190201FE542F03003
+:100F0F00991BC299E52204540FFF6526600D746A80
+:100F1F002FF582E4341AF583E0F5998F22D007D0AC
+:0E0F2F00D0D086D084D085D082D083D0E0325E
+:10157C00C0E0C083C082C085C084C086758600C0B0
+:10158C00D075D000C00730C036C2C0E52504540F5A
+:10159C00FF6521600F745A2FF582E4341AF583E548
+:1015AC00C1F08F25745A2FF582E4341AF583E06468
+:1015BC00FE600C754D1943420290201FE542F0303D
+:1015CC00C11BC2C1E52304540FFF6527600D747A5B
+:1015DC002FF582E4341AF583E0F5C18F23D007D0C0
+:0E15EC00D0D086D084D085D082D083D0E0329B
+:10189500C0E0C083C082C085C084C086758600D282
+:1018A500015391EF907FAB7401F0D086D084D08541
+:0718B500D082D083D0E032A5
+:10186B00C0E0C083C082C085C084C08675860090EE
+:10187B007FC4E4F05391EF907FAB7404F0D086D02B
+:0A188B0084D085D082D083D0E032F3
+:100A4C00C0E0C0F0C083C082C085C084C0867586FB
+:100A5C0000C0D075D000C000C002C003C004C005E7
+:100A6C00C006C0079020157401F0902118E0FFD249
+:100A7C00BCD2BED394324003020C6BE54745359093
+:100A8C002014F0A37402F0E52864017030907F68A4
+:100A9C00EF1313543FFBEB6013F0F0F0F0F0F0F0B9
+:100AAC00F0F0F0F0F0F0F0F0F01B80EAEF5403FB04
+:100ABC00EB7003020B00F0F0F0F01B80F3907F68FA
+:100ACC00EF1313543FFBEB601BF0F0F0F0F0F0F081
+:100ADC00F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F00A
+:100AEC00F01B80E2EF5403FBEB6009F0F0F0F0F048
+:100AFC00F01B80F4E54745354480902014F0A37436
+:100B0C0002F0E52864017030907F6AEF1313543FB4
+:100B1C00FBEB6013F0F0F0F0F0F0F0F0F0F0F0F030
+:100B2C00F0F0F0F01B80EAEF5403FBEB7003020BC8
+:100B3C007BF0F0F0F01B80F3907F6AEF1313543FBF
+:010B4C00FBAD
+:100B4D00EB601BF0F0F0F0F0F0F0F0F0F0F0F0F002
+:100B5D00F0F0F0F0F0F0F0F0F0F0F01B80E2EF5478
+:100B6D0003FBEB6009F0F0F0F0F0F01B80F4E548CA
+:100B7D007014902110E030E321754801C2049020DB
+:100B8D00157410F08014E548B4010F902110E03079
+:100B9D00E308754802754900D204907F74E0FE9019
+:100BAD007F75E0FDEEF551EDF552E528B4011BAF73
+:100BBD00527C007D04120D06AA05EAFFC3E5529F83
+:100BCD00F552E5519400F551801BAE51AF527C00AA
+:100BDD007D06120D06AA05EAFFC3E5529FF552E503
+:100BED00519400F551E552AE517804CEA2E713CEE3
+:100BFD0013D8F8FB200403020C6BC3940A500302B4
+:100C0D000C6B907F62EBD394004013E0E0E0E0E0EA
+:100C1D00E0E0E0E0E0E0E0E0E0E0E01B80E7E5526E
+:100C2D00540FFB907F62EBD394004004E01B80F6E1
+:100C3D00907FE27452F0907F62EAD394004004E01A
+:100C4D001A80F6907FE274D2F0E548B4021005499F
+:100C5D00E549B401097548009020157410F0C2BC27
+:090C6D00C2BEE546700375460A9B
+:100C76005391EF907FAB7402F0D007D006D005D029
+:100C860004D003D002D000D0D0D086D084D085D076
+:080C960082D083D0F0D0E032DF
+:10192F00C0E0C083C082C085C084C0867586005366
+:10193F0091EF907FAB7410F0D086D084D085D08299
+:05194F00D083D0E0325E
+:011A000032B3
+:1018BC00C0E0C083C082C085C084C086758600D25B
+:1018CC00035391EF907FAB7408F0D086D084D08511
+:0718DC00D082D083D0E0327E
+:011A010032B2
+:011A020032B1
+:011A030032B0
+:011A040032AF
+:011A050032AE
+:011A060032AD
+:011A070032AC
+:011A080032AB
+:011A090032AA
+:011A0A0032A9
+:011A0B0032A8
+:011A0C0032A7
+:011A0D0032A6
+:011A0E0032A5
+:011A0F0032A4
+:011A100032A3
+:03004300021700A1
+:1017000002189500020A4C0002186B000218BC0077
+:1017100002192F00021A0000021A0100021A020028
+:10172000021A0300021A0400021A0500021A060037
+:10173000021A0700021A0800021A0900021A0A0017
+:10174000021A0B00021A0C00021A0D00021A0E00F7
+:08175000021A0F00021A10003A
+:10199000907FD6E030E712E04401F07F147E001221
+:0A19A00019AA907FD6E054FEF02251
+:10195400907FD6E04480F04387010000000000221D
+:1019AA008E578F58E5581558AE57700215574E6026
+:0719BA000512196480EE2202
+:0217F4008F6202
+:1017F600E4F5637564FF756513756696AB64AA6553
+:10180600A966900001120CB7B4031DAF630563EF20
+:10181600B5620122120C9E7E0029FFEE3AA90775D9
+:0E18260064FFF565896680D47B007A00790046
+:011834002291
+:10175800E4FE7564FF7565127566DFAB64AA65A95A
+:1017680066900001120CB76402702DAD060EEDB53F
+:10177800070122900002120D3C85F062F563626257
+:10178800E5626263E563626229FDE5623AA905756F
+:0E17980064FFF565896680C37B007A007900E6
+:0117A6002220
+:101964007400F58690FDA57C05A3E582458370F996
+:011974002250
+:030000000214F0F7
+:0C14F000787FE4F6D8FD7581790215378D
+:100C9E00BB010689828A83E0225002E722BBFE0254
+:090CAE00E32289828A83E4932287
+:100CB700BB010CE58229F582E5833AF583E02250F2
+:100CC70006E92582F8E622BBFE06E92582F8E2223C
+:0D0CD700E58229F582E5833AF583E4932256
+:100CE400F8BB010DE58229F582E5833AF583E8F046
+:100CF400225006E92582C8F622BBFE05E92582C8F2
+:020D0400F222D9
+:100D0600C2D5EC30E709B2D5E4C39DFDE49CFCEE08
+:100D160030E715B2D5E4C39FFFE49EFE120E6AC308
+:100D2600E49DFDE49CFC8003120E6A30D507C3E403
+:060D36009FFFE49EFE2277
+:100D3C00BB0110E58229F582E5833AF583E0F5F0F5
+:100D4C00A3E0225009E92582F886F008E622BBFED2
+:100D5C000AE92582F8E2F5F008E222E5832AF58318
+:080D6C00E993F5F0A3E99322DD
+:100D7400EB9FF5F0EA9E42F0E99D42F0E89C45F0D5
+:010D8400224C
+:100D8500E709F608DFFA8046E709F208DFFA803E50
+:100D950088828C83E709F0A3DFFA8032E309F6083D
+:100DA500DFFA806EE309F208DFFA806688828C83B9
+:100DB500E309F0A3DFFA805A89828A83E0A3F60863
+:100DC500DFFA804E89828A83E0A3F208DFFA804247
+:100DD50080D280FA80C680D4805580F28029801028
+:100DE50080A680EA809A80A880DA80E280CA80297D
+:100DF50088848C8589828A83E493A30586F0A3057C
+:100E050086DFF5DEF3800B89828A83E493A3F608F7
+:100E1500DFF9ECFAA9F0EDFB2288848C8589828ABA
+:100E250083E0A30586F0A30586DFF6DEF480E3897B
+:100E3500828A83E493A3F208DFF980D688F0ED2453
+:100E450002B4040050CCF582EB2402B4040050C275
+:100E550023234582F582EF4E60B8EF60010EE582EF
+:050E650023900DD57380
+:1014FC0002139CE493A3F8E493A34003F68001F257
+:10150C0008DFF48029E493A3F85407240CC8C333F0
+:10151C00C4540F4420C8834004F456800146F6DFBF
+:10152C00E4800B01020408102040809015FAE47E40
+:10153C00019360BCA3FF543F30E509541FFEE493B4
+:10154C00A360010ECF54C025E060A840B8E493A37B
+:10155C00FAE493A3F8E493A3C8C582C8CAC583CAA6
+:10156C00F0A3C8C582C8CAC583CADFE9DEE780BE5E
+:011675000074
+:100E6A00BC000BBE0029EF8DF084FFADF022E4CC6C
+:100E7A00F875F008EF2FFFEE33FEEC33FCEE9DEC35
+:100E8A00984005FCEE9DFE0FD5F0E9E4CEFD22ED7B
+:100E9A00F8F5F0EE8420D21CFEADF075F008EF2FC5
+:100EAA00FFED33FD4007985006D5F0F222C398FDB6
+:050EBA000FD5F0EA2253
+:00000001FF
diff --git a/usx2yloader/tascam_fw b/usx2yloader/tascam_fw
new file mode 100644 (file)
index 0000000..b44fa4f
--- /dev/null
@@ -0,0 +1,55 @@
+#!/bin/sh
+
+# load the firmware into Tascam USB devices
+
+FIRMWARE=
+FIRMWAREDIR=/usr/local/share/alsa/firmware
+FLAGS=
+LOADER=/sbin/fxload
+LOADERFIRMWARE=$FIRMWAREDIR/tascam_loader.ihx
+
+case $PRODUCT in
+1604/8000/*)
+       FIRMWARE=$FIRMWAREDIR/us428fw.ihx
+       ;;
+1604/8004/*)
+       FIRMWARE=$FIRMWAREDIR/us224fw.ihx
+       ;;
+1604/8006/*)
+       FIRMWARE=$FIRMWAREDIR/us122fw.ihx
+       ;;
+*)
+       if [ -x /usr/bin/logger ]; then
+               /usr/bin/logger -t $0 "unknown product $PRODUCT"
+       fi
+       exit 1
+esac
+
+# missing loader firmware?
+if [ ! -r $LOADERFIRMWARE ]; then
+       if [ -x /usr/bin/logger ]; then
+               /usr/bin/logger -t $0 "missing $LOADERFIRMWARE ??"
+       fi
+       exit 1
+fi
+
+# missing firmware?
+if [ ! -r $FIRMWARE ]; then
+       if [ -x /usr/bin/logger ]; then
+               /usr/bin/logger -t $0 "missing $FIRMWARE for $PRODUCT ??"
+       fi
+       exit 1
+fi
+
+# missing loader?
+if [ ! -x $LOADER ]; then
+       if [ -x /usr/bin/logger ]; then
+               /usr/bin/logger -t $0 "missing $LOADER ??"
+       fi
+       exit 1
+fi
+
+if [ -x /usr/bin/logger ]; then
+       /usr/bin/logger -t $0 "load $FIRMWARE for $PRODUCT to $DEVICE"
+fi
+$LOADER $FLAGS -s $LOADERFIRMWARE -I $FIRMWARE
diff --git a/usx2yloader/tascam_fw.usermap b/usx2yloader/tascam_fw.usermap
new file mode 100644 (file)
index 0000000..79562a7
--- /dev/null
@@ -0,0 +1,6 @@
+tascam_fw   0x0003 0x1604 0x8000 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
+tascam_fw   0x0003 0x1604 0x8004 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
+tascam_fw   0x0003 0x1604 0x8006 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
+tascam_fpga 0x0003 0x1604 0x8001 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
+tascam_fpga 0x0003 0x1604 0x8005 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
+tascam_fpga 0x0003 0x1604 0x8007 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
index 93c430b8f129d332e4f6febb39f8406ede983539..ab76acc32808bbb96c80e78eed6fde805947e576 100644 (file)
@@ -63,15 +63,17 @@ static void error(const char *fmt, ...)
 
 
 /*
- * read a xilinx bitstream file
+ * read a xilinx bitstream file.
+ * NOTE: This interprets somehow differently from the vxloaders read_xilinx_image()!
+ * I took this from rbtload.c of the project usb-midi-fw.sf.net.
  */
 static int read_xilinx_image(snd_hwdep_dsp_image_t *img, const char *fname)
 {
        FILE *fp;
        char buf[256];
-       int data, c, idx, length;
+       int data = 0, c = 0, idx = 0, length = 0;
        char *p;
-       char *imgbuf;
+       char *imgbuf = 0;
 
        if ((fp = fopen(fname, "r")) == NULL) {
                fprintf(stderr, PROGNAME ": cannot open %s\n", fname);
@@ -79,10 +81,6 @@ static int read_xilinx_image(snd_hwdep_dsp_image_t *img, const char *fname)
        }
        snd_hwdep_dsp_image_set_name(img, fname);
 
-       c = 0;
-       data = 0;
-       idx = 0;
-       length = 0;
        while (fgets(buf, sizeof(buf), fp)) {
                if (strncmp(buf, "Bits:", 5) == 0) {
                        for (p = buf + 5; *p && isspace(*p); p++);
@@ -140,15 +138,13 @@ static int read_xilinx_image(snd_hwdep_dsp_image_t *img, const char *fname)
                        }
                }
        }
-       if (c)
-               imgbuf[idx++] = data;
-       if (idx != length) {
-               fprintf(stderr,
-                       PROGNAME ": length doesn't match: %d != %d\n", idx,
-                       length);
+       if (idx != length || 0 == imgbuf) {
+               fprintf(stderr, PROGNAME ": length doesn't match: %d != %d\n", idx, length);
                fclose(fp);
                return -EINVAL;
        }
+       if (c)
+               imgbuf[idx++] = data;
        snd_hwdep_dsp_image_set_length(img, length);
        snd_hwdep_dsp_image_set_image(img, imgbuf);
        fclose(fp);
@@ -223,7 +219,6 @@ static int get_file_name(const char *key, unsigned int idx, char *fname)
        len = strlen(temp);
 
        while (fgets(buf, sizeof(buf), fp)) {
-               int prepad;
                if (strncmp(buf, temp, len))
                        continue;
 
@@ -303,7 +298,7 @@ static int usx2y_boot(const char *devname)
 {
        snd_hwdep_t *hw;
        const char *id;
-       int err, is_pcmcia;
+       int err;
        unsigned int idx, dsps, loaded;
        snd_hwdep_dsp_status_t *stat;